pax_global_header00006660000000000000000000000064151733727610014526gustar00rootroot0000000000000052 comment=69962f8c7a687717cb7b546ac2a9506f24546a82 alainm23-planify-69962f8/000077500000000000000000000000001517337276100150735ustar00rootroot00000000000000alainm23-planify-69962f8/.editorconfig000066400000000000000000000004251517337276100175510ustar00rootroot00000000000000# EditorConfig root = true # elementary defaults [*] charset = utf-8 end_of_line = lf indent_size = tab indent_style = space insert_final_newline = true max_line_length = 80 tab_width = 4 # Markup files [{*.html,*.xml,*.xml.in,*.yml}] tab_width = 2alainm23-planify-69962f8/.github/000077500000000000000000000000001517337276100164335ustar00rootroot00000000000000alainm23-planify-69962f8/.github/FUNDING.yml000066400000000000000000000002101517337276100202410ustar00rootroot00000000000000# These are supported funding model platforms patreon: alainm23 liberapay: Alain custom: https://www.paypal.me/alainm23 ko_fi: alainm23alainm23-planify-69962f8/.github/ISSUE_TEMPLATE/000077500000000000000000000000001517337276100206165ustar00rootroot00000000000000alainm23-planify-69962f8/.github/ISSUE_TEMPLATE/bug_report.yml000066400000000000000000000041411517337276100235110ustar00rootroot00000000000000name: Bug Report description: Report a bug to help us improve Planify labels: ["Type: Bug"] body: - type: checkboxes id: existing-issues attributes: label: Prerequisites options: - label: I have searched the [existing issues](https://github.com/alainm23/planify/issues) and this bug has not been reported yet required: true - type: textarea id: description attributes: label: Describe the bug placeholder: A clear and concise description of what the bug is. validations: required: true - type: textarea id: steps attributes: label: Steps to reproduce placeholder: | 1. Go to '...' 2. Click on '...' 3. See error validations: required: true - type: textarea id: expected attributes: label: Expected behavior placeholder: What did you expect to happen? validations: required: true - type: dropdown id: installation attributes: label: Installation method options: - Flatpak (Flathub) - Built from source - Other validations: required: true - type: input id: version attributes: label: Planify version placeholder: "e.g. 4.18.3" validations: required: true - type: input id: desktop attributes: label: Desktop environment placeholder: "e.g. GNOME 47, KDE Plasma 6" validations: required: true - type: input id: distro attributes: label: Linux distribution placeholder: "e.g. Fedora 41, Ubuntu 24.04" validations: required: true - type: dropdown id: sync attributes: label: Sync provider (if relevant) options: - None (local only) - Todoist - Nextcloud (CalDAV) - Other CalDAV - Not relevant validations: required: false - type: textarea id: screenshots attributes: label: Screenshots or logs description: If applicable, add screenshots or paste relevant logs from `journalctl --user -t planify` validations: required: false alainm23-planify-69962f8/.github/ISSUE_TEMPLATE/config.yml000066400000000000000000000005061517337276100226070ustar00rootroot00000000000000blank_issues_enabled: false contact_links: - name: Questions & Help url: https://github.com/alainm23/planify/discussions about: Ask questions or get help in Discussions instead of opening an issue - name: Translation url: https://hosted.weblate.org/engage/planner/ about: Help translate Planify on Weblate alainm23-planify-69962f8/.github/ISSUE_TEMPLATE/feature_request.yml000066400000000000000000000023401517337276100245430ustar00rootroot00000000000000name: Feature Request description: Suggest an idea for Planify labels: ["Type: Enhancement"] body: - type: checkboxes id: existing-issues attributes: label: Prerequisites options: - label: I have searched the [existing issues](https://github.com/alainm23/planify/issues) and this feature has not been requested yet required: true - type: textarea id: problem attributes: label: Is your feature request related to a problem? placeholder: "A clear description of the problem. e.g. I'm always frustrated when [...]" validations: required: true - type: textarea id: solution attributes: label: Describe the solution you'd like placeholder: A clear description of what you want to happen. validations: required: true - type: textarea id: alternatives attributes: label: Alternatives you've considered placeholder: Any alternative solutions or workarounds you've tried. validations: required: false - type: textarea id: context attributes: label: Additional context description: Add any other context, screenshots, or mockups about the feature request. validations: required: false alainm23-planify-69962f8/.github/dependabot.yml000066400000000000000000000001651517337276100212650ustar00rootroot00000000000000version: 2 updates: - package-ecosystem: "github-actions" directory: "/" schedule: interval: "weekly"alainm23-planify-69962f8/.github/workflows/000077500000000000000000000000001517337276100204705ustar00rootroot00000000000000alainm23-planify-69962f8/.github/workflows/apply-translations.yml000066400000000000000000000061761517337276100250710ustar00rootroot00000000000000name: Apply Translation Updates on: issue_comment: types: [ edited ] permissions: contents: write pull-requests: read jobs: apply: if: | github.event.issue.pull_request && contains(github.event.comment.body, '- [x] **Apply translation updates**') runs-on: ubuntu-latest steps: - name: Get PR info id: pr uses: actions/github-script@v9 with: script: | const pr = await github.rest.pulls.get({ owner: context.repo.owner, repo: context.repo.repo, pull_number: context.issue.number, }); core.setOutput("ref", pr.data.head.ref); core.setOutput("repo", pr.data.head.repo.full_name); - name: Checkout main repository uses: actions/checkout@v6 with: path: main-repo - name: Checkout PR branch uses: actions/checkout@v6 with: repository: ${{ steps.pr.outputs.repo }} ref: ${{ steps.pr.outputs.ref }} path: pr-repo - name: Install gettext run: sudo apt-get update && sudo apt-get install -y gettext - name: Configure git working-directory: pr-repo run: | git config user.name "Planify Bot" git config user.email "actions@github.com" - name: Update POTFILES and translations working-directory: pr-repo run: | cat > po/POTFILES << 'EOF' # List of source files containing translatable strings. # Please keep this file sorted alphabetically. EOF find core -name "*.vala" | sort >> po/POTFILES echo >> po/POTFILES find src -name "*.vala" | sort >> po/POTFILES echo >> po/POTFILES find quick-add -name "*.vala" | sort >> po/POTFILES echo >> po/POTFILES echo "data/resources/ui/shortcuts.ui" >> po/POTFILES python3 scripts/update_translations.py - name: Commit changes working-directory: pr-repo run: | git add po/ if ! git diff --staged --quiet; then git commit -m "Update translations" git push fi - name: Notify Weblate of changes run: | curl -X POST "https://hosted.weblate.org/api/components/planner/io-github-alainm23-planify/repository/" \ -H "Authorization: Token ${{ secrets.WEBLATE_TOKEN }}" \ -H "Content-Type: application/json" \ -d '{"operation": "pull"}' alainm23-planify-69962f8/.github/workflows/caldav-test.yml000066400000000000000000000042521517337276100234250ustar00rootroot00000000000000name: CalDAV Integration Test on: pull_request: types: - opened - reopened - synchronize jobs: caldav-integration: runs-on: ubuntu-latest container: image: debian:13 options: --privileged env: CALDAV_URL: http://localhost:5232/ CALDAV_USER: testuser CALDAV_PASS: testpass steps: - name: Checkout code uses: actions/checkout@v6 - name: Install dependencies run: | apt-get update apt-get install -y sudo pipx git apache2-utils valac meson ninja-build gettext desktop-file-utils libgtk-4-dev libadwaita-1-dev libgee-0.8-dev libgranite-7-dev libjson-glib-dev libecal2.0-dev libsoup-3.0-dev libwebkitgtk-6.0-dev libgtksourceview-5-dev libportal-dev libportal-gtk4-dev libspelling-1-dev dbus-x11 evolution-data-server - name: Install Radicale with pipx run: | pipx install radicale[bcrypt] - name: Prepare Radicale config and users run: | mkdir -p /tmp/radicale/collections/testuser/ htpasswd -nbB testuser testpass > /tmp/radicale/users cat < /tmp/radicale/config [auth] type = htpasswd htpasswd_filename = /tmp/radicale/users htpasswd_encryption = autodetect [storage] filesystem_folder = /tmp/radicale/collections EOF - name: Start Radicale server run: | nohup /github/home/.local/bin/radicale --config /tmp/radicale/config & - name: Start D-Bus session run: | mkdir -p /tmp/dbus dbus-daemon --session --fork --address=unix:path=/tmp/dbus/session_bus_socket echo "DBUS_SESSION_BUS_ADDRESS=unix:path=/tmp/dbus/session_bus_socket" >> $GITHUB_ENV - name: Configure and build run: | meson setup build || meson setup build --reconfigure ninja -C build - name: Run CalDAV integration test run: | meson test -C build --suite=caldav-integration --print-errorlogs - name: Upload Meson test log uses: actions/upload-artifact@v7 with: name: meson-test-log path: build/meson-logs/testlog.txt alainm23-planify-69962f8/.github/workflows/check-translations.yml000066400000000000000000000102401517337276100250040ustar00rootroot00000000000000name: Check if POTFILES need to be updated on: pull_request_target: types: [ opened, synchronize, reopened ] permissions: contents: read pull-requests: write jobs: gettext-check: runs-on: ubuntu-latest steps: - name: Checkout main repository uses: actions/checkout@v6 with: path: main-repo - name: Checkout PR branch uses: actions/checkout@v6 with: repository: ${{ github.event.pull_request.head.repo.full_name }} ref: ${{ github.event.pull_request.head.ref }} path: pr-repo - name: Install gettext run: sudo apt-get update && sudo apt-get install -y gettext - name: Configure git working-directory: pr-repo run: | git config user.name "Planify Bot" git config user.email "actions@github.com" - name: Update POTFILES and translations working-directory: pr-repo run: | cat > po/POTFILES << 'EOF' # List of source files containing translatable strings. # Please keep this file sorted alphabetically. EOF find core -name "*.vala" | sort >> po/POTFILES echo >> po/POTFILES find src -name "*.vala" | sort >> po/POTFILES echo >> po/POTFILES find quick-add -name "*.vala" | sort >> po/POTFILES echo >> po/POTFILES echo "data/resources/ui/shortcuts.ui" >> po/POTFILES python3 ../main-repo/scripts/update_translations.py - name: Check for changes id: diff working-directory: pr-repo run: | if git diff --ignore-matching-lines='^"POT-Creation-Date:' \ --ignore-matching-lines='^"PO-Revision-Date:' \ --ignore-matching-lines='^"Report-Msgid-Bugs-To:' \ --quiet po/; then echo "changed=false" >> $GITHUB_OUTPUT else echo "changed=true" >> $GITHUB_OUTPUT fi - name: Comment on PR if updates are needed if: steps.diff.outputs.changed == 'true' uses: actions/github-script@v9 with: script: | const body = ` **Translation files need updating** - [ ] **Apply translation updates** `; const { data: comments } = await github.rest.issues.listComments({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, }); const existing = comments.find( c => c.user.login === "github-actions[bot]" && c.body.includes("Translation files need updating") ); if (existing) { await github.rest.issues.updateComment({ owner: context.repo.owner, repo: context.repo.repo, comment_id: existing.id, body, }); } else { await github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, body, }); } alainm23-planify-69962f8/.github/workflows/ci.yml000066400000000000000000000014051517337276100216060ustar00rootroot00000000000000name: CI on: pull_request: types: - opened - reopened - synchronize jobs: flatpak: name: "Flatpak" runs-on: ubuntu-latest container: image: ghcr.io/flathub-infra/flatpak-github-actions:gnome-48 options: --privileged steps: - uses: actions/checkout@v6 - uses: flatpak/flatpak-github-actions/flatpak-builder@v6 with: bundle: planify.Devel.flatpak manifest-path: build-aux/io.github.alainm23.planify.Devel.json cache-key: flatpak-builder-${{ github.sha }} lint: name: "Vala Lint" runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: elementary/actions/vala-lint@main with: dir: . conf: .vala-lint.conf alainm23-planify-69962f8/.github/workflows/flatpak.yml000066400000000000000000000010221517337276100226300ustar00rootroot00000000000000name: Build Flatpak 'on': push: branches: - main jobs: flatpak: name: flatpak runs-on: ubuntu-latest container: image: 'ghcr.io/flathub-infra/flatpak-github-actions:gnome-49' options: '--privileged' steps: - uses: actions/checkout@v6 - uses: flatpak/flatpak-github-actions/flatpak-builder@v6 with: bundle: planify.Devel.flatpak manifest-path: build-aux/io.github.alainm23.planify.Devel.json cache-key: 'flatpak-builder-${{ github.sha }}' alainm23-planify-69962f8/.github/workflows/release.yml000066400000000000000000000033551517337276100226410ustar00rootroot00000000000000name: Release on: pull_request: types: [closed] jobs: create-release: if: github.event.pull_request.merged == true && contains(github.event.pull_request.labels.*.name, 'Release') runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v6 with: fetch-depth: 0 - name: Get version from meson.build id: version run: | VERSION=$(grep -Po "version:\s*'\K[0-9.]+(?=')" meson.build) echo "version=$VERSION" >> $GITHUB_OUTPUT - name: Extract changelog from appdata id: changelog run: | python3 << 'PYTHON_SCRIPT' >> $GITHUB_OUTPUT import xml.etree.ElementTree as ET tree = ET.parse('data/io.github.alainm23.planify.metainfo.xml.in.in') root = tree.getroot() version = '${{ steps.version.outputs.version }}' print('changelog<>Application:Open application Application->>Database:Request data Database->>Application:Return data Application->>External Data Source:Start Sync External Data Source-->>Application:Updated events Application->>User:Initialize UI with data ``` When the user opens the application, the `App.vala` runs `MainWindow.vala` to initialize the application. First the app starts the SQLite database and connects to it ([src/MainWindow.vala\#L156](https://github.com/alainm23/planify/blob/main/src/MainWindow.vala#L156)). The database will return the stored data, including any external data sources that the program should synchronize with. Then, the program will start the synchronization process for all connected external data sources ([src/MainWindow.vala\#L198](https://github.com/alainm23/planify/blob/main/src/MainWindow.vala#L198)). The data will be fetched asynchronously. Finally, the UI is populated with the loaded data and displayed to the user. ## Switching pages ![](docs/image4.png) The Planify app has three main Views. The label list ([src/Views/Label](https://github.com/alainm23/planify/tree/main/src/Views/Label)), the task list ([src/Views/Project/List.vala](https://github.com/alainm23/planify/blob/main/src/Views/Project/List.vala)), and the day list ([src/Views/Scheduled](https://github.com/alainm23/planify/tree/main/src/Views/Scheduled)). As the user, as you navigate around the application, you can transition between these different states, changing which view is in your main window. By using the Inbox, Today, Scheduled, and Labels buttons in the sidebar, you can transition between those modes, which have specific Views associated with them. For example, if you press the Labels button, that will open a label list view. If you click on a specific label, you will be transitioned to a task list view with all of the tasks with that label attached. From here, you could transition to the day list view by pressing the Scheduled button in the sidebar. ## Adding a new task ```mermaid sequenceDiagram participant Client participant Application participant Database Client->>Application: Create new Item Application->>Database: Store item in project Application-->>Client: returns requested information Client->>Client: Displays information ``` From `Filter.vala`, the function `create_new_task()` is called, which calls the function `Services.Store.instance ().get_project(Services.Settings.get_default().settings.get_string("local-inbox-project-id"));` From this command, the backend will update the database, and then return the updated information to the client to be displayed in the user interface. ## Synchronization ![](docs/image8.png) Within `MainWindow.vala`, it registers a callback that executes a sync every 15 minutes. [src/MainWindow.vala\#L196](https://github.com/alainm23/planify/blob/acca39066b3dd02545c693e5c0614655e352d73c/src/MainWindow.vala#L196) Within `Source.vala`, there is a public `run_server` method, which calls a private `_run_server` method. This then either calls `sync.start` for a CalDAV source or Todoist source, depending on the type. [core/Objects/Source.vala\#L129](https://github.com/alainm23/planify/blob/acca39066b3dd02545c693e5c0614655e352d73c/core/Objects/Source.vala#L129) For Todoist sources, it must retrieve a session token from the Todoist API. It makes various other API calls to merges or deletes calendars/tasks as necessary. [core/Services/Todoist.vala\#L210](https://github.com/alainm23/planify/blob/4e40a7244c1d2b564e97e65508481f7c2e6ff038/core/Services/Todoist.vala#L210) For CalDAV Sources, it retrieves the authentication bearer token from storage, authenticates, retrieves & parses the XML, and merges or deletes calendars/tasks as necessary. [core/Services/CalDAV/Core.vala\#L234](https://github.com/alainm23/planify/blob/main/core/Services/CalDAV/Core.vala#L234) `SyncButton.vala` has the ability to manually trigger a sync by broadcasting on its clicked signal. It also responds to events dispatched from the sources and updates its appearance accordingly when syncs start, fail, or finish. [src/Widgets/SyncButton.vala\#L73](https://github.com/alainm23/planify/blob/main/src/Widgets/SyncButton.vala#L73) ## Reminders ![](docs/image3.png) When a reminder is created in the UI or loaded from the database at startup, it will run `reminder_added()` in [Notification.vala](https://github.com/alainm23/planify/blob/main/src/Services/Notification.vala#L60). The code will first check if the time of the notification has already passed, and if it has, it will trigger the notification. If not, it will check whether or not the reminder is due today. If it is due today, it will set a timeout for the remaining time until the notification is due. If it is not due, it will not do anything. However, in [TimeMonitor.vala](https://github.com/alainm23/planify/blob/main/src/Services/TimeMonitor.vala), there is always a timeout set for midnight. At midnight, it will call `refresh()`, causing `Notification.vala` to rerun `reminder_added()` for all reminders. This in effect causes all reminders to check if they are due again, since it is now a new day. This loop continues until all reminders have been triggered. alainm23-planify-69962f8/AUTHORS000066400000000000000000000000551517337276100161430ustar00rootroot00000000000000Alain Yoyce Meza Huaman alainm23-planify-69962f8/LICENSE000066400000000000000000001045121517337276100161030ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read .alainm23-planify-69962f8/README.md000066400000000000000000000152021517337276100163520ustar00rootroot00000000000000[![Please do not theme this app](https://stopthemingmy.app/badge.svg)](https://stopthemingmy.app) [![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](http://www.gnu.org/licenses/gpl-3.0) Estado de la traducción
Planify Icon

Planify

Never worry about forgetting things again

![Planify Screenshot](https://raw.githubusercontent.com/alainm23/planify/main/data/resources/screenshot/screenshot-03.png) ## ✨ Features ### 🎯 Core Functionality - **🚀 Modern Interface**: Clean, intuitive design that gets out of your way - **🤚 Drag & Drop**: Effortlessly organize tasks and projects with natural gestures - **💯 Progress Tracking**: Visual indicators show completion status at a glance - **📂 Smart Organization**: Group tasks into sections for better workflow management - **📅 Calendar Integration**: Visualize your schedule and plan your day effectively - **� Flexible Reminders**: Set multiple reminders per task - never miss a deadline - **🌙 Dark Mode**: Seamless integration with system themes - **� Quick Search**: Find anything instantly with powerful search capabilities ### �� Cloud Synchronization - **Todoist Integration**: Full sync with your existing Todoist account - **Nextcloud Support**: Keep your data private with self-hosted solutions - **Offline Mode**: Work without internet - sync when you're back online - **Cross-Platform**: Access your tasks from anywhere *Note: Planify is not created by, affiliated with, or supported by Doist* ### 💎 Advanced Features - **🔔 Smart Notifications**: Never miss important tasks - **� Recurring Tasks**: Set up repeating schedules with flexible patterns - **📊 Analytics**: Track your productivity over time - **�� Labels & Filters**: Organize and find tasks with custom labels - **📎 Attachments**: Add files and links to your tasks - **🎨 Customization**: Personalize colors and themes ## 📥 Installation ### � Official Distribution Download on Flathub ### 🛠 Build from Source
System Requirements & Dependencies **Minimum Requirements:** - Linux distribution with GTK4 support - 2GB RAM - 500MB disk space **Build Dependencies:** | Package | Version | |---------|---------| | meson | ≥ 0.56 | | valac | ≥ 0.48 | | gio-2.0 | ≥ 2.80.3 | | glib-2.0 | ≥ 2.80.3 | | gee-0.8 | ≥ 0.20.6 | | gtk4 | ≥ 4.14.4 | | libsoup-3.0 | ≥ 3.4.4 | | sqlite3 | ≥ 3.45.1 | | libadwaita-1 | ≥ 1.5.3 | | json-glib-1.0 | ≥ 1.8.0 | | libecal-2.0 | ≥ 3.52.4 | | libedataserver-1.2 | ≥ 3.52.4 | | libportal | ≥ 0.7.1 | | libportal-gtk4 | ≥ 0.7.1 | | gxml-0.20 | ≥ 0.21.0 | | libsecret-1 | ≥ 0.21.4 | | libspelling-dev | latest | | gtksourceview-5 | 5.12.1 | | libicu-dev | ≥ 76.1 | **Install Dependencies:** **Fedora/RHEL:** ```bash sudo dnf install vala meson ninja-build gtk4-devel libadwaita-devel libgee-devel libsoup3-devel libportal-devel libportal-gtk4-devel evolution-devel libspelling-devel gtksourceview5-devel libicu-devel ``` **Ubuntu/Debian:** ```bash sudo apt install valac meson ninja-build libgtk-4-dev libadwaita-1-dev libgee-0.8-dev libjson-glib-dev libecal2.0-dev libsoup-3.0-dev libportal-dev libportal-gtk4-dev libspelling-1-dev libgtksourceview-5-dev libicu-dev ```
**Build Instructions:** ```bash # Clone the repository git clone https://github.com/alainm23/planify.git cd planify # Configure build meson build --prefix=/usr # Compile cd build ninja # Install sudo ninja install # Run io.github.alainm23.planify ``` ### �� Development Setup **Using GNOME Builder:** 1. Install [GNOME Builder](https://apps.gnome.org/Builder/) 2. Clone this repository 3. Open the project in GNOME Builder 4. Click "Run" to build and test ## � Contributing We welcome contributions! Here's how you can help: ### � Bug Reports & Feature Requests - Check [existing issues](https://github.com/alainm23/planify/issues) first - Use our issue templates for better communication - Include system information and steps to reproduce ### 💻 Code Contributions - Read our [Architecture Guide](ARCHITECTURE.md) - Review our [AI Policy](AI_POLICY.md) for guidelines on AI-assisted contributions - Fork the repository and create a feature branch - Follow our coding standards and commit message format - Submit a pull request with a clear description ### � Translations Help make Planify available in your language: - **Weblate (Recommended)**: [Join our translation project](https://hosted.weblate.org/engage/planner/) - **Manual**: Check our [Translation Guide](po/README.md) ## 📋 Code of Conduct Planify follows the [GNOME Code of Conduct](https://conduct.gnome.org/). We are committed to providing a welcoming and inclusive environment for all contributors. **Our Principles:** - **Be friendly** - Use welcoming and inclusive language - **Be empathetic** - Respect differing viewpoints and experiences - **Be respectful** - Disagree politely and constructively - **Be considerate** - Remember that decisions often involve competing priorities - **Be patient** - Help others learn and grow - **Be concise** - Read discussions before commenting ## � Support the Project If you find Planify useful, consider supporting its development:
[![Patreon](https://img.shields.io/badge/Patreon-F96854?style=for-the-badge&logo=patreon&logoColor=white)](https://www.patreon.com/alainm23) [![PayPal](https://img.shields.io/badge/PayPal-00457C?style=for-the-badge&logo=paypal&logoColor=white)](https://www.paypal.me/alainm23) [![Ko-fi](https://img.shields.io/badge/Ko--fi-F16061?style=for-the-badge&logo=ko-fi&logoColor=white)](https://ko-fi.com/alainm23) [![Liberapay](https://img.shields.io/badge/Liberapay-F6C915?style=for-the-badge&logo=liberapay&logoColor=black)](https://liberapay.com/Alain)
Made with 💗 in Perú

GitHub stars GitHub forks
alainm23-planify-69962f8/build-aux/000077500000000000000000000000001517337276100167655ustar00rootroot00000000000000alainm23-planify-69962f8/build-aux/io.github.alainm23.planify.Devel.json000066400000000000000000000127611517337276100256630ustar00rootroot00000000000000{ "app-id" : "io.github.alainm23.planify.Devel", "runtime" : "org.gnome.Platform", "runtime-version" : "50", "sdk" : "org.gnome.Sdk", "command" : "io.github.alainm23.planify.Devel", "tags" : [ "devel" ], "finish-args" : [ "--device=dri", "--share=ipc", "--share=network", "--socket=fallback-x11", "--socket=wayland", "--talk-name=org.gnome.evolution.dataserver.Calendar8", "--talk-name=org.gnome.evolution.dataserver.Sources5", "--talk-name=org.gnome.ScreenSaver", "--talk-name=io.github.alainm23.planify", "--talk-name=io.github.alainm23.planify.quick-add", "--own-name=io.github.alainm23.planify.quick-add", "--own-name=io.github.alainm23.planify", "--env=GOBJECT_DEBUG=instance-count" ], "cleanup" : [ "/include", "/lib/girepository-1.0", "/lib/pkgconfig", "/share/gir-1.0", "/share/vala", "*.la", "*.a" ], "modules" : [ { "name" : "libical", "buildsystem" : "cmake-ninja", "cleanup" : [ "/lib/cmake" ], "config-opts" : [ "-DCMAKE_BUILD_TYPE=Release", "-DCMAKE_INSTALL_LIBDIR=/app/lib", "-DBUILD_SHARED_LIBS=ON", "-DGOBJECT_INTROSPECTION=true", "-DICAL_GLIB_VAPI=true", "-DICAL_GLIB=true", "-DICAL_BUILD_DOCS=false", "-DWITH_CXX_BINDINGS=false" ], "sources" : [ { "type" : "archive", "url" : "https://github.com/libical/libical/releases/download/v3.0.20/libical-3.0.20.tar.gz", "sha256" : "e73de92f5a6ce84c1b00306446b290a2b08cdf0a80988eca0a2c9d5c3510b4c2", "x-checker-data" : { "type" : "anitya", "project-id" : 1637, "url-template" : "https://github.com/libical/libical/releases/download/v$version/libical-$version.tar.gz" } } ] }, { "name" : "evolution-data-server", "buildsystem" : "cmake-ninja", "cleanup" : [ "/lib/evolution-data-server/*-backends", "/libexec", "/share/dbus-1/services" ], "config-opts" : [ "-DCMAKE_BUILD_TYPE=Release", "-DENABLE_FILE_LOCKING=fcntl", "-DENABLE_DOT_LOCKING=OFF", "-DENABLE_OAUTH2=ON", "-DENABLE_CANBERRA=OFF", "-DENABLE_GTK=ON", "-DENABLE_UOA=OFF", "-DENABLE_GOA=OFF", "-DENABLE_GOOGLE=OFF", "-DENABLE_EXAMPLES=OFF", "-DENABLE_INTROSPECTION=ON", "-DENABLE_VALA_BINDINGS=ON", "-DENABLE_INSTALLED_TESTS=OFF", "-DENABLE_GTK_DOC=OFF", "-DWITH_PRIVATE_DOCS=OFF", "-DWITH_PHONENUMBER=OFF", "-DWITH_SYSTEMDUSERUNITDIR=OFF", "-DWITH_LIBDB=OFF", "-DWITH_OPENLDAP=OFF", "-DENABLE_WEATHER=OFF", "-DENABLE_OAUTH2_WEBKITGTK4=OFF" ], "sources" : [ { "type" : "archive", "url" : "https://download.gnome.org/sources/evolution-data-server/3.58/evolution-data-server-3.58.0.tar.xz", "sha256" : "a2b5a0b8db11b728edc1d6f1c229dc2711962b7a87c0384221dac8d96000cef7", "x-checker-data" : { "type" : "gnome", "name" : "evolution-data-server" } } ] }, { "name" : "libportal", "buildsystem" : "meson", "config-opts" : [ "-Dbackend-gtk3=disabled", "-Dbackend-gtk4=enabled", "-Ddocs=false", "-Dtests=false" ], "sources" : [ { "type" : "git", "url" : "https://github.com/flatpak/libportal.git", "tag" : "0.9.1" } ] }, { "name" : "gxml", "buildsystem" : "meson", "sources" : [ { "type" : "git", "url" : "https://gitlab.gnome.org/GNOME/gxml.git", "tag": "0.20.4" } ] }, { "name" : "libspelling", "buildsystem" : "meson", "config-opts" : [ "-Ddocs=false" ], "sources" : [ { "type" : "git", "url" : "https://gitlab.gnome.org/chergert/libspelling.git", "branch" : "main" } ] }, { "name" : "planify", "builddir" : true, "buildsystem" : "meson", "config-opts" : [ "-Dtracing=true", "-Dprofile=development", "--libdir=lib" ], "sources" : [ { "type" : "dir", "path" : "../" } ] } ], "build-options" : { "env" : { } } } alainm23-planify-69962f8/build-aux/no-webkit.json000066400000000000000000000127301517337276100215620ustar00rootroot00000000000000{ "app-id" : "io.github.alainm23.planify.Devel", "runtime" : "org.gnome.Platform", "runtime-version" : "49", "sdk" : "org.gnome.Sdk", "command" : "io.github.alainm23.planify.Devel", "tags" : [ "devel" ], "finish-args" : [ "--device=dri", "--share=ipc", "--share=network", "--socket=fallback-x11", "--socket=wayland", "--talk-name=org.gnome.evolution.dataserver.Calendar8", "--talk-name=org.gnome.evolution.dataserver.Sources5", "--talk-name=io.github.alainm23.planify", "--talk-name=io.github.alainm23.planify.quick-add", "--own-name=io.github.alainm23.planify.quick-add", "--own-name=io.github.alainm23.planify" ], "cleanup" : [ "/include", "/lib/pkgconfig", "/man", "/share/doc", "/share/gtk-doc", "/share/man", "/share/pkgconfig", "*.la", "*.a" ], "modules" : [ { "name" : "libical", "buildsystem" : "cmake-ninja", "cleanup" : [ "/lib/cmake" ], "config-opts" : [ "-DCMAKE_BUILD_TYPE=Release", "-DCMAKE_INSTALL_LIBDIR=/app/lib", "-DBUILD_SHARED_LIBS=ON", "-DGOBJECT_INTROSPECTION=true", "-DICAL_GLIB_VAPI=true", "-DICAL_GLIB=true", "-DICAL_BUILD_DOCS=false", "-DWITH_CXX_BINDINGS=false" ], "sources" : [ { "type" : "archive", "url" : "https://github.com/libical/libical/releases/download/v3.0.20/libical-3.0.20.tar.gz", "sha256" : "e73de92f5a6ce84c1b00306446b290a2b08cdf0a80988eca0a2c9d5c3510b4c2", "x-checker-data" : { "type" : "anitya", "project-id" : 1637, "url-template" : "https://github.com/libical/libical/releases/download/v$version/libical-$version.tar.gz" } } ] }, { "name" : "evolution-data-server", "buildsystem" : "cmake-ninja", "cleanup" : [ "/lib/evolution-data-server/*-backends", "/libexec", "/share/dbus-1/services" ], "config-opts" : [ "-DCMAKE_BUILD_TYPE=Release", "-DENABLE_FILE_LOCKING=fcntl", "-DENABLE_DOT_LOCKING=OFF", "-DENABLE_OAUTH2=ON", "-DENABLE_CANBERRA=OFF", "-DENABLE_GTK=ON", "-DENABLE_UOA=OFF", "-DENABLE_GOA=OFF", "-DENABLE_GOOGLE=OFF", "-DENABLE_EXAMPLES=OFF", "-DENABLE_INTROSPECTION=ON", "-DENABLE_VALA_BINDINGS=ON", "-DENABLE_INSTALLED_TESTS=OFF", "-DENABLE_GTK_DOC=OFF", "-DWITH_PRIVATE_DOCS=OFF", "-DWITH_PHONENUMBER=OFF", "-DWITH_SYSTEMDUSERUNITDIR=OFF", "-DWITH_LIBDB=OFF", "-DWITH_OPENLDAP=OFF", "-DENABLE_WEATHER=OFF", "-DENABLE_OAUTH2_WEBKITGTK4=OFF" ], "sources" : [ { "type" : "archive", "url" : "https://download.gnome.org/sources/evolution-data-server/3.56/evolution-data-server-3.56.1.tar.xz", "sha256" : "646cc0037da3f9f295794c637d95394ad76f8c9bee2268be2c4183e27720c137", "x-checker-data" : { "type" : "gnome", "name" : "evolution-data-server" } } ] }, { "name" : "libportal", "buildsystem" : "meson", "config-opts" : [ "-Dbackend-gtk3=disabled", "-Dbackend-gtk4=enabled", "-Ddocs=false", "-Dtests=false" ], "sources" : [ { "type" : "git", "url" : "https://github.com/flatpak/libportal.git", "tag" : "0.9.1" } ] }, { "name" : "gxml", "buildsystem" : "meson", "sources" : [ { "type" : "git", "url" : "https://gitlab.gnome.org/GNOME/gxml.git", "tag": "0.20.4" } ] }, { "name" : "libspelling", "buildsystem" : "meson", "config-opts" : [ "-Ddocs=false" ], "sources" : [ { "type" : "git", "url" : "https://gitlab.gnome.org/chergert/libspelling.git", "branch" : "main" } ] }, { "name" : "planify", "builddir" : true, "buildsystem" : "meson", "config-opts" : [ "-Dtracing=true", "-Dprofile=development", "-Dwebkit=false", "--libdir=lib" ], "sources" : [ { "type" : "dir", "path" : "../" } ] } ], "build-options" : { "env" : { } } } alainm23-planify-69962f8/cli/000077500000000000000000000000001517337276100156425ustar00rootroot00000000000000alainm23-planify-69962f8/cli/ArgumentParser.vala000066400000000000000000000372421517337276100214560ustar00rootroot00000000000000/* * Copyright © 2026 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ namespace PlanifyCLI { public enum CommandType { NONE, ADD, LIST_PROJECTS, LIST, UPDATE, BACKUP } public class TaskArguments : Object { public string? content { get; set; default = null; } public string? description { get; set; default = null; } public string? project_name { get; set; default = null; } public string? project_id { get; set; default = null; } public string? section_name { get; set; default = null; } public string? section_id { get; set; default = null; } public string? parent_id { get; set; default = null; } public int priority { get; set; default = 4; } public string? due_date { get; set; default = null; } public string? labels { get; set; default = null; } public int pinned { get; set; default = -1; } // -1 = not set, 0 = unpinned, 1 = pinned } public class ListArguments : Object { public string? project_name { get; set; default = null; } public string? project_id { get; set; default = null; } } public class UpdateArguments : Object { public string? task_id { get; set; default = null; } public string? content { get; set; default = null; } public string? description { get; set; default = null; } public string? project_name { get; set; default = null; } public string? project_id { get; set; default = null; } public string? section_name { get; set; default = null; } public string? section_id { get; set; default = null; } public string? parent_id { get; set; default = null; } public int priority { get; set; default = -1; } public string? due_date { get; set; default = null; } public string? labels { get; set; default = null; } public int checked { get; set; default = -1; } // -1 = not set, 0 = uncomplete, 1 = complete public int pinned { get; set; default = -1; } // -1 = not set, 0 = unpinned, 1 = pinned } public class BackupArguments : Object { public string? output { get; set; default = null; } } public class ParsedCommand : Object { public CommandType command_type { get; set; default = CommandType.NONE; } public TaskArguments? task_args { get; set; default = null; } public ListArguments? list_args { get; set; default = null; } public UpdateArguments? update_args { get; set; default = null; } public BackupArguments? backup_args { get; set; default = null; } } public class ArgumentParser : Object { public static ParsedCommand? parse (string[] args, out int exit_code) { exit_code = 0; // Check for top-level help if (args.length >= 2 && (args[1] == "-h" || args[1] == "--help")) { print_general_help (args[0]); exit_code = 0; return null; } // Check for command if (args.length < 2) { stderr.printf ("Error: No command specified\n"); stderr.printf ("Usage: %s [OPTIONS]\n", args[0]); stderr.printf ("Commands: add, list, update, list-projects\n"); stderr.printf ("Run '%s --help' for more information\n", args[0]); exit_code = 1; return null; } string command = args[1]; var parsed = new ParsedCommand (); string[] command_args = new string[args.length - 1]; command_args[0] = args[0] + " " + command; for (int i = 2; i < args.length; i++) { command_args[i - 1] = args[i]; } try { switch (command) { case "list-projects": parsed.command_type = CommandType.LIST_PROJECTS; return parsed; case "list": parsed.command_type = CommandType.LIST; parsed.list_args = parse_list_command (command_args); return parsed; case "add": parsed.command_type = CommandType.ADD; parsed.task_args = parse_add_command (command_args); return parsed; case "update": parsed.command_type = CommandType.UPDATE; parsed.update_args = parse_update_command (command_args); return parsed; case "backup": parsed.command_type = CommandType.BACKUP; parsed.backup_args = parse_backup_command (command_args); return parsed; default: stderr.printf ("Error: Unknown command '%s'\n", command); stderr.printf ("Available commands: add, list, update, list-projects, backup\n"); exit_code = 1; return null; } } catch (OptionError e) { stderr.printf ("Error: %s\n", e.message); exit_code = 1; return null; } } private static ListArguments parse_list_command (string[] args) throws OptionError { string? project_name = null; string? project_id = null; var options = new OptionEntry[3]; options[0] = { "project", 'p', 0, OptionArg.STRING, ref project_name, "Project name (defaults to inbox)", "PROJECT" }; options[1] = { "project-id", 'i', 0, OptionArg.STRING, ref project_id, "Project ID (preferred over name)", "ID" }; options[2] = { null }; var context = new OptionContext ("- List tasks from a project"); context.add_main_entries (options, null); context.set_help_enabled (true); unowned string[] tmp = args; context.parse (ref tmp); var list_args = new ListArguments (); list_args.project_name = project_name; list_args.project_id = project_id; return list_args; } private static TaskArguments parse_add_command (string[] args) throws OptionError { string? content = null; string? description = null; string? project_name = null; string? project_id = null; string? section_name = null; string? section_id = null; string? parent_id = null; int priority = 4; string? due_date = null; string? labels = null; string? pin_str = null; var options = new OptionEntry[12]; options[0] = { "content", 'c', 0, OptionArg.STRING, ref content, "Task content (required)", "CONTENT" }; options[1] = { "description", 'd', 0, OptionArg.STRING, ref description, "Task description", "DESC" }; options[2] = { "project", 'p', 0, OptionArg.STRING, ref project_name, "Project name (defaults to inbox)", "PROJECT" }; options[3] = { "project-id", 'i', 0, OptionArg.STRING, ref project_id, "Project ID (preferred over name)", "ID" }; options[4] = { "section", 's', 0, OptionArg.STRING, ref section_name, "Section name", "SECTION" }; options[5] = { "section-id", 'S', 0, OptionArg.STRING, ref section_id, "Section ID (preferred over name)", "ID" }; options[6] = { "parent-id", 'a', 0, OptionArg.STRING, ref parent_id, "Parent task ID (creates a subtask)", "ID" }; options[7] = { "priority", 'P', 0, OptionArg.INT, ref priority, "Priority: 1=high, 2=medium, 3=low, 4=none (default: 4)", "1-4" }; options[8] = { "due", 'D', 0, OptionArg.STRING, ref due_date, "Due date in YYYY-MM-DD format", "DATE" }; options[9] = { "labels", 'l', 0, OptionArg.STRING, ref labels, "Comma-separated list of label names", "LABELS" }; options[10] = { "pin", 0, 0, OptionArg.STRING, ref pin_str, "Pin or unpin the task", "true|false" }; options[11] = { null }; var context = new OptionContext ("- Add a new task to Planify"); context.add_main_entries (options, null); context.set_help_enabled (true); unowned string[] tmp = args; context.parse (ref tmp); var task_args = new TaskArguments (); task_args.content = content; task_args.description = description; task_args.project_name = project_name; task_args.project_id = project_id; task_args.section_name = section_name; task_args.section_id = section_id; task_args.parent_id = parent_id; task_args.priority = priority; task_args.due_date = due_date; task_args.labels = labels; task_args.pinned = parse_boolean_option (pin_str); return task_args; } private static UpdateArguments parse_update_command (string[] args) throws OptionError { string? task_id = null; string? content = null; string? description = null; string? project_name = null; string? project_id = null; string? section_name = null; string? section_id = null; string? parent_id = null; int priority = -1; string? due_date = null; string? labels = null; string? complete_str = null; string? pin_str = null; var options = new OptionEntry[14]; options[0] = { "task-id", 't', 0, OptionArg.STRING, ref task_id, "Task ID to update (required)", "ID" }; options[1] = { "content", 'c', 0, OptionArg.STRING, ref content, "New task content", "CONTENT" }; options[2] = { "description", 'd', 0, OptionArg.STRING, ref description, "New task description", "DESC" }; options[3] = { "project", 'p', 0, OptionArg.STRING, ref project_name, "Move to project by name", "PROJECT" }; options[4] = { "project-id", 'i', 0, OptionArg.STRING, ref project_id, "Move to project by ID (preferred over name)", "ID" }; options[5] = { "section", 's', 0, OptionArg.STRING, ref section_name, "Section name", "SECTION" }; options[6] = { "section-id", 'S', 0, OptionArg.STRING, ref section_id, "Section ID (preferred over name)", "ID" }; options[7] = { "parent-id", 'a', 0, OptionArg.STRING, ref parent_id, "New parent task ID", "ID" }; options[8] = { "priority", 'P', 0, OptionArg.INT, ref priority, "Priority: 1=high, 2=medium, 3=low, 4=none", "1-4" }; options[9] = { "due", 'D', 0, OptionArg.STRING, ref due_date, "Due date in YYYY-MM-DD format", "DATE" }; options[10] = { "labels", 'l', 0, OptionArg.STRING, ref labels, "Comma-separated list of label names", "LABELS" }; options[11] = { "complete", 0, 0, OptionArg.STRING, ref complete_str, "Mark task as complete or incomplete", "true|false" }; options[12] = { "pin", 0, 0, OptionArg.STRING, ref pin_str, "Pin or unpin the task", "true|false" }; options[13] = { null }; var context = new OptionContext ("- Update an existing task. Only provided fields will be changed."); context.add_main_entries (options, null); context.set_help_enabled (true); unowned string[] tmp = args; context.parse (ref tmp); var update_args = new UpdateArguments (); update_args.task_id = task_id; update_args.content = content; update_args.description = description; update_args.project_name = project_name; update_args.project_id = project_id; update_args.section_name = section_name; update_args.section_id = section_id; update_args.parent_id = parent_id; update_args.priority = priority; update_args.due_date = due_date; update_args.labels = labels; update_args.checked = parse_boolean_option (complete_str); update_args.pinned = parse_boolean_option (pin_str); return update_args; } private static int parse_boolean_option (string? value) throws OptionError { if (value == null) { return -1; } string lower_value = value.down (); if (lower_value == "true") { return 1; } else if (lower_value == "false") { return 0; } else { throw new OptionError.BAD_VALUE ("Boolean option requires 'true' or 'false'"); } } private static BackupArguments parse_backup_command (string[] args) throws OptionError { string? output = null; var options = new OptionEntry[2]; options[0] = { "output", 'o', 0, OptionArg.STRING, ref output, "Output file path (default: stdout)", "FILE" }; options[1] = { null }; var context = new OptionContext ("- Export a JSON backup of all tasks and projects"); context.add_main_entries (options, null); context.set_help_enabled (true); unowned string[] tmp = args; context.parse (ref tmp); var backup_args = new BackupArguments (); backup_args.output = output; return backup_args; } private static void print_general_help (string program_name) { stdout.printf ("Usage: %s [OPTIONS]\n\n", program_name); stdout.printf ("Commands:\n"); stdout.printf (" add Add a new task\n"); stdout.printf (" list List tasks from a project\n"); stdout.printf (" update Update an existing task\n"); stdout.printf (" list-projects List all projects\n"); stdout.printf (" backup Export a JSON backup\n\n"); stdout.printf ("Run '%s --help' for command-specific options\n\n", program_name); stdout.printf ("Examples:\n"); stdout.printf (" %s add --help\n", program_name); stdout.printf (" %s list --help\n", program_name); stdout.printf (" %s update --help\n", program_name); } } }alainm23-planify-69962f8/cli/DBusClient.vala000066400000000000000000000031571517337276100205110ustar00rootroot00000000000000/* * Copyright © 2016 Alain M. (https://github.com/alainm23/planner) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ [DBus (name = "io.github.alainm23.planify")] public interface DBusClientInterface : Object { public abstract void add_item (string id) throws Error; public abstract void update_item (string id) throws Error; } public class DBusClient : Object { public DBusClientInterface ? interface = null; private static GLib.Once instance; public static unowned DBusClient get_default () { return instance.once (() => { return new DBusClient (); }); } construct { try { interface = Bus.get_proxy_sync ( BusType.SESSION, "io.github.alainm23.planify", "/io/github/alainm23/planify"); } catch (IOError e) { error ("Monitor Indicator DBus: %s\n", e.message); } } } alainm23-planify-69962f8/cli/Main.vala000066400000000000000000000350231517337276100173760ustar00rootroot00000000000000/* * Copyright © 2026 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ namespace PlanifyCLI { private static int list_projects () { // Initialize database Services.Database.get_default ().init_database (); // Get all projects from store var projects = Services.Store.instance ().projects; // Output as JSON OutputFormatter.print_projects_list (projects); return 0; } private static int list_tasks (ListArguments args) { // Initialize database Services.Database.get_default ().init_database (); // Find target project string? error_message; Objects.Project? target_project = TaskCreator.find_project ( args.project_id, args.project_name, out error_message ); if (target_project == null) { stderr.printf ("%s\n", error_message); return 1; } // Get all items for the project var items = Services.Store.instance ().get_items_by_project (target_project); // Output result OutputFormatter.print_tasks_list (items); return 0; } private static int update_task (UpdateArguments args) { // Validate task_id if (args.task_id == null || args.task_id.strip () == "") { stderr.printf ("Error: --task-id is required\n"); return 1; } // Initialize database Services.Database.get_default ().init_database (); // Get existing item Objects.Item? item = Services.Store.instance ().get_item (args.task_id.strip ()); if (item == null) { stderr.printf ("Error: Task ID '%s' not found\n", args.task_id); return 1; } string? error_message; // Update content if provided if (args.content != null && args.content.strip () != "") { item.content = args.content.strip (); } // Update description if provided if (args.description != null) { item.description = args.description.strip (); } // Update priority if provided if (args.priority != -1) { if (!TaskValidator.validate_priority (args.priority, out error_message)) { stderr.printf ("%s\n", error_message); return 1; } // Convert user-friendly priority (1=high, 4=none) to internal format (4=high, 1=none) item.priority = 5 - args.priority; } // Update due date if provided if (args.due_date != null) { GLib.DateTime? due_datetime; if (!TaskValidator.validate_and_parse_date (args.due_date, out due_datetime, out error_message)) { stderr.printf ("%s\n", error_message); return 1; } if (due_datetime != null) { item.due.date = Utils.Datetime.get_todoist_datetime_format (due_datetime); } } // Handle project change if provided bool project_changed = false; string old_project_id = item.project_id; string old_section_id = item.section_id; string old_parent_id = item.parent_id; if (args.project_id != null || args.project_name != null) { Objects.Project? target_project = TaskCreator.find_project ( args.project_id, args.project_name, out error_message ); if (target_project == null) { stderr.printf ("%s\n", error_message); return 1; } if (item.project_id != target_project.id) { item.project_id = target_project.id; item.section_id = ""; // Reset section when moving to new project project_changed = true; } } // Handle section change if provided if (args.section_id != null || args.section_name != null) { Objects.Project? current_project = Services.Store.instance ().get_project (item.project_id); if (current_project != null) { Objects.Section? target_section = TaskCreator.find_section ( args.section_id, args.section_name, current_project, out error_message ); if (target_section == null) { stderr.printf ("%s\n", error_message); return 1; } if (item.section_id != target_section.id) { item.section_id = target_section.id; } } } // Update parent_id if provided if (args.parent_id != null) { if (!TaskValidator.validate_parent_id (args.parent_id, out error_message)) { stderr.printf ("%s\n", error_message); return 1; } item.parent_id = args.parent_id.strip (); } // Update labels if provided if (args.labels != null) { var new_labels = new Gee.HashMap (); string[] label_names = args.labels.split (","); foreach (string label_name in label_names) { string trimmed = label_name.strip (); if (trimmed != "") { Objects.Label? label = Services.Store.instance ().get_label_by_name (trimmed, true, item.project.source_id); if (label == null) { // Create new label if it doesn't exist label = new Objects.Label (); label.id = Util.get_default ().generate_id (label); label.name = trimmed; label.color = Util.get_default ().get_random_color (); label.source_id = item.project.source_id; Services.Store.instance ().insert_label (label); } new_labels[label.id] = label; } } item.check_labels (new_labels); } // Handle completion status change if provided if (args.checked != -1) { bool old_checked = item.checked; bool new_checked = args.checked == 1; if (old_checked != new_checked) { item.checked = new_checked; if (new_checked) { item.completed_at = new GLib.DateTime.now_local ().to_string (); } else { item.completed_at = ""; } // Use async completion handler var loop = new MainLoop (); item.complete_item.begin (old_checked, (obj, res) => { var response = item.complete_item.end (res); if (!response.status) { stderr.printf ("Error: Failed to update task completion status\n"); } loop.quit (); }); loop.run (); } } // Update pinned if provided if (args.pinned != -1) { item.pinned = args.pinned == 1; } // Save changes if (project_changed) { Services.Store.instance ().move_item (item, old_project_id, old_section_id, old_parent_id); } else { Services.Store.instance ().update_item (item); } // Notify main app via DBus bool dbus_notified = false; try { DBusClient.get_default ().interface.update_item (item.id); dbus_notified = true; } catch (Error e) { // Not a critical error - main app might not be running debug ("DBus notification failed: %s", e.message); } // Ensure DBus message is flushed before exit if (dbus_notified) { var main_context = MainContext.default (); while (main_context.pending ()) { main_context.iteration (false); } } // Get the current project for output Objects.Project? current_project = Services.Store.instance ().get_project (item.project_id); if (current_project == null) { current_project = Services.Store.instance ().get_inbox_project (); } // Output result OutputFormatter.print_task_result (item, current_project); return 0; } private static int add_task (TaskArguments args) { // Validate content string? error_message; if (!TaskValidator.validate_content (args.content, out error_message)) { stderr.printf ("%s\n", error_message); return 1; } // Validate priority if (!TaskValidator.validate_priority (args.priority, out error_message)) { stderr.printf ("%s\n", error_message); return 1; } // Validate and parse due date GLib.DateTime? due_datetime; if (!TaskValidator.validate_and_parse_date (args.due_date, out due_datetime, out error_message)) { stderr.printf ("%s\n", error_message); return 1; } // Initialize database Services.Database.get_default ().init_database (); // Validate parent_id if provided if (!TaskValidator.validate_parent_id (args.parent_id, out error_message)) { stderr.printf ("%s\n", error_message); return 1; } // Find target project Objects.Project? target_project = TaskCreator.find_project ( args.project_id, args.project_name, out error_message ); if (target_project == null) { stderr.printf ("%s\n", error_message); return 1; } // Create item var item = TaskCreator.create_item ( args.content, args.description, args.priority, due_datetime, target_project, args.parent_id ); // Find and set section if provided if (args.section_id != null || args.section_name != null) { Objects.Section? target_section = TaskCreator.find_section ( args.section_id, args.section_name, target_project, out error_message ); if (target_section == null) { stderr.printf ("%s\n", error_message); return 1; } item.section_id = target_section.id; } // Add labels if provided if (args.labels != null && args.labels.strip () != "") { string[] label_names = args.labels.split (","); foreach (string label_name in label_names) { string trimmed = label_name.strip (); if (trimmed != "") { Objects.Label? label = Services.Store.instance ().get_label_by_name (trimmed, true, target_project.source_id); if (label == null) { // Create new label if it doesn't exist label = new Objects.Label (); label.id = Util.get_default ().generate_id (label); label.name = trimmed; label.color = Util.get_default ().get_random_color (); label.source_id = target_project.source_id; Services.Store.instance ().insert_label (label); } item.labels.add (label); } } } // Set pinned if provided if (args.pinned != -1) { item.pinned = args.pinned == 1; } // Save and notify TaskCreator.save_and_notify (item); // Output result OutputFormatter.print_task_result (item, target_project); return 0; } private static int backup (BackupArguments args) { Services.Database.get_default ().init_database (); string json = Services.Backup.get_default ().export_to_json (); if (args.output != null && args.output.strip () != "") { var file = File.new_for_path (args.output); try { var stream = file.replace (null, false, FileCreateFlags.NONE, null); stream.write (json.data, null); stream.close (null); stderr.printf ("Backup saved to %s\n", args.output); } catch (Error e) { stderr.printf ("Error writing backup: %s\n", e.message); return 1; } } else { stdout.printf ("%s\n", json); } return 0; } public static int main (string[] args) { // Initialize localization Intl.setlocale (LocaleCategory.ALL, ""); string langpack_dir = Path.build_filename (Build.INSTALL_PREFIX, "share", "locale"); Intl.bindtextdomain (Build.GETTEXT_PACKAGE, langpack_dir); Intl.bind_textdomain_codeset (Build.GETTEXT_PACKAGE, "UTF-8"); Intl.textdomain (Build.GETTEXT_PACKAGE); // Parse arguments int exit_code; ParsedCommand? parsed = ArgumentParser.parse (args, out exit_code); if (parsed == null) { return exit_code; } // Route to appropriate command handler switch (parsed.command_type) { case CommandType.LIST_PROJECTS: return list_projects (); case CommandType.LIST: return list_tasks (parsed.list_args); case CommandType.UPDATE: return update_task (parsed.update_args); case CommandType.ADD: return add_task (parsed.task_args); case CommandType.BACKUP: return backup (parsed.backup_args); default: stderr.printf ("Error: Unknown command\n"); return 1; } } } alainm23-planify-69962f8/cli/OutputFormatter.vala000066400000000000000000000120151517337276100216720ustar00rootroot00000000000000/* * Copyright © 2026 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ namespace PlanifyCLI { public class OutputFormatter : Object { private delegate void FieldValueAdder (Json.Builder builder); private struct FieldDef { string name; FieldValueAdder add_value; } // Define fields to include in output private static FieldDef[] get_project_fields (Objects.Project project) { return { { "id", (builder) => builder.add_string_value (project.id) }, { "name", (builder) => builder.add_string_value (project.name) }, { "item-count", (builder) => builder.add_int_value (project.item_count) }, { "description", (builder) => builder.add_string_value (project.description) } }; } private static FieldDef[] get_item_fields (Objects.Item item) { return { { "id", (builder) => builder.add_string_value (item.id) }, { "content", (builder) => builder.add_string_value (item.content) }, { "description", (builder) => builder.add_string_value (item.description) }, { "checked", (builder) => builder.add_boolean_value (item.checked) }, { "pinned", (builder) => builder.add_boolean_value (item.pinned) }, { "priority", (builder) => builder.add_int_value (5 - item.priority) }, { "project-id", (builder) => builder.add_string_value (item.project_id) }, { "section-id", (builder) => builder.add_string_value (item.section_id) }, { "parent-id", (builder) => builder.add_string_value (item.parent_id) }, { "added-at", (builder) => builder.add_string_value (item.added_at) }, { "completed-at", (builder) => builder.add_string_value (item.completed_at) }, { "updated-at", (builder) => builder.add_string_value (item.updated_at) }, { "labels", (builder) => { builder.begin_array (); foreach (var label in item.labels) { builder.add_string_value (label.name); } builder.end_array (); }} }; } public static void print_task_result (Objects.Item item, Objects.Project project) { var builder = new Json.Builder (); builder.begin_object (); builder.set_member_name ("task"); add_object (builder, get_item_fields (item)); builder.set_member_name ("project"); add_object (builder, get_project_fields (project)); builder.end_object (); var generator = new Json.Generator (); generator.set_root (builder.get_root ()); generator.pretty = true; stdout.printf ("%s\n", generator.to_data (null)); } public static void print_projects_list (Gee.ArrayList projects) { var builder = new Json.Builder (); builder.begin_array (); foreach (var project in projects) { add_object (builder, get_project_fields (project)); } builder.end_array (); var generator = new Json.Generator (); generator.set_root (builder.get_root ()); generator.pretty = true; stdout.printf ("%s\n", generator.to_data (null)); } public static void print_tasks_list (Gee.ArrayList items) { var builder = new Json.Builder (); builder.begin_array (); foreach (var item in items) { add_object (builder, get_item_fields (item)); } builder.end_array (); var generator = new Json.Generator (); generator.set_root (builder.get_root ()); generator.pretty = true; stdout.printf ("%s\n", generator.to_data (null)); } private static void add_object (Json.Builder builder, FieldDef[] fields) { builder.begin_object (); foreach (var field in fields) { builder.set_member_name (field.name); field.add_value (builder); } builder.end_object (); } } } alainm23-planify-69962f8/cli/TaskCreator.vala000066400000000000000000000147061517337276100207410ustar00rootroot00000000000000/* * Copyright © 2026 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ namespace PlanifyCLI { public class TaskCreator : Object { public static Objects.Section? find_section (string? section_id, string? section_name, Objects.Project project, out string? error_message) { error_message = null; Objects.Section? target_section = null; // Prefer section ID over name if (section_id != null && section_id.strip () != "") { // Search by section ID foreach (var section in Services.Store.instance ().get_sections_by_project (project)) { if (section.id == section_id.strip ()) { target_section = section; break; } } if (target_section == null) { error_message = "Error: Section ID '%s' not found in project '%s'".printf (section_id, project.name); return null; } } else if (section_name != null && section_name.strip () != "") { // Search for section by name (case-insensitive) string search_name = section_name.strip ().down (); foreach (var section in Services.Store.instance ().get_sections_by_project (project)) { if (section.name.down () == search_name) { target_section = section; break; } } if (target_section == null) { error_message = "Error: Section '%s' not found in project '%s'".printf (section_name, project.name); return null; } } return target_section; } public static Objects.Project? find_project (string? project_id, string? project_name, out string? error_message) { error_message = null; Objects.Project? target_project = null; // Prefer project ID over name if (project_id != null && project_id.strip () != "") { // Search by project ID foreach (var project in Services.Store.instance ().projects) { if (project.id == project_id.strip () && !project.is_archived && !project.is_deleted) { target_project = project; break; } } if (target_project == null) { error_message = "Error: Project ID '%s' not found".printf (project_id); return null; } } else if (project_name != null && project_name.strip () != "") { // Search for project by name (case-insensitive) string search_name = project_name.strip ().down (); foreach (var project in Services.Store.instance ().projects) { if (project.name.down () == search_name && !project.is_archived && !project.is_deleted) { target_project = project; break; } } if (target_project == null) { error_message = "Error: Project '%s' not found".printf (project_name); return null; } } else { // Default to inbox target_project = Services.Store.instance ().get_inbox_project (); if (target_project == null) { error_message = "Error: No inbox project found"; return null; } } return target_project; } public static Objects.Item create_item ( string content, string? description, int priority, GLib.DateTime? due_datetime, Objects.Project project, string? parent_id ) { var item = new Objects.Item (); item.id = Util.get_default ().generate_id (item); item.content = content.strip (); item.project_id = project.id; // Convert user-friendly priority (1=high, 4=none) to internal format (4=high, 1=none) item.priority = 5 - priority; item.added_at = new GLib.DateTime.now_local ().to_string (); // Set parent_id if provided if (parent_id != null && parent_id.strip () != "") { item.parent_id = parent_id.strip (); } // Set description if provided if (description != null && description.strip () != "") { item.description = description.strip (); } // Set due date if provided if (due_datetime != null) { item.due.date = Utils.Datetime.get_todoist_datetime_format (due_datetime); } return item; } public static bool save_and_notify (Objects.Item item) { // Insert item into database Services.Store.instance ().insert_item (item); // Notify main app via DBus bool dbus_notified = false; try { DBusClient.get_default ().interface.add_item (item.id); dbus_notified = true; } catch (Error e) { // Not a critical error - main app might not be running debug ("DBus notification failed: %s", e.message); } // Ensure DBus message is flushed before exit if (dbus_notified) { var main_context = MainContext.default (); while (main_context.pending ()) { main_context.iteration (false); } } return true; } } }alainm23-planify-69962f8/cli/TaskValidator.vala000066400000000000000000000062521517337276100212640ustar00rootroot00000000000000/* * Copyright © 2026 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ namespace PlanifyCLI { public class TaskValidator : Object { public static bool validate_content (string? content, out string? error_message) { error_message = null; if (content == null || content.strip () == "") { error_message = "Error: --content is required"; return false; } return true; } public static bool validate_priority (int priority, out string? error_message) { error_message = null; if (priority < 1 || priority > 4) { error_message = "Error: --priority must be between 1 and 4"; return false; } return true; } public static bool validate_and_parse_date (string? due_date, out GLib.DateTime? datetime, out string? error_message) { datetime = null; error_message = null; if (due_date == null || due_date.strip () == "") { return true; // No date provided is valid } // Parse YYYY-MM-DD format string[] parts = due_date.strip ().split ("-"); if (parts.length != 3) { error_message = "Error: Invalid date format. Use YYYY-MM-DD"; return false; } int year = int.parse (parts[0]); int month = int.parse (parts[1]); int day = int.parse (parts[2]); if (year < 1900 || year > 3000 || month < 1 || month > 12 || day < 1 || day > 31) { error_message = "Error: Invalid date values"; return false; } datetime = new GLib.DateTime.local (year, month, day, 0, 0, 0); return true; } public static bool validate_parent_id (string? parent_id, out string? error_message) { error_message = null; if (parent_id == null || parent_id.strip () == "") { return true; // No parent_id provided is valid } // Check if parent task exists Objects.Item? parent_item = Services.Store.instance ().get_item (parent_id.strip ()); if (parent_item == null) { error_message = "Error: Parent task ID '%s' not found".printf (parent_id); return false; } return true; } } }alainm23-planify-69962f8/cli/meson.build000066400000000000000000000004241517337276100200040ustar00rootroot00000000000000cli_sources = files( 'DBusClient.vala', 'ArgumentParser.vala', 'TaskValidator.vala', 'TaskCreator.vala', 'OutputFormatter.vala', 'Main.vala', ) executable( 'io.github.alainm23.planify.cli', cli_sources, config_file, dependencies: deps, install: true, ) alainm23-planify-69962f8/config.vala.in000066400000000000000000000007471517337276100176220ustar00rootroot00000000000000namespace Build { public const string GETTEXT_PACKAGE = @GETTEXT_PACKAGE@; public const string APPLICATION_ID = @APPLICATION_ID@; public const string VERSION = @VERSION@; public const string INSTALL_PREFIX = @PREFIX@; public const string DATADIR = @DATADIR@; public const string PROFILE = @PROFILE@; public const string LOCALEDIR = @LOCALEDIR@; public const string GNOMELOCALEDIR = @GNOMELOCALEDIR@; public const int TOTAL_STRINGS = @TOTAL_STRINGS@; }alainm23-planify-69962f8/core/000077500000000000000000000000001517337276100160235ustar00rootroot00000000000000alainm23-planify-69962f8/core/Constants.vala000066400000000000000000000056771517337276100206630ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Constants { public const string SOUP_USER_AGENT = "Planify"; #if DEVELOPMENT public const bool IS_DEVELOPMENT = true; #else public const bool IS_DEVELOPMENT = false; #endif public const string TODOIST_CLIENT_ID = "b0dd7d3714314b1dbbdab9ee03b6b432"; public const string TODOIST_CLIENT_SECRET = "a86dfeb12139459da3e5e2a8c197c678"; public const string TODOIST_SCOPE = "data:read_write,data:delete,project:delete"; public const string TODOIST_REDIRECT_URI = "planify://auth"; public const string BACKUP_VERSION = "2.0"; public const int UPDATE_TIMEOUT = 1500; public const int DESTROY_TIMEOUT = 750; public const int STARTUP_SYNC_TIMEOUT = 2500; public const int SHORT_NAME_SIZE = 20; public const int PRIORITY_1 = 4; public const int PRIORITY_2 = 3; public const int PRIORITY_3 = 2; public const int PRIORITY_4 = 1; public const int SCROLL_STEPS = 6; public const string TWITTER_URL = "https://twitter.com/useplanify"; public const string CONTACT_US = "alainmh23@gmail.com"; public const string PATREON_URL = "https://www.patreon.com/join/alainm23"; public const string PAYPAL_ME_URL = "https://www.paypal.com/paypalme/alainm23"; public const string LIBERAPAY_URL = "https://liberapay.com/Alain/"; public const string KOFI_URL = "https://ko-fi.com/alainm23"; public const string MASTODON_URL = "https://mastodon.social/@planifyapp"; public const string DISCORD_URL = "https://discord.com/invite/dxxyumrTJW"; public const string ISSUE_URL = "https://github.com/alainm23/planify/issues"; public const string NEW_ISSUE_URL = "https://github.com/alainm23/planify/issues/new?assignees=&labels=Type:+Bug&template=bug_report.yml"; public const string WEBLATE_URL = "https://hosted.weblate.org/engage/planner/"; public const string FLATHUB_URL = "https://flathub.org/apps/io.github.alainm23.planify"; public const string PRIVACY_POLICY_URL = "https://useplanify.com/privacy-policy/"; public const bool BLOCK_PAST_DAYS = false; public const int COMPLETED_PAGE_SIZE = 15; public const int HEADERBAR_TITLE_SCROLL_THRESHOLD = 24; } alainm23-planify-69962f8/core/Enum.vala000066400000000000000000000405201517337276100175750ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public enum ColorScheme { NO_PREFERENCE, DARK, LIGHT } public enum NotificationStyle { NORMAL, ERROR } public enum ProjectViewStyle { LIST, BOARD; public string to_string () { switch (this) { case LIST: return "list"; case BOARD: return "board"; default: assert_not_reached (); } } public static ProjectViewStyle parse (string value) { switch (value) { case "list": return ProjectViewStyle.LIST; case "board": return ProjectViewStyle.BOARD; default: assert_not_reached (); } } } public enum ProjectIconStyle { PROGRESS, EMOJI; public string to_string () { switch (this) { case PROGRESS: return "progress"; case EMOJI: return "emoji"; default: assert_not_reached (); } } public static ProjectIconStyle parse (string value) { switch (value) { case "progress": return ProjectIconStyle.PROGRESS; case "emoji": return ProjectIconStyle.EMOJI; default: assert_not_reached (); } } } public enum SourceType { NONE, LOCAL, TODOIST, GOOGLE_TASKS, CALDAV; public string to_string () { switch (this) { case NONE: return "none"; case LOCAL: return "local"; case TODOIST: return "todoist"; case GOOGLE_TASKS: return "google-tasks"; case CALDAV: return "caldav"; default: assert_not_reached (); } } public static SourceType parse (string value) { switch (value) { case "local": return SourceType.LOCAL; case "todoist": return SourceType.TODOIST; case "google-tasks": return SourceType.GOOGLE_TASKS; case "caldav": return SourceType.CALDAV; default: return SourceType.NONE; } } } public enum PaneType { FILTER, FAVORITE, PROJECT, LABEL } public enum LoadingButtonType { LABEL, ICON } public enum ObjectType { PROJECT, SECTION, ITEM, LABEL, TASK, TASK_LIST, FILTER; public string get_header () { switch (this) { case PROJECT: return _("Projects"); case SECTION: return _("Sections"); case ITEM: return _("Tasks"); case LABEL: return _("Labels"); case FILTER: return _("Filters"); case TASK: return _("Tasks"); case TASK_LIST: return _("Lists"); default: assert_not_reached (); } } } public enum RecurrencyEndType { NEVER, ON_DATE, AFTER } public enum RecurrencyType { MINUTELY, HOURLY, EVERY_DAY, EVERY_WEEK, EVERY_MONTH, EVERY_YEAR, NONE; public string to_friendly_string (int? interval = null) { int count = (interval == null || interval == 0) ? 1 : interval; switch (this) { case NONE: return _("Don't Repeat"); case MINUTELY: return GLib.ngettext ("Every minute", "Every %d minutes", count).printf (count); case HOURLY: return GLib.ngettext ("Every hour", "Every %d hours", count).printf (count); case EVERY_DAY: return GLib.ngettext ("Every day", "Every %d days", count).printf (count); case EVERY_WEEK: return GLib.ngettext ("Every week", "Every %d weeks", count).printf (count); case EVERY_MONTH: return GLib.ngettext ("Every month", "Every %d months", count).printf (count); case EVERY_YEAR: return GLib.ngettext ("Every year", "Every %d years", count).printf (count); default: assert_not_reached (); } } } public enum PickerType { PROJECTS, SECTIONS; public string to_string () { switch (this) { case PROJECTS: return "projects"; case SECTIONS: return "sections"; default: assert_not_reached (); } } } public enum NewTaskPosition { START = 0, END = 1, } public enum CalDAVType { NEXTCLOUD = 0, GENERIC = 1; public string to_string () { switch (this) { case NEXTCLOUD: return "nextcloud"; case GENERIC: return "generic"; default: assert_not_reached (); } } public string title () { switch (this) { case NEXTCLOUD: return _("Nextcloud"); case GENERIC: return _("CalDAV"); // TODO: Maybe rename Generic to CalDAV? default: assert_not_reached (); } } public static CalDAVType parse_index (uint value) { switch (value) { case 0: return CalDAVType.NEXTCLOUD; case 1: return CalDAVType.GENERIC; default: return CalDAVType.NEXTCLOUD; } } public static CalDAVType parse (string value) { switch (value) { case "nextcloud": return CalDAVType.NEXTCLOUD; case "generic": return CalDAVType.GENERIC; default: return CalDAVType.NEXTCLOUD; } } } public enum FilterItemType { PRIORITY = 0, LABEL = 1, DUE_DATE = 2, SECTION = 3, ASSIGNMENT = 4; public string to_string () { switch (this) { case PRIORITY: return "priority"; case LABEL: return "label"; case DUE_DATE: return "due-date"; case SECTION: return "section"; case ASSIGNMENT: return "assignment"; default: assert_not_reached (); } } public string get_title () { switch (this) { case PRIORITY: return _("Priority"); case LABEL: return _("Label"); case DUE_DATE: return _("Due Date"); case SECTION: return _("Section"); case ASSIGNMENT: return _("Assignment"); default: assert_not_reached (); } } public string get_icon () { switch (this) { case PRIORITY: return "flag-outline-thick-symbolic"; case LABEL: return "tag-outline-symbolic"; case DUE_DATE: return "month-symbolic"; case SECTION: return "arrow3-right-symbolic"; case ASSIGNMENT: return "avatar-default-symbolic"; default: assert_not_reached (); } } } public enum ReminderType { ABSOLUTE, RELATIVE; public string to_string () { switch (this) { case ABSOLUTE: return "absolute"; case RELATIVE: return "relative"; default: assert_not_reached (); } } } public enum ItemType { TASK, NOTE; public string to_string () { switch (this) { case TASK: return "task"; case NOTE: return "note"; default: assert_not_reached (); } } public static ItemType parse (string value) { switch (value) { case "task": return ItemType.TASK; case "note": return ItemType.NOTE; default: assert_not_reached (); } } } public enum ObjectEventType { INSERT, UPDATE; public static ObjectEventType parse (string value) { switch (value) { case "insert": return ObjectEventType.INSERT; case "update": return ObjectEventType.UPDATE; default: assert_not_reached (); } } public string to_string () { switch (this) { case INSERT: return "insert"; case UPDATE: return "update"; default: assert_not_reached (); } } public string get_label () { switch (this) { case INSERT: return _("Task Created"); case UPDATE: return _("Task Updated"); default: assert_not_reached (); } } } public enum ObjectEventKeyType { CONTENT, DESCRIPTION, DUE, PRIORITY, LABELS, PINNED, CHECKED, PROJECT, SECTION; public static ObjectEventKeyType parse (string value) { switch (value) { case "content": return ObjectEventKeyType.CONTENT; case "description": return ObjectEventKeyType.DESCRIPTION; case "due": return ObjectEventKeyType.DUE; case "priority": return ObjectEventKeyType.PRIORITY; case "labels": return ObjectEventKeyType.LABELS; case "pinned": return ObjectEventKeyType.PINNED; case "checked": return ObjectEventKeyType.CHECKED; case "project": return ObjectEventKeyType.PROJECT; case "section": return ObjectEventKeyType.SECTION; default: assert_not_reached (); } } public string get_label () { switch (this) { case ObjectEventKeyType.CONTENT: return _("Content"); case ObjectEventKeyType.DESCRIPTION: return _("Description"); case ObjectEventKeyType.DUE: return _("Scheduled"); case ObjectEventKeyType.PRIORITY: return _("Priority"); case ObjectEventKeyType.LABELS: return _("Labels"); case ObjectEventKeyType.PINNED: return _("Pin"); default: assert_not_reached (); } } } public enum LabelPickerType { FILTER_AND_CREATE, FILTER_ONLY } public enum ItemPriority { HIGHT = 4, MEDIUM = 3, LOW = 2, NONE = 1; public static ItemPriority parse (string value) { switch (value) { case "p1": return ItemPriority.HIGHT; case "p2": return ItemPriority.MEDIUM; case "p3": return ItemPriority.LOW; case "p4": return ItemPriority.NONE; default: return ItemPriority.NONE; } } public string get_color () { switch (this) { case HIGHT: return "#ff7066"; case MEDIUM: return "#ff9914"; case LOW: return "#5297ff"; case NONE: return Services.Settings.get_default ().settings.get_boolean ("dark-mode") ? "#fafafa" : "#333333"; default: assert_not_reached (); } } } public enum SortOrderType { ASC, DESC; public string to_string () { switch (this) { case ASC: return "asc"; case DESC: return "desc"; default: return "asc"; } } public static SortOrderType parse (string value) { switch (value) { case "asc": return SortOrderType.ASC; case "desc": return SortOrderType.DESC; default: return SortOrderType.ASC; } } } public enum SortedByType { MANUAL, NAME, DUE_DATE, ADDED_DATE, PRIORITY; public string to_string () { switch (this) { case MANUAL: return "manual"; case NAME: return "name"; case DUE_DATE: return "due-date"; case ADDED_DATE: return "added-date"; case PRIORITY: return "priority"; default: return "manual"; } } public static SortedByType parse (string value) { switch (value) { case "manual": return SortedByType.MANUAL; case "name": return SortedByType.NAME; case "due-date": return SortedByType.DUE_DATE; case "added-date": return SortedByType.ADDED_DATE; case "priority": return SortedByType.PRIORITY; default: return SortedByType.MANUAL; } } } public enum Appearance { LIGHT, DARK, DARK_BLUE; public string to_string () { switch (this) { case LIGHT: return "light"; case DARK: return "dark"; case DARK_BLUE: return "dark-blue"; default: return "light"; } } public static Appearance parse (int value) { switch (value) { case 0: return Appearance.LIGHT; case 1: return Appearance.DARK; case 2: return Appearance.DARK_BLUE; default: return Appearance.LIGHT; } } public static Appearance get_default () { switch (Services.Settings.get_default ().settings.get_enum ("appearance")) { case 0: return Appearance.LIGHT; case 1: return Appearance.DARK; case 2: return Appearance.DARK_BLUE; default: return Appearance.LIGHT; } } } public enum SyncErrorType { AUTH_EXPIRED, SERVER_ERROR, NETWORK_ERROR } public class SyncStatus : Object { public SyncErrorType error_type { get; set; } public string title { get; set; } public string description { get; set; } public SyncStatus (SyncErrorType error_type, string title, string description) { Object ( error_type: error_type, title: title, description: description ); } public string tooltip { owned get { return "%s — %s".printf (title, description); } } } public enum MarkdownSetting { GLOBAL_DEFAULT, ENABLED, DISABLED; public string to_string () { switch (this) { case ENABLED: return "enabled"; case DISABLED: return "disabled"; default: return "global-default"; } } public static MarkdownSetting parse (string value) { switch (value) { case "enabled": return ENABLED; case "disabled": return DISABLED; default: return GLOBAL_DEFAULT; } } } alainm23-planify-69962f8/core/Layouts/000077500000000000000000000000001517337276100174635ustar00rootroot00000000000000alainm23-planify-69962f8/core/Layouts/HeaderItem.vala000066400000000000000000000213651517337276100223460ustar00rootroot00000000000000 /* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Layouts.HeaderItem : Adw.Bin { public string _header_title; public string header_title { get { return _header_title; } set { _header_title = value; header_label.label = _header_title; header_label.visible = value != null; } } public string _subheader_title; public string subheader_title { get { return _subheader_title; } set { _subheader_title = value; subheader_label.label = _subheader_title; subheader_revealer.reveal_child = value != ""; } } public string _placeholder_message; public string placeholder_message { get { return _placeholder_message; } set { _placeholder_message = value; placeholder_label.label = _placeholder_message; } } public bool reveal { get { return content_revealer.reveal_child; } set { content_revealer.reveal_child = value; } } public Gtk.ListBox items { get { return listbox; } } private Gtk.Label header_label; private Gtk.Label subheader_label; private Gtk.Revealer subheader_revealer; private Gtk.Label placeholder_label; public Gtk.ListBox listbox; private Gtk.Box action_box; private Gtk.Revealer content_revealer; private Gtk.Revealer separator_revealer; public Gtk.Grid drop_target_end; public Gtk.Revealer drop_target_end_revealer; public signal void add_activated (); public signal void row_activated (Gtk.Widget widget); private bool has_children { get { return Util.get_default ().get_children (listbox).length () > 0; } } public bool show_separator { set { separator_revealer.reveal_child = value; } } public bool reveal_child { set { content_revealer.reveal_child = value; } } public bool separator_space { set { if (value) { listbox.add_css_class ("listbox-separator-3"); } } } public bool separator_lines { set { if (value) { listbox.add_css_class ("separator-lines"); } } } public bool listbox_no_margin { set { if (value) { listbox.margin_top = 0; listbox.margin_bottom = 0; listbox.margin_start = 0; listbox.margin_end = 0; } } } public bool card { set { if (value) { listbox.css_classes = { "boxed-list" }; listbox.margin_top = 12; listbox.margin_bottom = 3; listbox.margin_start = 3; listbox.margin_end = 3; } else { listbox.css_classes = {}; listbox.margin_top = 0; listbox.margin_bottom = 0; listbox.margin_start = 0; listbox.margin_end = 0; } } } public int listbox_margin_top { set { listbox.margin_top = value; } } public HeaderItem (string ? header_title = null) { Object ( header_title: header_title ); } ~HeaderItem () { debug ("Destroying - Layouts.HeaderItem\n"); } construct { header_label = new Gtk.Label (null) { halign = Gtk.Align.START, ellipsize = Pango.EllipsizeMode.END }; header_label.add_css_class ("h4"); header_label.add_css_class ("heading"); subheader_label = new Gtk.Label (null) { halign = Gtk.Align.START, css_classes = { "caption", "dimmed" } }; subheader_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = subheader_label }; var header_label_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { valign = Gtk.Align.CENTER }; header_label_box.append (header_label); header_label_box.append (subheader_revealer); listbox = new Gtk.ListBox () { hexpand = true, margin_top = 6 }; listbox.set_placeholder (get_placeholder ()); listbox.add_css_class ("bg-transparent"); action_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { hexpand = true, halign = END }; var header_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { hexpand = true, margin_start = 6, margin_end = 6 }; header_box.append (header_label_box); header_box.append (action_box); var separator = new Gtk.Separator (Gtk.Orientation.HORIZONTAL) { margin_top = 6, margin_start = 3, margin_bottom = 3 }; separator_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = separator }; drop_target_end = new Gtk.Grid () { height_request = 27, css_classes = { "drop-target" }, margin_top = 3 }; drop_target_end_revealer = new Gtk.Revealer () { transition_type = SLIDE_UP, transition_duration = 150, child = drop_target_end }; var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { hexpand = true, margin_top = 3 }; content_box.append (header_box); content_box.append (separator_revealer); content_box.append (listbox); content_box.append (drop_target_end_revealer); content_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = content_box }; child = content_revealer; listbox.row_activated.connect ((row) => { row_activated (row); }); destroy.connect (() => { clean_up (); }); } private Gtk.Widget get_placeholder () { placeholder_label = new Gtk.Label (null) { wrap = true, justify = Gtk.Justification.CENTER }; placeholder_label.add_css_class ("dimmed"); placeholder_label.add_css_class ("caption"); var content_box = new Adw.Bin () { margin_top = 12, margin_bottom = 12, margin_start = 12, margin_end = 12, child = placeholder_label }; return content_box; } public void add_child (Gtk.Widget widget) { listbox.append (widget); } public void insert_child (Gtk.Widget widget, int position) { listbox.insert (widget, position); } public void clear () { foreach (unowned Gtk.Widget child in Util.get_default ().get_children (listbox)) { listbox.remove (child); } } public List get_children () { return Util.get_default ().get_children (listbox); } public void add_widget_end (Gtk.Widget widget) { action_box.append (widget); } public void remove_child (Gtk.Widget widget) { listbox.remove (widget); } public void check_visibility (int size) { content_revealer.reveal_child = size > 0; } public void set_sort_func (owned Gtk.ListBoxSortFunc ? sort_func) { listbox.set_sort_func ((owned) sort_func); } public void set_filter_func (owned Gtk.ListBoxFilterFunc ? filter_func) { listbox.set_filter_func ((owned) filter_func); } public void invalidate_filter () { listbox.invalidate_filter (); } public void clean_up () { listbox.set_filter_func (null); listbox.set_sort_func (null); clear (); } } alainm23-planify-69962f8/core/Objects/000077500000000000000000000000001517337276100174145ustar00rootroot00000000000000alainm23-planify-69962f8/core/Objects/Attachment.vala000066400000000000000000000045071517337276100223570ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Attachment : GLib.Object { public string id { get; set; default = ""; } public string item_id { get; set; default = ""; } public string file_type { get; set; default = ""; } public string file_name { get; set; default = ""; } public int64 file_size { get; set; default = 0; } public string file_path { get; set; default = ""; } public signal void deleted (); Objects.Item ? _item; public Objects.Item item { get { _item = Services.Store.instance ().get_item (item_id); return _item; } set { _item = value; } } public string to_string () { return """ _________________________________ ID: %s ITEM ID: %s FILE TYPE: %s FILE NAME: %s FILE SIZE: %s FILE PATH: %s --------------------------------- """.printf ( id, item_id, file_type, file_name, file_size.to_string (), file_path ); } public void delete () { Services.Store.instance ().delete_attachment (this); } public Objects.Attachment duplicate () { var new_attachment = new Objects.Attachment (); new_attachment.file_type = file_type; new_attachment.file_name = file_name; new_attachment.file_size = file_size; new_attachment.file_path = file_path; return new_attachment; } } alainm23-planify-69962f8/core/Objects/BaseObject.vala000066400000000000000000000206371517337276100222720ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.BaseObject : GLib.Object { public string id { get; set; default = ""; } public string name { get; set; default = ""; } public string keywords { get; set; default = ""; } public string icon_name { get; set; default = ""; } public string color { get; set; default = ""; } public signal void deleted (); public signal void updated (string update_id = ""); public signal void archived (); public signal void unarchived (); public uint update_timeout_id { get; set; default = 0; } public Gee.HashMap filters = new Gee.HashMap (); public signal void filter_added (Objects.Filters.FilterItem filters); public signal void filter_removed (Objects.Filters.FilterItem filters); public signal void filter_updated (Objects.Filters.FilterItem filters); public signal void handle_scroll_visibility_change (bool visible); string _id_string; public string id_string { get { _id_string = id.to_string (); return _id_string; } } bool _loading = false; public bool loading { set { _loading = value; loading_change (); } get { return _loading; } } bool _sensitive = true; public bool sensitive { set { _sensitive = value; sensitive_change (); } get { return _sensitive; } } public signal void loading_change (); public signal void sensitive_change (); public signal void count_updated (); public string view_id { get; set; default = ""; } public string type_delete { get { if (this is Objects.Item) { return "item_delete"; } else if (this is Objects.Project) { return "project_delete"; } else if (this is Objects.Section) { return "section_delete"; } else if (this is Objects.Label) { return "label_delete"; } else if (this is Objects.Reminder) { return "reminder_delete"; } else { return ""; } } } public string type_add { get { if (this is Objects.Item) { return "item_add"; } else if (this is Objects.Project) { return "project_add"; } else if (this is Objects.Section) { return "section_add"; } else if (this is Objects.Label) { return "label_add"; } else { return ""; } } } public string type_update { get { if (this is Objects.Item) { return "item_update"; } else if (this is Objects.Project) { return "project_update"; } else if (this is Objects.Section) { return "section_update"; } else if (this is Objects.Label) { return "label_update"; } else { return ""; } } } public ObjectType object_type { get { if (this is Objects.Project) { return ObjectType.PROJECT; } else if (this is Objects.Section) { return ObjectType.SECTION; } else if (this is Objects.Item) { return ObjectType.ITEM; } else if (this is Objects.Label) { return ObjectType.LABEL; } else { return ObjectType.FILTER; } } } public string object_type_string { get { if (this is Objects.Project) { return "project"; } else if (this is Objects.Section) { return "section"; } else if (this is Objects.Item) { return "item"; } else if (this is Objects.Label) { return "label"; } else { return "filter"; } } } public string table_name { get { if (this is Objects.Item) { return "Items"; } else if (this is Objects.Section) { return "Sections"; } else if (this is Objects.Project) { return "Projects"; } else if (this is Objects.Label) { return "Labels"; } else { return ""; } } } public string column_order_name { get { if (this is Objects.Item) { return "child_order"; } if (this is Objects.Section) { return "section_order"; } if (this is Objects.Project) { return "child_order"; } if (this is Objects.Label) { return "item_order"; } return ""; } } Objects.Source ? _source; public Objects.Source source { get { if (this is Objects.Project) { return ((Objects.Project) this).source; } if (this is Objects.Section) { return ((Objects.Section) this).project.source; } if (this is Objects.Item) { return ((Objects.Item) this).project.source; } if (this is Objects.Label) { return ((Objects.Label) this).source; } if (this is Objects.Reminder) { return ((Objects.Reminder) this).item.project.source; } return _source; } } public int ? _item_count = null; public int item_count { get { if (_item_count == null) { _item_count = update_count (); } return _item_count; } set { _item_count = value; } } public double ? _percentage = null; public double percentage { get { if (_percentage == null) { _percentage = update_percentage (); } return _percentage; } } public virtual string get_update_json (string uuid, string ? temp_id = null) { return ""; } public virtual string get_add_json (string temp_id, string uuid) { return ""; } public virtual string get_move_json (string uuid, string new_project_id) { return ""; } public virtual string to_json () { return ""; } public void add_filter (Objects.Filters.FilterItem filter) { if (!filters.has_key (filter.id)) { filters[filter.id] = filter; filter_added (filters[filter.id]); } } public void remove_filter (Objects.Filters.FilterItem filter) { if (filters.has_key (filter.id)) { filters.unset (filter.id); filter_removed (filter); } } public void update_filter (Objects.Filters.FilterItem filter) { if (filters.has_key (filter.id)) { filters[filter.id] = filter; filter_updated (filter); } } public Objects.Filters.FilterItem ? get_filter (string id) { if (filters.has_key (id)) { return filters.get (id); } return null; } public virtual int update_count () { return 0; } public virtual double update_percentage () { return 0.0; } public virtual void count_update () { } public virtual string theme_color () { return color; } } alainm23-planify-69962f8/core/Objects/Color.vala000066400000000000000000000024251517337276100213420ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Color : GLib.Object { public int id { get; construct; } public string name { get; construct; } public string name_code { get; construct; } public string hexadecimal { get; construct; } public Color (int id, string name, string name_code, string hexadecimal) { Object ( id: id, name: name, name_code: name_code, hexadecimal: hexadecimal ); } } alainm23-planify-69962f8/core/Objects/DueDate.vala000066400000000000000000000163161517337276100216030ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.DueDate : GLib.Object { public string date { get; set; default = ""; } public string time_zone { get; set; default = ""; } public string recurrency_weeks { get; set; default = ""; } public bool is_recurring { get; set; default = false; } public RecurrencyType recurrency_type { get; set; default = RecurrencyType.NONE; } public int recurrency_interval { get; set; default = 0; } public int recurrency_count { get; set; default = 0; } public string recurrency_end { get; set; default = ""; } public bool recurrence_supported { get; set; default = false; } GLib.DateTime ? _datetime = null; public GLib.DateTime? datetime { get { if (date == null) { return null; } if (_datetime == null) { _datetime = Utils.Datetime.get_todoist_datetime (date); } return _datetime; } set { date = Utils.Datetime.get_todoist_datetime_format (value); } } GLib.DateTime _end_datetime; public GLib.DateTime end_datetime { get { _end_datetime = Utils.Datetime.get_date_from_string (recurrency_end); return _end_datetime; } } public bool has_weeks { get { return recurrency_weeks != ""; } } public RecurrencyEndType end_type { get { if (recurrency_end != "") { return RecurrencyEndType.ON_DATE; } if (recurrency_count > 0) { return RecurrencyEndType.AFTER; } return RecurrencyEndType.NEVER; } } public bool is_recurrency_end { get { if (end_type == RecurrencyEndType.ON_DATE) { var next_recurrency = Utils.Datetime.next_recurrency (datetime, this); return next_recurrency.compare (end_datetime) > -1; } else if (end_type == RecurrencyEndType.AFTER) { return recurrency_count - 1 <= 0; } return false; } } public DueDate.from_json (Json.Object object) { update_from_json (object); } construct { notify["date"].connect (() => { _datetime = null; }); } public void update_from_todoist_json (Json.Object object) { if (object.has_member ("date")) { date = object.get_string_member ("date"); } if (object.has_member ("timezone")) { time_zone = object.get_string_member ("timezone"); } if (object.has_member ("is_recurring")) { is_recurring = object.get_boolean_member ("is_recurring"); Utils.Datetime.parse_todoist_recurrency (this, object); } } public void update_from_json (Json.Object object) { if (object.has_member ("date")) { date = object.get_string_member ("date"); } if (object.has_member ("timezone")) { time_zone = object.get_string_member ("timezone"); } if (object.has_member ("is_recurring")) { is_recurring = object.get_boolean_member ("is_recurring"); } if (object.has_member ("recurrency_type")) { recurrency_type = (RecurrencyType) int.parse (object.get_string_member ("recurrency_type")); } if (object.has_member ("recurrency_interval")) { recurrency_interval = int.parse (object.get_string_member ("recurrency_interval")); } if (object.has_member ("recurrency_weeks")) { recurrency_weeks = object.get_string_member ("recurrency_weeks"); } if (object.has_member ("recurrency_count")) { recurrency_count = int.parse (object.get_string_member ("recurrency_count")); } if (object.has_member ("recurrency_end")) { recurrency_end = object.get_string_member ("recurrency_end"); } } public void reset () { date = ""; time_zone = ""; recurrency_type = RecurrencyType.NONE; recurrency_interval = 0; is_recurring = false; } public string to_string () { var builder = new Json.Builder (); builder.begin_object (); builder.set_member_name ("date"); builder.add_string_value (date); builder.set_member_name ("timezone"); builder.add_string_value (time_zone); builder.set_member_name ("is_recurring"); builder.add_boolean_value (is_recurring); builder.set_member_name ("recurrency_type"); builder.add_string_value (((int) recurrency_type).to_string ()); builder.set_member_name ("recurrency_interval"); builder.add_string_value (recurrency_interval.to_string ()); builder.set_member_name ("recurrency_weeks"); builder.add_string_value (recurrency_weeks); builder.set_member_name ("recurrency_count"); builder.add_string_value (recurrency_count.to_string ()); builder.set_member_name ("recurrency_end"); builder.add_string_value (recurrency_end); builder.end_object (); Json.Generator generator = new Json.Generator (); Json.Node root = builder.get_root (); generator.set_root (root); return generator.to_data (null); } public bool is_recurrency_equal (Objects.DueDate duedate) { return ((int) recurrency_type == (int) duedate.recurrency_type && recurrency_interval == duedate.recurrency_interval && recurrency_weeks == duedate.recurrency_weeks && recurrency_count == duedate.recurrency_count && recurrency_end == duedate.recurrency_end && is_recurring == duedate.is_recurring); } public string to_friendly_string () { return recurrency_type.to_friendly_string (recurrency_interval); } public Objects.DueDate duplicate () { var new_due = new Objects.DueDate (); new_due.date = date; new_due.time_zone = time_zone; new_due.recurrency_weeks = recurrency_weeks; new_due.is_recurring = is_recurring; new_due.recurrency_type = recurrency_type; new_due.recurrency_interval = recurrency_interval; new_due.recurrency_count = recurrency_count; new_due.recurrency_end = recurrency_end; new_due.recurrence_supported = recurrence_supported; return new_due; } } alainm23-planify-69962f8/core/Objects/Filters/000077500000000000000000000000001517337276100210245ustar00rootroot00000000000000alainm23-planify-69962f8/core/Objects/Filters/AllItems.vala000066400000000000000000000055451517337276100234140ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Filters.AllItems : Objects.BaseObject { private static AllItems ? _instance; public static AllItems get_default () { if (_instance == null) { _instance = new AllItems (); } return _instance; } construct { name = _("All Tasks"); keywords = "%s;%s".printf (_("all tasks"), _("all")); icon_name = "check-round-outline-symbolic"; view_id = "all-items-view"; color = Services.Settings.get_default ().settings.get_boolean ("dark-mode") ? "#99c1f1" : "#3584e4"; Services.Store.instance ().item_added.connect ((item, updated) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_deleted.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_archived.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_unarchived.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_updated.connect ((item, update_id) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().project_updated.connect ((project) => { if (!project.freeze_update) { count_update (); } }); } public override int update_count () { return Services.Store.instance ().get_items_no_parent (false).size; } public override void count_update () { _item_count = update_count (); count_updated (); } public override string theme_color () { return Services.Settings.get_default ().get_boolean ("dark-mode") ? "#99c1f1" : "#3584e4"; } } alainm23-planify-69962f8/core/Objects/Filters/Anytime.vala000066400000000000000000000055521517337276100233060ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Filters.Anytime : Objects.BaseObject { private static Anytime ? _instance; public static Anytime get_default () { if (_instance == null) { _instance = new Anytime (); } return _instance; } construct { name = _("Anytime"); keywords = "%s;%s;%s".printf (_("anytime"), _("filters"), _("no date")); icon_name = "grid-large-symbolic"; view_id = "anytime-view"; color = Services.Settings.get_default ().settings.get_boolean ("dark-mode") ? "#dc8add" : "#9141ac"; Services.Store.instance ().item_added.connect ((item, updated) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_deleted.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_archived.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_unarchived.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_updated.connect ((item, update_id) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().project_updated.connect ((project) => { if (!project.freeze_update) { count_update (); } }); } public override int update_count () { return Services.Store.instance ().get_items_no_date (false).size; } public override void count_update () { _item_count = update_count (); count_updated (); } public override string theme_color () { return Services.Settings.get_default ().settings.get_boolean ("dark-mode") ? "#dc8add" : "#9141ac"; } } alainm23-planify-69962f8/core/Objects/Filters/Completed.vala000066400000000000000000000055501517337276100236120ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Filters.Completed : Objects.BaseObject { private static Completed ? _instance; public static Completed get_default () { if (_instance == null) { _instance = new Completed (); } return _instance; } construct { name = _("Completed"); keywords = "%s;%s;%s".printf (_("completed"), _("filters"), _("logbook")); icon_name = "check-round-outline-symbolic"; view_id = "completed"; color = Services.Settings.get_default ().settings.get_boolean ("dark-mode") ? "#ffbe6f" : "#ff7800"; Services.Store.instance ().item_added.connect ((item, updated) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_deleted.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_archived.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_unarchived.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_updated.connect ((item, update_id) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().project_updated.connect ((project) => { if (!project.freeze_update) { count_update (); } }); } public override int update_count () { return Services.Store.instance ().get_items_completed ().size; } public override void count_update () { _item_count = update_count (); count_updated (); } public override string theme_color () { return Services.Settings.get_default ().settings.get_boolean ("dark-mode") ? "#ffbe6f" : "#ff7800"; } } alainm23-planify-69962f8/core/Objects/Filters/FilterItem.vala000066400000000000000000000025131517337276100237360ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Filters.FilterItem : GLib.Object { public FilterItemType filter_type { get; set; } public string name { get; set; } public string value { get; set; } private string _id; public string id { get { _id = filter_type.to_string () + "-" + value; if (filter_type == FilterItemType.DUE_DATE || filter_type == FilterItemType.SECTION) { _id = filter_type.to_string (); } return _id; } } } alainm23-planify-69962f8/core/Objects/Filters/Inbox.vala000066400000000000000000000030341517337276100227500ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Filters.Inbox : Objects.BaseObject { private Objects.Project inbox_project; private static Inbox ? _instance; public static Inbox get_default () { if (_instance == null) { _instance = new Inbox (); } return _instance; } construct { name = _("Inbox"); keywords = _("inbox") + ";" + _("filters"); icon_name = "mailbox-symbolic"; view_id = "inbox"; color = Services.Settings.get_default ().get_boolean ("dark-mode") ? "#99c1f1" : "#3584e4"; } public override string theme_color () { return Services.Settings.get_default ().get_boolean ("dark-mode") ? "#99c1f1" : "#3584e4"; } } alainm23-planify-69962f8/core/Objects/Filters/Labels.vala000066400000000000000000000051421517337276100230750ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Filters.Labels : Objects.BaseObject { private static Labels ? _instance; public static Labels get_default () { if (_instance == null) { _instance = new Labels (); } return _instance; } construct { name = _("Labels"); keywords = "%s;%s".printf (_("labels"), _("filters")); icon_name = "tag-outline-symbolic"; view_id = "labels"; color = Services.Settings.get_default ().settings.get_boolean ("dark-mode") ? "#cdab8f" : "#986a44"; Services.Store.instance ().label_added.connect (() => { count_update (); }); Services.Store.instance ().label_deleted.connect (() => { count_update (); }); Services.Store.instance ().label_updated.connect (() => { count_update (); }); Services.Store.instance ().item_added.connect (() => { count_update (); }); Services.Store.instance ().item_deleted.connect (() => { count_update (); }); Services.Store.instance ().item_archived.connect (() => { count_update (); }); Services.Store.instance ().item_unarchived.connect ((item) => { count_update (); }); Services.Store.instance ().item_updated.connect (() => { count_update (); }); } public override int update_count () { return Services.Store.instance ().get_items_has_labels ().size; } public override void count_update () { _item_count = update_count (); count_updated (); } public override string theme_color () { return Services.Settings.get_default ().settings.get_boolean ("dark-mode") ? "#cdab8f" : "#986a44"; } } alainm23-planify-69962f8/core/Objects/Filters/Pinboard.vala000066400000000000000000000054731517337276100234400ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Filters.Pinboard : Objects.BaseObject { private static Pinboard ? _instance; public static Pinboard get_default () { if (_instance == null) { _instance = new Pinboard (); } return _instance; } construct { name = ("Pinboard"); keywords = _("Pinboard") + ";" + _("filters"); icon_name = "pin-symbolic"; view_id = "pinboard"; color = Services.Settings.get_default ().settings.get_boolean ("dark-mode") ? "#f66151" : "#ed333b"; Services.Store.instance ().item_added.connect ((item, updated) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_deleted.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_archived.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_unarchived.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_updated.connect ((item, update_id) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().project_updated.connect ((project) => { if (!project.freeze_update) { count_update (); } }); } public override int update_count () { return Services.Store.instance ().get_items_pinned (false).size; } public override void count_update () { _item_count = update_count (); count_updated (); } public override string theme_color () { return Services.Settings.get_default ().settings.get_boolean ("dark-mode") ? "#f66151" : "#ed333b"; } } alainm23-planify-69962f8/core/Objects/Filters/Priority.vala000066400000000000000000000130171517337276100235140ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Filters.Priority : Objects.BaseObject { public int priority { get; construct; } public const int HIGH = 4; public const int MEDIUM = 3; public const int LOW = 2; public const int NONE = 1; private static Gee.HashMap _instances; private static Priority ? _high_instance; private static Priority ? _medium_instance; private static Priority ? _low_instance; private static Priority ? _none_instance; public static Priority high () { if (_high_instance == null) { _high_instance = new Priority (HIGH); } return _high_instance; } public static Priority medium () { if (_medium_instance == null) { _medium_instance = new Priority (MEDIUM); } return _medium_instance; } public static Priority low () { if (_low_instance == null) { _low_instance = new Priority (LOW); } return _low_instance; } public static Priority none () { if (_none_instance == null) { _none_instance = new Priority (NONE); } return _none_instance; } public static Priority get_default (int priority) { if (_instances == null) { _instances = new Gee.HashMap (); } if (priority < 1 || priority > 4) { warning ("Prioridad inválida: %d. Debe estar entre 1 y 4", priority); priority = NONE; } if (!_instances.has_key (priority)) { _instances[priority] = new Priority (priority); } return _instances[priority]; } public Priority (int priority) { Object ( priority : priority ); } int ? _count = null; public int count { get { if (_count == null) { _count = Services.Store.instance ().get_items_by_priority (priority, false).size; } return _count; } set { _count = value; } } public string icon { get { return "flag-outline-thick-symbolic"; } } public string color { get { if (priority == HIGH) { return "#ff7066"; } else if (priority == MEDIUM) { return "#ff9914"; } else if (priority == LOW) { return "#5297ff"; } else { return Services.Settings.get_default ().settings.get_boolean ("dark-mode") ? "#fafafa" : "#333333"; } } } public string title { get { if (priority == HIGH) { return _("Priority 1: high"); } else if (priority == MEDIUM) { return _("Priority 2: medium"); } else if (priority == LOW) { return _("Priority 3: low"); } else { return _("Priority 4: none"); } } } construct { keywords = get_keywords () + ";" + _("filters"); view_id = "priority-%d".printf (priority); Services.Store.instance ().item_added.connect ((item, updated) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_deleted.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_archived.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_unarchived.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_updated.connect ((item, update_id) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().project_updated.connect ((project) => { if (!project.freeze_update) { count_update (); } }); } private string get_keywords () { if (priority == HIGH) { return "%s;%s".printf ("p1", _("high")); } else if (priority == MEDIUM) { return "%s;%s".printf ("p2", _("medium")); } else if (priority == LOW) { return "%s;%s".printf ("p3", _("low")); } else { return "%s;%s".printf ("p4", _("none")); } } public override void count_update () { _count = Services.Store.instance ().get_items_by_priority (priority, false).size; count_updated (); } } alainm23-planify-69962f8/core/Objects/Filters/Repeating.vala000066400000000000000000000055671517337276100236240ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Filters.Repeating : Objects.BaseObject { private static Repeating ? _instance; public static Repeating get_default () { if (_instance == null) { _instance = new Repeating (); } return _instance; } construct { name = _("Repeating"); keywords = "%s;%s".printf (_("repeating"), _("filters")); icon_name = "arrow-circular-top-right-symbolic"; view_id = "repeating-view"; color = Services.Settings.get_default ().settings.get_boolean ("dark-mode") ? "#dc8add" : "#9141ac"; Services.Store.instance ().item_added.connect ((item, updated) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_deleted.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_archived.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_unarchived.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_updated.connect ((item, update_id) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().project_updated.connect ((project) => { if (!project.freeze_update) { count_update (); } }); } public override int update_count () { return Services.Store.instance ().get_items_repeating (false).size; } public override void count_update () { _item_count = update_count (); count_updated (); } public override string theme_color () { return Services.Settings.get_default ().settings.get_boolean ("dark-mode") ? "#dc8add" : "#9141ac"; } } alainm23-planify-69962f8/core/Objects/Filters/Scheduled.vala000066400000000000000000000063101517337276100235710ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Filters.Scheduled : Objects.BaseObject { private static Scheduled ? _instance; public static Scheduled get_default () { if (_instance == null) { _instance = new Scheduled (); } return _instance; } int ? _scheduled_count = null; public int scheduled_count { get { if (_scheduled_count == null) { _scheduled_count = Services.Store.instance ().get_items_by_scheduled (false).size; } return _scheduled_count; } set { _scheduled_count = value; } } construct { name = _("Scheduled"); keywords = "%s;%s;%s".printf (_("scheduled"), _("upcoming"), _("filters")); icon_name = "month-symbolic"; view_id = "scheduled"; color = Services.Settings.get_default ().settings.get_boolean ("dark-mode") ? "#dc8add" : "#9141ac"; Services.Store.instance ().item_added.connect ((item, updated) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_deleted.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_archived.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_unarchived.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_updated.connect ((item, update_id) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().project_updated.connect ((project) => { if (!project.freeze_update) { count_update (); } }); } public override int update_count () { return Services.Store.instance ().get_items_by_scheduled (false).size; } public override void count_update () { _item_count = update_count (); count_updated (); } public override string theme_color () { return Services.Settings.get_default ().settings.get_boolean ("dark-mode") ? "#dc8add" : "#9141ac"; } } alainm23-planify-69962f8/core/Objects/Filters/Today.vala000066400000000000000000000060701517337276100227540ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Filters.Today : Objects.BaseObject { private static Today ? _instance; public static Today get_default () { if (_instance == null) { _instance = new Today (); } return _instance; } int ? _overdeue_count = null; public int overdeue_count { get { if (_overdeue_count == null) { _overdeue_count = Services.Store.instance ().get_items_by_overdue_view (false).size; } return _overdeue_count; } set { _overdeue_count = value; } } construct { name = _("Today"); keywords = _("today") + ";" + _("filters"); icon_name = "star-outline-thick-symbolic"; view_id = "today"; color = "#33d17a"; Services.Store.instance ().item_added.connect ((item, updated) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_deleted.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_archived.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_unarchived.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_updated.connect ((item, update_id) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().project_updated.connect ((project) => { if (!project.freeze_update) { count_update (); } }); } public override int update_count () { return Services.Store.instance ().get_items_by_date ( new GLib.DateTime.now_local (), false ).size; } public override void count_update () { _item_count = update_count (); _overdeue_count = Services.Store.instance ().get_items_by_overdue_view (false).size; count_updated (); } } alainm23-planify-69962f8/core/Objects/Filters/Tomorrow.vala000066400000000000000000000056651517337276100235350ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Filters.Tomorrow : Objects.BaseObject { private static Tomorrow ? _instance; public static Tomorrow get_default () { if (_instance == null) { _instance = new Tomorrow (); } return _instance; } construct { name = _("Tomorrow"); keywords = "%s;%s;%s".printf (_("tomorrow"), _("filters"), _("date")); icon_name = "today-calendar-symbolic"; view_id = "tomorrow-view"; color = Services.Settings.get_default ().settings.get_boolean ("dark-mode") ? "#dc8add" : "#9141ac"; Services.Store.instance ().item_added.connect ((item, updated) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_deleted.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_archived.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_unarchived.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_updated.connect ((item, update_id) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().project_updated.connect ((project) => { if (!project.freeze_update) { count_update (); } }); } public override int update_count () { return Services.Store.instance ().get_items_by_date ( new GLib.DateTime.now_local ().add_days (1), false ).size; } public override void count_update () { _item_count = update_count (); count_updated (); } public override string theme_color () { return Services.Settings.get_default ().settings.get_boolean ("dark-mode") ? "#dc8add" : "#9141ac"; } } alainm23-planify-69962f8/core/Objects/Filters/Unlabeled.vala000066400000000000000000000056031517337276100235700ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Filters.Unlabeled : Objects.BaseObject { private static Unlabeled ? _instance; public static Unlabeled get_default () { if (_instance == null) { _instance = new Unlabeled (); } return _instance; } construct { name = _("Unlabeled"); keywords = "%s;%s;%s".printf (_("no label"), _("unlabeled"), _("filters")); icon_name = "tag-outline-remove-symbolic"; view_id = "unlabeled-view"; color = Services.Settings.get_default ().settings.get_boolean ("dark-mode") ? "#cdab8f" : "#986a44"; Services.Store.instance ().item_added.connect ((item, updated) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_deleted.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_archived.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_unarchived.connect ((item) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().item_updated.connect ((item, update_id) => { if (!item.project.freeze_update) { count_update (); } }); Services.Store.instance ().project_updated.connect ((project) => { if (!project.freeze_update) { count_update (); } }); } public override int update_count () { return Services.Store.instance ().get_items_unlabeled (false).size; } public override void count_update () { _item_count = update_count (); count_updated (); } public override string theme_color () { return Services.Settings.get_default ().settings.get_boolean ("dark-mode") ? "#cdab8f" : "#986a44"; } } alainm23-planify-69962f8/core/Objects/Item.vala000066400000000000000000002073561517337276100211740ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Item : Objects.BaseObject { public string content { get; set; default = ""; } public string description { get; set; default = ""; } public string added_at { get; set; default = new GLib.DateTime.now_local ().to_string (); } public string completed_at { get; set; default = ""; } public string updated_at { get; set; default = ""; } public string calendar_event_uid { get; set; default = ""; } public string deadline_date { get; set; default = ""; } string _section_id = ""; public string section_id { get { return _section_id; } set { _section_id = value; _section = null; } } string _project_id = ""; public string project_id { get { return _project_id; } set { _project_id = value; _project = null; } } string _parent_id = ""; public string parent_id { get { return _parent_id; } set { _parent_id = value; _parent = null; } } public string extra_data { get; set; default = ""; } public ItemType item_type { get; set; default = ItemType.TASK; } public string responsible_uid { get; set; default = ""; } public Objects.DueDate due { get; set; default = new Objects.DueDate (); } public Gee.ArrayList labels { get; set; default = new Gee.ArrayList (); } public Gee.ArrayList get_labels_list () { Gee.ArrayList return_value = new Gee.ArrayList (); foreach (Objects.Label label in labels) { return_value.add (label); } return return_value; } public int priority { get; set; default = Constants.PRIORITY_4; } public bool activate_name_editable { get; set; default = false; } string _short_content; public string short_content { get { _short_content = Util.get_default ().get_short_name (content); return _short_content; } } public string priority_icon { get { if (priority == Constants.PRIORITY_1) { return "planner-priority-1"; } else if (priority == Constants.PRIORITY_2) { return "planner-priority-2"; } else if (priority == Constants.PRIORITY_3) { return "planner-priority-3"; } else { return "planner-flag"; } } } public string priority_color { get { if (priority == Constants.PRIORITY_1) { return "#ff7066"; } else if (priority == Constants.PRIORITY_2) { return "#ff9914"; } else if (priority == Constants.PRIORITY_3) { return "#5297ff"; } else { return "@text_color"; } } } public string priority_text { get { if (priority == Constants.PRIORITY_1) { return _("Priority 1: high"); } else if (priority == Constants.PRIORITY_2) { return _("Priority 2: medium"); } else if (priority == Constants.PRIORITY_3) { return _("Priority 3: low"); } else { return _("Priority 4: none"); } } } public int child_order { get; set; default = 0; } public int day_order { get; set; default = 0; } public bool checked { get; set; default = false; } public bool is_deleted { get; set; default = false; } private bool _collapsed = false; public bool collapsed { get { return _collapsed; } set { _collapsed = value; collapsed_change (); } } public bool pinned { get; set; default = false; } public string pinned_icon { get { return pinned ? "planner-pin-tack" : "planner-pinned"; } } public bool completed { get { return checked; } } public bool has_due { get { return due != null && due.datetime != null; } } public bool has_time { get { if (due.datetime == null) { return false; } return Utils.Datetime.has_time (due.datetime); } } GLib.DateTime _completed_date; public GLib.DateTime completed_date { get { _completed_date = Utils.Datetime.get_date_from_string (completed_at); return _completed_date; } } public bool has_parent { get { return _parent_id != null && _parent_id != ""; } } public bool has_section { get { return _section_id != null && _section_id != ""; } } bool _show_item = true; public bool show_item { set { _show_item = value; show_item_changed (); } get { return _show_item; } } string _ical_url = ""; public string ical_url { get { var json_object = Services.Todoist.get_default ().get_object_by_string (extra_data); if (json_object.has_member ("ics")) { _ical_url = "%s/%s".printf (project.calendar_url, json_object.get_string_member ("ics")); // TODO: Should the stored data be migrated? }else { _ical_url = Services.Todoist.get_default ().get_string_member_by_object (extra_data, "ical_url"); } return _ical_url; } } string _calendar_data = ""; public string calendar_data { get { _calendar_data = Services.Todoist.get_default ().get_string_member_by_object (extra_data, "calendar-data"); return _calendar_data; } } string _etag = ""; public string etag { get { _etag = Services.Todoist.get_default ().get_string_member_by_object (extra_data, "etag"); return _etag; } } GLib.DateTime _added_datetime; public GLib.DateTime added_datetime { get { _added_datetime = new GLib.DateTime.from_iso8601 (added_at, new GLib.TimeZone.local ()); return _added_datetime; } } GLib.DateTime _updated_datetime; public GLib.DateTime updated_datetime { get { _updated_datetime = new GLib.DateTime.from_iso8601 (updated_at, new GLib.TimeZone.local ()); return _updated_datetime; } } GLib.DateTime _deadline_datetime; public GLib.DateTime deadline_datetime { get { if (!has_deadline) { return null; } _deadline_datetime = new GLib.DateTime.from_iso8601 (deadline_date, new GLib.TimeZone.local ()); return _deadline_datetime; } } public bool has_deadline { get { return deadline_date != ""; } } Json.Builder _builder; public Json.Builder builder { get { if (_builder == null) { _builder = new Json.Builder (); } return _builder; } } Objects.Item ? _parent; public Objects.Item parent { get { if (_parent == null && _parent_id != null && _parent_id != "") { _parent = Services.Store.instance ().get_item (_parent_id); } return _parent; } } Objects.Project ? _project; public Objects.Project project { get { if (_project == null && _project_id != null && _project_id != "") { _project = Services.Store.instance ().get_project (_project_id); } return _project; } } Objects.Section ? _section; public Objects.Section section { get { if (_section == null && _section_id != null && _section_id != "") { _section = Services.Store.instance ().get_section (_section_id); } return _section; } } Gee.ArrayList _items; public Gee.ArrayList items { get { _items = Services.Store.instance ().get_subitems (this); _items.sort ((a, b) => { if (a.child_order > b.child_order) { return 1; } if (a.child_order == b.child_order) { return 0; } return -1; }); return _items; } } Gee.ArrayList _items_uncomplete; public Gee.ArrayList items_uncomplete { get { _items_uncomplete = Services.Store.instance ().get_subitems_uncomplete (this); return _items_uncomplete; } } Gee.ArrayList _reminders; public Gee.ArrayList reminders { get { _reminders = Services.Store.instance ().get_reminders_by_item (this); return _reminders; } } Gee.ArrayList _attachments; public Gee.ArrayList attachments { get { _attachments = Services.Store.instance ().get_attachments_by_item (this); return _attachments; } } public signal void item_label_added (Objects.Label label); public signal void item_label_deleted (Objects.Label label); public signal void item_added (Objects.Item item); public signal void reminder_added (Objects.Reminder reminder); public signal void reminder_deleted (Objects.Reminder reminder); public signal void show_item_changed (); public signal void collapsed_change (); public signal void attachment_added (Objects.Attachment attachment); public signal void attachment_deleted (Objects.Attachment attachment); public signal void pin_updated (); public Item.from_json (Json.Node node) { id = node.get_object ().get_string_member ("id"); project_id = node.get_object ().get_string_member ("project_id"); content = node.get_object ().get_string_member ("content"); description = node.get_object ().get_string_member ("description"); checked = node.get_object ().get_boolean_member ("checked"); priority = (int32) node.get_object ().get_int_member ("priority"); is_deleted = node.get_object ().get_boolean_member ("is_deleted"); added_at = node.get_object ().get_string_member ("added_at"); labels = get_labels_from_json (node); child_order = (int32) node.get_object ().get_int_member ("child_order"); if (!node.get_object ().get_null_member ("section_id")) { section_id = node.get_object ().get_string_member ("section_id"); } else { section_id = ""; } if (!node.get_object ().get_null_member ("parent_id")) { parent_id = node.get_object ().get_string_member ("parent_id"); } else { parent_id = ""; } if (!node.get_object ().get_null_member ("completed_at")) { completed_at = node.get_object ().get_string_member ("completed_at"); } else { completed_at = ""; } if (!node.get_object ().get_null_member ("due")) { due.update_from_todoist_json (node.get_object ().get_object_member ("due")); } else { due.reset (); } if (!node.get_object ().get_null_member ("responsible_uid")) { responsible_uid = node.get_object ().get_string_member ("responsible_uid"); } else { responsible_uid = ""; } } public void update_from_json (Json.Node node) { project_id = node.get_object ().get_string_member ("project_id"); content = node.get_object ().get_string_member ("content"); description = node.get_object ().get_string_member ("description"); checked = node.get_object ().get_boolean_member ("checked"); priority = (int32) node.get_object ().get_int_member ("priority"); is_deleted = node.get_object ().get_boolean_member ("is_deleted"); added_at = node.get_object ().get_string_member ("added_at"); check_labels (get_labels_maps_from_json (node)); child_order = (int32) node.get_object ().get_int_member ("child_order"); if (!node.get_object ().get_null_member ("section_id")) { section_id = node.get_object ().get_string_member ("section_id"); } else { section_id = ""; } if (!node.get_object ().get_null_member ("parent_id")) { parent_id = node.get_object ().get_string_member ("parent_id"); } else { parent_id = ""; } if (!node.get_object ().get_null_member ("completed_at")) { completed_at = node.get_object ().get_string_member ("completed_at"); } else { completed_at = ""; } if (!node.get_object ().get_null_member ("due")) { due.update_from_json (node.get_object ().get_object_member ("due")); } else { due.reset (); } if (!node.get_object ().get_null_member ("responsible_uid")) { responsible_uid = node.get_object ().get_string_member ("responsible_uid"); } else { responsible_uid = ""; } } public Item.from_import_json (Json.Node node, Gee.ArrayList _labels = new Gee.ArrayList ()) { id = node.get_object ().get_string_member ("id"); content = node.get_object ().get_string_member ("content"); description = node.get_object ().get_string_member ("description"); added_at = node.get_object ().get_string_member ("added_at"); completed_at = node.get_object ().get_string_member ("completed_at"); updated_at = node.get_object ().get_string_member ("updated_at"); section_id = node.get_object ().get_string_member ("section_id"); project_id = node.get_object ().get_string_member ("project_id"); parent_id = node.get_object ().get_string_member ("parent_id"); priority = (int32) node.get_object ().get_int_member ("priority"); child_order = (int32) node.get_object ().get_int_member ("child_order"); checked = node.get_object ().get_boolean_member ("checked"); is_deleted = node.get_object ().get_boolean_member ("is_deleted"); day_order = (int32) node.get_object ().get_int_member ("day_order"); due.update_from_json (Services.Database.get_default ().get_due_parameter (node.get_object ().get_string_member ("due"))); collapsed = node.get_object ().get_boolean_member ("collapsed"); pinned = node.get_object ().get_boolean_member ("pinned"); if (_labels.size <= 0) { labels = get_labels_from_json (node); } else { labels = get_labels_from_labels_json (node, _labels); } } public Item.from_vtodo (string data, string _ical_url, string _project_id) { project_id = _project_id; patch_from_vtodo (data, _ical_url); } public void update_from_vtodo (string data, string _ical_url) { patch_from_vtodo (data, _ical_url, true); } public void patch_from_vtodo (string data, string _ical_url, bool is_update = false) { ICal.Component ical = ICal.Parser.parse_string (data); ICal.Component ? ical_vtodo = ical.get_first_component (ICal.ComponentKind.VTODO_COMPONENT); id = ical.get_uid (); content = ical.get_summary (); if (ical.get_description () != null) { description = ical.get_description (); } ICal.Property ? priority_property = ical_vtodo.get_first_property (ICal.PropertyKind.PRIORITY_PROPERTY); if (priority_property != null) { int _priority = priority_property.get_priority (); if (_priority <= 0) { priority = Constants.PRIORITY_4; } else if (_priority >= 1 && _priority <= 4) { priority = Constants.PRIORITY_1; } else if (_priority == 5) { priority = Constants.PRIORITY_2; } else if (_priority > 5 && _priority <= 9) { priority = Constants.PRIORITY_3; } else { priority = Constants.PRIORITY_4; } } if (!ical.get_due ().is_null_time ()) { due.date = Utils.Datetime.ical_to_date_time_local (ical.get_due ()).to_string (); } else if (is_update) { due.reset (); } ICal.Property ? rrule_property = ical_vtodo.get_first_property (ICal.PropertyKind.RRULE_PROPERTY); if (rrule_property != null) { Utils.Datetime.recurrence_to_due (rrule_property.get_rrule (), due); } ICal.Property ? related_to_property = ical_vtodo.get_first_property (ICal.PropertyKind.RELATEDTO_PROPERTY); if (related_to_property != null) { parent_id = related_to_property.get_relatedto (); if (parent_id == id) { warning ("Item/Task %s has a direct self-reference", id); parent_id = ""; } } else { parent_id = ""; } ICal.Property ? percent_property = ical_vtodo.get_first_property (ICal.PropertyKind.PERCENTCOMPLETE_PROPERTY); bool is_percent_complete = percent_property != null && percent_property.get_percentcomplete () == 100; if (ical.get_status () == ICal.PropertyStatus.COMPLETED || is_percent_complete) { checked = true; ICal.Property ? completed_property = ical_vtodo.get_first_property (ICal.PropertyKind.COMPLETED_PROPERTY); if (completed_property != null) { completed_at = Utils.Datetime.get_date_only ( Utils.Datetime.ical_to_date_time_local (completed_property.get_completed ()) ).to_string (); } else { completed_at = Utils.Datetime.get_date_only (new GLib.DateTime.now_local ()).to_string (); } } else { checked = false; completed_at = ""; } ICal.Property ? sort_order_property = ical_vtodo.get_first_property (ICal.PropertyKind.from_string ("X-APPLE-SORT-ORDER")); if (sort_order_property != null) { var sort_order_str = sort_order_property.get_value_as_string (); if (sort_order_str != null) { child_order = int.parse (sort_order_str); } } else { // Items without an X-APPLE-SORT-ORDER must use the time in seconds // since 2001-01-01-00:00:00 (978307200L) as their sort order ICal.Property ? created_property = ical_vtodo.get_first_property (ICal.PropertyKind.CREATED_PROPERTY); if (created_property != null) { var create_time = (long) created_property.get_created ().as_timet (); child_order = (int)(create_time - 978307200L); } else { // TODO should probably emit a warning that manual sorting will not work? } } ICal.Property ? pinned_property = ical_vtodo.get_first_property (ICal.PropertyKind.from_string ("X-PINNED")); if (pinned_property != null) { var pinned_str = pinned_property.get_value_as_string (); if (pinned_str != null) { pinned = bool.parse (pinned_str); } } else { pinned = false; } extra_data = Util.generate_extra_data (_ical_url, "", ical.as_ical_string ()); #if WITH_EVOLUTION ECal.Component ecal = new ECal.Component.from_icalcomponent (ical_vtodo); if (is_update) { check_labels (get_labels_maps_from_caldav (ecal.get_categories_list ())); } else { labels = get_caldav_categories (ecal.get_categories_list ()); } #endif // TODO: Reimplement without ECAL } private Gee.ArrayList get_caldav_categories (GLib.SList categories_list) { Gee.ArrayList return_value = new Gee.ArrayList (); foreach (string category in categories_list) { Objects.Label label = Services.Store.instance ().get_label_by_name (category, true, project.source_id); if (label == null) { label = new Objects.Label (); label.id = Util.get_default ().generate_id (label); label.name = category; label.color = Util.get_default ().get_random_color (); label.source_id = project.source_id; Services.Store.instance ().insert_label (label); } return_value.add (label); } return return_value; } public void check_labels (Gee.HashMap new_labels) { foreach (var entry in new_labels.entries) { if (get_label (entry.key) == null) { add_label_if_not_exists (entry.value); } } foreach (var label in get_labels_list ()) { if (!new_labels.has_key (label.id)) { delete_item_label (label.id); } } } public Gee.ArrayList get_labels_from_json (Json.Node node) { Gee.ArrayList return_value = new Gee.ArrayList (); foreach (unowned Json.Node element in node.get_object ().get_array_member ("labels").get_elements ()) { Objects.Label label = Services.Store.instance ().get_label_by_name (element.get_string (), true, project.source_id); return_value.add (label); } return return_value; } public Gee.ArrayList get_labels_from_labels_json (Json.Node node, Gee.ArrayList labels_list) { Gee.ArrayList return_value = new Gee.ArrayList (); foreach (unowned Json.Node element in node.get_object ().get_array_member ("labels").get_elements ()) { Objects.Label label = get_label_by_name (element.get_string (), labels_list); return_value.add (label); } return return_value; } private Objects.Label ? get_label_by_name (string name, Gee.ArrayList labels_list) { foreach (var label in labels_list) { if (label.name.down () == name.down ()) { return label; } } return null; } public Gee.HashMap get_labels_maps_from_json (Json.Node node) { Gee.HashMap return_value = new Gee.HashMap (); foreach (unowned Json.Node element in node.get_object ().get_array_member ("labels").get_elements ()) { Objects.Label label = Services.Store.instance ().get_label_by_name (element.get_string (), true, project.source_id); return_value[label.id] = label; } return return_value; } public Gee.HashMap get_labels_maps_from_caldav (GLib.SList categories_list) { Gee.HashMap return_value = new Gee.HashMap (); foreach (string category in categories_list) { Objects.Label label = Services.Store.instance ().get_label_by_name (category, true, project.source_id); if (label == null) { label = new Objects.Label (); label.id = Util.get_default ().generate_id (label); label.name = category; label.color = Util.get_default ().get_random_color (); label.source_id = project.source_id; Services.Store.instance ().insert_label (label); } return_value[label.id] = label; } return return_value; } public void set_section (Objects.Section section) { _section = section; } public void set_parent (Objects.Item item) { _parent = item; } public void set_project (Objects.Project project) { _project = project; } public override string get_add_json (string temp_id, string uuid) { return get_update_json (uuid, temp_id); } public string get_check_json (string uuid, string type) { builder.reset (); builder.begin_object (); builder.set_member_name ("commands"); builder.begin_array (); builder.begin_object (); // Set type builder.set_member_name ("type"); builder.add_string_value (type); builder.set_member_name ("uuid"); builder.add_string_value (uuid); builder.set_member_name ("args"); builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (id); builder.end_object (); builder.end_object (); builder.end_array (); builder.end_object (); Json.Generator generator = new Json.Generator (); Json.Node root = builder.get_root (); generator.set_root (root); return generator.to_data (null); } public void update_local () { Services.Store.instance ().update_item (this, ""); } public void update (string update_id = "") { if (update_timeout_id != 0) { GLib.Source.remove (update_timeout_id); } update_timeout_id = Timeout.add (Constants.UPDATE_TIMEOUT, () => { update_timeout_id = 0; if (project.source_type == SourceType.LOCAL) { Services.Store.instance ().update_item (this, update_id); } else if (project.source_type == SourceType.TODOIST) { Services.Todoist.get_default ().update.begin (this, (obj, res) => { Services.Todoist.get_default ().update.end (res); Services.Store.instance ().update_item (this, update_id); }); } else if (project.source_type == SourceType.CALDAV) { var caldav_client = Services.CalDAV.Core.get_default ().get_client (project.source); caldav_client.add_item.begin (this, true, (obj, res) => { HttpResponse response = caldav_client.add_item.end (res); if (response.status) { Services.Store.instance ().update_item (this, update_id); } else if (response.error_code == 412) { Services.EventBus.get_default ().send_conflict_toast (project.source); } }); } return GLib.Source.REMOVE; }); } public void update_async_timeout (string update_id = "") { if (update_timeout_id != 0) { GLib.Source.remove (update_timeout_id); } update_timeout_id = Timeout.add (Constants.UPDATE_TIMEOUT, () => { update_timeout_id = 0; loading = true; if (project.source_type == SourceType.LOCAL) { Services.Store.instance ().update_item (this, update_id); loading = false; } else if (project.source_type == SourceType.TODOIST) { Services.Todoist.get_default ().update.begin (this, (obj, res) => { Services.Todoist.get_default ().update.end (res); Services.Store.instance ().update_item (this, update_id); loading = false; }); } else if (project.source_type == SourceType.CALDAV) { var caldav_client = Services.CalDAV.Core.get_default ().get_client (project.source); caldav_client.add_item.begin (this, true, (obj, res) => { HttpResponse response = caldav_client.add_item.end (res); if (response.status) { Services.Store.instance ().update_item (this, update_id); } else if (response.error_code == 412) { Services.EventBus.get_default ().send_conflict_toast (project.source); } loading = false; }); } return GLib.Source.REMOVE; }); } public void update_async (string update_id = "") { loading = true; if (project.source_type == SourceType.LOCAL) { Services.Store.instance ().update_item (this, update_id); loading = false; } else if (project.source_type == SourceType.TODOIST) { Services.Todoist.get_default ().update.begin (this, (obj, res) => { Services.Todoist.get_default ().update.end (res); Services.Store.instance ().update_item (this, update_id); loading = false; }); } else if (project.source_type == SourceType.CALDAV) { var caldav_client = Services.CalDAV.Core.get_default ().get_client (project.source); caldav_client.add_item.begin (this, true, (obj, res) => { HttpResponse response = caldav_client.add_item.end (res); if (response.status) { Services.Store.instance ().update_item (this, update_id); } else if (response.error_code == 412) { Services.EventBus.get_default ().send_conflict_toast (project.source); } loading = false; }); } } public void update_pin (bool _pinned) { pinned = _pinned; _update_pin (); } private void _update_pin () { if (project.source_type == SourceType.CALDAV) { loading = true; var caldav_client = Services.CalDAV.Core.get_default ().get_client (project.source); caldav_client.add_item.begin (this, true, (obj, res) => { HttpResponse response = caldav_client.add_item.end (res); if (response.status) { Services.Store.instance ().update_item_pin (this); } loading = false; }); } else { Services.Store.instance ().update_item_pin (this); } } public Objects.Reminder ? add_reminder_if_not_exists (Objects.Reminder reminder, bool insert_db = true) { Objects.Reminder ? return_value = null; lock (_reminders) { return_value = get_reminder (reminder); if (return_value == null) { if (insert_db) { Services.Store.instance ().insert_reminder (reminder); } else { reminder_added (reminder); } _add_reminder (reminder); } return return_value; } } private Objects.Reminder ? get_reminder (Objects.Reminder reminder) { Objects.Reminder ? return_value = null; lock (_reminders) { foreach (var _reminder in _reminders) { if (reminder.datetime.compare (_reminder.datetime) == 0) { return_value = _reminder; break; } } } return return_value; } private void _add_reminder (Objects.Reminder reminder) { _reminders.add (reminder); } public Objects.Attachment ? add_attachment_if_not_exists (Objects.Attachment attachment) { Objects.Attachment ? return_value = null; lock (_attachments) { return_value = get_attachment (attachment); if (return_value == null) { Services.Store.instance ().insert_attachment (attachment); add_attachment (attachment); } return return_value; } } private Objects.Attachment ? get_attachment (Objects.Attachment attachment) { Objects.Attachment ? return_value = null; lock (_attachments) { foreach (var _attachment in _attachments) { if (_attachment.file_path == attachment.file_path) { return_value = _attachment; break; } } } return return_value; } private void add_attachment (Objects.Attachment attachment) { _attachments.add (attachment); } // Labels public Objects.Label add_label_if_not_exists (Objects.Label label) { Objects.Label ? return_value = null; return_value = get_label (label.id); if (return_value == null) { return_value = label; Services.Store.instance ().item_label_added (return_value); add_item_label (return_value); } return return_value; } public Objects.Label ? get_label (string id) { Objects.Label ? return_value = null; foreach (var label in labels) { if (label.id == id) { return_value = label; break; } } return return_value; } public bool has_label (string id) { if (get_label (id) == null) { return false; } return true; } public bool has_labels () { return labels.size > 0; } public void add_item_label (Objects.Label label) { if (labels == null) { labels = new Gee.ArrayList (); } labels.add (label); item_label_added (label); } public void clean_labels () { labels.clear (); } public Objects.Label ? delete_item_label (string id) { Objects.Label ? return_value = null; return_value = get_label (id); if (return_value != null) { labels.remove (return_value); Services.Store.instance ().item_label_deleted (return_value); item_label_deleted (return_value); } return return_value; } public string to_move_json (string type, string move_id) { builder.reset (); builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (id); builder.set_member_name ("type"); builder.add_string_value (type); builder.set_member_name (type); if (Services.Database.get_default ().curTempIds_exists (move_id)) { builder.add_string_value (Services.Database.get_default ().get_temp_id (move_id)); } else { builder.add_string_value (move_id); } builder.end_object (); Json.Generator generator = new Json.Generator (); Json.Node root = builder.get_root (); generator.set_root (root); return generator.to_data (null); } public string get_move_item (string uuid, string type, string move_id) { builder.reset (); builder.begin_object (); builder.set_member_name ("commands"); builder.begin_array (); builder.begin_object (); builder.set_member_name ("type"); builder.add_string_value ("item_move"); builder.set_member_name ("uuid"); builder.add_string_value (uuid); builder.set_member_name ("args"); builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (id); builder.set_member_name (type); builder.add_string_value (move_id); builder.end_object (); builder.end_object (); builder.end_array (); builder.end_object (); Json.Generator generator = new Json.Generator (); Json.Node root = builder.get_root (); generator.set_root (root); return generator.to_data (null); } public override string get_update_json (string uuid, string ? temp_id = null) { builder.reset (); var builder = new Json.Builder (); builder.begin_object (); builder.set_member_name ("commands"); builder.begin_array (); builder.begin_object (); builder.set_member_name ("type"); builder.add_string_value (temp_id == null ? "item_update" : "item_add"); builder.set_member_name ("uuid"); builder.add_string_value (uuid); if (temp_id != null) { builder.set_member_name ("temp_id"); builder.add_string_value (temp_id); } builder.set_member_name ("args"); builder.begin_object (); if (temp_id == null) { builder.set_member_name ("id"); builder.add_string_value (id); } if (temp_id != null) { builder.set_member_name ("project_id"); builder.add_string_value (project_id); if (parent_id != "") { builder.set_member_name ("parent_id"); builder.add_string_value (parent_id); } if (section_id != "") { builder.set_member_name ("section_id"); builder.add_string_value (section_id); } } builder.set_member_name ("content"); builder.add_string_value (content); builder.set_member_name ("description"); builder.add_string_value (description); builder.set_member_name ("child_order"); builder.add_int_value (child_order); builder.set_member_name ("priority"); if (priority == 0) { builder.add_int_value (Constants.PRIORITY_4); } else { builder.add_int_value (priority); } if (has_due) { builder.set_member_name ("due"); builder.begin_object (); builder.set_member_name ("date"); builder.add_string_value (due.date); builder.end_object (); } else { builder.set_member_name ("due"); builder.add_null_value (); } if (has_deadline) { builder.set_member_name ("deadline"); builder.begin_object (); builder.set_member_name ("date"); builder.add_string_value (Utils.Datetime.get_todoist_datetime_format (deadline_datetime)); builder.end_object (); } else { builder.set_member_name ("deadline"); builder.add_null_value (); } builder.set_member_name ("labels"); builder.begin_array (); foreach (Objects.Label label in labels) { builder.add_string_value (label.name); } builder.end_array (); builder.end_object (); builder.end_object (); builder.end_array (); builder.end_object (); Json.Generator generator = new Json.Generator (); Json.Node root = builder.get_root (); generator.set_root (root); return generator.to_data (null); } public override string to_json () { builder.reset (); builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (id); builder.set_member_name ("project_id"); if (Services.Database.get_default ().curTempIds_exists (project_id)) { builder.add_string_value (Services.Database.get_default ().get_temp_id (project_id)); } else { builder.add_string_value (project_id); } if (section_id != "") { builder.set_member_name ("section_id"); if (Services.Database.get_default ().curTempIds_exists (section_id)) { builder.add_string_value (Services.Database.get_default ().get_temp_id (section_id)); } else { builder.add_string_value (section_id); } } if (parent_id != "") { builder.set_member_name ("parent_id"); if (Services.Database.get_default ().curTempIds_exists (parent_id)) { builder.add_string_value (Services.Database.get_default ().get_temp_id (parent_id)); } else { builder.add_string_value (parent_id); } } builder.set_member_name ("content"); builder.add_string_value (Util.get_default ().get_encode_text (content)); builder.set_member_name ("description"); builder.add_string_value (Util.get_default ().get_encode_text (description)); builder.set_member_name ("priority"); if (priority == 0) { builder.add_int_value (Constants.PRIORITY_4); } else { builder.add_int_value (priority); } if (has_due) { builder.set_member_name ("due"); builder.begin_object (); builder.set_member_name ("date"); builder.add_string_value (due.date); builder.end_object (); } else { builder.set_member_name ("due"); builder.add_null_value (); } builder.set_member_name ("labels"); builder.begin_array (); foreach (Objects.Label label in labels) { builder.add_string_value (label.id); } builder.end_array (); builder.end_object (); Json.Generator generator = new Json.Generator (); Json.Node root = builder.get_root (); generator.set_root (root); return generator.to_data (null); } public string to_vtodo () { ICal.Component ical = new ICal.Component.vtodo (); ical.set_uid (id); ical.set_dtstamp (new ICal.Time.current_with_zone (ICal.Timezone.get_utc_timezone ())); ical.set_summary (content); ical.set_description (description); if (pinned) { var pinned_property = new ICal.Property (ICal.PropertyKind.X_PROPERTY); pinned_property.set_x_name ("X-PINNED"); pinned_property.set_x (pinned.to_string ()); ical.add_property (pinned_property); } if (has_due) { ICal.Time new_icaltime = Utils.Datetime.datetimes_to_icaltime ( due.datetime, Utils.Datetime.has_time (due.datetime) ? due.datetime : null, null ); ical.set_due (new_icaltime); if (due.is_recurring) { var rrule = new ICal.Recurrence (); if (due.recurrency_type == RecurrencyType.MINUTELY) { rrule.set_freq (ICal.RecurrenceFrequency.MINUTELY_RECURRENCE); } else if (due.recurrency_type == RecurrencyType.HOURLY) { rrule.set_freq (ICal.RecurrenceFrequency.HOURLY_RECURRENCE); } else if (due.recurrency_type == RecurrencyType.EVERY_DAY) { rrule.set_freq (ICal.RecurrenceFrequency.DAILY_RECURRENCE); } else if (due.recurrency_type == RecurrencyType.EVERY_WEEK) { rrule.set_freq (ICal.RecurrenceFrequency.WEEKLY_RECURRENCE); Array values = new Array (); short val; if (due.recurrency_weeks != null && due.recurrency_weeks.split (",").length > 0) { if (due.recurrency_weeks.contains ("1")) { val = (short) 2; values.append_val (val); } if (due.recurrency_weeks.contains ("2")) { val = (short) 3; values.append_val (val); } if (due.recurrency_weeks.contains ("3")) { val = (short) 4; values.append_val (val); } if (due.recurrency_weeks.contains ("4")) { val = (short) 5; values.append_val (val); } if (due.recurrency_weeks.contains ("5")) { val = (short) 6; values.append_val (val); } if (due.recurrency_weeks.contains ("6")) { val = (short) 7; values.append_val (val); } if (due.recurrency_weeks.contains ("7")) { val = (short) 1; values.append_val (val); } } rrule.set_by_day_array (values); } else if (due.recurrency_type == RecurrencyType.EVERY_MONTH) { rrule.set_freq (ICal.RecurrenceFrequency.MONTHLY_RECURRENCE); } else if (due.recurrency_type == RecurrencyType.EVERY_YEAR) { rrule.set_freq (ICal.RecurrenceFrequency.YEARLY_RECURRENCE); } rrule.set_interval ((short) due.recurrency_interval); if (due.recurrency_count > 0) { rrule.set_count (due.recurrency_count); } if (due.recurrency_end != "") { ICal.Time until_icaltime = Utils.Datetime.datetimes_to_icaltime ( due.end_datetime, null, null ); rrule.set_until (until_icaltime); } var rrule_property = new ICal.Property.rrule (rrule); ical.add_property (rrule_property); } } if (parent_id != "") { ical.add_property (new ICal.Property.relatedto (parent_id)); } if (checked) { ical.set_status (ICal.PropertyStatus.COMPLETED); ical.add_property (new ICal.Property.percentcomplete (100)); // RFC requires Date-Time (https://datatracker.ietf.org/doc/html/rfc5545#section-3.8.2.1) // Nextcloud also accepted .today () which didn't include the Timezone, but Radicale and probably other CalDAV implementations want Date-Time ical.add_property (new ICal.Property.completed (new ICal.Time.current_with_zone (null))); } else { ical.set_status (ICal.PropertyStatus.NEEDSACTION); } var _priority = 0; if (priority == Constants.PRIORITY_4) { _priority = 0; } else if (priority == Constants.PRIORITY_1) { _priority = 1; } else if (priority == Constants.PRIORITY_2) { _priority = 5; } else if (priority == Constants.PRIORITY_3) { _priority = 9; } else { _priority = 0; } ical.add_property (new ICal.Property.priority (_priority)); if (labels.size > 0) { ical.add_property (new ICal.Property.categories (get_labels_names (labels))); } var child_order_property = new ICal.Property (ICal.PropertyKind.X_PROPERTY); child_order_property.set_x_name ("X-APPLE-SORT-ORDER"); child_order_property.set_x (child_order.to_string ()); ical.add_property (child_order_property); return "%s%s%s".printf ( "BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:-//Planify App (https://github.com/alainm23/planify)\n", ical.as_ical_string (), "END:VCALENDAR\n" ); } public Objects.Item add_item_if_not_exists (Objects.Item new_item, bool insert = true) { Objects.Item ? return_value = null; lock (_items) { return_value = get_item (new_item.id); if (return_value == null) { new_item.set_parent (this); add_item (new_item); Services.Store.instance ().insert_item (new_item, insert); return_value = new_item; } return return_value; } } public Objects.Item ? get_item (string id) { Objects.Item ? return_value = null; lock (_items) { foreach (var item in items) { if (item.id == id) { return_value = item; break; } } } return return_value; } public void add_item (Objects.Item item) { _items.add (item); } public string to_clipboard_text () { var text = new StringBuilder (); text.append ("[%s] %s".printf (checked ? "x" : " ", content)); if (priority != Constants.PRIORITY_4) { text.append (" (P%d)".printf (5 - priority)); } if (has_due) { text.append (" · %s".printf (Utils.Datetime.get_relative_date_from_date (due.datetime))); } if (has_deadline) { text.append (" · %s %s".printf (_("Deadline:"), Utils.Datetime.get_relative_time_from_date (deadline_datetime))); } if (labels.size > 0) { var label_names = new StringBuilder (); foreach (Objects.Label label in labels) { if (label_names.len > 0) { label_names.append (", "); } label_names.append (label.name); } text.append (" @%s".printf (label_names.str)); } if (description != null && description.strip () != "") { text.append ("\n %s".printf (description.strip ())); } return text.str; } public void copy_clipboard () { Gdk.Clipboard clipboard = Gdk.Display.get_default ().get_clipboard (); clipboard.set_text (to_clipboard_text ()); Services.EventBus.get_default ().send_toast ( Util.get_default ().create_toast (_("Task copied to clipboard")) ); } public Objects.Item generate_copy () { var new_item = new Objects.Item (); new_item.id = Util.get_default ().generate_id (new_item); new_item.content = content; new_item.description = description; new_item.pinned = pinned; new_item.due = due; new_item.priority = priority; return new_item; } public Objects.Item duplicate () { var new_item = new Objects.Item (); new_item.content = content; new_item.description = description; new_item.due = due.duplicate (); new_item.pinned = pinned; new_item.priority = priority; new_item.labels = labels; new_item.item_type = item_type; return new_item; } public void delete_item () { if (project.source_type == SourceType.LOCAL) { Services.Store.instance ().delete_item (this); } else if (project.source_type == SourceType.TODOIST) { loading = true; Services.Todoist.get_default ().delete.begin (this, (obj, res) => { HttpResponse response = Services.Todoist.get_default ().delete.end (res); loading = false; if (response.status) { Services.Store.instance ().delete_item (this); } else { Services.EventBus.get_default ().send_error_toast (response.error_code, response.error); } }); } else if (project.source_type == SourceType.CALDAV) { delete_caldav.begin (); } } private async void delete_caldav () { loading = true; var caldav_client = Services.CalDAV.Core.get_default ().get_client (project.source); try { yield delete_subitems_caldav (this, caldav_client); var response = yield caldav_client.delete_item (this); if (!response.status) { throw new IOError.FAILED (response.error); } Services.Store.instance ().delete_item (this); } catch (Error e) { Services.EventBus.get_default ().send_error_toast (0, e.message); } loading = false; } private async void delete_subitems_caldav (Objects.Item item, Services.CalDAV.CalDAVClient caldav_client) throws Error { foreach (Objects.Item subitem in Services.Store.instance ().get_subitems (item)) { yield delete_subitems_caldav (subitem, caldav_client); var response = yield caldav_client.delete_item (subitem); if (!response.status) { throw new IOError.FAILED (response.error); } Services.Store.instance ().delete_item (subitem); } } public string get_labels_names (Gee.ArrayList labels) { string return_value = ""; foreach (Objects.Label label in labels) { return_value += label.name.replace (",", "\\,") + ","; } if (return_value.length > 0) { return_value = return_value.substring (0, return_value.length - 1); } return return_value; } public void set_recurrency (Objects.DueDate duedate) { if (due.is_recurrency_equal (duedate)) { return; } if (duedate.recurrency_type == RecurrencyType.MINUTELY || duedate.recurrency_type == RecurrencyType.HOURLY) { if (!has_due) { due.date = Utils.Datetime.get_todoist_datetime_format ( new DateTime.now_local () ); } } else if (duedate.recurrency_type == RecurrencyType.EVERY_DAY || duedate.recurrency_type == RecurrencyType.EVERY_MONTH || duedate.recurrency_type == RecurrencyType.EVERY_YEAR) { if (!has_due) { due.date = Utils.Datetime.get_todoist_datetime_format ( Utils.Datetime.get_today_format_date () ); } } else if (duedate.recurrency_type == RecurrencyType.EVERY_WEEK) { if (duedate.has_weeks) { GLib.DateTime due_selected = Utils.Datetime.get_today_format_date (); if (has_due) { due_selected = due.datetime; } int day_of_week = due_selected.get_day_of_week (); int next_day = Utils.Datetime.get_next_day_of_week_from_recurrency_week (due_selected, duedate); GLib.DateTime due_date = null; if (day_of_week == next_day) { due_date = due_selected; } else { due_date = Utils.Datetime.next_recurrency_week (due_selected, duedate); } due.date = Utils.Datetime.get_todoist_datetime_format (due_date); } else { if (!has_due) { due.date = Utils.Datetime.get_todoist_datetime_format ( Utils.Datetime.get_today_format_date () ); } } } due.is_recurring = duedate.is_recurring; due.recurrency_type = duedate.recurrency_type; due.recurrency_interval = duedate.recurrency_interval; due.recurrency_weeks = duedate.recurrency_weeks; due.recurrency_count = duedate.recurrency_count; due.recurrency_end = duedate.recurrency_end; update_async (""); } public void update_next_recurrency (Services.Promise ? promise) { var next_recurrency = Utils.Datetime.next_recurrency (due.datetime, due); due.date = Utils.Datetime.get_todoist_datetime_format ( next_recurrency ); if (due.end_type == RecurrencyEndType.AFTER) { due.recurrency_count = due.recurrency_count - 1; } foreach (Objects.Item subitem in Services.Store.instance ().get_subitems (this)) { if (subitem.checked) { bool old_checked = subitem.checked; subitem.checked = false; subitem.completed_at = ""; subitem.update_async (); Services.EventBus.get_default ().checked_toggled (subitem, old_checked); } } if (project.source_type == SourceType.LOCAL) { Services.Store.instance ().update_item (this); promise.resolve (next_recurrency); } else if (project.source_type == SourceType.TODOIST) { loading = true; Services.Todoist.get_default ().update.begin (this, (obj, res) => { var response = Services.Todoist.get_default ().update.end (res); loading = false; if (response.status) { Services.Store.instance ().update_item (this); promise.resolve (next_recurrency); } }); } else if (project.source_type == SourceType.CALDAV) { loading = true; var caldav_client = Services.CalDAV.Core.get_default ().get_client (project.source); caldav_client.add_item.begin (this, true, (obj, res) => { var response = caldav_client.add_item.end (res); loading = false; if (response.status) { Services.Store.instance ().update_item (this); promise.resolve (next_recurrency); } }); } } public void move (Objects.Project project, string _section_id, bool notify = true) { if (project.source_type == SourceType.LOCAL) { _move (project.id, _section_id, notify); } else if (project.source_type == SourceType.TODOIST) { loading = true; sensitive = false; string move_id = project.id; string move_type = "project_id"; if (_section_id != "") { move_type = "section_id"; move_id = _section_id; } Services.Todoist.get_default ().move_item.begin (this, move_type, move_id, (obj, res) => { var response = Services.Todoist.get_default ().move_item.end (res); loading = false; if (response.status) { _move (project.id, _section_id, notify); } else { Services.EventBus.get_default ().send_error_toast (response.error_code, response.error); } }); } else if (project.source_type == SourceType.CALDAV) { loading = true; sensitive = false; move_caldav_recursive.begin (project, _section_id, notify); } } private async void move_caldav_recursive (Objects.Project project, string _section_id, bool notify = true) { var caldav_client = Services.CalDAV.Core.get_default ().get_client (project.source); try { var response = yield caldav_client.move_item (this, project); if (!response.status) { throw new IOError.FAILED (response.error); } string old_parent_id = this.parent_id; if (old_parent_id != "") { parent_id = ""; response = yield caldav_client.add_item (this, true); if (!response.status) { throw new IOError.FAILED (response.error); } Services.EventBus.get_default ().item_moved (this, project_id, section_id, old_parent_id); } yield move_all_subitems_caldav (this, project, caldav_client); _move (project.id, _section_id, notify); } catch (Error e) { Services.EventBus.get_default ().send_error_toast (0, e.message); } loading = false; show_item = true; } private async void move_all_subitems_caldav (Objects.Item item, Objects.Project project, Services.CalDAV.CalDAVClient caldav_client) throws Error { foreach (Objects.Item subitem in Services.Store.instance ().get_subitems (item)) { var response = yield caldav_client.move_item (subitem, project); if (!response.status) { throw new IOError.FAILED (response.error); } yield move_all_subitems_caldav (subitem, project, caldav_client); } } private void _move (string _project_id, string _section_id, bool notify = true) { string old_project_id = this.project_id; string old_section_id = this.section_id; string old_parent_id = this.parent_id; this.project_id = _project_id; this.section_id = _section_id; this.parent_id = ""; Services.Store.instance ().move_item (this, old_project_id, old_section_id, old_parent_id); Services.EventBus.get_default ().item_moved (this, old_project_id, old_section_id, old_parent_id); Services.EventBus.get_default ().drag_n_drop_active (old_project_id, false); if (notify) { Services.EventBus.get_default ().send_toast ( Util.get_default ().create_toast (_("Moved to %s".printf (project.name))) ); } } public bool was_archived () { return was_archived_internal (new Gee.HashSet ()); } private bool was_archived_internal (Gee.Set visited) { // Prevent infinite recursion with circular references if (visited.contains (id)) { warning ("Item/Task %s has a circular reference", id); return false; } visited.add (id); if (has_parent && _parent_id != id) { // Check for direct self-reference var parent_item = parent; if (parent_item != null) { return parent_item.was_archived_internal (visited); } } if (has_section) { var section_item = section; if (section_item != null) { return section_item.was_archived (); } } var project_item = project; if (project_item != null) { return project_item.is_archived; } return false; } public bool exists_project (Objects.Project project) { return _project_id == project.id; } public string to_markdown (int level = 0) { string text = "%*s- %s%s%s\n".printf (level * 2, "", checked ? "[x]" : "[ ]", Utils.Datetime.get_markdown_format_date (this), content); foreach (Objects.Item item in items) { text += item.to_markdown (level + 1); } return text; } public void update_date (GLib.DateTime ? datetime) { due.date = datetime == null ? "" : Utils.Datetime.get_todoist_datetime_format (datetime); update_due (due); } public void update_due (Objects.DueDate duedate) { due.date = duedate.date; due.is_recurring = duedate.is_recurring; due.recurrency_type = duedate.recurrency_type; due.recurrency_interval = duedate.recurrency_interval; due.recurrency_weeks = duedate.recurrency_weeks; due.recurrency_count = duedate.recurrency_count; due.recurrency_end = duedate.recurrency_end; if (Services.Settings.get_default ().get_boolean ("automatic-reminders-enabled") && has_time) { remove_all_relative_reminders (); var reminder = new Objects.Reminder (); reminder.mm_offset = Util.get_reminders_mm_offset (); reminder.reminder_type = ReminderType.RELATIVE; add_reminder (reminder); } if (due.date == "") { due.reset (); remove_all_relative_reminders (); } if (!has_time) { remove_all_relative_reminders (); } update_async (""); } public void add_reminder (Objects.Reminder reminder) { reminder.item_id = id; if (project.source_type == SourceType.TODOIST) { Services.Todoist.get_default ().add.begin (reminder, (obj, res) => { HttpResponse response = Services.Todoist.get_default ().add.end (res); loading = false; if (response.status) { reminder.id = response.data; } else { reminder.id = Util.get_default ().generate_id (reminder); } add_reminder_if_not_exists (reminder); }); } else { reminder.id = Util.get_default ().generate_id (reminder); add_reminder_if_not_exists (reminder); } } public void add_reminder_events (Objects.Reminder reminder) { Services.Store.instance ().reminder_added (reminder); Services.Store.instance ().reminders.add (reminder); reminder.item.reminder_added (reminder); _add_reminder (reminder); } private void remove_all_relative_reminders () { foreach (Objects.Reminder reminder in reminders) { if (reminder.reminder_type == ReminderType.RELATIVE) { reminder.delete (); } } } public async HttpResponse complete_item (bool old_checked) { HttpResponse response = new HttpResponse (); if (project.source_type == SourceType.LOCAL) { Services.Store.instance ().complete_item (this, old_checked); response.status = true; return response; } loading = true; if (project.source_type == SourceType.TODOIST) { response = yield Services.Todoist.get_default ().complete_item (this); } else { var caldav_client = Services.CalDAV.Core.get_default ().get_client (project.source); response = yield caldav_client.complete_item (this); } loading = false; if (response.status) { bool complete_subitems = project.source_type != SourceType.CALDAV; Services.Store.instance ().complete_item (this, old_checked, complete_subitems); if (project.source_type == SourceType.CALDAV) { foreach (Objects.Item subitem in Services.Store.instance ().get_subitems (this)) { subitem.checked = checked; subitem.completed_at = completed_at; subitem.complete_item.begin (old_checked); } } } else if (response.error_code == 412) { loading = false; Services.EventBus.get_default ().send_conflict_toast (project.source); } return response; } public void update_labels (Gee.HashMap new_labels) { bool update = false; foreach (var entry in new_labels.entries) { if (get_label (entry.key) == null) { add_label_if_not_exists (entry.value); update = true; } } foreach (var label in get_labels_list ()) { if (!new_labels.has_key (label.id)) { delete_item_label (label.id); update = true; } } if (!update) { return; } update_async (); } public void to_string () { print ("_________________________________\n"); print ("ID: %s\n", id); print ("Content: %s\n", content); print ("Description: %s\n", description); print ("Project ID: %s\n", project_id); print ("Section ID: %s\n", section_id); print ("Parent ID: %s\n", parent_id); print ("Priority: %d (%s)\n", priority, priority_text); print ("Checked: %s\n", checked ? "true" : "false"); print ("Pinned: %s\n", pinned ? "true" : "false"); print ("Has Due: %s\n", has_due ? "true" : "false"); if (has_due) { print ("Due Date: %s\n", due.date); } print ("Child Order: %d\n", child_order); print ("Added At: %s\n", added_at); print ("Completed At: %s\n", completed_at); print ("Labels: %d\n", labels.size); foreach (var label in labels) { print (" - %s\n", label.name); } print ("---------------------------------\n"); } } alainm23-planify-69962f8/core/Objects/Label.vala000066400000000000000000000212471517337276100213060ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Label : Objects.BaseObject { public int item_order { get; set; default = 0; } public bool is_deleted { get; set; default = false; } public bool is_favorite { get; set; default = false; } public SourceType backend_type { get; set; default = SourceType.NONE; } public string source_id { get; set; default = SourceType.LOCAL.to_string (); } Objects.Source ? _source; public Objects.Source source { get { _source = Services.Store.instance ().get_source (source_id); return _source; } } public SourceType source_type { get { return source.source_type; } } int ? _label_count = null; public int label_count { get { if (_label_count == null) { _label_count = update_label_count (); } return _label_count; } set { _label_count = value; } } string _short_name; public string short_name { get { _short_name = Util.get_default ().get_short_name (name); return _short_name; } } public signal void label_count_updated (); construct { Services.Store.instance ().item_added.connect ((item) => { if (item.get_label (id) != null) { _label_count = update_label_count (); label_count_updated (); } }); Services.Store.instance ().item_deleted.connect ((item) => { if (item.get_label (id) != null) { _label_count = update_label_count (); label_count_updated (); } }); Services.Store.instance ().item_updated.connect ((item) => { if (item.get_label (id) != null) { _label_count = update_label_count (); label_count_updated (); } }); Services.Store.instance ().item_label_added.connect ((label) => { if (label.id == id) { _label_count = update_label_count (); label_count_updated (); } }); Services.Store.instance ().item_label_deleted.connect ((label) => { if (label.id == id) { _label_count = update_label_count (); label_count_updated (); } }); Services.Store.instance ().item_archived.connect ((item) => { if (item.has_label (id)) { _label_count = update_label_count (); label_count_updated (); } }); Services.Store.instance ().item_unarchived.connect ((item) => { if (item.has_label (id)) { _label_count = update_label_count (); label_count_updated (); } }); } private int update_label_count () { return Services.Store.instance ().get_items_by_label (this, false).size; } public Label.from_json (Json.Node node) { id = node.get_object ().get_string_member ("id"); update_from_json (node); backend_type = SourceType.TODOIST; } public Label.from_import_json (Json.Node node) { id = node.get_object ().get_string_member ("id"); name = node.get_object ().get_string_member ("name"); color = node.get_object ().get_string_member ("color"); backend_type = SourceType.parse (node.get_object ().get_string_member ("backend_type")); is_deleted = node.get_object ().get_boolean_member ("is_deleted"); is_favorite = node.get_object ().get_boolean_member ("is_favorite"); source_id = backend_type.to_string (); if (node.get_object ().has_member ("source_id")) { source_id = node.get_object ().get_string_member ("source_id"); } } public void update_from_json (Json.Node node) { name = node.get_object ().get_string_member ("name"); if (!node.get_object ().get_null_member ("color")) { color = node.get_object ().get_string_member ("color"); } if (!node.get_object ().get_null_member ("is_favorite")) { is_favorite = node.get_object ().get_boolean_member ("is_favorite"); } if (!node.get_object ().get_null_member ("is_deleted")) { is_deleted = node.get_object ().get_boolean_member ("is_deleted"); } if (!node.get_object ().get_null_member ("item_order")) { item_order = (int32) node.get_object ().get_int_member ("item_order"); } } public override string get_add_json (string temp_id, string uuid) { return get_update_json (uuid, temp_id); } public override string get_update_json (string uuid, string ? temp_id = null) { var builder = new Json.Builder (); builder.begin_object (); builder.set_member_name ("commands"); builder.begin_array (); builder.begin_object (); // Set type builder.set_member_name ("type"); builder.add_string_value (temp_id == null ? "label_update" : "label_add"); builder.set_member_name ("uuid"); builder.add_string_value (uuid); if (temp_id != null) { builder.set_member_name ("temp_id"); builder.add_string_value (temp_id); } builder.set_member_name ("args"); builder.begin_object (); if (temp_id == null) { builder.set_member_name ("id"); builder.add_string_value (id); } builder.set_member_name ("name"); builder.add_string_value (name); builder.set_member_name ("color"); builder.add_string_value (color); builder.set_member_name ("item_order"); builder.add_int_value (item_order); builder.set_member_name ("is_favorite"); builder.add_boolean_value (is_favorite); builder.end_object (); builder.end_object (); builder.end_array (); builder.end_object (); Json.Generator generator = new Json.Generator (); Json.Node root = builder.get_root (); generator.set_root (root); return generator.to_data (null); } public async void delete_label (Gtk.Window window) { var dialog = new Adw.AlertDialog ( _("Delete Label %s".printf (name)), _("This can not be undone") ); dialog.add_response ("cancel", _("Cancel")); dialog.add_response ("delete", _("Delete")); dialog.set_response_appearance ("delete", Adw.ResponseAppearance.DESTRUCTIVE); dialog.present (window); dialog.response.connect ((response) => { if (response == "delete") { if (source_type == SourceType.TODOIST) { loading = true; Services.Todoist.get_default ().delete.begin (this, (obj, res) => { Services.Todoist.get_default ().delete.end (res); Services.Store.instance ().delete_label (this); }); } else if (source_type == SourceType.CALDAV) { loading = true; foreach (Objects.Item item in Services.Store.instance ().get_items_by_label (this, false)) { item.delete_item_label (id); var caldav_client = Services.CalDAV.Core.get_default ().get_client (item.project.source); caldav_client.add_item.begin (item, true, (obj, res) => { if (caldav_client.add_item.end (res).status) { Services.Store.instance ().update_item (item); } }); } Services.Store.instance ().delete_label (this); } else { Services.Store.instance ().delete_label (this); } } }); } } alainm23-planify-69962f8/core/Objects/ObjectEvent.vala000066400000000000000000000103701517337276100224720ustar00rootroot00000000000000/* * Copyright © 2024 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.ObjectEvent : GLib.Object { public int64 id { get; set; default = 0; } public ObjectEventType event_type { get; set; } public string event_date { get; set; default = ""; } public string object_id { get; set; default = ""; } public string object_type { get; set; default = ""; } public ObjectEventKeyType object_key { get; set; } public string object_old_value { get; set; default = ""; } public string object_new_value { get; set; default = ""; } public string parent_item_id { get; set; default = ""; } public string parent_project_id { get; set; default = ""; } public string icon_name { get { if (event_type == ObjectEventType.INSERT) { return "plus-large-symbolic"; } else if (event_type == ObjectEventType.UPDATE) { if (object_key == ObjectEventKeyType.CONTENT) { return "edit-symbolic"; } else if (object_key == ObjectEventKeyType.DESCRIPTION) { return "paper-symbolic"; } else if (object_key == ObjectEventKeyType.DUE) { return "month-symbolic"; } else if (object_key == ObjectEventKeyType.PRIORITY) { return "flag-outline-thick-symbolic"; } else if (object_key == ObjectEventKeyType.LABELS) { return "tag-outline-symbolic"; } else if (object_key == ObjectEventKeyType.PINNED) { return "pin-symbolic"; } else if (object_key == ObjectEventKeyType.CHECKED) { return "check-round-outline-symbolic"; } else if (object_key == ObjectEventKeyType.SECTION || object_key == ObjectEventKeyType.PROJECT) { return "arrow3-right-symbolic"; } } return "plus-large-symbolic"; } } GLib.DateTime _datetime; public GLib.DateTime datetime { get { _datetime = Utils.Datetime.get_date_from_string (event_date); return _datetime; } } GLib.DateTime _date; public GLib.DateTime date { get { _date = Utils.Datetime.format_date (Utils.Datetime.get_date_from_string (event_date)); return _date; } } string _time; public string time { get { _time = datetime.format (Utils.Datetime.get_default_time_format ()); return _time; } } public Objects.DueDate ? get_due_value (string value) { Json.Parser parser = new Json.Parser (); try { parser.load_from_data (value, value.length); } catch (Error e) { warning (e.message); return null; } var due = new Objects.DueDate (); due.update_from_json (parser.get_root ().get_object ()); return due; } public string get_labels_value (string value) { string return_value = ""; Gee.ArrayList labels = Services.Store.instance ().get_labels_by_item_labels (value); if (labels.size > 0) { for (int index = 0; index < labels.size; index++) { if (index < labels.size - 1) { return_value += labels[index].name + ", "; } else { return_value += labels[index].name; } } } return return_value; } } alainm23-planify-69962f8/core/Objects/Project.vala000066400000000000000000000753451517337276100217050ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Project : Objects.BaseObject { public bool freeze_update { get; set; default = false; } public string parent_id { get; set; default = ""; } public string due_date { get; set; default = ""; } public string emoji { get; set; default = ""; } public string description { get; set; default = ""; } public ProjectIconStyle icon_style { get; set; default = ProjectIconStyle.PROGRESS; } public SourceType backend_type { get; set; default = SourceType.NONE; } public bool inbox_project { get; set; default = false; } public bool team_inbox { get; set; default = false; } public bool is_deleted { get; set; default = false; } public bool is_archived { get; set; default = false; } public bool is_favorite { get; set; default = false; } public bool shared { get; set; default = false; } public bool collapsed { get; set; default = false; } public bool inbox_section_hidded { get; set; default = false; } public string sync_id { get; set; default = ""; } public string source_id { get; set; default = SourceType.LOCAL.to_string (); } public string calendar_url { get; set; default = ""; } public string calendar_source_uid { get; set; default = ""; } public MarkdownSetting markdown_setting { get; set; default = MarkdownSetting.GLOBAL_DEFAULT; } public bool is_markdown_enabled { get { switch (markdown_setting) { case MarkdownSetting.ENABLED: return true; case MarkdownSetting.DISABLED: return false; default: return Services.Settings.get_default ().settings.get_boolean ("enable-markdown-formatting"); } } } bool _show_completed = false; public bool show_completed { get { return _show_completed; } set { _show_completed = value; show_completed_changed (); } } ProjectViewStyle _view_style = ProjectViewStyle.LIST; public ProjectViewStyle view_style { get { return _view_style; } set { _view_style = value; view_style_changed (); } } SortedByType _sorted_by = SortedByType.MANUAL; public SortedByType sorted_by { get { return _sorted_by; } set { _sorted_by = value; sorted_by_changed (); } } SortOrderType _sort_order = SortOrderType.ASC; public SortOrderType sort_order { get { return _sort_order; } set { _sort_order = value; sort_order_changed (); } } public SourceType source_type { get { return source.source_type; } } Objects.Source ? _source; public Objects.Source source { get { _source = Services.Store.instance ().get_source (source_id); return _source; } } string _color_hex; public string color_hex { get { _color_hex = Util.get_default ().get_color (color); return _color_hex; } } public int child_order { get; set; default = 0; } string _view_id; public string view_id { get { _view_id = "project-%s".printf (id_string); return _view_id; } } string _parent_id_string; public string parent_id_string { get { _parent_id_string = parent_id.to_string (); return _parent_id_string; } } string _short_name; public string short_name { get { _short_name = Util.get_default ().get_short_name (name); return _short_name; } } public bool is_inbox_project { get { return id == Services.Settings.get_default ().settings.get_string ("local-inbox-project-id"); } } Gee.ArrayList _sections = null; public Gee.ArrayList sections { get { if (_sections == null) { _sections = Services.Store.instance ().get_sections_by_project (this); } return _sections; } } Gee.ArrayList _sections_archived; public Gee.ArrayList sections_archived { get { _sections_archived = Services.Store.instance ().get_sections_archived_by_project (this); return _sections_archived; } } Gee.ArrayList _items; public Gee.ArrayList items { get { _items = Services.Store.instance ().get_items_by_baseobject (this); _items.sort ((a, b) => { int comparison = a.child_order - b.child_order; return sort_order == SortOrderType.ASC ? comparison : -comparison; }); return _items; } } Gee.ArrayList _items_checked; public Gee.ArrayList items_checked { get { _items_checked = Services.Store.instance ().get_items_checked_by_project (this); return _items_checked; } } Gee.ArrayList _all_items; public Gee.ArrayList all_items { get { _all_items = Services.Store.instance ().get_items_by_project (this); return _all_items; } } Gee.ArrayList _items_pinned; public Gee.ArrayList items_pinned { get { _items_pinned = Services.Store.instance ().get_items_by_project_pinned (this); return _items_pinned; } } Gee.ArrayList _subprojects; public Gee.ArrayList subprojects { get { _subprojects = Services.Store.instance ().get_subprojects (this); return _subprojects; } } Objects.Project ? _parent; public Objects.Project parent { get { _parent = Services.Store.instance ().get_project (parent_id); return _parent; } } public signal void section_added (Objects.Section section); public signal void subproject_added (Objects.Project project); public signal void item_added (Objects.Item item); public signal void item_deleted (Objects.Item item); public signal void show_completed_changed (); public signal void sort_order_changed (); public signal void sorted_by_changed (); public signal void section_sort_order_changed (); public signal void view_style_changed (); public signal void sync_started (); public signal void sync_finished (); private bool _show_multi_select = false; public bool show_multi_select { set { _show_multi_select = value; show_multi_select_change (); } get { return _show_multi_select; } } public bool is_deck { get { return "deck--board" in calendar_url.down (); } } public signal void loading_changed (bool value); public signal void show_multi_select_change (); construct { Services.EventBus.get_default ().checked_toggled.connect ((item) => { if (item.project_id == id) { count_update (); } }); Services.Store.instance ().item_deleted.connect ((item) => { if (item.project_id == id) { count_update (); } }); Services.Store.instance ().item_added.connect ((item) => { if (item.project_id == id) { count_update (); } }); Services.EventBus.get_default ().item_moved.connect ((item, old_project_id) => { if (item.project_id == id || old_project_id == id) { count_update (); } }); Services.Store.instance ().section_moved.connect ((section, old_project_id) => { if (section.project_id == id || old_project_id == id) { count_update (); } }); Services.Store.instance ().item_archived.connect ((item) => { if (item.project_id == id) { count_update (); } }); Services.Store.instance ().item_unarchived.connect ((item) => { if (item.project_id == id) { count_update (); } }); } public Project.from_json (Json.Node node) { id = node.get_object ().get_string_member ("id"); update_from_json (node); backend_type = SourceType.TODOIST; } public Project.from_google_tasklist_json (Json.Node node) { id = node.get_object ().get_string_member ("id"); update_from_google_tasklist_json (node); backend_type = SourceType.GOOGLE_TASKS; } public Project.from_propstat (Services.CalDAV.WebDAVPropStat propstat, string url) { id = Util.get_default ().generate_id (this); // THIS ID is INTERNAL and no longer used for requests calendar_url = url; update_from_propstat (propstat); backend_type = SourceType.CALDAV; } // TODO: add extra null checks public void update_from_propstat (Services.CalDAV.WebDAVPropStat propstat, bool update_sync_token = true) { if (propstat.get_first_prop_with_tagname ("displayname") != null) { name = propstat.get_first_prop_with_tagname ("displayname").text_content; } if (propstat.get_first_prop_with_tagname ("calendar-color") != null) { color = propstat.get_first_prop_with_tagname ("calendar-color").text_content; } if (update_sync_token) { sync_id = propstat.get_first_prop_with_tagname ("sync-token").text_content; } } public string get_id_from_url (GXml.DomElement element) { if (element.get_elements_by_tag_name ("d:href").length <= 0) { return ""; } GXml.DomElement href = element.get_elements_by_tag_name ("d:href").get_element (0); string[] parts = href.text_content.split ("/"); return parts[parts.length - 2]; } public string get_content (GXml.DomElement element) { return element.text_content; } public Project.from_import_json (Json.Node node) { id = node.get_object ().get_string_member ("id"); name = node.get_object ().get_string_member ("name"); color = node.get_object ().get_string_member ("color"); backend_type = SourceType.parse (node.get_object ().get_string_member ("backend_type")); inbox_project = node.get_object ().get_boolean_member ("inbox_project"); team_inbox = node.get_object ().get_boolean_member ("team_inbox"); child_order = (int32) node.get_object ().get_int_member ("child_order"); is_deleted = node.get_object ().get_boolean_member ("is_deleted"); is_archived = node.get_object ().get_boolean_member ("is_archived"); is_favorite = node.get_object ().get_boolean_member ("is_favorite"); shared = node.get_object ().get_boolean_member ("shared"); view_style = node.get_object ().get_string_member ("view_style") == "board" ? ProjectViewStyle.BOARD : ProjectViewStyle.LIST; sort_order = (int32) node.get_object ().get_int_member ("sort_order"); parent_id = node.get_object ().get_string_member ("parent_id"); collapsed = node.get_object ().get_boolean_member ("collapsed"); icon_style = node.get_object ().get_string_member ("icon_style") == "progress" ? ProjectIconStyle.PROGRESS : ProjectIconStyle.EMOJI; emoji = node.get_object ().get_string_member ("emoji"); show_completed = node.get_object ().get_boolean_member ("show_completed"); description = node.get_object ().get_string_member ("description"); due_date = node.get_object ().get_string_member ("due_date"); if (node.get_object ().has_member ("source_id")) { source_id = node.get_object ().get_string_member ("source_id"); } if (node.get_object ().has_member ("calendar_url")) { calendar_url = node.get_object ().get_string_member ("calendar_url"); } } public void update_from_json (Json.Node node) { name = node.get_object ().get_string_member ("name"); if (!node.get_object ().get_null_member ("color")) { color = node.get_object ().get_string_member ("color"); } if (!node.get_object ().get_null_member ("is_deleted")) { is_deleted = node.get_object ().get_boolean_member ("is_deleted"); } if (!node.get_object ().get_null_member ("is_archived")) { is_archived = node.get_object ().get_boolean_member ("is_archived"); } if (!node.get_object ().get_null_member ("is_favorite")) { is_favorite = node.get_object ().get_boolean_member ("is_favorite"); } if (!node.get_object ().get_null_member ("child_order")) { child_order = (int32) node.get_object ().get_int_member ("child_order"); } if (!node.get_object ().get_null_member ("parent_id")) { parent_id = node.get_object ().get_string_member ("parent_id"); } else { parent_id = ""; } if (node.get_object ().has_member ("team_inbox") && !node.get_object ().get_null_member ("team_inbox")) { team_inbox = node.get_object ().get_boolean_member ("team_inbox"); } if (node.get_object ().has_member ("inbox_project") && !node.get_object ().get_null_member ("inbox_project")) { inbox_project = node.get_object ().get_boolean_member ("inbox_project"); } shared = node.get_object ().get_boolean_member ("shared"); view_style = node.get_object ().get_string_member ("view_style") == "board" ? ProjectViewStyle.BOARD : ProjectViewStyle.LIST; } public void update_from_google_tasklist_json (Json.Node node) { name = node.get_object ().get_string_member ("title"); } public void update_local () { Services.Store.instance ().update_project (this); } public void update (bool use_timeout = true, bool show_loading = true) { if (update_timeout_id != 0) { GLib.Source.remove (update_timeout_id); } uint timeout = Constants.UPDATE_TIMEOUT; if (use_timeout) { timeout = 0; } update_timeout_id = Timeout.add (timeout, () => { update_timeout_id = 0; if (backend_type == SourceType.LOCAL) { Services.Store.instance ().update_project (this); } else if (backend_type == SourceType.TODOIST) { if (show_loading) { loading = true; } Services.Todoist.get_default ().update.begin (this, (obj, res) => { Services.Todoist.get_default ().update.end (res); Services.Store.instance ().update_project (this); loading = false; }); } else if (backend_type == SourceType.CALDAV) { if (show_loading) { loading = true; } var caldav_client = Services.CalDAV.Core.get_default ().get_client (source); caldav_client.update_project.begin (this, (obj, res) => { caldav_client.update_project.end (res); Services.Store.instance ().update_project (this); loading = false; }); } return GLib.Source.REMOVE; }); } public Objects.Project ? add_subproject_if_not_exists (Objects.Project new_project) { Objects.Project ? return_value = null; lock (subprojects) { return_value = get_subproject (new_project.id); if (return_value == null) { new_project.set_parent (this); Services.Store.instance ().insert_project (new_project); return_value = new_project; } return return_value; } } public Objects.Project ? get_subproject (string id) { Objects.Project ? return_value = null; lock (_subprojects) { foreach (var project in subprojects) { if (project.id == id) { return_value = project; break; } } } return return_value; } public void set_parent (Objects.Project project) { this._parent = project; } public Objects.Section add_section_if_not_exists (Objects.Section new_section) { Objects.Section ? return_value = null; lock (_sections) { return_value = get_section (new_section.id); if (return_value == null) { new_section.set_project (this); new_section.section_order = new_section.project.sections.size; add_section (new_section); Services.Store.instance ().insert_section (new_section); return_value = new_section; } return return_value; } } public Objects.Section ? get_section (string id) { Objects.Section ? return_value = null; lock (_sections) { foreach (var section in sections) { if (section.id == id) { return_value = section; break; } } } return return_value; } public void add_section (Objects.Section section) { this._sections.add (section); section.deleted.connect (() => { _sections.remove (section); }); } public void remove_section (Objects.Section section) { if (_sections != null) { _sections.remove (section); } } public void add_items_batched (Gee.ArrayList items) { var related_items = new Gee.ArrayList (); foreach (var item in items) { string ? parent_id = Util.find_string_value ("RELATED-TO", item.calendar_data); if (parent_id != null && parent_id != "") { Objects.Item ? parent_item = Services.Store.instance ().get_item (parent_id); if (parent_item != null) { parent_item.add_item_if_not_exists (item); related_items.add (item); } } } foreach (var item in related_items) { items.remove (item); } if (!Services.Store.instance ().insert_items_transaction (items)) { error ("Failed to insert items in transaction"); } } public Objects.Item add_item_if_not_exists (Objects.Item new_item, bool insert = true) { Objects.Item ? return_value = null; lock (_items) { return_value = get_item (new_item.id); if (return_value == null) { new_item.set_project (this); add_item (new_item); Services.Store.instance ().insert_item (new_item, insert); return_value = new_item; } return return_value; } } public void add_item (Objects.Item item) { _items.add (item); item_added (item); } public Objects.Item ? get_item (string id) { Objects.Item ? return_value = null; lock (_items) { foreach (var item in items) { if (item.id == id) { return_value = item; break; } } } return return_value; } public override string get_add_json (string temp_id, string uuid) { return get_update_json (uuid, temp_id); } public override string get_update_json (string uuid, string ? temp_id = null) { var builder = new Json.Builder (); builder.begin_object (); builder.set_member_name ("commands"); builder.begin_array (); builder.begin_object (); // Set type builder.set_member_name ("type"); builder.add_string_value (temp_id == null ? "project_update" : "project_add"); builder.set_member_name ("uuid"); builder.add_string_value (uuid); if (temp_id != null) { builder.set_member_name ("temp_id"); builder.add_string_value (temp_id); } builder.set_member_name ("args"); builder.begin_object (); if (temp_id == null) { builder.set_member_name ("id"); builder.add_string_value (id); } builder.set_member_name ("name"); builder.add_string_value (name); builder.set_member_name ("color"); builder.add_string_value (color); builder.set_member_name ("is_collapsed"); builder.add_boolean_value (collapsed); builder.set_member_name ("is_favorite"); builder.add_boolean_value (is_favorite); if (parent_id != "") { builder.set_member_name ("parent_id"); builder.add_string_value (parent_id); } else { builder.set_member_name ("parent_id"); builder.add_null_value (); } if (description != "") { builder.set_member_name ("description"); builder.add_string_value (description); } builder.end_object (); builder.end_object (); builder.end_array (); builder.end_object (); Json.Generator generator = new Json.Generator (); Json.Node root = builder.get_root (); generator.set_root (root); return generator.to_data (null); } public override string to_json () { var builder = new Json.Builder (); builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (id); builder.set_member_name ("name"); builder.add_string_value (Util.get_default ().get_encode_text (name)); builder.set_member_name ("color"); builder.add_string_value (color); builder.set_member_name ("collapsed"); builder.add_boolean_value (collapsed); builder.set_member_name ("is_favorite"); builder.add_boolean_value (is_favorite); builder.end_object (); Json.Generator generator = new Json.Generator (); Json.Node root = builder.get_root (); generator.set_root (root); return generator.to_data (null); } public override string get_move_json (string uuid, string new_parent_id) { var builder = new Json.Builder (); builder.begin_array (); builder.begin_object (); // Set type builder.set_member_name ("type"); builder.add_string_value ("project_move"); builder.set_member_name ("uuid"); builder.add_string_value (uuid); builder.set_member_name ("args"); builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (id); if (new_parent_id != "") { builder.set_member_name ("parent_id"); builder.add_string_value (new_parent_id); } else { builder.set_member_name ("parent_id"); builder.add_null_value (); } builder.end_object (); builder.end_object (); builder.end_array (); Json.Generator generator = new Json.Generator (); Json.Node root = builder.get_root (); generator.set_root (root); return generator.to_data (null); } public string to_string () { return """ _________________________________ ID: %s NAME: %s DESCRIPTION: %s COLOR: %s BACKEND TYPE: %s INBOX: %s TEAM INBOX: %s CHILD ORDER: %i DELETED: %s ARCHIVED: %s FAVORITE: %s SHARED: %s VIEW: %s SHOW COMPLETED: %s SORT ORDER: %i COLLAPSED: %s PARENT ID: %s SOURCE ID: %s Calendar URL: %s VIEW_ID: %s --------------------------------- """.printf ( id, name, description, color, backend_type.to_string (), inbox_project.to_string (), team_inbox.to_string (), child_order, is_deleted.to_string (), is_archived.to_string (), is_favorite.to_string (), shared.to_string (), view_style.to_string (), show_completed.to_string (), sort_order, collapsed.to_string (), parent_id.to_string (), source_id, calendar_url, view_id ); } public override void count_update () { if (freeze_update) { return; } var project_items = Services.Store.instance ().get_items_by_project (this); int pending_tasks = 0; int items_total = 0; int items_checked = 0; foreach (Objects.Item item in project_items) { bool archived = item.was_archived (); if (!item.checked && !archived) { pending_tasks++; } if (!is_archived && archived) { continue; } items_total++; if (item.checked) { items_checked++; } } _item_count = pending_tasks; _percentage = items_total == 0 ? 0.0 : (double) items_checked / (double) items_total; count_updated (); } public override int update_count () { if (_item_count == null) { count_update (); } return _item_count ?? 0; } public override double update_percentage () { if (_percentage == null) { count_update (); } return _percentage ?? 0.0; } public void share_markdown () { Gdk.Clipboard clipboard = Gdk.Display.get_default ().get_clipboard (); clipboard.set_text (to_markdown ()); Services.EventBus.get_default ().send_toast ( Util.get_default ().create_toast (_("The project was copied to the Clipboard."), 0) ); } public void share_mail () { string uri = ""; uri += "mailto:?subject=%s&body=%s".printf (name, to_markdown ()); try { AppInfo.launch_default_for_uri (uri, null); } catch (Error e) { warning ("%s\n", e.message); } } private string to_markdown () { string text = ""; text += "## %s\n".printf (name); foreach (Objects.Item item in items) { text += item.to_markdown (); } foreach (Objects.Section section in sections) { text += "\n"; text += "### %s\n".printf (section.name); foreach (Objects.Item item in section.items) { text += item.to_markdown (); } } return text; } public void delete_project (Gtk.Window window) { var dialog = new Adw.AlertDialog ( _("Delete Project %s?".printf (name)), _("This can not be undone") ); dialog.add_response ("cancel", _("Cancel")); dialog.add_response ("delete", _("Delete")); dialog.close_response = "cancel"; dialog.set_response_appearance ("delete", Adw.ResponseAppearance.DESTRUCTIVE); dialog.present (window); dialog.response.connect ((response) => { if (response == "delete") { handle_project_deletion (); } }); } private void handle_project_deletion () { loading = true; if (source_type == SourceType.LOCAL) { Services.Store.instance ().delete_project.begin (this); return; } if (source_type == SourceType.TODOIST) { delete_from_todoist (); } else if (source_type == SourceType.CALDAV) { delete_from_caldav (); } } private void delete_from_todoist () { Services.Todoist.get_default ().delete.begin (this, (obj, res) => { handle_remote_delete_response (Services.Todoist.get_default ().delete.end (res)); }); } private void delete_from_caldav () { var caldav_client = Services.CalDAV.Core.get_default ().get_client (source); caldav_client.delete_project.begin (this, (obj, res) => { handle_remote_delete_response (caldav_client.delete_project.end (res)); }); } private void handle_remote_delete_response (HttpResponse response) { loading = false; if (response.status) { Services.Store.instance ().delete_project.begin (this); } else { Services.EventBus.get_default ().send_error_toast (response.error_code, response.error); } } public void archive_project (Gtk.Window window) { var dialog = new Adw.AlertDialog ( _("Archive?"), _("This will archive %s and all its tasks.".printf (name)) ); dialog.add_response ("cancel", _("Cancel")); dialog.add_response ("archive", _("Archive")); dialog.close_response = "cancel"; dialog.set_response_appearance ("archive", Adw.ResponseAppearance.DESTRUCTIVE); dialog.present (window); dialog.response.connect ((response) => { if (response == "archive") { is_archived = true; Services.Store.instance ().archive_project (this); } }); } public void unarchive_project () { is_archived = false; Services.Store.instance ().archive_project (this); } public Objects.Project duplicate () { var new_project = new Objects.Project (); new_project.name = name; new_project.due_date = due_date; new_project.color = color; new_project.emoji = emoji; new_project.description = description; new_project.icon_style = icon_style; new_project.backend_type = backend_type; new_project.source_id = source_id; return new_project; } } alainm23-planify-69962f8/core/Objects/Promise.vala000066400000000000000000000004301517337276100216740ustar00rootroot00000000000000public class Services.Promise: Object { public signal void resolved (T value); public signal void rejected (string error); public void resolve (T result) { resolved (result); } public void reject (string error) { rejected (error); } } alainm23-planify-69962f8/core/Objects/Queue.vala000066400000000000000000000023471517337276100213530ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Queue : GLib.Object { public string uuid { get; set; default = ""; } public string object_id { get; set; default = ""; } public string temp_id { get; set; default = ""; } public string query { get; set; default = ""; } public string args { get; set; default = ""; } public string date_added { get; set; default = new GLib.DateTime.now_local ().to_string (); } } alainm23-planify-69962f8/core/Objects/Release.vala000066400000000000000000000037121517337276100216440ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Release : GLib.Object { public string release_type { get; set; } public string version { get; set; } public int64 timestamp { get; set; } public string description { get; set; } public Release.from_json (Json.Object object) { release_type = object.get_string_member ("type"); version = object.get_string_member ("version"); timestamp = int64.parse (object.get_string_member ("timestamp")); if (object.has_member ("description")) { description = object.get_string_member ("description"); } else { description = ""; } } public string? get_release_message () { if (description == null || description == "") { return null; } int start = description.index_of ("

"); if (start == -1) { return null; } start += 3; int end = description.index_of ("

", start); if (end == -1) { return null; } string message = description.substring (start, end - start).strip (); return message != "" ? message : null; } } alainm23-planify-69962f8/core/Objects/Reminder.vala000066400000000000000000000131711517337276100220310ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Reminder : Objects.BaseObject { public int64 notify_uid { get; set; default = 0; } public string item_id { get; set; default = ""; } public string service { get; set; default = ""; } public Objects.DueDate due { get; set; default = new Objects.DueDate (); } public int mm_offset { get; set; default = 0; } public int is_deleted { get; set; default = 0; } public ReminderType reminder_type { get; set; default = ReminderType.ABSOLUTE; } Objects.Item ? _item; public Objects.Item item { get { _item = Services.Store.instance ().get_item (item_id); return _item; } set { _item = value; } } GLib.DateTime _datetime; public GLib.DateTime datetime { get { if (reminder_type == ReminderType.ABSOLUTE) { _datetime = due.datetime; } else { _datetime = item.due.datetime.add_minutes (mm_offset * -1); } return _datetime; } } string _relative_text; public string relative_text { get { _relative_text = ""; if (reminder_type == ReminderType.ABSOLUTE) { _relative_text = Utils.Datetime.get_relative_date_from_date (due.datetime); } else { _relative_text = Util.get_reminders_mm_offset_text (mm_offset); } return _relative_text; } } public Reminder.from_json (Json.Node node) { id = node.get_object ().get_string_member ("id"); item_id = node.get_object ().get_string_member ("item_id"); reminder_type = node.get_object ().get_string_member ("type") == "absolute" ? ReminderType.ABSOLUTE : ReminderType.RELATIVE; mm_offset = (int32) node.get_object ().get_int_member ("item_id"); if (reminder_type == ReminderType.ABSOLUTE) { due.update_from_todoist_json (node.get_object ().get_object_member ("due")); } } construct { deleted.connect (() => { Services.Store.instance ().reminder_deleted (this); }); } public override string get_add_json (string temp_id, string uuid) { return get_update_json (uuid, temp_id); } public override string get_update_json (string uuid, string ? temp_id = null) { var builder = new Json.Builder (); builder.begin_object (); builder.set_member_name ("commands"); builder.begin_array (); builder.begin_object (); // Set type builder.set_member_name ("type"); builder.add_string_value (temp_id == null ? "reminder_update" : "reminder_add"); builder.set_member_name ("uuid"); builder.add_string_value (uuid); if (temp_id != null) { builder.set_member_name ("temp_id"); builder.add_string_value (temp_id); } builder.set_member_name ("args"); builder.begin_object (); if (temp_id == null) { builder.set_member_name ("id"); builder.add_string_value (id); } builder.set_member_name ("item_id"); builder.add_string_value (item_id); builder.set_member_name ("type"); builder.add_string_value (reminder_type.to_string ()); builder.set_member_name ("minute_offset"); builder.add_int_value (mm_offset); if (reminder_type == ReminderType.ABSOLUTE) { builder.set_member_name ("due"); builder.begin_object (); builder.set_member_name ("date"); builder.add_string_value (due.date); builder.end_object (); } builder.end_object (); builder.end_object (); builder.end_array (); builder.end_object (); Json.Generator generator = new Json.Generator (); Json.Node root = builder.get_root (); generator.set_root (root); return generator.to_data (null); } public void delete () { if (item.project.source_type == SourceType.TODOIST) { loading = true; Services.Todoist.get_default ().delete.begin (this, (obj, res) => { if (Services.Todoist.get_default ().delete.end (res).status) { Services.Store.instance ().delete_reminder (this); loading = false; } }); } else { Services.Store.instance ().delete_reminder (this); loading = false; } } public Objects.Reminder duplicate () { var new_reminder = new Objects.Reminder (); new_reminder.notify_uid = notify_uid; new_reminder.service = service; new_reminder.due = due; new_reminder.mm_offset = mm_offset; new_reminder.mm_offset = mm_offset; return new_reminder; } } alainm23-planify-69962f8/core/Objects/Section.vala000066400000000000000000000333621517337276100216740ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Section : Objects.BaseObject { public string project_id { get; set; default = ""; } public string archived_at { get; set; default = ""; } public string added_at { get; set; default = new GLib.DateTime.now_local ().to_string (); } public int section_order { get; set; default = 0; } public bool collapsed { get; set; default = true; } public bool is_deleted { get; set; default = false; } public bool is_archived { get; set; default = false; } public string description { get; set; default = ""; } public bool hidded { get; set; default = false; } // Tmp public bool activate_name_editable { get; set; default = false; } string _short_name; public string short_name { get { _short_name = Util.get_default ().get_short_name (name); return _short_name; } } Objects.Project ? _project; public Objects.Project project { get { _project = Services.Store.instance ().get_project (project_id); return _project; } } Gee.ArrayList _items; public Gee.ArrayList items { get { _items = Services.Store.instance ().get_items_by_baseobject (this); _items.sort ((a, b) => { if (a.child_order > b.child_order) { return 1; } if (a.child_order == b.child_order) { return 0; } return -1; }); return _items; } } int ? _section_count = null; public int section_count { get { if (_section_count == null) { _section_count = update_section_count (); } return _section_count; } set { _section_count = value; } } public signal void section_count_updated (); public signal void item_added (Objects.Item item); public signal void item_deleted (Objects.Item item); construct { Services.EventBus.get_default ().checked_toggled.connect ((item) => { if (item.section_id == id) { update_count (); } }); item_deleted.connect ((item) => { update_count (); }); item_added.connect ((item) => { update_count (); }); Services.EventBus.get_default ().item_moved.connect ((item, old_project_id, old_section_id) => { if (item.project_id == project_id) { update_count (); } }); Services.Store.instance ().item_deleted.connect ((item) => { if (item.project_id == project_id) { update_count (); } }); Services.Store.instance ().item_added.connect ((item) => { if (item.project_id == project_id) { update_count (); } }); Services.Store.instance ().item_moved.connect ((item, old_project_id, old_section_id, old_parent_id) => { if (item.project_id == project_id) { update_count (); } }); } public void update_count () { _section_count = update_section_count (); section_count_updated (); } public Section.from_json (Json.Node node) { id = node.get_object ().get_string_member ("id"); update_from_json (node); } public Section.from_import_json (Json.Node node) { id = node.get_object ().get_string_member ("id"); name = node.get_object ().get_string_member ("name"); archived_at = node.get_object ().get_string_member ("archived_at"); added_at = node.get_object ().get_string_member ("added_at"); project_id = node.get_object ().get_string_member ("project_id"); section_order = (int32) node.get_object ().get_int_member ("section_order"); collapsed = node.get_object ().get_boolean_member ("is_collapsed"); is_deleted = node.get_object ().get_boolean_member ("is_deleted"); is_archived = node.get_object ().get_boolean_member ("is_archived"); } public void update_from_json (Json.Node node) { project_id = node.get_object ().get_string_member ("project_id"); name = node.get_object ().get_string_member ("name"); added_at = node.get_object ().get_string_member ("added_at"); section_order = (int32) node.get_object ().get_int_member ("section_order"); is_deleted = node.get_object ().get_boolean_member ("is_deleted"); is_archived = node.get_object ().get_boolean_member ("is_archived"); collapsed = node.get_object ().get_boolean_member ("is_collapsed"); if (!node.get_object ().get_null_member ("archived_at")) { archived_at = node.get_object ().get_string_member ("archived_at"); } } public void set_project (Objects.Project project) { this._project = project; } public Objects.Item add_item_if_not_exists (Objects.Item new_item, bool insert = true) { Objects.Item ? return_value = null; lock (_items) { return_value = get_item (new_item.id); if (return_value == null) { new_item.set_section (this); add_item (new_item); Services.Store.instance ().insert_item (new_item, insert); return_value = new_item; } return return_value; } } public Objects.Item ? get_item (string id) { Objects.Item ? return_value = null; lock (_items) { foreach (var item in items) { if (item.id == id) { return_value = item; break; } } } return return_value; } public void add_item (Objects.Item item) { this._items.add (item); } public void update (bool cloud = true) { if (update_timeout_id != 0) { GLib.Source.remove (update_timeout_id); } update_timeout_id = Timeout.add (Constants.UPDATE_TIMEOUT, () => { update_timeout_id = 0; Services.Store.instance ().update_section (this); if (project.source_type == SourceType.TODOIST && cloud) { Services.Todoist.get_default ().update.begin (this, (obj, res) => { Services.Todoist.get_default ().update.end (res); }); } return GLib.Source.REMOVE; }); } public void update_local () { Services.Store.instance ().update_section (this); } public override string get_update_json (string uuid, string ? temp_id = null) { var builder = new Json.Builder (); builder.begin_object (); builder.set_member_name ("commands"); builder.begin_array (); builder.begin_object (); // Set type builder.set_member_name ("type"); builder.add_string_value (temp_id == null ? "section_update" : "section_add"); builder.set_member_name ("uuid"); builder.add_string_value (uuid); if (temp_id != null) { builder.set_member_name ("temp_id"); builder.add_string_value (temp_id); } builder.set_member_name ("args"); builder.begin_object (); if (temp_id == null) { builder.set_member_name ("id"); builder.add_string_value (id); } if (temp_id != null) { builder.set_member_name ("project_id"); builder.add_string_value (project_id); } builder.set_member_name ("name"); builder.add_string_value (Util.get_default ().get_encode_text (name)); builder.end_object (); builder.end_object (); builder.end_array (); builder.end_object (); Json.Generator generator = new Json.Generator (); Json.Node root = builder.get_root (); generator.set_root (root); return generator.to_data (null); } public override string get_add_json (string temp_id, string uuid) { return get_update_json (uuid, temp_id); } public override string to_json () { var builder = new Json.Builder (); builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (id); builder.set_member_name ("project_id"); if (Services.Database.get_default ().curTempIds_exists (project_id)) { builder.add_string_value (Services.Database.get_default ().get_temp_id (project_id)); } else { builder.add_string_value (project_id); } builder.set_member_name ("name"); builder.add_string_value (Util.get_default ().get_encode_text (name)); builder.end_object (); Json.Generator generator = new Json.Generator (); Json.Node root = builder.get_root (); generator.set_root (root); return generator.to_data (null); } public override string get_move_json (string uuid, string new_project_id) { var builder = new Json.Builder (); builder.begin_object (); builder.set_member_name ("commands"); builder.begin_array (); builder.begin_object (); // Set type builder.set_member_name ("type"); builder.add_string_value ("section_move"); builder.set_member_name ("uuid"); builder.add_string_value (uuid); builder.set_member_name ("args"); builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (id); builder.set_member_name ("project_id"); builder.add_string_value (new_project_id); builder.end_object (); builder.end_object (); builder.end_array (); builder.end_object (); Json.Generator generator = new Json.Generator (); Json.Node root = builder.get_root (); generator.set_root (root); return generator.to_data (null); } private int update_section_count () { int pending_tasks = 0; var items = id == "" ? Services.Store.instance ().get_items_by_baseobject (project) : Services.Store.instance ().get_items_by_baseobject (this); foreach (Objects.Item item in items) { if (!item.checked && !item.was_archived ()) { pending_tasks++; pending_tasks += get_subitem_size (item); } } return pending_tasks; } private int get_subitem_size (Objects.Item item) { int size = item.items_uncomplete.size; if (size <= 0) { return 0; } int count = size; foreach (Objects.Item subitem in item.items_uncomplete) { count += get_subitem_size (subitem); } return count; } public Objects.Section duplicate () { var new_section = new Objects.Section (); new_section.name = name; new_section.color = color; new_section.description = description; return new_section; } public void delete_section (Gtk.Window window) { var dialog = new Adw.AlertDialog ( _ ("Delete Section %s".printf (name)), _ ("This can not be undone") ); dialog.add_response ("cancel", _ ("Cancel")); dialog.add_response ("delete", _ ("Delete")); dialog.set_response_appearance ("delete", Adw.ResponseAppearance.DESTRUCTIVE); dialog.present (window); dialog.response.connect ((response) => { if (response == "delete") { loading = true; if (project.source_type == SourceType.TODOIST) { Services.Todoist.get_default ().delete.begin (this, (obj, res) => { Services.Todoist.get_default ().delete.end (res); Services.Store.instance ().delete_section (this); }); } else { Services.Store.instance ().delete_section (this); } } }); } public void archive_section (Gtk.Window window) { var dialog = new Adw.AlertDialog ( _ ("Archive?"), _ ("This will archive %s and all its tasks.".printf (name)) ); dialog.add_response ("cancel", _ ("Cancel")); dialog.add_response ("archive", _ ("Archive")); dialog.close_response = "cancel"; dialog.set_response_appearance ("archive", Adw.ResponseAppearance.DESTRUCTIVE); dialog.present (window); dialog.response.connect ((response) => { if (response == "archive") { is_archived = true; Services.Store.instance ().archive_section (this); } }); } public void unarchive_section () { is_archived = false; Services.Store.instance ().archive_section (this); } public bool was_archived () { if (project.is_archived) { return true; } return is_archived; } } alainm23-planify-69962f8/core/Objects/Source.vala000066400000000000000000000347771517337276100215430ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Source : Objects.BaseObject { public SourceType source_type { get; set; default = SourceType.NONE; } public string added_at { get; set; default = new GLib.DateTime.now_local ().to_string (); } public string updated_at { get; set; default = ""; } public bool is_visible { get; set; default = true; } public int child_order { get; set; default = 0; } public bool sync_server { get; set; default = false; } public string last_sync { get; set; default = ""; } public Objects.SourceData data { get; set; } public string display_name { get; set; default = ""; } public SyncStatus? sync_status { get; set; default = null; } Objects.SourceTodoistData _todoist_data; public Objects.SourceTodoistData todoist_data { get { _todoist_data = data as Objects.SourceTodoistData; return _todoist_data; } } Objects.SourceCalDAVData _caldav_data; public Objects.SourceCalDAVData caldav_data { get { _caldav_data = data as Objects.SourceCalDAVData; return _caldav_data; } } public string header_text { get { return display_name; } } string _subheader_text; public string subheader_text { get { if (source_type == SourceType.TODOIST) { return _("Todoist"); } if (source_type == SourceType.CALDAV) { _subheader_text = caldav_data.caldav_type.title (); return _subheader_text; } return ""; } } public string avatar_path { get { return todoist_data.user_image_id; } } public string user_displayname { get { if (source_type == SourceType.TODOIST) { return todoist_data.user_name; } if (source_type == SourceType.CALDAV) { return caldav_data.user_displayname; } return ""; } } public string user_email { get { if (source_type == SourceType.TODOIST) { return todoist_data.user_email; } if (source_type == SourceType.CALDAV) { return caldav_data.user_email; } return ""; } } private uint server_timeout = 0; public signal void sync_started (); public signal void sync_finished (); public signal void sync_failed (SyncStatus? status = null); public Source.from_import_json (Json.Node node) { id = node.get_object ().get_string_member ("id"); source_type = SourceType.parse (node.get_object ().get_string_member ("source_type")); added_at = node.get_object ().get_string_member ("added_at"); updated_at = node.get_object ().get_string_member ("updated_at"); is_visible = node.get_object ().get_boolean_member ("is_visible"); child_order = (int32) node.get_object ().get_int_member ("is_visible"); sync_server = node.get_object ().get_boolean_member ("sync_server"); last_sync = node.get_object ().get_string_member ("last_sync"); display_name = node.get_object ().get_string_member ("display_name"); if (source_type == SourceType.TODOIST) { data = new Objects.SourceTodoistData.from_json (node.get_object ().get_string_member ("data")); } else if (source_type == SourceType.CALDAV) { data = new Objects.SourceCalDAVData.from_json (node.get_object ().get_string_member ("data")); } } public void run_server () { if (source_type == SourceType.LOCAL) { return; } Services.LogService.get_default ().info ("Source", "Starting sync server for source: %s".printf (display_name)); _run_server (); server_timeout = Timeout.add_seconds (15 * 60, () => { if (sync_server) { Services.LogService.get_default ().info ("Source", "Periodic sync for source: %s".printf (display_name)); _run_server (); return true; } Services.LogService.get_default ().info ("Source", "Sync server stopped for source: %s".printf (display_name)); return false; }); } private void _run_server () { if (!is_visible) { Services.LogService.get_default ().info ("Source", "Skipping sync for disabled source: %s".printf (display_name)); return; } if (source_type == SourceType.TODOIST) { Services.Todoist.get_default ().sync.begin (this); } else if (source_type == SourceType.CALDAV) { Services.CalDAV.Core.get_default ().sync.begin (this); } } public void remove_sync_server () { // Remove server_timeout GLib.Source.remove (server_timeout); server_timeout = 0; } public void save () { updated_at = new GLib.DateTime.now_local ().to_string (); Services.Store.instance ().update_source (this); } public async void delete_source () { // Remove server_timeout remove_sync_server (); // Remove DB yield Services.Store.instance ().delete_source (this); } public string to_string () { return """ _________________________________ ID: %s DATA: %s TYPE: %s SYNC_SERVER: %s DISPLAY_NAME: %s UPDATED_AT: %s IS_VISIBLE: %s CHILD_ORDER: %d LAST_SYNC: %s --------------------------------- """.printf ( id, data.to_json (), source_type.to_string (), sync_server.to_string (), display_name, updated_at, is_visible.to_string (), child_order, last_sync ); } public bool needs_migration () { if (source_type != SourceType.TODOIST) { return false; } return todoist_data.api_version == "" || todoist_data.api_version == "v9"; } } public class Objects.SourceData : GLib.Object { Json.Builder _builder; public Json.Builder builder { get { if (_builder == null) { _builder = new Json.Builder (); } return _builder; } } public virtual string to_json () { return ""; } } public class Objects.SourceTodoistData : Objects.SourceData { public string access_token { get; set; default = ""; } public string sync_token { get; set; default = ""; } public string user_id { get; set; default = ""; } public string user_image_id { get; set; default = ""; } public string user_email { get; set; default = ""; } public string user_name { get; set; default = ""; } public string user_avatar { get; set; default = ""; } public bool user_is_premium { get; set; default = false; } public string api_version { get; set; default = "v9"; } public SourceTodoistData.from_json (string json) { Json.Parser parser = new Json.Parser (); try { parser.load_from_data (json, -1); var object = parser.get_root ().get_object (); if (object.has_member ("access_token")) { access_token = object.get_string_member ("access_token"); } if (object.has_member ("sync_token")) { sync_token = object.get_string_member ("sync_token"); } if (object.has_member ("user_id")) { user_id = object.get_string_member ("user_id"); } if (object.has_member ("user_image_id")) { user_image_id = object.get_string_member ("user_image_id"); } if (object.has_member ("user_email")) { user_email = object.get_string_member ("user_email"); } if (object.has_member ("user_name")) { user_name = object.get_string_member ("user_name"); } if (object.has_member ("user_avatar")) { user_avatar = object.get_string_member ("user_avatar"); } if (object.has_member ("user_is_premium")) { user_is_premium = object.get_boolean_member ("user_is_premium"); } if (object.has_member ("api_version")) { api_version = object.get_string_member ("api_version"); } } catch (Error e) { debug (e.message); } } public override string to_json () { builder.reset (); builder.begin_object (); builder.set_member_name ("access_token"); builder.add_string_value (access_token); builder.set_member_name ("sync_token"); builder.add_string_value (sync_token); builder.set_member_name ("user_id"); builder.add_string_value (user_id); builder.set_member_name ("user_image_id"); builder.add_string_value (user_image_id); builder.set_member_name ("user_email"); builder.add_string_value (user_email); builder.set_member_name ("user_name"); builder.add_string_value (user_name); builder.set_member_name ("user_avatar"); builder.add_string_value (user_avatar); builder.set_member_name ("user_is_premium"); builder.add_boolean_value (user_is_premium); builder.set_member_name ("api_version"); builder.add_string_value (api_version); builder.end_object (); Json.Generator generator = new Json.Generator (); Json.Node root = builder.get_root (); generator.set_root (root); return generator.to_data (null); } } public class Objects.SourceCalDAVData : Objects.SourceData { string _server_url; public string server_url { set { _server_url = value; } get { if (!_server_url.has_suffix ("/")) { _server_url += "/"; } return _server_url; } } public string username { get; set; default = ""; } public string password { get; set; default = ""; } public string user_displayname { get; set; default = ""; } public string user_email { get; set; default = ""; } string _calendar_home_url; public string calendar_home_url { set { _calendar_home_url = value; } get { if (_calendar_home_url == null || _calendar_home_url == "") { _calendar_home_url = Path.build_filename (server_url, "calendars", username); if (!_calendar_home_url.has_suffix ("/")) { _calendar_home_url += "/"; } } return _calendar_home_url; } } public CalDAVType caldav_type { get; set; default = CalDAVType.GENERIC; } public bool ignore_ssl { get; set; default = false; } public SourceCalDAVData.from_json (string json) { Json.Parser parser = new Json.Parser (); try { parser.load_from_data (json, -1); var object = parser.get_root ().get_object (); if (object.has_member ("server_url")) { server_url = object.get_string_member ("server_url"); } if (object.has_member ("username")) { username = object.get_string_member ("username"); } if (object.has_member ("password")) { password = object.get_string_member ("password"); } if (object.has_member ("user_displayname")) { user_displayname = object.get_string_member ("user_displayname"); } if (object.has_member ("user_email")) { user_email = object.get_string_member ("user_email"); } if (object.has_member ("calendar_home_url")) { calendar_home_url = object.get_string_member ("calendar_home_url"); } if (object.has_member ("caldav_type")) { caldav_type = CalDAVType.parse (object.get_string_member ("caldav_type")); } if (object.has_member ("ignore_ssl")) { ignore_ssl = object.get_boolean_member ("ignore_ssl"); } if (object.has_member ("credentials")) { var decoded = (string) Base64.decode (object.get_string_member ("credentials")); var parts = decoded.split (":", 2); if (parts.length == 2) { password = parts[1]; } } } catch (Error e) { debug (e.message); } } public override string to_json () { builder.reset (); builder.begin_object (); builder.set_member_name ("server_url"); builder.add_string_value (server_url); builder.set_member_name ("username"); builder.add_string_value (username); builder.set_member_name ("password"); builder.add_string_value (password); builder.set_member_name ("caldav_type"); builder.add_string_value (caldav_type.to_string ()); builder.set_member_name ("user_displayname"); builder.add_string_value (user_displayname); builder.set_member_name ("user_email"); builder.add_string_value (user_email); builder.set_member_name ("calendar_home_url"); builder.add_string_value (calendar_home_url); builder.set_member_name ("ignore_ssl"); builder.add_boolean_value (ignore_ssl); builder.end_object (); Json.Generator generator = new Json.Generator (); Json.Node root = builder.get_root (); generator.set_root (root); return generator.to_data (null); } } alainm23-planify-69962f8/core/Objects/TranslationMetric.vala000066400000000000000000000021221517337276100237200ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.TranslationMetric : GLib.Object { public string code { get; set; } public string language { get; set; } public int total_strings { get; set; } public int translated_strings { get; set; } public double translated_percent { get; set; } }alainm23-planify-69962f8/core/QuickAddCore.vala000066400000000000000000001704541517337276100212010ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Layouts.QuickAddCore : Adw.Bin { public bool is_window_quick_add { get; construct; } public Objects.Item item { get; set; } private Gtk.Entry content_entry; private Widgets.LoadingButton submit_button; private Widgets.MarkdownEditor description_textview; private Gtk.ScrolledWindow description_scrolled; private Widgets.ItemLabels item_labels; private Widgets.ProjectPicker.ProjectPickerButton project_picker_button; private Widgets.ScheduleButton schedule_button; private Widgets.PriorityButton priority_button; private Widgets.ReminderPicker.ReminderButton reminder_button; private Widgets.DeadlineButton deadline_button; private Widgets.DeadlineButton deadline_button_detail; private Widgets.LabelPicker.LabelButton label_button; private Widgets.PinButton pin_button; private Gtk.Image added_image; private Gtk.Stack main_stack; private Gtk.ToggleButton create_more_button; private Gtk.Revealer info_revealer; private Gtk.Overlay animation_overlay; private Gtk.Fixed animation_container; private Adw.HeaderBar headerbar; private Gtk.Label success_label; private Widgets.LabelPicker.LabelQuickPicker labels_quick_picker; private bool labels_popover_handling_esc = false; private bool labels_selection_in_progress = false; public signal void hide_destroy (); public signal void send_interface_id (string id); public signal void add_item_db (Objects.Item item, Gee.ArrayList reminders); public signal void error (HttpResponse response); public signal void parent_can_close (bool active); public bool ctrl_pressed { get; set; default = false; } public bool shift_pressed { get; set; default = false; } public bool labels_picker_activate_shortcut { get; set; default = false; } public bool project_picker_activate_shortcut { get; set; default = false; } public bool reminder_picker_activate_shortcut { get; set; default = false; } private bool shift_enter_used { get; set; default = false; } public enum FocusedWidget { CONTENT_ENTRY, DESCRIPTION_TEXTVIEW } public FocusedWidget current_focus { get; private set; default = FocusedWidget.CONTENT_ENTRY; } private Objects.DueDate? preserved_duedate = null; private Objects.DueDate? forced_duedate = null; private bool preserved_pinned = false; private int preserved_priority = Constants.PRIORITY_4; private Gee.HashMap? preserved_labels = null; private string preserved_deadline = ""; private bool restoring_labels = false; public const string SHORTCUTS_KEY_PROJECTS = "#"; public const string SHORTCUTS_KEY_REMINDERS = "!"; private Gee.HashMap shortcuts_regex_map = new Gee.HashMap (); private Gee.HashMap signal_map = new Gee.HashMap (); private Gtk.EventControllerKey destroy_controller; private Gtk.EventControllerKey content_controller_key; private Gtk.EventControllerKey event_controller_key; private Gtk.ShortcutController shortcut_controller; private uint date_detection_timeout_id = 0; private string last_detected_date_text = ""; private bool date_auto_detection_enabled = true; private Chrono.Chrono chrono; public int position { get; set; default = -1; } public NewTaskPosition new_task_position { get; set; default = Services.Settings.get_default ().get_new_task_position (); } public bool is_loading { set { submit_button.is_loading = value; submit_button.sensitive = !value; content_entry.sensitive = !value; description_textview.sensitive = !value; } get { return submit_button.is_loading; } } public QuickAddCore (bool is_window_quick_add = false) { Object ( is_window_quick_add: is_window_quick_add ); } ~QuickAddCore () { debug ("Destroying - Layouts.QuickAddCore\n"); } construct { chrono = new Chrono.Chrono (Util.get_user_language ()); date_auto_detection_enabled = Services.Settings.get_default ().settings.get_boolean ("smart-date-recognition"); item = new Objects.Item (); item.project_id = Services.Settings.get_default ().settings.get_string ("local-inbox-project-id"); item.priority = Util.get_default ().get_default_priority (); if (Services.Settings.get_default ().settings.get_boolean ("quick-add-save-last-project")) { var project = Services.Store.instance ().get_project (Services.Settings.get_default ().settings.get_string ("quick-add-project-selected")); if (project != null) { item.project_id = project.id; } var section = Services.Store.instance ().get_section (Services.Settings.get_default ().settings.get_string ("quick-add-section-selected")); if (section != null && section.project_id == item.project_id) { item.section_id = section.id; } } var info_button = new Gtk.MenuButton () { popover = build_tip_popover (), child = new Gtk.Image.from_icon_name ("dialog-information-symbolic") }; info_button.add_css_class ("flat"); success_label = new Gtk.Label (_("Task added successfully!")) { visible = false }; success_label.add_css_class ("font-bold"); success_label.add_css_class ("caption"); headerbar = new Adw.HeaderBar () { title_widget = success_label, hexpand = true, css_classes = { "flat" } }; headerbar.pack_end (info_button); content_entry = new Gtk.Entry () { hexpand = true, placeholder_text = _("To-do name"), has_frame = false }; labels_quick_picker = new Widgets.LabelPicker.LabelQuickPicker (); labels_quick_picker.source = item.project.source; labels_quick_picker.set_parent (content_entry); labels_quick_picker.show.connect (() => { parent_can_close (false); }); labels_quick_picker.closed.connect (() => { labels_popover_handling_esc = false; parent_can_close (true); if (labels_selection_in_progress) { Timeout.add (50, () => { labels_selection_in_progress = false; return GLib.Source.REMOVE; }); } }); labels_quick_picker.label_selected.connect ((label) => { handle_label_selection (label); }); var info_icon = new Gtk.Image.from_icon_name ("info-outline-symbolic") { css_classes = { "error" }, tooltip_text = _("This field is required") }; info_revealer = new Gtk.Revealer () { child = info_icon, transition_type = Gtk.RevealerTransitionType.SLIDE_LEFT }; var content_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { valign = Gtk.Align.CENTER, hexpand = true, margin_top = 9, margin_bottom = 9, margin_start = 12, margin_end = 12 }; content_box.append (content_entry); content_box.append (info_revealer); description_textview = new Widgets.MarkdownEditor () { margin_start = 14, margin_end = 6, margin_top = 12, placeholder_text = _("Add a description…") }; description_scrolled = new Gtk.ScrolledWindow () { hscrollbar_policy = NEVER, min_content_height = 100, propagate_natural_height = false, child = description_textview }; signal_map[description_textview.buffer.notify["cursor-position"].connect (() => { Idle.add (() => { var cursor = description_textview.buffer.get_insert (); Gtk.TextIter iter; description_textview.buffer.get_iter_at_mark (out iter, cursor); Gdk.Rectangle rect; description_textview.text_view.get_iter_location (iter, out rect); var vadj = description_scrolled.vadjustment; var cursor_y = rect.y + rect.height; var visible_height = vadj.page_size; var margin = 20; if (cursor_y > vadj.value + visible_height - margin) { vadj.value = cursor_y - visible_height + margin; } else if (rect.y < vadj.value + margin) { vadj.value = rect.y - margin; } return Source.REMOVE; }); })] = description_textview.buffer; item_labels = new Widgets.ItemLabels () { margin_start = 12, top_margin = 12, item = item }; schedule_button = new Widgets.ScheduleButton () { tooltip_markup = Util.get_default ().markup_accel_tooltip (_("Set date"), "Ctrl + d"), }; deadline_button_detail = new Widgets.DeadlineButton.with_detail () { reveal_content = false }; var dates_box = new Gtk.Box (VERTICAL, 0); dates_box.append (schedule_button); dates_box.append (deadline_button_detail); label_button = new Widgets.LabelPicker.LabelButton () { tooltip_markup = Util.get_default ().markup_accel_tooltip (_("Add Labels"), "@"), source = item.project.source }; priority_button = new Widgets.PriorityButton () { tooltip_markup = Util.get_default ().markup_accels_tooltip (_("Set The Priority"), { "p1", "p2", "p3", "p4" }), }; priority_button.update_from_item (item); reminder_button = new Widgets.ReminderPicker.ReminderButton (true) { tooltip_markup = Util.get_default ().markup_accel_tooltip (_("Add Reminders"), "!"), }; deadline_button = new Widgets.DeadlineButton (); pin_button = new Widgets.PinButton (); var action_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 12) { margin_start = 6, margin_end = 6, margin_bottom = 6, margin_top = 6 }; var action_box_right = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { hexpand = true, halign = Gtk.Align.END }; action_box_right.append (label_button); action_box_right.append (priority_button); action_box_right.append (reminder_button); action_box_right.append (deadline_button); action_box_right.append (pin_button); action_box.append (dates_box); action_box.append (action_box_right); var quick_add_content = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { margin_bottom = 12, margin_start = 12, margin_end = 12, }; quick_add_content.add_css_class ("card"); quick_add_content.add_css_class ("sidebar-card"); quick_add_content.append (content_box); quick_add_content.append (new Gtk.Separator (Gtk.Orientation.HORIZONTAL)); quick_add_content.append (description_scrolled); quick_add_content.append (item_labels); quick_add_content.append (action_box); submit_button = new Widgets.LoadingButton.with_icon ("paper-plane-symbolic") { valign = CENTER, width_request = 32, tooltip_text = _("Add Task") }; submit_button.add_css_class ("suggested-action"); submit_button.add_css_class ("padding-4"); create_more_button = new Gtk.ToggleButton () { tooltip_text = _("Keep adding"), icon_name = "arrow-turn-down-right-symbolic", valign = CENTER, active = Services.Settings.get_default ().settings.get_boolean ("quick-add-create-more") }; create_more_button.add_css_class ("flat"); create_more_button.add_css_class ("keep-adding-button"); var submit_cancel_grid = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { hexpand = true, halign = END }; submit_cancel_grid.append (create_more_button); submit_cancel_grid.append (submit_button); project_picker_button = new Widgets.ProjectPicker.ProjectPickerButton () { tooltip_markup = Util.get_default ().markup_accel_tooltip (_("Select a Project"), "#"), }; project_picker_button.project = item.project; if (item.section_id != "") { project_picker_button.section = item.section; } var footer_content = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { hexpand = true, margin_bottom = 12, margin_start = 12, margin_end = 12 }; footer_content.append (project_picker_button); footer_content.append (submit_cancel_grid); var main_content = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); main_content.append (headerbar); main_content.append (quick_add_content); main_content.append (footer_content); var warning_image = new Gtk.Image (); warning_image.gicon = new ThemedIcon ("dialog-warning"); warning_image.pixel_size = 32; var warning_label = new Gtk.Label (_("I'm sorry, Quick Add can't find any project available, try creating a project from Planify.")); warning_label.wrap = true; warning_label.max_width_chars = 42; warning_label.xalign = 0; var warning_box = new Gtk.Box (HORIZONTAL, 12) { margin_start = 12 }; warning_box.halign = Gtk.Align.CENTER; warning_box.valign = Gtk.Align.CENTER; warning_box.append (warning_image); warning_box.append (warning_label); added_image = new Gtk.Image.from_icon_name ("check-round-outline-symbolic") { pixel_size = 64 }; var added_box = new Gtk.Box (VERTICAL, 6); added_box.halign = Gtk.Align.CENTER; added_box.valign = Gtk.Align.CENTER; added_box.append (added_image); main_stack = new Gtk.Stack () { transition_type = Gtk.StackTransitionType.CROSSFADE }; main_stack.add_named (main_content, "main"); main_stack.add_named (warning_box, "warning"); main_stack.add_named (added_box, "added"); animation_container = new Gtk.Fixed () { can_target = false }; animation_overlay = new Gtk.Overlay (); animation_overlay.set_child (main_stack); animation_overlay.add_overlay (animation_container); Gtk.Widget container; if (is_window_quick_add) { container = new Gtk.WindowHandle () { child = animation_overlay }; } else { container = new Adw.Bin () { child = animation_overlay }; } var click_gesture = new Gtk.GestureClick (); click_gesture.pressed.connect ((n_press, x, y) => { if (labels_quick_picker != null && labels_quick_picker.visible) { Gtk.Allocation entry_allocation; content_entry.get_allocation (out entry_allocation); double entry_x, entry_y; if (container.translate_coordinates (content_entry, x, y, out entry_x, out entry_y)) { if (entry_x < 0 || entry_x > entry_allocation.width || entry_y < 0 || entry_y > entry_allocation.height) { labels_quick_picker.popdown (); } } } }); container.add_controller (click_gesture); child = container; Timeout.add (main_stack.transition_duration, () => { if (Services.Store.instance ().is_database_empty ()) { main_stack.visible_child_name = "warning"; } else { main_stack.visible_child_name = "main"; content_entry.grab_focus (); } return GLib.Source.REMOVE; }); signal_map[submit_button.clicked.connect (add_item)] = submit_button; signal_map[project_picker_button.project_change.connect ((project) => { bool project_change = item.project_id != project.id; item.project_id = project.id; label_button.source = project.source; labels_quick_picker.source = project.source; if (Services.Settings.get_default ().settings.get_boolean ("quick-add-save-last-project")) { Services.Settings.get_default ().settings.set_string ("quick-add-project-selected", project.id); } })] = project_picker_button; signal_map[project_picker_button.section_change.connect ((section) => { item.section_id = section == null ? "" : section.id; if (Services.Settings.get_default ().settings.get_boolean ("quick-add-save-last-project")) { Services.Settings.get_default ().settings.set_string ("quick-add-section-selected", item.section_id); } })] = project_picker_button; signal_map[project_picker_button.picker_opened.connect ((active) => { parent_can_close (!active); if (!active) { Timeout.add (250, () => { if (project_picker_activate_shortcut) { entry_focus (); } else { restore_focus (); } project_picker_activate_shortcut = false; return GLib.Source.REMOVE; }); } })] = project_picker_button; signal_map[schedule_button.duedate_changed.connect (() => { set_duedate (schedule_button.duedate); if (schedule_button.duedate.date == "" && Services.Settings.get_default ().settings.get_boolean ("smart-date-recognition")) { date_auto_detection_enabled = true; last_detected_date_text = ""; } })] = schedule_button; signal_map[schedule_button.picker_opened.connect ((active) => { parent_can_close (!active); if (!active) { Timeout.add (250, () => { restore_focus (); return GLib.Source.REMOVE; }); } })] = schedule_button; signal_map[priority_button.changed.connect ((priority) => { set_priority (priority); })] = priority_button; signal_map[priority_button.picker_opened.connect ((active) => { parent_can_close (!active); if (!active) { Timeout.add (250, () => { restore_focus (); return GLib.Source.REMOVE; }); } })] = priority_button; signal_map[label_button.labels_changed.connect ((new_labels) => { if (restoring_labels) { return; } set_labels (new_labels); })] = label_button; signal_map[label_button.picker_opened.connect ((active) => { parent_can_close (!active); if (!active) { Timeout.add (250, () => { if (labels_picker_activate_shortcut) { entry_focus (); } else { restore_focus (); } labels_picker_activate_shortcut = false; return GLib.Source.REMOVE; }); } })] = label_button; signal_map[reminder_button.picker_opened.connect ((active) => { parent_can_close (!active); if (!active) { Timeout.add (250, () => { if (reminder_picker_activate_shortcut) { entry_focus (); } else { restore_focus (); } reminder_picker_activate_shortcut = false; return GLib.Source.REMOVE; }); } })] = reminder_button; signal_map[deadline_button.date_selected.connect ((date) => { update_deadline (date); })] = deadline_button; signal_map[deadline_button.picker_opened.connect ((active) => { parent_can_close (!active); if (!active) { Timeout.add (250, () => { restore_focus (); return GLib.Source.REMOVE; }); } })] = deadline_button; signal_map[deadline_button_detail.date_selected.connect ((date) => { update_deadline (date); })] = deadline_button_detail; signal_map[deadline_button_detail.picker_opened.connect ((active) => { parent_can_close (!active); if (!active) { Timeout.add (250, () => { restore_focus (); return GLib.Source.REMOVE; }); } })] = deadline_button_detail; signal_map[content_entry.activate.connect (() => { if (labels_quick_picker != null && labels_quick_picker.visible) { return; } add_item (); })] = content_entry; signal_map[content_entry.changed.connect (() => { info_revealer.reveal_child = false; content_entry.remove_css_class ("error"); handle_priority_shortcut (content_entry.get_text ()); handle_labels_popover (content_entry.get_text ()); handle_text_trigger (SHORTCUTS_KEY_PROJECTS, content_entry.get_text ()); handle_text_trigger (SHORTCUTS_KEY_REMINDERS, content_entry.get_text ()); if (Services.Settings.get_default ().settings.get_boolean ("smart-date-recognition")) { handle_natural_date_detection (content_entry.get_text ()); } })] = content_entry; content_controller_key = new Gtk.EventControllerKey (); content_entry.add_controller (content_controller_key); signal_map[content_controller_key.key_pressed.connect ((keyval, keycode, state) => { if (keyval == Gdk.Key.Return && ctrl_pressed) { add_item (); return true; } if (keyval == Gdk.Key.Return && shift_pressed) { shift_enter_used = true; add_item (); return true; } if (labels_quick_picker != null && labels_quick_picker.visible) { if (keyval == Gdk.Key.Down || keyval == Gdk.Key.Up) { labels_quick_picker.navigate_listbox (keyval == Gdk.Key.Down); return true; } if (keyval == Gdk.Key.Return) { labels_quick_picker.activate_selected (); return true; } } return false; })] = content_controller_key; signal_map[content_controller_key.key_released.connect ((keyval, keycode, state) => { if (labels_quick_picker != null && labels_quick_picker.visible && keyval == Gdk.Key.Return) { labels_quick_picker.activate_selected (); } })] = content_controller_key; signal_map[description_textview.return_pressed.connect (() => { if (ctrl_pressed) { add_item (); } else if (shift_pressed) { shift_enter_used = true; add_item (); } })] = description_textview; var content_focus_controller = new Gtk.EventControllerFocus (); content_entry.add_controller (content_focus_controller); signal_map[content_focus_controller.enter.connect (() => { current_focus = FocusedWidget.CONTENT_ENTRY; })] = content_focus_controller; signal_map[description_textview.focus_in.connect (() => { current_focus = FocusedWidget.DESCRIPTION_TEXTVIEW; })] = description_textview; event_controller_key = new Gtk.EventControllerKey (); ((Gtk.Widget) this).add_controller (event_controller_key); signal_map[event_controller_key.key_pressed.connect ((keyval, keycode, state) => { if (keyval == Gdk.Key.Control_L || keyval == Gdk.Key.Control_R) { ctrl_pressed = true; } if (keyval == Gdk.Key.Shift_L || keyval == Gdk.Key.Shift_R) { shift_pressed = true; } return false; })] = event_controller_key; signal_map[event_controller_key.key_released.connect ((keyval, keycode, state) => { if (keyval == Gdk.Key.Control_L || keyval == Gdk.Key.Control_R) { ctrl_pressed = false; } if (keyval == Gdk.Key.Shift_L || keyval == Gdk.Key.Shift_R) { shift_pressed = false; } })] = event_controller_key; signal_map[create_more_button.toggled.connect (() => { Services.Settings.get_default ().settings.set_boolean ("quick-add-create-more", create_more_button.active); Timeout.add (250, () => { restore_focus (); return GLib.Source.REMOVE; }); })] = create_more_button; signal_map[pin_button.changed.connect (() => { set_pinned (!item.pinned); Timeout.add (250, () => { restore_focus (); return GLib.Source.REMOVE; }); })] = pin_button; signal_map[item_labels.label_clicked.connect ((label) => { var current_labels = new Gee.HashMap (); foreach (var existing_label in item.get_labels_list ()) { if (existing_label.id != label.id) { current_labels[existing_label.id] = existing_label; } } restoring_labels = true; set_labels (current_labels); var labels_list = new Gee.ArrayList (); foreach (var lbl in current_labels.values) { labels_list.add (lbl); } label_button.labels = labels_list; restoring_labels = false; })] = item_labels; var open_label_shortcut = new Gtk.Shortcut (Gtk.ShortcutTrigger.parse_string ("l"), new Gtk.CallbackAction (() => { label_button.open_picker (); return true; })); var open_reminder_shortcut = new Gtk.Shortcut (Gtk.ShortcutTrigger.parse_string ("r"), new Gtk.CallbackAction (() => { reminder_button.open_picker (); return true; })); var toggle_keep_adding_shortcut = new Gtk.Shortcut (Gtk.ShortcutTrigger.parse_string ("k"), new Gtk.CallbackAction (() => { create_more_button.active = !create_more_button.active; return true; })); var open_schedule_shortcut = new Gtk.Shortcut (Gtk.ShortcutTrigger.parse_string ("d"), new Gtk.CallbackAction (() => { schedule_button.open_picker (); return true; })); shortcut_controller = new Gtk.ShortcutController (); shortcut_controller.add_shortcut (open_label_shortcut); shortcut_controller.add_shortcut (open_reminder_shortcut); shortcut_controller.add_shortcut (toggle_keep_adding_shortcut); shortcut_controller.add_shortcut (open_schedule_shortcut); add_controller (shortcut_controller); destroy_controller = new Gtk.EventControllerKey (); add_controller (destroy_controller); signal_map[destroy_controller.key_released.connect ((keyval, keycode, state) => { if (keyval == Gdk.Key.Escape) { if (labels_quick_picker != null && labels_quick_picker.visible) { labels_popover_handling_esc = true; labels_quick_picker.popdown (); return; } if (labels_popover_handling_esc) { return; } hide_destroy (); } })] = destroy_controller; } private void add_item () { if (is_loading) { return; } info_revealer.reveal_child = false; content_entry.remove_css_class ("error"); if (content_entry.get_text ().length <= 0 && description_textview.get_text ().length <= 0) { hide_destroy (); return; } if (content_entry.get_text ().length <= 0) { Timeout.add (info_revealer.transition_duration, () => { info_revealer.reveal_child = true; content_entry.add_css_class ("error"); return GLib.Source.REMOVE; }); return; } item.content = content_entry.get_text (); item.description = description_textview.get_text (); item.child_order = generate_child_order (); if (item.project.source_type == SourceType.LOCAL) { item.id = Util.get_default ().generate_id (); _add_item (item); return; } if (item.project.source_type == SourceType.TODOIST) { is_loading = true; Services.Todoist.get_default ().add.begin (item, (obj, res) => { HttpResponse response = Services.Todoist.get_default ().add.end (res); is_loading = false; if (response.status) { item.id = response.data; _add_item (item); } else { error (response); } }); return; } if (item.project.source_type == SourceType.CALDAV) { is_loading = true; item.id = Util.get_default ().generate_id (); var caldav_client = Services.CalDAV.Core.get_default ().get_client (item.project.source); caldav_client.add_item.begin (item, false, (obj, res) => { HttpResponse response = caldav_client.add_item.end (res); is_loading = false; if (response.status) { _add_item (item); } else { error (response); } }); return; } } private void _add_item (Objects.Item item) { add_item_db (item, reminder_button.reminders ()); if (item.has_parent) { item.parent.collapsed = true; } } public void added_successfully () { if (create_more_button.active || shift_enter_used) { main_stack.visible_child_name = "main"; added_image.remove_css_class ("fancy-turn-animation"); show_success_notification (); reset_item (); content_entry.text = ""; description_textview.set_text (""); bool keep_properties = Services.Settings.get_default ().settings.get_boolean ("quick-add-keep-properties"); if (keep_properties && preserved_duedate != null) { item.due = preserved_duedate.duplicate (); schedule_button.update_from_item (item); } else if (forced_duedate != null) { item.due = forced_duedate.duplicate (); schedule_button.update_from_item (item); } else { schedule_button.reset (); } if (keep_properties && preserved_pinned) { item.pinned = preserved_pinned; pin_button.update_from_item (item); } else { pin_button.reset (); } if (keep_properties && preserved_priority != -1) { item.priority = preserved_priority; priority_button.update_from_item (item); } else { priority_button.reset (); } if (keep_properties && preserved_labels != null && preserved_labels.size > 0) { restoring_labels = true; set_labels (preserved_labels); restoring_labels = false; var labels_list = new Gee.ArrayList (); foreach (var lbl in preserved_labels.values) { labels_list.add (lbl); } label_button.labels = labels_list; } else { label_button.reset (); item_labels.reset (); } if (keep_properties && preserved_deadline != "") { item.deadline_date = preserved_deadline; deadline_button.datetime = item.deadline_datetime; deadline_button.reveal_content = !item.has_deadline; deadline_button_detail.datetime = item.deadline_datetime; deadline_button_detail.reveal_content = item.has_deadline; } else { deadline_button.datetime = null; deadline_button.reveal_content = false; deadline_button_detail.datetime = null; deadline_button_detail.reveal_content = false; } content_entry.grab_focus (); shift_enter_used = false; return; } main_stack.visible_child_name = "added"; added_image.add_css_class ("fancy-turn-animation"); Timeout.add (750, () => { hide_destroy (); return GLib.Source.REMOVE; }); } private void show_success_notification () { success_label.visible = true; success_label.opacity = 0.0; var fade_in_target = new Adw.CallbackAnimationTarget ((progress) => { success_label.opacity = progress; }); var fade_in_animation = new Adw.TimedAnimation ( success_label, 0.0, 1.0, 300, fade_in_target ); fade_in_animation.easing = Adw.Easing.EASE_OUT_CUBIC; fade_in_animation.done.connect (() => { Timeout.add (1500, () => { var fade_out_target = new Adw.CallbackAnimationTarget ((progress) => { success_label.opacity = 1.0 - progress; }); var fade_out_animation = new Adw.TimedAnimation ( success_label, 0.0, 1.0, 300, fade_out_target ); fade_out_animation.easing = Adw.Easing.EASE_IN_CUBIC; fade_out_animation.done.connect (() => { success_label.visible = false; }); fade_out_animation.play (); return GLib.Source.REMOVE; }); }); fade_in_animation.play (); } private void reset_item () { string old_project_id = item.project_id; string old_section_id = item.section_id; string old_parent_id = item.parent_id; item = new Objects.Item (); item.project_id = old_project_id; item.section_id = old_section_id; item.parent_id = old_parent_id; item_labels.item = item; label_button.source = item.project.source; labels_quick_picker.source = item.project.source; } public void update_content (string content = "") { content_entry.set_text (content); } public void set_due (GLib.DateTime ? datetime) { item.due.date = datetime == null ? "" : Utils.Datetime.get_todoist_datetime_format (datetime); if (item.due.date == "") { item.due.reset (); preserved_duedate = null; forced_duedate = null; } else { preserved_duedate = item.due.duplicate (); forced_duedate = item.due.duplicate (); } schedule_button.update_from_item (item); } public void set_duedate (Objects.DueDate duedate) { item.due = duedate; if (!item.has_due) { item.due.reset (); date_auto_detection_enabled = true; last_detected_date_text = ""; } else { preserved_duedate = item.due.duplicate (); } schedule_button.update_from_item (item); } public void set_priority (int priority) { if (item.priority == priority) { return; } item.priority = priority; preserved_priority = priority; priority_button.update_from_item (item); } public void set_pinned (bool pinned) { item.pinned = pinned; preserved_pinned = pinned; pin_button.update_from_item (item); } public void set_labels (Gee.HashMap new_labels) { bool labels_change = false; foreach (var entry in new_labels.entries) { if (item.get_label (entry.key) == null) { item.add_label_if_not_exists (entry.value); labels_change = true; } } foreach (var label in item.get_labels_list ()) { if (!new_labels.has_key (label.id)) { item.delete_item_label (label.id); labels_change = true; } } if (!restoring_labels) { preserved_labels = new Gee.HashMap (); foreach (var entry in new_labels.entries) { preserved_labels[entry.key] = entry.value; } } if (labels_change && labels_picker_activate_shortcut) { remove_entry_char ("@"); } } private void update_deadline (GLib.DateTime ? date) { item.deadline_date = date == null ? "" : date.to_string (); preserved_deadline = item.deadline_date; deadline_button.datetime = item.deadline_datetime; deadline_button.reveal_content = !item.has_deadline; deadline_button_detail.datetime = item.deadline_datetime; deadline_button_detail.reveal_content = item.has_deadline; } private void remove_entry_char (string value) { string current_text = content_entry.get_text (); int at_position = content_entry.text.index_of (value); if (at_position != -1) { string before_at = current_text.substring (0, at_position); string after_at = current_text.substring (at_position + 1); string updated_text = before_at + after_at; content_entry.set_text (updated_text); entry_focus (); } } private void entry_focus () { content_entry.grab_focus (); if (content_entry.cursor_position < content_entry.text.length) { content_entry.set_position (content_entry.text.length); } } private void restore_focus () { if (current_focus == FocusedWidget.CONTENT_ENTRY) { entry_focus (); } else { description_textview.focus (); } } public void for_project (Objects.Project project) { item.project_id = project.id; item.section_id = ""; project_picker_button.project = project; label_button.source = project.source; labels_quick_picker.source = project.source; } public void for_section (Objects.Section section) { item.section_id = section.id; item.project_id = section.project_id; project_picker_button.project = section.project; project_picker_button.section = section; label_button.source = section.project.source; labels_quick_picker.source = section.project.source; } public void for_parent (Objects.Item _item) { item.project_id = _item.project_id; item.section_id = _item.section_id; item.parent_id = _item.id; project_picker_button.project = _item.project; label_button.source = _item.project.source; labels_quick_picker.source = _item.project.source; project_picker_button.sensitive = false; } private void handle_priority_shortcut (string text) { GLib.MatchInfo match; if (!shortcuts_regex_map.has_key ("priority")) { try { shortcuts_regex_map["priority"] = new GLib.Regex ("(?:^|\\s)(p[1-4])(?:$|\\s)", RegexCompileFlags.MULTILINE); } catch (Error e) { critical (e.message); } } if (shortcuts_regex_map["priority"].match (text, 0, out match)) { string result = match.fetch (1); animate_priority_to_button_single (result); string new_text = text.replace (result, ""); content_entry.text = new_text; entry_focus (); } } private void handle_text_trigger (string key, string text) { GLib.MatchInfo match; if (!shortcuts_regex_map.has_key (key)) { try { shortcuts_regex_map[key] = new GLib.Regex ("(?:^|\\s)(%s)(?:$|\\s)".printf (key), RegexCompileFlags.MULTILINE); } catch (Error e) { critical (e.message); } } if (shortcuts_regex_map[key].match (text, 0, out match)) { string result = match.fetch (1); string new_text = text.replace (result, ""); content_entry.text = new_text; if (key == SHORTCUTS_KEY_PROJECTS) { project_picker_activate_shortcut = true; project_picker_button.open_picker (); } else if (key == SHORTCUTS_KEY_REMINDERS) { reminder_picker_activate_shortcut = true; reminder_button.open_picker (true); } } } private void animate_priority_to_button_single (string priority_text) { double entry_x, entry_y; double button_x, button_y; Graphene.Point entry_point; if (!content_entry.compute_point (animation_overlay, Graphene.Point (), out entry_point)) { return; } entry_x = entry_point.x; entry_y = entry_point.y; Graphene.Point button_point; if (!priority_button.compute_point (animation_overlay, Graphene.Point (), out button_point)) { return; } button_x = button_point.x; button_y = button_point.y; var cursor_x_offset = get_cursor_position_in_entry (); var start_x = entry_x + cursor_x_offset; var start_y = entry_y + content_entry.get_height () / 2; var end_x = button_x + priority_button.get_width () / 2; var end_y = button_y + priority_button.get_height () / 2; var flying_label = new Gtk.Label (priority_text) { css_classes = { "priority-flying-label" } }; var priority = ItemPriority.parse (priority_text); animation_container.put (flying_label, (int) start_x, (int) start_y); Util.get_default ().set_widget_color ( priority.get_color (), flying_label ); var target = new Adw.CallbackAnimationTarget ((progress) => { var current_x = (int) lerp (start_x, end_x, progress); var current_y = (int) lerp (start_y, end_y, progress); animation_container.move (flying_label, current_x, current_y); flying_label.opacity = 1.0 - (progress * 0.3); }); var animation = new Adw.TimedAnimation ( flying_label, 0.0, 1.0, 400, target ); animation.easing = Adw.Easing.EASE_OUT_CUBIC; animation.done.connect (() => { flying_label.add_css_class ("priority-label-impact"); animation_container.remove (flying_label); priority_button.animation (); set_priority (priority); }); animation.play (); } private double get_cursor_position_in_entry () { var text = content_entry.get_text (); var cursor_pos = content_entry.get_position (); var pango_layout = content_entry.create_pango_layout (""); pango_layout.set_text (text.substring (0, cursor_pos), -1); pango_layout.set_font_description (content_entry.get_pango_context ().get_font_description ()); int text_width, text_height; pango_layout.get_pixel_size (out text_width, out text_height); var style_context = content_entry.get_style_context (); var padding = style_context.get_padding (); return padding.left + text_width; } private double get_precise_cursor_position () { var text = content_entry.get_text (); var cursor_pos = content_entry.get_position (); var pango_context = content_entry.get_pango_context (); var font_desc = pango_context.get_font_description (); var layout = new Pango.Layout (pango_context); layout.set_font_description (font_desc); layout.set_text (text.substring (0, cursor_pos), -1); int width, height; layout.get_pixel_size (out width, out height); var style_context = content_entry.get_style_context (); var padding = style_context.get_padding (); var margin = style_context.get_margin (); return margin.left + padding.left + width; } private double lerp (double start, double end, double progress) { return start + (end - start) * progress; } private void handle_labels_popover (string text) { if (labels_quick_picker == null) { return; } var cursor_pos = content_entry.get_position (); int at_position = -1; for (int i = cursor_pos - 1; i >= 0; i--) { if (i < text.length) { var char_at_pos = text.get_char (text.index_of_nth_char (i)); if (char_at_pos == '@') { at_position = i; break; } if (char_at_pos == ' ') { break; } } } if (at_position != -1) { string filter_text = ""; if (cursor_pos > at_position + 1) { int start_index = text.index_of_nth_char (at_position + 1); int end_index = text.index_of_nth_char (cursor_pos); filter_text = text.substring (start_index, end_index - start_index); } if (!labels_quick_picker.visible) { show_labels_popover_at_cursor (); } labels_quick_picker.filter_text = filter_text; return; } if (labels_quick_picker.visible) { var current_pos = content_entry.get_position (); labels_quick_picker.popdown (); Timeout.add (10, () => { content_entry.set_position (current_pos); return GLib.Source.REMOVE; }); } } private void show_labels_popover_at_cursor () { var cursor_x = get_cursor_position_in_entry (); Gdk.Rectangle rect = Gdk.Rectangle (); rect.x = (int) cursor_x + 112; rect.y = content_entry.get_height () + 6; rect.width = 1; rect.height = 1; labels_quick_picker.set_pointing_to (rect); labels_quick_picker.popup (); Timeout.add (10, () => { labels_quick_picker.select_first_item (); entry_focus (); return GLib.Source.REMOVE; }); } private void handle_label_selection (Objects.Label label) { labels_selection_in_progress = true; string current_text = content_entry.get_text (); var cursor_pos = content_entry.get_position (); int at_position = -1; for (int i = cursor_pos - 1; i >= 0; i--) { if (i < current_text.length) { var char_at_pos = current_text.get_char (current_text.index_of_nth_char (i)); if (char_at_pos == '@') { at_position = i; break; } if (char_at_pos == ' ') { break; } } } labels_quick_picker.popdown (); if (at_position != -1) { Timeout.add (10, () => { string before_at = current_text.substring (0, at_position); string after_cursor = current_text.substring (cursor_pos); string new_text = before_at + after_cursor; content_entry.set_text (new_text); content_entry.set_position (at_position); return GLib.Source.REMOVE; }); } item.add_label_if_not_exists (label); var labels_list = new Gee.ArrayList (); foreach (var lbl in item.get_labels_list ()) { labels_list.add (lbl); } label_button.labels = labels_list; } private Gtk.Popover build_tip_popover () { var title_label = new Gtk.Label (_("Keyboard Shortcuts")) { halign = START, valign = END }; title_label.add_css_class ("font-bold"); var subtitle_label = new Gtk.Label (_("Speed up task creation with these shortcuts")) { halign = START, valign = START }; subtitle_label.add_css_class ("dimmed"); subtitle_label.add_css_class ("caption"); var title_box = new Gtk.Box (VERTICAL, 3); title_box.append (title_label); title_box.append (subtitle_label); var shortcut_box = new Gtk.Box (VERTICAL, 12) { margin_top = 12 }; shortcut_box.append (build_shortcut_widget ("p1…p4", "#1e63ec", _("Set priority"), _("p1 = highest, p4 = lowest"))); shortcut_box.append (build_shortcut_widget ("@", "#16af54", _("Add labels"), _("Opens label selector"))); shortcut_box.append (build_shortcut_widget ("#", "#9141ac", _("Assign project"), _("Opens project selector"))); shortcut_box.append (build_shortcut_widget ("!", "#fa1955", _("Set reminder"), _("Opens reminder options"))); var popover_box = new Gtk.Box (VERTICAL, 0) { margin_top = 6, margin_start = 6, margin_end = 6, margin_bottom = 6 }; popover_box.append (title_box); popover_box.append (shortcut_box); popover_box.append (new Widgets.ContextMenu.MenuSeparator () { margin_top = 3, margin_bottom = 3 }); popover_box.append (build_shortcut_widget ("Ctrl+K", "#1e63ec", _("Keep adding"), _("Toggle stay open after creating task"))); popover_box.append (new Widgets.ContextMenu.MenuSeparator () { margin_top = 3, margin_bottom = 3 }); popover_box.append (new Gtk.Label ("%s: %s".printf (_("Tip"), _("Combine shortcuts in the title field for faster creation"))) { wrap = true, halign = START, css_classes = { "dimmed", "caption" }, use_markup = true }); var popover = new Gtk.Popover () { has_arrow = false, position = BOTTOM, child = popover_box }; popover.closed.connect (() => { Timeout.add (250, () => { restore_focus (); return GLib.Source.REMOVE; }); }); return popover; } private Gtk.Widget build_shortcut_widget (string shortcut_key, string color, string title, string subtitle) { var shortcut_label = new Gtk.Label (shortcut_key) { width_chars = 6, valign = CENTER }; shortcut_label.add_css_class ("caption"); shortcut_label.add_css_class ("shortcut-widget"); Util.get_default ().set_widget_color (color, shortcut_label); var title_label = new Gtk.Label (title) { halign = START, valign = END }; title_label.add_css_class ("caption"); title_label.add_css_class ("fw-600"); var subtitle_label = new Gtk.Label (subtitle) { halign = START, valign = START }; subtitle_label.add_css_class ("dimmed"); subtitle_label.add_css_class ("caption"); var grid = new Gtk.Grid () { column_spacing = 12 }; grid.attach (shortcut_label, 0, 0, 1, 2); grid.attach (title_label, 1, 0, 1, 1); grid.attach (subtitle_label, 1, 1, 1, 1); return grid; } private int generate_child_order () { Objects.BaseObject? base_object = null; if (item.parent_id != "") { base_object = item; } else { if (item.section_id != "") { base_object = item.section; } else { base_object = item.project; } } if (base_object == null) { return 0; } Gee.ArrayList items = Services.Store.instance ().get_items_by_baseobject (base_object); items.sort (set_sort_func); if (items.size == 0) { return 1000; } int new_order = 1000; if (position == -1) { if (new_task_position == NewTaskPosition.START) { position = 0; } else { position = items.size; } } if (position == 0) { var first = items[0]; new_order = first.child_order - 1000; } else if (position > 0 && position < items.size) { var prev = items[position - 1]; var next = items[position]; new_order = (prev.child_order + next.child_order) / 2; if (new_order == prev.child_order || new_order == next.child_order) { normalize_orders (items); return generate_child_order (); } } else if (position >= items.size) { new_order = items[items.size - 1].child_order + 1000; } return new_order; } private void normalize_orders (Gee.ArrayList items) { int spacing = 1000; int order = spacing; foreach (Objects.Item item in items) { item.child_order = order; order += spacing; item.update_async (); } } private int set_sort_func (Objects.Item item1, Objects.Item item2) { return item1.child_order - item2.child_order; } private void handle_natural_date_detection (string text) { if (text.length < 3) { return; } if (date_detection_timeout_id > 0) { Source.remove (date_detection_timeout_id); date_detection_timeout_id = 0; } date_detection_timeout_id = Timeout.add (800, () => { date_detection_timeout_id = 0; var result = chrono.parse (text); if (last_detected_date_text != "") { if (!text.contains (last_detected_date_text)) { date_auto_detection_enabled = true; last_detected_date_text = ""; } else if (result != null && result.matched_text != last_detected_date_text) { date_auto_detection_enabled = true; last_detected_date_text = ""; } } if (!date_auto_detection_enabled) { return Source.REMOVE; } if (result != null && result.date != null && result.matched_text.length > 0) { if (result.matched_text != last_detected_date_text) { last_detected_date_text = result.matched_text; animate_date_to_schedule_button (result.matched_text, result.date); } } return Source.REMOVE; }); } private void animate_date_to_schedule_button (string date_text, DateTime date) { double entry_x, entry_y; double button_x, button_y; Graphene.Point entry_point; if (!content_entry.compute_point (animation_overlay, Graphene.Point (), out entry_point)) { return; } entry_x = entry_point.x; entry_y = entry_point.y; Graphene.Point button_point; if (!schedule_button.compute_point (animation_overlay, Graphene.Point (), out button_point)) { return; } button_x = button_point.x; button_y = button_point.y; var cursor_x_offset = get_cursor_position_in_entry (); var start_x = entry_x + cursor_x_offset; var start_y = entry_y + content_entry.get_height () / 2; var end_x = button_x + schedule_button.get_width () / 2; var end_y = button_y + schedule_button.get_height () / 2; var flying_label = new Gtk.Label (date_text) { css_classes = { "date-flying-label" } }; animation_container.put (flying_label, (int) start_x, (int) start_y); var target = new Adw.CallbackAnimationTarget ((progress) => { var current_x = (int) lerp (start_x, end_x, progress); var current_y = (int) lerp (start_y, end_y, progress); animation_container.move (flying_label, current_x, current_y); flying_label.opacity = 1.0 - (progress * 0.3); }); var animation = new Adw.TimedAnimation ( flying_label, 0.0, 1.0, 400, target ); animation.easing = Adw.Easing.EASE_IN_OUT_CUBIC; animation.done.connect (() => { animation_container.remove (flying_label); var duedate = new Objects.DueDate (); duedate.date = Utils.Datetime.get_todoist_datetime_format (date); set_duedate (duedate); date_auto_detection_enabled = false; }); animation.play (); } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); if (destroy_controller != null) { remove_controller (destroy_controller); } if (content_controller_key != null) { content_entry.remove_controller (content_controller_key); } if (event_controller_key != null) { remove_controller (event_controller_key); } if (shortcut_controller != null) { remove_controller (shortcut_controller); shortcut_controller = null; } if (labels_quick_picker != null) { labels_popover_handling_esc = false; try { if (labels_quick_picker.visible) { labels_quick_picker.popdown (); } labels_quick_picker.unparent (); } catch (Error e) { print ("Error cleaning up popover: %s\n", e.message); } labels_quick_picker = null; } if (project_picker_button != null) { project_picker_button.clean_up (); } if (schedule_button != null) { schedule_button.clean_up (); } if (priority_button != null) { priority_button.clean_up (); } if (reminder_button != null) { reminder_button.clean_up (); } if (label_button != null) { label_button.clean_up (); } } } alainm23-planify-69962f8/core/Services/000077500000000000000000000000001517337276100176065ustar00rootroot00000000000000alainm23-planify-69962f8/core/Services/Backup.vala000066400000000000000000000234001517337276100216570ustar00rootroot00000000000000/* * Copyright © 2026 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Services.Backup : Object { private static Backup? _instance; public static Backup get_default () { if (_instance == null) { _instance = new Backup (); } return _instance; } public string export_to_json () { var builder = new Json.Builder (); builder.begin_object (); builder.set_member_name ("version"); builder.add_string_value (Constants.BACKUP_VERSION); builder.set_member_name ("date"); builder.add_string_value (new GLib.DateTime.now_local ().to_string ()); builder.set_member_name ("settings"); builder.begin_object (); builder.set_member_name ("local-inbox-project-id"); builder.add_string_value (Services.Settings.get_default ().settings.get_string ("local-inbox-project-id")); builder.end_object (); // Sources builder.set_member_name ("sources"); builder.begin_array (); foreach (Objects.Source source in Services.Database.get_default ().get_sources_collection ()) { builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (source.id); builder.set_member_name ("display_name"); builder.add_string_value (source.display_name); builder.set_member_name ("source_type"); builder.add_string_value (source.source_type.to_string ()); builder.set_member_name ("added_at"); builder.add_string_value (source.added_at); builder.set_member_name ("updated_at"); builder.add_string_value (source.updated_at); builder.set_member_name ("is_visible"); builder.add_boolean_value (source.is_visible); builder.set_member_name ("child_order"); builder.add_int_value (source.child_order); builder.set_member_name ("data"); builder.add_string_value (source.data.to_json ()); builder.end_object (); } builder.end_array (); // Labels builder.set_member_name ("labels"); builder.begin_array (); foreach (Objects.Label label in Services.Database.get_default ().get_labels_collection ()) { builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (label.id); builder.set_member_name ("name"); builder.add_string_value (label.name); builder.set_member_name ("color"); builder.add_string_value (label.color); builder.set_member_name ("backend_type"); builder.add_string_value (label.backend_type.to_string ()); builder.set_member_name ("is_deleted"); builder.add_boolean_value (label.is_deleted); builder.set_member_name ("is_favorite"); builder.add_boolean_value (label.is_favorite); builder.set_member_name ("source_id"); builder.add_string_value (label.source_id); builder.end_object (); } builder.end_array (); // Projects builder.set_member_name ("projects"); builder.begin_array (); foreach (Objects.Project project in Services.Database.get_default ().get_projects_collection ()) { builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (project.id); builder.set_member_name ("name"); builder.add_string_value (project.name); builder.set_member_name ("color"); builder.add_string_value (project.color); builder.set_member_name ("backend_type"); builder.add_string_value (project.backend_type.to_string ()); builder.set_member_name ("inbox_project"); builder.add_boolean_value (project.inbox_project); builder.set_member_name ("team_inbox"); builder.add_boolean_value (project.team_inbox); builder.set_member_name ("child_order"); builder.add_int_value (project.child_order); builder.set_member_name ("is_deleted"); builder.add_boolean_value (project.is_deleted); builder.set_member_name ("is_archived"); builder.add_boolean_value (project.is_archived); builder.set_member_name ("is_favorite"); builder.add_boolean_value (project.is_favorite); builder.set_member_name ("shared"); builder.add_boolean_value (project.shared); builder.set_member_name ("view_style"); builder.add_string_value (project.view_style.to_string ()); builder.set_member_name ("sort_order"); builder.add_int_value (project.sort_order); builder.set_member_name ("parent_id"); builder.add_string_value (project.parent_id); builder.set_member_name ("collapsed"); builder.add_boolean_value (project.collapsed); builder.set_member_name ("icon_style"); builder.add_string_value (project.icon_style.to_string ()); builder.set_member_name ("emoji"); builder.add_string_value (project.emoji); builder.set_member_name ("show_completed"); builder.add_boolean_value (project.show_completed); builder.set_member_name ("description"); builder.add_string_value (project.description); builder.set_member_name ("due_date"); builder.add_string_value (project.due_date); builder.set_member_name ("sync_id"); builder.add_string_value (project.sync_id); builder.set_member_name ("source_id"); builder.add_string_value (project.source_id); builder.set_member_name ("calendar_url"); builder.add_string_value (project.calendar_url); builder.end_object (); } builder.end_array (); // Sections builder.set_member_name ("sections"); builder.begin_array (); foreach (Objects.Section section in Services.Database.get_default ().get_sections_collection ()) { builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (section.id); builder.set_member_name ("name"); builder.add_string_value (section.name); builder.set_member_name ("archived_at"); builder.add_string_value (section.archived_at); builder.set_member_name ("added_at"); builder.add_string_value (section.added_at); builder.set_member_name ("project_id"); builder.add_string_value (section.project_id); builder.set_member_name ("section_order"); builder.add_int_value (section.section_order); builder.set_member_name ("collapsed"); builder.add_boolean_value (section.collapsed); builder.set_member_name ("is_deleted"); builder.add_boolean_value (section.is_deleted); builder.set_member_name ("is_archived"); builder.add_boolean_value (section.is_archived); builder.end_object (); } builder.end_array (); // Items builder.set_member_name ("items"); builder.begin_array (); foreach (Objects.Item item in Services.Database.get_default ().get_items_collection ()) { builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (item.id); builder.set_member_name ("content"); builder.add_string_value (item.content); builder.set_member_name ("description"); builder.add_string_value (item.description); builder.set_member_name ("due"); builder.add_string_value (item.due.to_string ()); builder.set_member_name ("added_at"); builder.add_string_value (item.added_at); builder.set_member_name ("completed_at"); builder.add_string_value (item.completed_at); builder.set_member_name ("updated_at"); builder.add_string_value (item.updated_at); builder.set_member_name ("section_id"); builder.add_string_value (item.section_id); builder.set_member_name ("project_id"); builder.add_string_value (item.project_id); builder.set_member_name ("parent_id"); builder.add_string_value (item.parent_id); builder.set_member_name ("priority"); builder.add_int_value (item.priority); builder.set_member_name ("child_order"); builder.add_int_value (item.child_order); builder.set_member_name ("checked"); builder.add_boolean_value (item.checked); builder.set_member_name ("is_deleted"); builder.add_boolean_value (item.is_deleted); builder.set_member_name ("day_order"); builder.add_int_value (item.day_order); builder.set_member_name ("collapsed"); builder.add_boolean_value (item.collapsed); builder.set_member_name ("pinned"); builder.add_boolean_value (item.pinned); builder.set_member_name ("labels"); builder.begin_array (); foreach (Objects.Label label in item.labels) { builder.add_string_value (label.name); } builder.end_array (); builder.set_member_name ("extra_data"); builder.add_string_value (item.extra_data); builder.end_object (); } builder.end_array (); builder.end_object (); var generator = new Json.Generator () { pretty = true }; generator.set_root (builder.get_root ()); return generator.to_data (null); } } alainm23-planify-69962f8/core/Services/CalDAV/000077500000000000000000000000001517337276100206405ustar00rootroot00000000000000alainm23-planify-69962f8/core/Services/CalDAV/CalDAVClient.vala000066400000000000000000001174311517337276100237050ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Services.CalDAV.CalDAVClient : Services.CalDAV.WebDAVClient { public CalDAVClient (Soup.Session session, string base_url, string username, string password, bool ignore_ssl = false) { base (session, base_url, username, password, ignore_ssl); } public async string? get_principal_url (GLib.Cancellable cancellable) throws GLib.Error { Services.LogService.get_default ().info ("CalDAV", "Fetching principal URL"); var xml = """ """; var multi_status = yield propfind ("", xml, "0", cancellable); foreach (var response in multi_status.responses ()) { foreach (var propstat in response.propstats ()) { foreach (var principal in propstat.prop.get_elements_by_tag_name ("current-user-principal")) { var href_elements = principal.get_elements_by_tag_name ("href"); foreach (var href in href_elements) { string link = href.text_content.strip (); return get_absolute_url (link); } } } } return null; } public async string? get_calendar_home (string principal_url, GLib.Cancellable cancellable) throws GLib.Error { Services.LogService.get_default ().info ("CalDAV", "Fetching calendar home"); var xml = """ """; var multi_status = yield propfind (principal_url, xml, "0", cancellable); foreach (var response in multi_status.responses ()) { foreach (var propstat in response.propstats ()) { foreach (var calendar_home in propstat.prop.get_elements_by_tag_name ("calendar-home-set")) { var href_elements = calendar_home.get_elements_by_tag_name ("href"); foreach (var href in href_elements) { string link = href.text_content.strip (); return get_absolute_url (link); } } } } return null; } public async void update_userdata (string principal_url, Objects.Source source, GLib.Cancellable cancellable) throws GLib.Error { Services.LogService.get_default ().info ("CalDAV", "Updating user data"); var xml = """ """; var multi_status = yield propfind (principal_url, xml, "0", cancellable); foreach (var response in multi_status.responses ()) { foreach (var propstat in response.propstats ()) { var prop = propstat.prop; var names = prop.get_elements_by_tag_name ("displayname"); if (names.size > 0) { source.caldav_data.user_displayname = names[0].text_content.strip (); } var emails = prop.get_elements_by_tag_name ("email-address"); if (emails.size > 0) { source.caldav_data.user_email = emails[0].text_content.strip (); }; } } if (source.caldav_data.user_email != null && source.caldav_data.user_email != "") { source.display_name = source.caldav_data.user_email; return; } if (source.caldav_data.user_displayname != null && source.caldav_data.user_displayname != "") { source.display_name = source.caldav_data.user_displayname; return; } source.display_name = _ ("CalDAV"); } public async Gee.ArrayList fetch_project_list (Objects.Source source, GLib.Cancellable cancellable) throws GLib.Error { Services.LogService.get_default ().info ("CalDAV", "Fetching project list"); var xml = """ """; var multi_status = yield propfind (source.caldav_data.calendar_home_url, xml, "1", cancellable); Gee.ArrayList projects = new Gee.ArrayList (); foreach (var response in multi_status.responses ()) { string? href = response.href; foreach (var propstat in response.propstats ()) { if (propstat.status != Soup.Status.OK) continue; var resourcetype = propstat.get_first_prop_with_tagname ("resourcetype"); var supported_calendar = propstat.get_first_prop_with_tagname ("supported-calendar-component-set"); if (is_vtodo_calendar (resourcetype, supported_calendar)) { var project = new Objects.Project.from_propstat (propstat, get_absolute_url (href)); project.source_id = source.id; projects.add (project); } } } return projects; } public async void sync (Objects.Source source, GLib.Cancellable cancellable) throws GLib.Error { Services.LogService.get_default ().info ("CalDAV", "Syncing project list"); var xml = """ """; var multi_status = yield propfind (source.caldav_data.calendar_home_url, xml, "1", cancellable); // Delete CalDAV Generic var server_urls = new Gee.HashSet (); foreach (var response in multi_status.responses ()) { if (response.href != null) { server_urls.add (get_absolute_url (response.href)); } } var local_projects = Services.Store.instance ().get_projects_by_source (source.id); foreach (Objects.Project local_project in local_projects) { if (!server_urls.contains (local_project.calendar_url)) { Services.Store.instance ().delete_project (local_project); } } foreach (var response in multi_status.responses ()) { string? href = response.href; foreach (var propstat in response.propstats ()) { if (propstat.status != Soup.Status.OK) { continue; } var resourcetype = propstat.get_first_prop_with_tagname ("resourcetype"); var supported_calendar = propstat.get_first_prop_with_tagname ("supported-calendar-component-set"); if (is_deleted_calendar (resourcetype)) { Services.LogService.get_default ().info ("CalDAV", "Removing deleted calendar from server"); Objects.Project ? project = Services.Store.instance ().get_project_via_url (get_absolute_url (href)); if (project != null) { Services.Store.instance ().delete_project (project); } continue; } if (is_vtodo_calendar (resourcetype, supported_calendar)) { var name = propstat.get_first_prop_with_tagname ("displayname"); if (href != null && name != null) { Objects.Project ? project = Services.Store.instance ().get_project_via_url (get_absolute_url (href)); if (project == null) { Services.LogService.get_default ().info ("CalDAV", "Discovered new project, fetching items"); project = new Objects.Project.from_propstat (propstat, get_absolute_url (href)); project.source_id = source.id; Services.Store.instance ().insert_project (project); yield fetch_items_for_project (project, cancellable); } else { project.update_from_propstat (propstat, false); Services.Store.instance ().update_project (project); } } } } } } public async void fetch_project_details (Objects.Project project, GLib.Cancellable cancellable) throws GLib.Error { Services.LogService.get_default ().debug ("CalDAV", "Fetching project details"); var xml = """ """; var multi_status = yield propfind (project.calendar_url, xml, "1", cancellable); foreach (var response in multi_status.responses ()) { foreach (var propstat in response.propstats ()) { if (propstat.status != Soup.Status.OK) { continue; } var resourcetype = propstat.get_first_prop_with_tagname ("resourcetype"); var supported_calendar = propstat.get_first_prop_with_tagname ("supported-calendar-component-set"); if (is_vtodo_calendar (resourcetype, supported_calendar)) { project.update_from_propstat (propstat, false); Services.Store.instance ().update_project (project); return; } } } } public delegate void ProgressCallback (int current, int total, string message); public async void fetch_items_for_project (Objects.Project project, GLib.Cancellable cancellable, owned ProgressCallback? progress_callback = null) throws GLib.Error { Services.LogService.get_default ().info ("CalDAV", "Fetching items for project"); SourceFunc callback = fetch_items_for_project.callback; var xml = """ """; var multi_status = yield report (project.calendar_url, xml, "1", cancellable); var responses = multi_status.responses (); if (progress_callback != null) { progress_callback (0, responses.size, _ ("Loading tasks for %s…").printf (project.name)); } project.freeze_update = true; int index = 0; var items_list = new Gee.ArrayList (); Idle.add (() => { if (index >= responses.size) { if (progress_callback != null) { progress_callback (responses.size, responses.size, _ ("Loaded tasks for %s…").printf (project.name)); } project.add_items_batched (items_list); Idle.add ((owned) callback); return false; } var response = responses[index]; string? href = response.href; foreach (var propstat in response.propstats ()) { if (propstat.status != Soup.Status.OK) { continue; } var calendar_data = propstat.get_first_prop_with_tagname ("calendar-data"); if (calendar_data == null || calendar_data.text_content == null) { continue; } var getetag = propstat.get_first_prop_with_tagname ("getetag"); string etag = getetag != null ? getetag.text_content.strip () : ""; var resource_url = get_absolute_url (href); upsert_vtodo_content (project, resource_url, etag, calendar_data.text_content, items_list); } if (progress_callback != null && index % 10 == 0) { progress_callback (index, responses.size, _ ("Syncing task %d of %d").printf (index, responses.size)); } index++; if (index >= responses.size) { if (progress_callback != null) { progress_callback (responses.size, responses.size, _ ("Loaded tasks for %s…").printf (project.name)); } project.add_items_batched (items_list); Idle.add ((owned) callback); return false; } return true; }); yield; project.freeze_update = false; project.count_update (); Services.Store.instance ().update_project (project); } public async void sync_tasklist (Objects.Project project, GLib.Cancellable cancellable) throws GLib.Error { if (project.is_deck || project.is_archived) { Services.LogService.get_default ().debug ("CalDAV", "Skipping sync for %s project".printf (project.is_archived ? "archived" : "deck")); return; } Services.LogService.get_default ().info ("CalDAV", "Syncing tasklist"); var xml = """ %s 1 """.printf (project.sync_id); project.loading = true; project.sync_started (); yield fetch_project_details (project, cancellable); Services.LogService.get_default ().debug ("CalDAV", "sync_id after fetch_project_details: '%s'".printf (project.sync_id ?? "(null)")); if (project.sync_id == null || project.sync_id == "") { Services.LogService.get_default ().warn ("CalDAV", "No sync-token from server, falling back to etag-based sync for '%s'".printf (project.name)); project.loading = false; project.freeze_update = false; yield etag_sync_project (project, cancellable); project.sync_finished (); return; } WebDAVMultiStatus multi_status; try { multi_status = yield report (project.calendar_url, xml, "1", cancellable); } catch (Error e) { if (e is GLib.IOError.CANCELLED) { throw e; } // sync-collection fails with a 412 Precondition Failed on Vikunja (but it sends a sync-token?) Services.LogService.get_default ().warn ("CalDAV", "sync-collection failed, falling back to ETag sync: %s".printf (e.message)); project.loading = false; project.freeze_update = false; yield etag_sync_project (project, cancellable); project.sync_finished (); return; } project.freeze_update = true; foreach (WebDAVResponse response in multi_status.responses ()) { string? href = response.href; var url = get_absolute_url (href); if (response.status == Soup.Status.NOT_FOUND) { Objects.Item ? item = Services.Store.instance ().get_item_by_ical_url (url); if (item != null) { Services.Store.instance ().delete_item (item); } continue; } foreach (WebDAVPropStat propstat in response.propstats ()) { if (propstat.status == Soup.Status.NOT_FOUND) { Objects.Item ? item = Services.Store.instance ().get_item_by_ical_url (url); if (item != null) { Services.Store.instance ().delete_item (item); } } else { bool is_vtodo = false; var getcontenttype = propstat.get_first_prop_with_tagname ("getcontenttype"); if (getcontenttype != null) { if (getcontenttype.text_content.down ().index_of ("vtodo") > -1) { is_vtodo = true; } } if (is_vtodo) { var getetag = propstat.get_first_prop_with_tagname ("getetag"); string etag = getetag != null ? getetag.text_content.strip () : ""; string vtodo_content = yield get_vtodo_by_url (url, cancellable); upsert_vtodo_content (project, url, etag, vtodo_content); } } } } var sync_token = multi_status.get_first_text_content_by_tag_name ("sync-token"); if (sync_token != null && sync_token != project.sync_id) { project.sync_id = sync_token; project.update_local (); } else if (sync_token == null) { // Some CalDAV providers do not support sync-token. Keep token empty // so subsequent syncs always take the ETag fallback path. project.sync_id = ""; project.update_local (); } project.loading = false; project.freeze_update = false; project.count_update (); Services.Store.instance ().update_project (project); } /** * Adds or updates items in a project based on VTODO content from a CalDAV server. * * If @batched_items is provided, all new items are added to this list instead of * being added directly to the project. * */ private void upsert_vtodo_content (Objects.Project project, string url, string etag, string vtodo_content, Gee.ArrayList? batched_items = null) { ICal.Component vcalendar = new ICal.Component.from_string (vtodo_content); ICal.Component vtodo_comp = vcalendar.get_first_component (ICal.ComponentKind.VTODO_COMPONENT); while (vtodo_comp != null) { string uid = vtodo_comp.get_uid (); if (uid != null && uid != "") { Objects.Item ? item = Services.Store.instance ().get_item (uid); if (item != null) { string old_project_id = item.project_id; string old_parent_id = item.parent_id; bool old_checked = item.checked; item.update_from_vtodo (vtodo_content, url); item.extra_data = Util.generate_extra_data (url, etag, vtodo_content); item.project_id = project.id; Services.Store.instance ().update_item (item); if (old_project_id != item.project_id || old_parent_id != item.parent_id) { Services.EventBus.get_default ().item_moved (item, old_project_id, "", old_parent_id); } if (old_checked != item.checked) { Services.Store.instance ().complete_item (item, old_checked); } } else { var new_item = new Objects.Item.from_vtodo (vtodo_content, url, project.id); new_item.extra_data = Util.generate_extra_data (url, etag, vtodo_content); if (batched_items != null) { batched_items.add (new_item); } else { if (new_item.has_parent) { Objects.Item ? parent_item = new_item.parent; if (parent_item != null) { parent_item.add_item_if_not_exists (new_item); } else { project.add_item_if_not_exists (new_item); } } else { project.add_item_if_not_exists (new_item); } } } } vtodo_comp = vcalendar.get_next_component (ICal.ComponentKind.VTODO_COMPONENT); } } private async void etag_sync_project (Objects.Project project, GLib.Cancellable cancellable) throws GLib.Error { Services.LogService.get_default ().info ("CalDAV", "ETag sync for '%s'".printf (project.name)); // Step 1: fetch {url → etag} from server (lightweight, no calendar-data) var xml = """ """; var multi_status = yield report (project.calendar_url, xml, "1", cancellable); // Build server map: url → etag var server_map = new Gee.HashMap (); foreach (var response in multi_status.responses ()) { if (response.href == null) continue; string url = get_absolute_url (response.href); foreach (var propstat in response.propstats ()) { if (propstat.status != Soup.Status.OK) continue; var getetag = propstat.get_first_prop_with_tagname ("getetag"); server_map[url] = getetag != null ? getetag.text_content.strip () : ""; } } Services.LogService.get_default ().debug ("CalDAV", "Project has %d items".printf (server_map.size)); project.freeze_update = true; try { // Step 2: delete local items no longer on server var stale_items = new Gee.ArrayList (); foreach (var local_item in Services.Store.instance ().get_items_by_project (project)) { if (!server_map.has_key (local_item.ical_url)) { stale_items.add (local_item); } } foreach (var stale_item in stale_items) { Services.LogService.get_default ().debug ("CalDAV", "Deleting stale item: %s".printf (stale_item.content)); Services.Store.instance ().delete_item (stale_item); } // Step 3: fetch and update only changed/new items foreach (var entry in server_map.entries) { string url = entry.key; string server_etag = entry.value; Objects.Item? local_item = Services.Store.instance ().get_item_by_ical_url (url); if (local_item != null && server_etag != "" && local_item.etag == server_etag) { // ETag matches, skip continue; } string vtodo_content = yield get_vtodo_by_url (url, cancellable); upsert_vtodo_content (project, url, server_etag, vtodo_content); } } finally { project.freeze_update = false; project.count_update (); Services.Store.instance ().update_project (project); } } private async string? get_vtodo_by_url (string url, GLib.Cancellable cancellable) throws GLib.Error { return yield send_request ("GET", url, "", null, null, cancellable, { Soup.Status.OK }); } public async void update_sync_token (Objects.Project project, GLib.Cancellable cancellable) throws GLib.Error { Services.LogService.get_default ().debug ("CalDAV", "Updating sync token"); var xml = """ """; var multi_status = yield propfind (project.calendar_url, xml, "1", cancellable); foreach (var response in multi_status.responses ()) { foreach (var propstat in response.propstats ()) { if (propstat.status != Soup.Status.OK) continue; var sync_token = propstat.get_first_prop_with_tagname ("sync-token"); if (sync_token != null) { project.sync_id = sync_token.text_content; project.update_local (); } } } } public async HttpResponse create_project (Objects.Project project) { Services.LogService.get_default ().info ("CalDAV", "Creating project"); var xml = """ %s %s 1 """.printf (project.name, project.color_hex); var calendar_url = GLib.Uri.resolve_relative (project.source.caldav_data.calendar_home_url, project.id, GLib.UriFlags.NONE); if (!calendar_url.has_suffix ("/")) { calendar_url += "/"; } HttpResponse response = new HttpResponse (); try { yield send_request ("MKCOL", calendar_url, "application/xml", xml, null, null, { Soup.Status.CREATED, Soup.Status.OK }); project.calendar_url = calendar_url; response.status = true; } catch (Error e) { if ("HTTP 403" in e.message) { Services.LogService.get_default ().warn ("CalDAV", "Server does not allow creating calendars via CalDAV"); response.error_code = 403; response.error = _("This server does not allow creating projects via CalDAV. Please create it directly from your calendar provider's website."); } else { Services.LogService.get_default ().error ("CalDAV", "Failed to create project: %s".printf (e.message)); response.error_code = e.code; response.error = e.message; } } return response; } public async HttpResponse update_project (Objects.Project project) { Services.LogService.get_default ().info ("CalDAV", "Updating project"); var xml = """ %s %s """.printf (project.name, project.color_hex); HttpResponse response = new HttpResponse (); try { yield send_request ("PROPPATCH", project.calendar_url, "application/xml", xml, null, null, { Soup.Status.MULTI_STATUS }); response.status = true; } catch (Error e) { Services.LogService.get_default ().error ("CalDAV", "Failed to update project: %s".printf (e.message)); response.error_code = e.code; response.error = e.message; } return response; } public async HttpResponse delete_project (Objects.Project project) { Services.LogService.get_default ().info ("CalDAV", "Deleting project"); HttpResponse response = new HttpResponse (); try { yield send_request ("DELETE", project.calendar_url, "text/calendar", null, null, null, { Soup.Status.NO_CONTENT, Soup.Status.MULTI_STATUS, Soup.Status.OK }); response.status = true; } catch (Error e) { if ("HTTP 403" in e.message) { Services.LogService.get_default ().warn ("CalDAV", "Server does not allow deleting calendars via CalDAV"); response.error_code = 403; response.error = _("This server does not allow deleting projects via CalDAV. Please delete it directly from your calendar provider's website."); } else if ("HTTP 405" in e.message) { Services.LogService.get_default ().warn ("CalDAV", "Server does not support project deletion via CalDAV"); response.error_code = 405; response.error = _("This server does not support deleting projects via CalDAV. Please delete it from the server directly."); } else { Services.LogService.get_default ().error ("CalDAV", "Failed to delete project: %s".printf (e.message)); response.error_code = e.code; response.error = e.message; } } return response; } public async HttpResponse add_item (Objects.Item item, bool update = false) { Services.LogService.get_default ().info ("CalDAV", update ? "Updating item" : "Adding item"); var url = update ? item.ical_url : GLib.Path.build_path ("/", item.project.calendar_url, "%s.ics".printf (item.id)); var body = item.to_vtodo (); var expected = update ? new Soup.Status[]{ Soup.Status.NO_CONTENT, Soup.Status.CREATED } : new Soup.Status[]{ Soup.Status.CREATED }; HttpResponse response = new HttpResponse (); try { HashTable? headers = null; if (update && item.etag != null && item.etag != "") { headers = new HashTable (str_hash, str_equal); headers.insert ("If-Match", item.etag); } yield send_request ("PUT", url, "text/calendar", body, null, null, expected, headers); item.extra_data = Util.generate_extra_data (url, last_response_etag ?? "", body); response.status = true; } catch (Error e) { if ("HTTP 412" in e.message) { Services.LogService.get_default ().warn ("CalDAV", "Conflict detected (412), re-fetching item"); response.error_code = 412; response.error = _("Task was modified on another device. Please sync to get the latest version."); } else { Services.LogService.get_default ().error ("CalDAV", "Failed to %s item: %s".printf (update ? "update" : "add", e.message)); response.error_code = e.code; response.error = e.message; } } return response; } public async HttpResponse complete_item (Objects.Item item) { Services.LogService.get_default ().info ("CalDAV", "Completing item"); var body = item.to_vtodo (); HttpResponse response = new HttpResponse (); try { HashTable? headers = null; if (item.etag != null && item.etag != "") { headers = new HashTable (str_hash, str_equal); headers.insert ("If-Match", item.etag); } yield send_request ("PUT", item.ical_url, "text/calendar", body, null, null, { Soup.Status.NO_CONTENT, Soup.Status.CREATED }, headers); item.extra_data = Util.generate_extra_data (item.ical_url, last_response_etag ?? "", body); response.status = true; } catch (Error e) { if ("HTTP 412" in e.message) { Services.LogService.get_default ().warn ("CalDAV", "Conflict on complete (412), re-fetching ETag and retrying"); try { var retry_cancellable = new GLib.Cancellable (); string vtodo_content = yield get_vtodo_by_url (item.ical_url, retry_cancellable); // Extract fresh ETag via HEAD or from last GET response string fresh_etag = last_response_etag ?? ""; item.extra_data = Util.generate_extra_data (item.ical_url, fresh_etag, vtodo_content); HashTable? retry_headers = null; if (fresh_etag != "") { retry_headers = new HashTable (str_hash, str_equal); retry_headers.insert ("If-Match", fresh_etag); } yield send_request ("PUT", item.ical_url, "text/calendar", body, null, null, { Soup.Status.NO_CONTENT, Soup.Status.CREATED }, retry_headers); item.extra_data = Util.generate_extra_data (item.ical_url, last_response_etag ?? "", body); response.status = true; } catch (Error retry_error) { Services.LogService.get_default ().error ("CalDAV", "Retry complete failed: %s".printf (retry_error.message)); response.error_code = 412; response.error = _("Task was modified on another device. Please sync to get the latest version."); } } else { Services.LogService.get_default ().error ("CalDAV", "Failed to complete item: %s".printf (e.message)); response.error_code = e.code; response.error = e.message; } } return response; } public async HttpResponse move_item (Objects.Item item, Objects.Project destination_project) { Services.LogService.get_default ().info ("CalDAV", "Moving item to another project"); var destination = GLib.Path.build_path ("/", destination_project.calendar_url, "%s.ics".printf (item.id)); var headers = new HashTable (str_hash, str_equal); headers.insert ("Destination", destination); HttpResponse response = new HttpResponse (); try { yield send_request ("MOVE", item.ical_url, "", null, null, null, { Soup.Status.NO_CONTENT, Soup.Status.CREATED }, headers); item.extra_data = Util.generate_extra_data (destination, "", item.calendar_data); response.status = true; } catch (Error e) { if ("HTTP 502" in e.message || "HTTP 405" in e.message || "HTTP 501" in e.message) { Services.LogService.get_default ().warn ("CalDAV", "MOVE not supported, falling back to PUT+DELETE"); response = yield move_item_fallback (item, destination_project, destination); } else { Services.LogService.get_default ().error ("CalDAV", "Failed to move item: %s".printf (e.message)); response.error_code = e.code; response.error = e.message; } } return response; } private async HttpResponse move_item_fallback (Objects.Item item, Objects.Project destination_project, string destination) { HttpResponse response = new HttpResponse (); var body = item.to_vtodo (); try { yield send_request ("PUT", destination, "text/calendar", body, null, null, { Soup.Status.CREATED, Soup.Status.NO_CONTENT }); item.extra_data = Util.generate_extra_data (destination, last_response_etag ?? "", body); yield send_request ("DELETE", item.ical_url, "", null, null, null, { Soup.Status.NO_CONTENT, Soup.Status.OK }); response.status = true; } catch (Error e) { Services.LogService.get_default ().error ("CalDAV", "Failed to move item (fallback): %s".printf (e.message)); response.error_code = e.code; response.error = e.message; } return response; } public async HttpResponse delete_item (Objects.Item item) { Services.LogService.get_default ().info ("CalDAV", "Deleting item"); HttpResponse response = new HttpResponse (); try { yield send_request ("DELETE", item.ical_url, "", null, null, null, { Soup.Status.NO_CONTENT, Soup.Status.OK }); response.status = true; } catch (Error e) { Services.LogService.get_default ().error ("CalDAV", "Failed to delete item: %s".printf (e.message)); response.error_code = e.code; response.error = e.message; } return response; } private bool is_vtodo_calendar (GXml.DomElement? resourcetype, GXml.DomElement? supported_calendar) { if (resourcetype == null) { return false; } bool is_calendar = resourcetype.get_elements_by_tag_name ("calendar").length > 0; if (!is_calendar) { return false; } if (supported_calendar != null) { var calendar_comps = supported_calendar.get_elements_by_tag_name ("comp"); foreach (GXml.DomElement calendar_comp in calendar_comps) { if (calendar_comp.get_attribute ("name") == "VTODO") { return true; } } } return false; } public bool is_deleted_calendar (GXml.DomElement? resourcetype) { if (resourcetype == null) { return false; } return resourcetype.get_elements_by_tag_name ("deleted-calendar").length > 0; } } alainm23-planify-69962f8/core/Services/CalDAV/Core.vala000066400000000000000000000336141517337276100224040ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Services.CalDAV.Core : GLib.Object { private Gee.HashMap clients; public signal void sync_progress (int current, int total, string message); private static Core ? _instance; public static Core get_default () { if (_instance == null) { _instance = new Core (); } return _instance; } public Core () { clients = new Gee.HashMap (); } public Services.CalDAV.CalDAVClient get_client (Objects.Source source) { if (!clients.has_key (source.id)) { Services.LogService.get_default ().info ("CalDAV.Core", "Creating new client for source"); var client = new Services.CalDAV.CalDAVClient ( new Soup.Session (), source.caldav_data.server_url, source.caldav_data.username, source.caldav_data.password, source.caldav_data.ignore_ssl ); clients[source.id] = client; } return clients[source.id]; } public Services.CalDAV.CalDAVClient? get_client_by_id (string source_id) { if (clients.has_key (source_id)) { return clients[source_id]; } return null; } public void remove_client (string source_id) { Services.LogService.get_default ().info ("CalDAV.Core", "Removing client"); clients.unset (source_id); } public void clear () { clients.clear (); } private string make_absolute_url (string base_url, string href) { string abs_url = null; try { abs_url = GLib.Uri.resolve_relative (base_url, href, GLib.UriFlags.NONE).to_string (); } catch (Error e) { Services.LogService.get_default ().error ("CalDAV.Core", "Failed to resolve relative url: %s".printf (e.message)); } return abs_url; } public async string resolve_well_known_caldav (Soup.Session session, string base_url, bool ignore_ssl = false) throws GLib.Error { Services.LogService.get_default ().info ("CalDAV.Core", "Resolving .well-known/caldav"); var well_known_url = make_absolute_url (base_url, "/.well-known/caldav"); var msg = new Soup.Message ("GET", well_known_url); msg.request_headers.append ("User-Agent", Constants.SOUP_USER_AGENT); msg.set_flags (Soup.MessageFlags.NO_REDIRECT); if (ignore_ssl) { msg.accept_certificate.connect (() => { return true; }); } try { yield session.send_and_read_async (msg, Priority.DEFAULT, null); // These are all the redirect status codes. // https://www.rfc-editor.org/rfc/rfc6764#section-5 // https://en.wikipedia.org/wiki/List_of_HTTP_status_codes if (msg.status_code == 301 || msg.status_code == 302 || msg.status_code == 307 || msg.status_code == 308 ) { string? location = msg.response_headers.get_one ("Location"); if (location != null) { if (location.has_prefix ("/")) { location = make_absolute_url (base_url, location); } // Prevent https → http downgrade // See https://github.com/alainm23/planify/issues/1149#issuecomment-3236718109 var base_scheme = GLib.Uri.parse_scheme (base_url); var location_scheme = GLib.Uri.parse_scheme (location); if (base_scheme == "https" && location_scheme == "http") { if (location.has_prefix ("http://")) { Services.LogService.get_default ().warn ("CalDAV.Core", "Resolving .well-known/caldav caused a redirect from https to http. Preventing downgrade."); location = "https" + location.substring (4); // removes http and puts https infront } else { Services.LogService.get_default ().warn ("CalDAV.Core", "Redirect location has http scheme but unexpected format: %s".printf (location)); return base_url; } } return location; } } return base_url; } catch (Error e) { if (e is GLib.IOError.CANCELLED) { throw e; } Services.LogService.get_default ().warn ("CalDAV.Core", "Failed to check .well-known/caldav: %s".printf (e.message)); return base_url; } } public async string? resolve_calendar_home (CalDAVType caldav_type, string dav_url, string username, string password, GLib.Cancellable cancellable, bool ignore_ssl = false) throws GLib.Error { Services.LogService.get_default ().info ("CalDAV.Core", "Resolving calendar home"); var caldav_client = new Services.CalDAV.CalDAVClient (new Soup.Session (), dav_url, username, password, ignore_ssl); try { string? principal_url = yield caldav_client.get_principal_url (cancellable); if (principal_url == null) { throw new GLib.IOError.FAILED ("No principal url received"); } var calendar_home = yield caldav_client.get_calendar_home (principal_url, cancellable); return calendar_home; } catch (Error e) { if (e is GLib.IOError.CANCELLED) { throw e; } Services.LogService.get_default ().error ("CalDAV.Core", "Failed to resolve calendar home: %s".printf (e.message)); throw new GLib.IOError.FAILED ("Failed to resolve calendar home: %s".printf (e.message)); } } public async HttpResponse login (CalDAVType caldav_type, string dav_url, string username, string password, string calendar_home, GLib.Cancellable cancellable, bool ignore_ssl = false) { Services.LogService.get_default ().info ("CalDAV.Core", "Starting login"); HttpResponse response = new HttpResponse (); if (Services.Store.instance ().source_caldav_exists (dav_url, username)) { Services.LogService.get_default ().warn ("CalDAV.Core", "Source already exists, aborting login"); response.error_code = 409; response.error = _("Source already exists"); return response; } var caldav_client = new Services.CalDAV.CalDAVClient (new Soup.Session (), dav_url, username, password, ignore_ssl); try { string? principal_url = yield caldav_client.get_principal_url (cancellable); if (principal_url == null) { response.error_code = 409; response.error = _("Failed to resolve principal url"); return response; } var source = new Objects.Source (); source.id = Util.get_default ().generate_id (); source.source_type = SourceType.CALDAV; source.last_sync = new GLib.DateTime.now_local ().to_string (); source.sync_server = true; Objects.SourceCalDAVData caldav_data = new Objects.SourceCalDAVData (); caldav_data.server_url = dav_url; caldav_data.calendar_home_url = calendar_home; caldav_data.username = username; caldav_data.password = password; caldav_data.caldav_type = caldav_type; caldav_data.ignore_ssl = ignore_ssl; source.data = caldav_data; GLib.Value _data_object = Value (typeof (Objects.Source)); _data_object.set_object (source); response.data_object = _data_object; response.status = true; clients[source.id] = caldav_client; Services.LogService.get_default ().info ("CalDAV.Core", "Login successful"); } catch (Error e) { Services.LogService.get_default ().error ("CalDAV.Core", "Login error: %s".printf (e.message)); response.error_code = e.code; response.error = e.message; } return response; } // TODO: why is this a seperate method, can this be merged with login? public async HttpResponse add_caldav_account (Objects.Source source, GLib.Cancellable cancellable) { Services.LogService.get_default ().info ("CalDAV.Core", "Adding CalDAV account"); HttpResponse response = new HttpResponse (); var caldav_client = get_client (source); try { string? principal_url = yield caldav_client.get_principal_url (cancellable); if (principal_url == null) { response.error_code = 409; response.error = _("Failed to resolve principal url"); return response; } yield caldav_client.update_userdata (principal_url, source, cancellable); Gee.ArrayList projects = yield caldav_client.fetch_project_list (source, cancellable); sync_progress (0, projects.size, _("Starting sync…")); const int BATCH_SIZE = 5; int processed = 0; for (int i = 0; i < projects.size; i += BATCH_SIZE) { var batch_end = int.min (i + BATCH_SIZE, projects.size); for (int j = i; j < batch_end; j++) { Services.Store.instance ().insert_project (projects[j]); } yield Util.nap (10); for (int j = i; j < batch_end; j++) { sync_progress (processed + 1, projects.size, _("Syncing %s…").printf (projects[j].name)); yield caldav_client.fetch_items_for_project (projects[j], cancellable, (current, total, msg) => { sync_progress (current, total, msg); }); processed++; } } // Insert source after all projects and items are fetched // to avoid concurrent sync triggering duplicate project insertion Services.Store.instance ().insert_source (source); sync_progress (projects.size, projects.size, _("Sync completed")); Services.LogService.get_default ().info ("CalDAV.Core", "Account added successfully, %d projects synced".printf (projects.size)); response.status = true; } catch (Error e) { response.error_code = e.code; response.error = e.message; Services.LogService.get_default ().error ("CalDAV.Core", "Add account error: %s".printf (e.message)); } return response; } public async void sync (Objects.Source source) { Services.LogService.get_default ().info ("CalDAV.Core", "Starting sync"); var caldav_client = get_client (source); source.sync_started (); try { var cancellable = new GLib.Cancellable (); yield caldav_client.sync (source, cancellable); var projects = Services.Store.instance ().get_projects_by_source (source.id); Services.LogService.get_default ().debug ("CalDAV.Core", "Found %d projects to sync".printf (projects.size)); foreach (Objects.Project project in projects) { Services.LogService.get_default ().debug ("CalDAV.Core", "Project: '%s' | sync_id: '%s' | url: '%s'".printf ( project.name, project.sync_id ?? "(null)", project.calendar_url ?? "(null)" )); yield caldav_client.sync_tasklist (project, cancellable); } source.sync_finished (); source.sync_status = null; source.last_sync = new GLib.DateTime.now_local ().to_string (); Services.LogService.get_default ().info ("CalDAV.Core", "Sync completed successfully"); } catch (Error e) { Services.LogService.get_default ().error ("CalDAV.Core", "Failed to sync source '%s': %s".printf (source.display_name, e.message)); if ("HTTP 401" in e.message || "Authentication failed" in e.message) { Services.LogService.get_default ().warn ("CalDAV.Core", "Authentication expired, re-login required"); source.sync_status = new SyncStatus ( SyncErrorType.AUTH_EXPIRED, _("Authentication Expired"), _("Your session has expired. Please remove and re-add your account in Preferences.") ); source.sync_failed (source.sync_status); } else if ("HTTP 429" in e.message || "Too Many Requests" in e.message) { Services.LogService.get_default ().warn ("CalDAV.Core", "Rate limited by server, try again later"); source.sync_status = new SyncStatus ( SyncErrorType.SERVER_ERROR, _("Too Many Requests"), _("The server is rate limiting requests. Please wait a few minutes and try again.") ); source.sync_failed (source.sync_status); } else { source.sync_status = null; source.sync_failed (); } } } } alainm23-planify-69962f8/core/Services/CalDAV/Providers/000077500000000000000000000000001517337276100226155ustar00rootroot00000000000000alainm23-planify-69962f8/core/Services/CalDAV/Providers/Nextcloud.vala000066400000000000000000000144151517337276100254340ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Services.CalDAV.Providers.Nextcloud : Object { private Soup.Session session; private Json.Parser parser; public Nextcloud () { session = new Soup.Session (); parser = new Json.Parser (); } private string validate_server_url (string url) { Services.LogService.get_default ().info ("Nextcloud", "Validating server URL"); string server_url = ""; try { var _uri = GLib.Uri.parse (url, GLib.UriFlags.NONE); server_url = "%s://%s".printf (_uri.get_scheme (), _uri.get_host ()); if (_uri.get_port () > 0) { server_url = "%s://%s:%d".printf (_uri.get_scheme (), _uri.get_host (), _uri.get_port ()); } string path = _uri.get_path (); if (path.has_suffix ("/")) { path = path.substring (0, path.length - 1); } server_url += path; } catch (Error e) { Services.LogService.get_default ().error ("Nextcloud", "Failed to validate server URL: %s".printf (e.message)); } return server_url; } public async HttpResponse start_login_flow (string server_url, GLib.Cancellable cancellable, bool ignore_ssl = false) { Services.LogService.get_default ().info ("Nextcloud", "Starting login flow"); HttpResponse response = new HttpResponse (); string login_url = "%s/index.php/login/v2".printf (validate_server_url (server_url)); var message = new Soup.Message ("POST", login_url); message.request_headers.append ("User-Agent", Constants.SOUP_USER_AGENT); // The User Agent is used by Nextcloud for the App Name if (ignore_ssl) { message.accept_certificate.connect (() => { return true; }); } try { GLib.Bytes stream = yield session.send_and_read_async (message, GLib.Priority.HIGH, cancellable); parser.load_from_data ((string) stream.get_data ()); var root = parser.get_root ().get_object (); var login_link = root.get_string_member ("login"); var poll = root.get_object_member ("poll"); var poll_token = poll.get_string_member ("token"); var poll_endpoint = poll.get_string_member ("endpoint"); AppInfo.launch_default_for_uri (login_link, null); Services.LogService.get_default ().info ("Nextcloud", "Login page opened in browser, waiting for authentication"); int timeout = 20 * 60; int interval = 5; while (timeout > 0 && !cancellable.is_cancelled ()) { var poll_msg = new Soup.Message ("POST", poll_endpoint); poll_msg.request_headers.append ("User-Agent", Constants.SOUP_USER_AGENT); poll_msg.set_request_body_from_bytes ("application/json", new Bytes ("""{ "token": "%s" }""".printf (poll_token).data)); try { GLib.Bytes poll_response = yield session.send_and_read_async (poll_msg, GLib.Priority.HIGH, cancellable); var poll_str = (string) poll_response.get_data (); Json.Parser poll_parser = new Json.Parser (); poll_parser.load_from_data (poll_str); var poll_root = poll_parser.get_root (); if (poll_root.get_node_type () == Json.NodeType.OBJECT) { var poll_object = poll_root.get_object (); if (poll_object.has_member ("loginName")) { Services.LogService.get_default ().info ("Nextcloud", "Authentication successful, resolving CalDAV endpoint"); var server = poll_object.get_string_member ("server"); var login_name = poll_object.get_string_member ("loginName"); var app_password = poll_object.get_string_member ("appPassword"); var dav_endpoint = yield Core.get_default ().resolve_well_known_caldav (session, server); Services.LogService.get_default ().info ("Nextcloud", "Resolved well-known CalDAV endpoint"); var calendar_home = yield Core.get_default ().resolve_calendar_home (CalDAVType.NEXTCLOUD, dav_endpoint, login_name, app_password, cancellable, ignore_ssl); Services.LogService.get_default ().info ("Nextcloud", "Resolved calendar home"); var login_response = yield Core.get_default ().login (CalDAVType.NEXTCLOUD, dav_endpoint, login_name, app_password, calendar_home, cancellable, ignore_ssl); return login_response; } } } catch (Error err) { Services.LogService.get_default ().error ("Nextcloud", "Polling error: %s".printf (err.message)); response.error_code = err.code; response.error = "Polling error: %s".printf (err.message); break; } yield Util.nap (interval * 1000); timeout -= interval; } } catch (Error e) { Services.LogService.get_default ().error ("Nextcloud", "Login flow error: %s".printf (e.message)); response.error_code = e.code; response.error = "login error: %s".printf (e.message); } return response; } } alainm23-planify-69962f8/core/Services/CalDAV/WebDAVClient.vala000066400000000000000000000236201517337276100237170ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Services.CalDAV.WebDAVClient : GLib.Object { protected Soup.Session session; protected string username; protected string password; protected string base_url; protected bool ignore_ssl; public string? last_response_etag { get; private set; default = null; } public WebDAVClient (Soup.Session session, string base_url, string username, string password, bool ignore_ssl = false) { this.session = session; this.base_url = base_url; this.username = username; this.password = password; this.ignore_ssl = ignore_ssl; } public void cleanup () { Services.LogService.get_default ().info ("WebDAV", "Cleaning up session"); if (session != null) { session.abort (); } } public string get_absolute_url (string href) { string abs_url = null; try { abs_url = GLib.Uri.resolve_relative (base_url, href, GLib.UriFlags.NONE).to_string (); } catch (Error e) { Services.LogService.get_default ().error ("WebDAV", "Failed to resolve relative url: %s".printf (e.message)); } return abs_url; } public async WebDAVMultiStatus propfind (string url, string xml, string depth, GLib.Cancellable cancellable) throws GLib.Error { Services.LogService.get_default ().debug ("WebDAV", "PROPFIND request (depth: %s)".printf (depth)); return new WebDAVMultiStatus.from_string (yield send_request ("PROPFIND", url, "application/xml", xml, depth, cancellable, { Soup.Status.MULTI_STATUS })); } public async WebDAVMultiStatus report (string url, string xml, string depth, GLib.Cancellable cancellable) throws GLib.Error { Services.LogService.get_default ().debug ("WebDAV", "REPORT request (depth: %s)".printf (depth)); return new WebDAVMultiStatus.from_string (yield send_request ("REPORT", url, "application/xml", xml, depth, cancellable, { Soup.Status.MULTI_STATUS })); } protected async string send_request (string method, string url, string content_type, string? body, string? depth, GLib.Cancellable? cancellable, Soup.Status[] expected_statuses, HashTable? extra_headers = null) throws GLib.Error { var abs_url = get_absolute_url (url); if (abs_url == null) throw new GLib.IOError.FAILED ("Invalid URL: %s".printf (url)); Services.LogService.get_default ().debug ("WebDAV", "%s %s".printf (method, abs_url)); var msg = new Soup.Message (method, abs_url); msg.request_headers.append ("User-Agent", Constants.SOUP_USER_AGENT); msg.authenticate.connect ((auth, retrying) => { if (retrying) { Services.LogService.get_default ().error ("WebDAV", "Authentication failed, not retrying"); return false; } if (auth.scheme_name == "Digest" || auth.scheme_name == "Basic") { auth.authenticate (this.username, this.password); return true; } Services.LogService.get_default ().warn ("WebDAV", "Unsupported auth schema: %s".printf (auth.scheme_name)); return false; }); // After authentication, the body of the message needs to be set again when the message is resent. // https://gitlab.gnome.org/GNOME/libsoup/-/issues/358 msg.restarted.connect (() => { if (body != null) { msg.set_request_body_from_bytes (content_type, new GLib.Bytes (body.data)); } }); if (ignore_ssl) { msg.accept_certificate.connect (() => { return true; }); } if (depth != null) { msg.request_headers.replace ("Depth", depth); } if (extra_headers != null) { foreach (var key in extra_headers.get_keys ()) msg.request_headers.replace (key, extra_headers.lookup (key)); } if (body != null) { msg.set_request_body_from_bytes (content_type, new GLib.Bytes (body.data)); } GLib.Bytes response; try { response = yield session.send_and_read_async (msg, Priority.DEFAULT, cancellable); } catch (Error e) { if (e is GLib.IOError.CANCELLED) { Services.LogService.get_default ().info ("WebDAV", "Request cancelled"); throw e; } throw new GLib.IOError.FAILED ("Request failed: %s".printf (e.message)); } bool ok = false; foreach (var code in expected_statuses) { if (msg.status_code == code) { ok = true; break; } } if (!ok) { var response_text = (string) response.get_data (); Services.LogService.get_default ().error ("WebDAV", "%s %s failed: HTTP %u %s".printf (method, abs_url, msg.status_code, msg.reason_phrase ?? "")); throw new GLib.IOError.FAILED ( "%s %s failed: HTTP %u %s\n%s".printf ( method, abs_url, msg.status_code, msg.reason_phrase ?? "", response_text ?? "") ); } var response_data = response.get_data (); response_data += '\0'; last_response_etag = msg.response_headers.get_one ("ETag"); return (string) response_data; } } public class Services.CalDAV.WebDAVMultiStatus : Object { private GXml.DomElement root; private string xml_content; public WebDAVMultiStatus.from_string (string xml) throws GLib.Error { this.xml_content = xml; this.root = new GXml.XDocument.from_string (xml).document_element; } public void debug_print () { Services.LogService.get_default ().debug ("WebDAV", "Response XML: %s".printf (xml_content)); } public Gee.ArrayList responses () { var list = new Gee.ArrayList (); foreach (var resp in root.get_elements_by_tag_name ("response")) { list.add (new WebDAVResponse (resp)); } return list; } public string ? get_first_text_content_by_tag_name (string tag_name) { foreach (var h in root.get_elements_by_tag_name (tag_name)) { var text = h.text_content.strip (); if (text != null && text.length > 0) { return text; } } return null; } } public class Services.CalDAV.WebDAVResponse : Object { public string? href { get; private set; } public Soup.Status status { get; private set; default = Soup.Status.NONE; } private GXml.DomElement element; public WebDAVResponse (GXml.DomElement element) { this.element = element; parse_href (); parse_status (); } private void parse_href () { foreach (var h in element.get_elements_by_tag_name ("href")) { var text = h.text_content.strip (); if (text != null && text.length > 0) { href = text; break; } } } private void parse_status () { foreach (var s in element.get_elements_by_tag_name ("status")) { var text = s.text_content.strip (); if (text != null && text.length > 0) { status = parse_status_line (text); break; } } } private Soup.Status parse_status_line (string status_line) { Soup.HTTPVersion ver; uint code; string reason; if (Soup.headers_parse_status_line (status_line, out ver, out code, out reason)) { return (Soup.Status) code; } return Soup.Status.NONE; } public Gee.ArrayList propstats () { var results = new Gee.ArrayList (); foreach (var ps in element.get_elements_by_tag_name ("propstat")) { results.add (new WebDAVPropStat (ps)); } return results; } } public class Services.CalDAV.WebDAVPropStat : Object { public Soup.Status status { get; private set; } public GXml.DomElement prop { get; private set; } public WebDAVPropStat (GXml.DomElement element) { var status_list = element.get_elements_by_tag_name ("status"); if (status_list.length == 1) { var text = status_list[0].text_content.strip (); if (text != null && text.length > 0) status = parse_status_line (text); } var prop_list = element.get_elements_by_tag_name ("prop"); if (prop_list.length == 1) { prop = prop_list[0]; } } private Soup.Status parse_status_line (string status_line) { Soup.HTTPVersion ver; uint code; string reason; if (Soup.headers_parse_status_line (status_line, out ver, out code, out reason)) { return (Soup.Status) code; } return Soup.Status.NONE; } public GXml.DomElement? get_first_prop_with_tagname (string tagname) { if (prop == null) { return null; } foreach (var e in prop.get_elements_by_tag_name (tagname)) { return e; } return null; } } alainm23-planify-69962f8/core/Services/CalendarEvents/000077500000000000000000000000001517337276100225045ustar00rootroot00000000000000alainm23-planify-69962f8/core/Services/CalendarEvents/CalendarEvents.vala000066400000000000000000000415531517337276100262570ustar00rootroot00000000000000/* * Copyright (c) 2011-2019 elementary, Inc. (https://elementary.io) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ public class Services.CalendarEvents : Object { /* The data_range is the range of dates for which this model is storing * data. * * There is no way to set the ranges publicly. They can only be modified by * changing one of the following properties: month_start, num_weeks, and * week_starts_on. */ public CalendarEventsUtil.DateRange data_range { get; private set; } /* The first day of the month */ public GLib.DateTime month_start { get; construct; } /* The number of weeks to show in this model */ public int num_weeks { get; private set; default = 6; } /* The start of week, ie. Monday=1 or Sunday=7 */ public GLib.DateWeekday week_starts_on { get; set; } public HashTable > source_components { get; private set; } /* Notifies when events are added, updated, or removed */ public signal void components_added (E.Source source, Gee.Collection components); public signal void components_updated (E.Source source, Gee.Collection components); public signal void components_removed (E.Source source, Gee.Collection components); public E.SourceRegistry registry { get; private set; } private HashTable source_client; private HashTable source_view; private static CalendarEvents ? _instance; public static CalendarEvents get_default () { if (_instance == null) { _instance = new CalendarEvents (new GLib.DateTime.now_local ()); } return _instance; } public CalendarEvents (GLib.DateTime month_start) { Object ( month_start : month_start ); } construct { source_client = new HashTable (str_hash, str_equal); source_components = new HashTable> (CalendarEventsUtil.source_hash_func, CalendarEventsUtil.source_equal_func); source_view = new HashTable (str_hash, str_equal); #if HAVE__NL_TIME_FIRST_WEEKDAY int week_start = Posix.NLTime.FIRST_WEEKDAY.to_string ().data[0]; #else int week_start = 0; #endif if (week_start >= 1 && week_start <= 7) { week_starts_on = (GLib.DateWeekday) (week_start - 1); } compute_ranges (); open.begin (); } private async void open () { try { registry = yield new E.SourceRegistry (null); registry.source_removed.connect (remove_source); registry.source_added.connect ((source) => add_source_async.begin (source)); registry.list_sources (E.SOURCE_EXTENSION_CALENDAR).foreach ((source) => { E.SourceCalendar cal = (E.SourceCalendar) source.get_extension (E.SOURCE_EXTENSION_CALENDAR); if (cal.selected == true && source.enabled == true) { add_source_async.begin (source); } }); load_all_sources (); } catch (GLib.Error error) { critical (error.message); } } private void load_all_sources () { lock (source_client) { foreach (var id in source_client.get_keys ()) { var source = registry.ref_source (id); E.SourceTaskList list = (E.SourceTaskList) source.get_extension (E.SOURCE_EXTENSION_TASK_LIST); if (list.selected == true && source.enabled == true) { load_source (source); } } } } private void remove_source (E.Source source) { debug ("Removing source '%s'", source.dup_display_name ()); /* Already out of the model, so do nothing */ unowned string uid = source.get_uid (); if (!source_view.contains (uid)) { return; } var current_view = source_view.get (uid); try { current_view.stop (); } catch (Error e) { warning (e.message); } source_view.remove (uid); lock (source_client) { source_client.remove (uid); } var components = source_components.get (source).get_values ().read_only_view; components_removed (source, components); source_components.remove (source); } /* --- Helper Methods ---// */ private void compute_ranges () { var month_end = month_start.add_full (0, 1, -1); int dow = month_start.get_day_of_week (); int wso = (int) week_starts_on; int offset = 0; if (wso < dow) { offset = dow - wso; } else if (wso > dow) { offset = 7 + dow - wso; } var data_range_first = month_start.add_days (-offset); dow = month_end.get_day_of_week (); wso = (int) (week_starts_on + 6); /* WSO must be between 1 and 7 */ if (wso > 7) { wso = wso - 7; } offset = 0; if (wso < dow) { offset = 7 + wso - dow; } else if (wso > dow) { offset = wso - dow; } var data_range_last = month_end.add_days (offset); data_range = new CalendarEventsUtil.DateRange (data_range_first, data_range_last); num_weeks = data_range.to_list ().size / 7; debug (@"Date ranges: ($data_range_first <= $month_start < $month_end <= $data_range_last)"); } private void load_source (E.Source source) { /* create empty source-component map */ var components = new Gee.TreeMultiMap ( (GLib.CompareDataFunc ?) GLib.strcmp, (GLib.CompareDataFunc ?) CalendarEventsUtil.calcomponent_compare_func ); source_components.set (source, components); /* query client view */ var iso_first = ECal.isodate_from_time_t ((time_t) data_range.first_dt.to_unix ()); var iso_last = ECal.isodate_from_time_t ((time_t) data_range.last_dt.add_days (1).to_unix ()); var query = @"(occur-in-time-range? (make-time \"$iso_first\") (make-time \"$iso_last\"))"; ECal.Client client; lock (source_client) { client = source_client.get (source.dup_uid ()); } if (client == null) { return; } debug ("Getting client-view for source '%s'", source.dup_display_name ()); client.get_view.begin (query, null, (obj, results) => { var view = on_client_view_received (results, source, client); view.objects_added.connect ((objects) => on_objects_added (source, client, objects)); view.objects_removed.connect ((objects) => on_objects_removed (source, client, objects)); view.objects_modified.connect ((objects) => on_objects_modified (source, client, objects)); try { view.start (); } catch (Error e) { critical (e.message); } source_view.set (source.dup_uid (), view); }); } private async void add_source_async (E.Source source) { if (!source.has_extension (E.SOURCE_EXTENSION_CALENDAR)) { return; } debug ("Adding source '%s'", source.dup_display_name ()); try { var client = (ECal.Client) ECal.Client.connect_sync (source, ECal.ClientSourceType.EVENTS, -1, null); source_client.insert (source.dup_uid (), client); } catch (Error e) { critical (e.message); } Idle.add (() => { load_source (source); return false; }); } private void debug_component (E.Source source, ECal.Component component) { unowned ICal.Component comp = component.get_icalcomponent (); debug (@"Component ['$(comp.get_summary())', $(source.dup_display_name()), $(comp.get_uid()))]"); } private ECal.ClientView on_client_view_received (AsyncResult results, E.Source source, ECal.Client client) { ECal.ClientView view; try { debug ("Received client-view for source '%s'", source.dup_display_name ()); bool status = client.get_view.end (results, out view); assert (status == true); } catch (Error e) { critical ("Error loading client-view from source '%s': %s", source.dup_display_name (), e.message); } return view; } private void on_objects_added (E.Source source, ECal.Client client, SList objects) { debug (@"Received $(objects.length()) added component(s) for source '%s'", source.dup_display_name ()); var components = source_components.get (source); var added_components = new Gee.ArrayList ((Gee.EqualDataFunc ?) CalendarEventsUtil.calcomponent_equal_func); objects.foreach ((comp) => { unowned string uid = comp.get_uid (); client.generate_instances_for_object_sync (comp, (time_t) data_range.first_dt.to_unix (), (time_t) data_range.last_dt.to_unix (), null, (comp, start, end) => { var component = new ECal.Component.from_icalcomponent (comp); debug_component (source, component); components.set (uid, component); added_components.add (component); return true; }); }); components_added (source, added_components.read_only_view); } private void on_objects_modified (E.Source source, ECal.Client client, SList objects) { debug (@"Received $(objects.length()) modified component(s) for source '%s'", source.dup_display_name ()); var components = source_components.get (source); var updated_components = new Gee.ArrayList ((Gee.EqualDataFunc ?) CalendarEventsUtil.calcomponent_equal_func); objects.foreach ((comp) => { unowned string uid = comp.get_uid (); components.remove_all (uid); client.generate_instances_for_object_sync (comp, (time_t) data_range.first_dt.to_unix (), (time_t) data_range.last_dt.to_unix (), null, (comp, start, end) => { var component = new ECal.Component.from_icalcomponent (comp); debug_component (source, component); components.set (uid, component); updated_components.add (component); return true; }); }); components_updated (source, updated_components.read_only_view); } private void on_objects_removed (E.Source source, ECal.Client client, SList cids) { debug (@"Received $(cids.length()) removed component(s) for source '%s'", source.dup_display_name ()); var components = source_components.get (source); var removed_components = new Gee.ArrayList ((Gee.EqualDataFunc ?) CalendarEventsUtil.calcomponent_equal_func); cids.foreach ((cid) => { if (cid == null) { return; } var comps = components.get (cid.get_uid ()); foreach (ECal.Component component in comps) { removed_components.add (component); debug_component (source, component); } }); components_removed (source, removed_components.read_only_view); } public Gee.ArrayList get_all_sources () { Gee.ArrayList sources = new Gee.ArrayList (); registry.list_sources (E.SOURCE_EXTENSION_CALENDAR).foreach ((source) => { sources.add (source); }); return sources; } private async ECal.Client? get_client (string source_uid) { if (registry == null) { while (registry == null) { yield Util.nap (100); } } ECal.Client client; lock (source_client) { client = source_client.get (source_uid); } if (client == null) { var source = registry.ref_source (source_uid); if (source != null) { yield add_source_async (source); lock (source_client) { client = source_client.get (source_uid); } } if (client == null) { critical ("Calendar client not found for UID: %s", source_uid); return null; } } return client; } public async string? create_event (string source_uid, Objects.Item item) { var client = yield get_client (source_uid); if (client == null) { return null; } if (!item.has_due) { return null; } var event = new ICal.Component (ICal.ComponentKind.VEVENT_COMPONENT); var generated_uid = Util.get_default ().generate_id (); event.set_uid (generated_uid); event.set_summary (item.content); if (item.description != "") { event.set_description (item.description); } bool has_time = Utils.Datetime.has_time (item.due.datetime); var dt_start = new ICal.Time (); dt_start.set_date (item.due.datetime.get_year (), item.due.datetime.get_month (), item.due.datetime.get_day_of_month ()); if (has_time) { dt_start.set_time (item.due.datetime.get_hour (), item.due.datetime.get_minute (), item.due.datetime.get_second ()); dt_start.set_is_date (false); } else { dt_start.set_is_date (true); } event.set_dtstart (dt_start); event.set_dtend (dt_start); try { string? uid = null; client.create_object.begin (event, ECal.OperationFlags.NONE, null, (obj, res) => { try { client.create_object.end (res, out uid); create_event.callback (); } catch (Error e) { critical ("Error creating event: %s", e.message); create_event.callback (); } }); yield; return uid ?? generated_uid; } catch (Error e) { critical ("Error creating event: %s", e.message); return null; } } public async bool delete_event (string source_uid, string event_uid) { var client = yield get_client (source_uid); if (client == null) { return false; } try { yield client.remove_object (event_uid, null, ECal.ObjModType.THIS, ECal.OperationFlags.NONE, null); return true; } catch (Error e) { critical ("Error deleting event: %s", e.message); return false; } } public async bool update_event (string source_uid, string event_uid, Objects.Item item) { var client = yield get_client (source_uid); if (client == null) { return false; } try { ICal.Component? ical_event = null; yield client.get_object (event_uid, null, null, out ical_event); if (ical_event == null) { return false; } ical_event.set_summary (item.content); ical_event.set_description (item.description); bool has_time = Utils.Datetime.has_time (item.due.datetime); var dt_start = new ICal.Time (); dt_start.set_date (item.due.datetime.get_year (), item.due.datetime.get_month (), item.due.datetime.get_day_of_month ()); if (has_time) { dt_start.set_time (item.due.datetime.get_hour (), item.due.datetime.get_minute (), item.due.datetime.get_second ()); dt_start.set_is_date (false); } else { dt_start.set_is_date (true); } ical_event.set_dtstart (dt_start); ical_event.set_dtend (dt_start); yield client.modify_object (ical_event, ECal.ObjModType.THIS, ECal.OperationFlags.NONE, null); return true; } catch (Error e) { critical ("Error updating event: %s", e.message); return false; } } } alainm23-planify-69962f8/core/Services/CalendarEvents/DateIterator.vala000066400000000000000000000042451517337276100257450ustar00rootroot00000000000000/* * Copyright 2011-2018 elementary, Inc. (https://elementary.io) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA. * * Authored by: Corentin Noël */ public class CalendarEventsUtil.DateIterator : Object, Gee.Traversable, Gee.Iterator { public GLib.DateTime current { get; construct set; } public CalendarEventsUtil.DateRange range { get; construct; } // Required by Gee.Iterator public bool valid { get { return true; } } // Required by Gee.Iterator public bool read_only { get { return false; } } public DateIterator (CalendarEventsUtil.DateRange range) { Object ( range: range, current: range.first_dt.add_days (-1) ); } public bool @foreach (Gee.ForallFunc f) { var element = range.first_dt; while (element.compare (range.last_dt) < 0) { if (f (element) == false) { return false; } element = element.add_days (1); } return true; } public bool next () { if (!has_next ()) { return false; } current = this.current.add_days (1); return true; } public bool has_next () { return current.compare (range.last_dt) < 0; } public new GLib.DateTime get () { return current; } public void remove () { assert_not_reached (); } } alainm23-planify-69962f8/core/Services/CalendarEvents/DateRange.vala000066400000000000000000000042131517337276100252030ustar00rootroot00000000000000/* * Copyright 2011-2019 elementary, Inc. (https://elementary.io) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA. * * Authored by: Corentin Noël */ /* Represents date range from 'first' to 'last' inclusive */ public class CalendarEventsUtil.DateRange : Object, Gee.Traversable, Gee.Iterable { public GLib.DateTime first_dt { get; construct; } public GLib.DateTime last_dt { get; construct; } public bool @foreach (Gee.ForallFunc f) { foreach (var date in this) { if (f (date) == false) { return false; } } return true; } public DateRange (GLib.DateTime first, GLib.DateTime last) { Object ( first_dt: first, last_dt: last ); } public bool equals (DateRange other) { return (first_dt == other.first_dt && last_dt == other.last_dt); } public Gee.Iterator iterator () { return new DateIterator (this); } public Gee.List to_list () { var list = new Gee.ArrayList ((Gee.EqualDataFunc ?) datetime_equal_func); foreach (var date in this) { list.add (date); } return list; } /* Returns true if 'a' and 'b' are the same GLib.DateTime */ private bool datetime_equal_func (GLib.DateTime a, GLib.DateTime b) { return a.equal (b); } } alainm23-planify-69962f8/core/Services/CalendarEvents/Util.vala000066400000000000000000000224341517337276100242730ustar00rootroot00000000000000/* * Copyright 2011-2019 elementary, Inc. (https://elementary.io) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA. * * Authored by: Corentin Noël */ namespace CalendarEventsUtil { public GLib.DateTime get_start_of_month (owned GLib.DateTime ? date = null) { if (date == null) { date = new GLib.DateTime.now_local (); } return new GLib.DateTime.local (date.get_year (), date.get_month (), 1, 0, 0, 0); } public GLib.DateTime strip_time (GLib.DateTime datetime) { return datetime.add_full (0, 0, 0, -datetime.get_hour (), -datetime.get_minute (), -datetime.get_second ()); } /** * Gets the timezone of the given TimeType as a GLib.TimeZone. */ public TimeZone timezone_from_ical (ICal.Time date) { // Special case: dates are floating, so return local time zone // vala-lint=note if (date.is_date ()) { return new GLib.TimeZone.local (); } unowned string ? tzid = date.get_tzid (); if (tzid == null) { // In libical, null tzid means floating time // vala-lint=note assert (date.get_timezone () == null); return new GLib.TimeZone.local (); } /* Standard city names are usable directly by GLib, so we can bypass * the ICal scaffolding completely and just return a new * GLib.TimeZone here. This method also preserves all the timezone * information, like going in/out of daylight savings, which parsing * from UTC offset does not. * Note, this can't recover from failure, since GLib.TimeZone * constructor doesn't communicate failure information. This block * will always return a GLib.TimeZone, which will be UTC if parsing * fails for some reason. */ const string LIBICAL_TZ_PREFIX = "/freeassociation.sourceforge.net/"; try { if (tzid.has_prefix (LIBICAL_TZ_PREFIX)) { // TZID has prefix "/freeassociation.sourceforge.net/", // indicating a libical TZID. return new GLib.TimeZone.identifier (tzid.offset (LIBICAL_TZ_PREFIX.length)); } // TZID does not have libical prefix, potentially indicating an Olson // standard city name. return new GLib.TimeZone.identifier (tzid); } catch (Error e) { debug ("Failed to parse Timezone: %s. Using UTC", e.message); return new GLib.TimeZone.utc (); } } /** * Converts the given ICal.Time to a DateTime. * XXX : Track next versions of evolution in order to convert ICal.Timezone to GLib.TimeZone with a dedicated function… */ public GLib.DateTime ical_to_date_time (ICal.Time date) { int year, month, day, hour, minute, second; date.get_date (out year, out month, out day); date.get_time (out hour, out minute, out second); return new GLib.DateTime (timezone_from_ical (date), year, month, day, hour, minute, second); } /** * Say if an event lasts all day. */ public bool is_the_all_day (GLib.DateTime dtstart, GLib.DateTime dtend) { var timespan = dtend.difference (dtstart); if (timespan % GLib.TimeSpan.DAY == 0 && dtstart.get_hour () == 0) { return true; } else { return false; } } /* * Gee Utility Functions */ /* Computes hash value for E.Source */ #if WITH_EVOLUTION public uint source_hash_func (E.Source key) { return key.dup_uid ().hash (); } /* Returns true if 'a' and 'b' are the same ECal.Component */ public bool calcomponent_equal_func (ECal.Component a, ECal.Component b) { return a.get_id ().equal (b.get_id ()); } public int calcomponent_compare_func (ECal.Component ? a, ECal.Component ? b) { if (a == null && b != null) { return 1; } else if (b == null && a != null) { return -1; } else if (b == null && a == null) { return 0; } var a_id = a.get_id (); var b_id = b.get_id (); int res = GLib.strcmp (a_id.get_uid (), b_id.get_uid ()); if (res == 0) { return GLib.strcmp (a_id.get_rid (), b_id.get_rid ()); } return res; } public bool calcomp_is_on_day (ECal.Component comp, GLib.DateTime day) { unowned ICal.Timezone system_timezone = ECal.util_get_system_timezone (); var stripped_time = new GLib.DateTime.local (day.get_year (), day.get_month (), day.get_day_of_month (), 0, 0, 0); var selected_date_unix = stripped_time.to_unix (); var selected_date_unix_next = stripped_time.add_days (1).to_unix (); /* We want to be relative to the local timezone */ unowned ICal.Component ? icomp = comp.get_icalcomponent (); ICal.Time ? start_time = icomp.get_dtstart (); ICal.Time ? due_time = icomp.get_due (); ICal.Time ? end_time = icomp.get_dtend (); if (due_time != null && !due_time.is_null_time ()) { // vala-lint=note // RFC 2445 Section 4.8.2.3: The property DUE // can only be specified in a "VTODO" calendar // component. Therefore we are dealing with a // task here: end_time = due_time; if (start_time == null || start_time.is_null_time ()) { start_time = due_time; } } time_t start_unix = start_time.as_timet_with_zone (system_timezone); time_t end_unix = end_time.as_timet_with_zone (system_timezone); /* If the selected date is inside the event */ if (start_unix < selected_date_unix && selected_date_unix_next < end_unix) { return true; } /* If the event start before the selected date but finished in the selected date */ if (start_unix < selected_date_unix && selected_date_unix < end_unix) { return true; } /* If the event start after the selected date but finished after the selected date */ if (start_unix < selected_date_unix_next && selected_date_unix_next < end_unix) { return true; } /* If the event is inside the selected date */ if (start_unix < selected_date_unix_next && selected_date_unix < end_unix) { return true; } return false; } public bool calcomp_is_on_month (ECal.Component comp, GLib.DateTime date) { /* We want to be relative to the local timezone */ unowned ICal.Component ? icomp = comp.get_icalcomponent (); ICal.Time ? start_time = icomp.get_dtstart (); ICal.Time ? due_time = icomp.get_due (); ICal.Time ? end_time = icomp.get_dtend (); if (due_time != null && !due_time.is_null_time ()) { // vala-lint=note // RFC 2445 Section 4.8.2.3: The property DUE // can only be specified in a "VTODO" calendar // component. Therefore we are dealing with a // task here: end_time = due_time; if (start_time == null || start_time.is_null_time ()) { start_time = due_time; } } return date.get_month () == start_time.get_month () && date.get_year () == start_time.get_year (); } /* Returns true if 'a' and 'b' are the same E.Source */ public bool source_equal_func (E.Source a, E.Source b) { return a.dup_uid () == b.dup_uid (); } public string get_source_location (E.Source source) { var registry = Services.CalendarEvents.get_default ().registry; string parent_uid = source.parent; E.Source parent_source = source; while (parent_source != null) { parent_uid = parent_source.parent; if (parent_source.has_extension (E.SOURCE_EXTENSION_AUTHENTICATION)) { var collection = (E.SourceAuthentication) parent_source.get_extension (E.SOURCE_EXTENSION_AUTHENTICATION); // vala-lint=line-length if (collection.user != null) { return collection.user; } } if (parent_source.has_extension (E.SOURCE_EXTENSION_COLLECTION)) { var collection = (E.SourceCollection) parent_source.get_extension (E.SOURCE_EXTENSION_COLLECTION); if (collection.identity != null) { return collection.identity; } } if (parent_uid == null) break; parent_source = registry.ref_source (parent_uid); } return _("On this computer"); } #endif } alainm23-planify-69962f8/core/Services/Chrono/000077500000000000000000000000001517337276100210365ustar00rootroot00000000000000alainm23-planify-69962f8/core/Services/Chrono/Chrono.vala000066400000000000000000000024051517337276100231340ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { public class Chrono : Object { private Parser parser; private string language; public Chrono (string language = "en") { this.language = language; parser = new Parser (); } public ParseResult? parse (string text, bool parse_recurrence = false) { return parser.parse (text, language, parse_recurrence); } } } alainm23-planify-69962f8/core/Services/Chrono/Common/000077500000000000000000000000001517337276100222665ustar00rootroot00000000000000alainm23-planify-69962f8/core/Services/Chrono/Common/ISOParser.vala000066400000000000000000000061141517337276100247440ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { public class ISOParser : Object { private Regex iso_regex; // ISO 8601 // http://www.w3.org/TR/NOTE-datetime // - YYYY-MM-DD // - YYYY-MM-DDThh:mmTZD // - YYYY-MM-DDThh:mm:ssTZD // - YYYY-MM-DDThh:mm:ss.sTZD // - TZD = (Z or +hh:mm or -hh:mm) public ISOParser () { try { iso_regex = new Regex ( "(\\d{4})-(\\d{2})-(\\d{2})" + "(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.(\\d+))?)?" + "(Z|[+-]\\d{2}:\\d{2})?)?", RegexCompileFlags.CASELESS ); } catch (Error e) { warning ("Error creating ISO regex: %s", e.message); } } public ParseResult? parse (string text) { try { MatchInfo match; if (!iso_regex.match (text, 0, out match)) { return null; } int year = int.parse (match.fetch (1)); int month = int.parse (match.fetch (2)); int day = int.parse (match.fetch (3)); int hour = 0, minute = 0, second = 0; string? time_part = match.fetch (4); if (time_part != null && time_part.length > 0) { hour = int.parse (time_part); minute = int.parse (match.fetch (5)); string? sec = match.fetch (6); if (sec != null && sec.length > 0) { second = int.parse (sec); } } var result = new ParseResult (); result.date = new DateTime.local (year, month, day, hour, minute, second); int start_pos, end_pos; match.fetch_pos (0, out start_pos, out end_pos); result.start_index = start_pos; result.end_index = end_pos; result.matched_text = match.fetch (0); return result; } catch (Error e) { return null; } } } } alainm23-planify-69962f8/core/Services/Chrono/Common/SlashParser.vala000066400000000000000000000054311517337276100253650ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { public class SlashParser : Object { private Regex slash_regex; // Date format with slash "/" (or dot ".") between numbers. // For examples: // - 7/10 // - 7/12/2020 // - 7.12.2020 public SlashParser () { try { // Matches: d/m, d/m/y, d.m, d.m.y slash_regex = new Regex ( "(\\d{1,2})[/\\.](\\d{1,2})(?:[/\\.](\\d{2,4}))?", RegexCompileFlags.CASELESS ); } catch (Error e) { warning ("Error creating slash regex: %s", e.message); } } public ParseResult? parse (string text) { try { MatchInfo match; if (!slash_regex.match (text, 0, out match)) { return null; } int day = int.parse (match.fetch (1)); int month = int.parse (match.fetch (2)); var now = new DateTime.now_local (); int year = now.get_year (); string? year_str = match.fetch (3); if (year_str != null && year_str.length > 0) { year = int.parse (year_str); if (year < 100) { year += 2000; } } var result = new ParseResult (); result.date = new DateTime.local (year, month, day, 0, 0, 0); int start_pos, end_pos; match.fetch_pos (0, out start_pos, out end_pos); result.start_index = start_pos; result.end_index = end_pos; result.matched_text = match.fetch (0); return result; } catch (Error e) { return null; } } } } alainm23-planify-69962f8/core/Services/Chrono/Common/TimeParser.vala000066400000000000000000000114201517337276100252040ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { /** * Time format parser (language independent) * * For examples: * - 14:30 * - 23:45 * - 2:30pm * - 3pm * - 15:00 */ public class TimeParser : Object { private Regex time_24h_regex; private Regex time_12h_regex; public TimeParser () { try { // 24-hour format: 14:30, 23:45 time_24h_regex = new Regex ( "(\\d{1,2}):(\\d{2})", RegexCompileFlags.CASELESS ); // 12-hour format: 2:30pm, 3pm, 11:45am time_12h_regex = new Regex ( "(\\d{1,2})(?::(\\d{2}))?\\s*(am|pm)", RegexCompileFlags.CASELESS ); } catch (Error e) { warning ("Error creating time regex: %s", e.message); } } public ParseResult? parse (string text) { var result = parse_12h (text); if (result != null) { return result; } return parse_24h (text); } private ParseResult? parse_12h (string text) { try { MatchInfo match; if (!time_12h_regex.match (text, 0, out match)) { return null; } int hour = int.parse (match.fetch (1)); int minute = 0; string? min_str = match.fetch (2); if (min_str != null && min_str.length > 0) { minute = int.parse (min_str); } string period = match.fetch (3).down (); if (period == "pm" && hour < 12) { hour += 12; } else if (period == "am" && hour == 12) { hour = 0; } var now = new DateTime.now_local (); var result = new ParseResult (); result.date = new DateTime.local ( now.get_year (), now.get_month (), now.get_day_of_month (), hour, minute, 0 ); int start_pos, end_pos; match.fetch_pos (0, out start_pos, out end_pos); result.start_index = start_pos; result.end_index = end_pos; result.matched_text = match.fetch (0); return result; } catch (Error e) { return null; } } private ParseResult? parse_24h (string text) { try { MatchInfo match; if (!time_24h_regex.match (text, 0, out match)) { return null; } int hour = int.parse (match.fetch (1)); int minute = int.parse (match.fetch (2)); if (hour > 23 || minute > 59) { return null; } var now = new DateTime.now_local (); var result = new ParseResult (); result.date = new DateTime.local ( now.get_year (), now.get_month (), now.get_day_of_month (), hour, minute, 0 ); int start_pos, end_pos; match.fetch_pos (0, out start_pos, out end_pos); result.start_index = start_pos; result.end_index = end_pos; result.matched_text = match.fetch (0); return result; } catch (Error e) { return null; } } } } alainm23-planify-69962f8/core/Services/Chrono/LanguageParser.vala000066400000000000000000000017711517337276100246110ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { public abstract class LanguageParser : Object { public abstract ParseResult? parse (string text, bool parse_recurrence = false); } } alainm23-planify-69962f8/core/Services/Chrono/Locales/000077500000000000000000000000001517337276100224205ustar00rootroot00000000000000alainm23-planify-69962f8/core/Services/Chrono/Locales/README.md000066400000000000000000000064611517337276100237060ustar00rootroot00000000000000# � Multi-language Support for Planify This directory contains multi-language support for Planify's date parsing system. ## � Structure ``` Locales/ ├── en/ # English ├── es/ # Spanish ├── template/ # Template files for new languages ├── create_language.sh # Script to create new languages ├── TEMPLATE.md # Detailed guide └── README.md # This file ``` ## 🚀 Adding a New Language 1. Copy the `template/` folder to `[language_code]/` 2. Rename files replacing `TEMPLATE` with your code 3. Edit each file with corresponding translations 4. Register the parser in `Chrono.vala` ## � Files per Language Each language must implement these parsers: | File | Purpose | Examples | |------|---------|----------| | `Constants.vala` | Months and time units | "january", "week", "year" | | `CasualDateParser.vala` | Casual dates | "today", "tomorrow", "yesterday" | | `RelativeDateFormatParser.vala` | Relative dates | "next week", "last month" | | `CasualTimeParser.vala` | Casual times | "in the morning", "at night" | | `MonthNameParser.vala` | Month names | "January 15", "March 2024" | | `TimeExpressionParser.vala` | Time expressions | "at 3pm", "14:30" | | `DateTimeComboParser.vala` | Combinations | "tomorrow at 9am" | | `[Language]Parser.vala` | Main parser | Coordinates all parsers | ## 🎯 Common Patterns by Language ### Spanish - **Casual dates**: hoy, mañana, ayer, pasado mañana - **Relative dates**: próxima semana, mes pasado, este año - **Times**: por la mañana, en la tarde, por la noche ### English - **Casual dates**: today, tomorrow, yesterday - **Relative dates**: next week, last month, this year - **Times**: in the morning, in the afternoon, at night ### French (example) - **Casual dates**: aujourd'hui, demain, hier - **Relative dates**: la semaine prochaine, le mois dernier - **Times**: le matin, l'après-midi, le soir ## 🔧 Implementation Tips ### 1. Regular Expressions - Use `RegexCompileFlags.CASELESS` to ignore case - Include variations with and without accents - Consider plural and singular forms ### 2. Constants - Add full names and abbreviations for months - Include all variations of time units - Consider common synonyms ### 3. Testing - Test with phrases users would actually write - Include edge cases like accents, capitals, extra spaces - Verify no conflicts between parsers ## ✅ Checklist Before submitting your implementation: - [ ] All files created and compiling - [ ] Constants fully translated - [ ] Regex patterns working correctly - [ ] Parser registered in `Chrono.vala` - [ ] Basic tests passing - [ ] No conflicts with other languages ## � Contributing 1. **Fork** the repository 2. **Create** a branch: `git checkout -b add-[language]-support` 3. **Implement** your language following this guide 4. **Test** your implementation 5. **Submit** a pull request ## 📚 Useful Resources - [ISO Language Codes](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) - [Vala Regex Documentation](https://valadoc.org/glib-2.0/GLib.Regex.html) - [Complete guide in TEMPLATE.md](TEMPLATE.md) ## 🌟 Supported Languages - ✅ **English** (en) - Complete - ✅ **Spanish** (es) - Complete - 🚧 **Your language here** - Contribute! Help us make Planify accessible to more people! 🚀alainm23-planify-69962f8/core/Services/Chrono/Locales/TEMPLATE.md000066400000000000000000000056241517337276100241640ustar00rootroot00000000000000# Adding New Language Support This guide will help you add support for a new language in Planify's date parsing system. ## � File Structure To add a new language, you need to create a folder with the ISO language code (e.g., `fr` for French, `de` for German) inside `core/Services/Chrono/Locales/`. ### Required Files Each language must have these files: ``` Locales/[language_code]/ ├── [CODE]Constants.vala # Language constants ├── [CODE]CasualDateParser.vala # Casual date parser ├── [CODE]CasualTimeParser.vala # Casual time parser ├── [CODE]MonthNameParser.vala # Month name parser ├── [CODE]RelativeDateFormatParser.vala # Relative date parser ├── [CODE]TimeExpressionParser.vala # Time expression parser ├── [CODE]DateTimeComboParser.vala # Combined parser └── [Language]Parser.vala # Main parser ``` ## 🚀 Steps to Add a New Language ### 1. Create Language Folder ```bash mkdir core/Services/Chrono/Locales/[language_code] ``` ### 2. Copy Templates Copy template files and rename them: ```bash cp core/Services/Chrono/Locales/template/* core/Services/Chrono/Locales/[language_code]/ ``` ### 3. Customize Files Edit each file replacing: - `TEMPLATE` → language code in uppercase (e.g., `FR`, `DE`) - `Template` → language name (e.g., `French`, `German`) - Constants and patterns with corresponding translations ### 4. Register New Parser Add the new parser in `core/Services/Chrono/Chrono.vala`: ```vala // In constructor, add: parsers.add (new [Language]Parser ()); ``` ## � Pattern Examples by Language ### Relative Dates - **Spanish**: "la próxima semana", "el mes pasado" - **French**: "la semaine prochaine", "le mois dernier" - **German**: "nächste Woche", "letzten Monat" ### Casual Dates - **Spanish**: "hoy", "mañana", "ayer" - **French**: "aujourd'hui", "demain", "hier" - **German**: "heute", "morgen", "gestern" ### Times - **Spanish**: "por la mañana", "en la tarde" - **French**: "le matin", "l'après-midi" - **German**: "am Morgen", "am Nachmittag" ## 🔧 Implementation Tips 1. **Use flexible regex patterns** that capture common variations 2. **Include accented and unaccented versions** for better compatibility 3. **Consider plural and singular forms** of all words 4. **Test with real phrases** users would actually write 5. **Document supported patterns** in comments ## ✅ Checklist - [ ] All files created and renamed - [ ] Constants translated (months, time units) - [ ] Regex patterns updated - [ ] Main parser registered in Chrono.vala - [ ] Basic tests working - [ ] Documentation updated ## � Contributing Once your implementation is ready: 1. Fork the repository 2. Create a branch for your language: `git checkout -b add-[language]-support` 3. Commit your changes: `git commit -m "Add [language] language support"` 4. Submit a pull request Thanks for helping make Planify more accessible! �alainm23-planify-69962f8/core/Services/Chrono/Locales/en/000077500000000000000000000000001517337276100230225ustar00rootroot00000000000000alainm23-planify-69962f8/core/Services/Chrono/Locales/en/ENCasualDateParser.vala000066400000000000000000000115201517337276100272740ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { /** * English casual date expressions parser * * Supports: now, today, tonight, tomorrow, overmorrow, tmr, tmrw, yesterday, last night */ public class ENCasualDateParser : Object { private Regex casual_regex; public ENCasualDateParser () { try { casual_regex = new Regex ( "\\b(now|today|tonight|tomorrow|overmorrow|tmr|tmrw|yesterday|last\\s*night)\\b", RegexCompileFlags.CASELESS ); } catch (Error e) { warning ("Error creating casual date regex: %s", e.message); } } public ParseResult? parse (string text) { try { MatchInfo match; if (!casual_regex.match (text, 0, out match)) { return null; } string keyword = match.fetch (1).down ().replace (" ", ""); var now = new DateTime.now_local (); DateTime date; switch (keyword) { case "now": date = now; break; case "today": date = new DateTime.local ( now.get_year (), now.get_month (), now.get_day_of_month (), 0, 0, 0 ); break; case "tonight": date = new DateTime.local ( now.get_year (), now.get_month (), now.get_day_of_month (), 20, 0, 0 ); break; case "tomorrow": case "tmr": case "tmrw": var tomorrow = now.add_days (1); date = new DateTime.local ( tomorrow.get_year (), tomorrow.get_month (), tomorrow.get_day_of_month (), 0, 0, 0 ); break; case "overmorrow": var overmorrow = now.add_days (2); date = new DateTime.local ( overmorrow.get_year (), overmorrow.get_month (), overmorrow.get_day_of_month (), 0, 0, 0 ); break; case "yesterday": var yesterday = now.add_days (-1); date = new DateTime.local ( yesterday.get_year (), yesterday.get_month (), yesterday.get_day_of_month (), 0, 0, 0 ); break; case "lastnight": date = new DateTime.local ( now.get_year (), now.get_month (), now.get_day_of_month (), 20, 0, 0 ).add_days (-1); break; default: return null; } var result = new ParseResult (); result.date = date; int start_pos, end_pos; match.fetch_pos (0, out start_pos, out end_pos); result.start_index = start_pos; result.end_index = end_pos; result.matched_text = match.fetch (0); return result; } catch (Error e) { return null; } } } } alainm23-planify-69962f8/core/Services/Chrono/Locales/en/ENCasualTimeParser.vala000066400000000000000000000065261517337276100273270ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { /** * English casual time expressions parser * * Supports: morning, afternoon, evening, night, midnight, midday, noon * With optional "this" prefix */ public class ENCasualTimeParser : Object { private Regex casual_time_regex; public ENCasualTimeParser () { try { casual_time_regex = new Regex ( "(?:this)?\\s{0,3}(morning|afternoon|evening|night|midnight|midday|noon)(?=\\W|$)", RegexCompileFlags.CASELESS ); } catch (Error e) { warning ("Error creating casual time regex: %s", e.message); } } public ParseResult? parse (string text) { try { MatchInfo match; if (!casual_time_regex.match (text, 0, out match)) { return null; } string keyword = match.fetch (1).down (); var now = new DateTime.now_local (); int hour; switch (keyword) { case "morning": hour = 9; break; case "afternoon": hour = 14; break; case "evening": hour = 18; break; case "night": hour = 20; break; case "midnight": hour = 0; break; case "midday": case "noon": hour = 12; break; default: return null; } var result = new ParseResult (); result.date = new DateTime.local ( now.get_year (), now.get_month (), now.get_day_of_month (), hour, 0, 0 ); int start_pos, end_pos; match.fetch_pos (0, out start_pos, out end_pos); result.start_index = start_pos; result.end_index = end_pos; result.matched_text = match.fetch (0); return result; } catch (Error e) { return null; } } } } alainm23-planify-69962f8/core/Services/Chrono/Locales/en/ENConstants.vala000066400000000000000000000121111517337276100260620ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { public enum TimeUnit { SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR } public class ENConstants : Object { private static Gee.HashMap? _month_names = null; private static Gee.HashMap? _time_units = null; private static Gee.HashMap get_month_names () { if (_month_names == null) { _month_names = new Gee.HashMap (); // Full month names _month_names["january"] = 1; _month_names["february"] = 2; _month_names["march"] = 3; _month_names["april"] = 4; _month_names["may"] = 5; _month_names["june"] = 6; _month_names["july"] = 7; _month_names["august"] = 8; _month_names["september"] = 9; _month_names["october"] = 10; _month_names["november"] = 11; _month_names["december"] = 12; // Abbreviations _month_names["jan"] = 1; _month_names["feb"] = 2; _month_names["mar"] = 3; _month_names["apr"] = 4; _month_names["jun"] = 6; _month_names["jul"] = 7; _month_names["aug"] = 8; _month_names["sep"] = 9; _month_names["sept"] = 9; _month_names["oct"] = 10; _month_names["nov"] = 11; _month_names["dec"] = 12; } return _month_names; } public static int? get_month (string name) { string key = name.down (); var months = get_month_names (); if (months.has_key (key)) { return months[key]; } return null; } private static Gee.HashMap get_time_units () { if (_time_units == null) { _time_units = new Gee.HashMap (); // Abbreviations _time_units["s"] = TimeUnit.SECOND; _time_units["sec"] = TimeUnit.SECOND; _time_units["m"] = TimeUnit.MINUTE; _time_units["min"] = TimeUnit.MINUTE; _time_units["mins"] = TimeUnit.MINUTE; _time_units["h"] = TimeUnit.HOUR; _time_units["hr"] = TimeUnit.HOUR; _time_units["hrs"] = TimeUnit.HOUR; _time_units["d"] = TimeUnit.DAY; _time_units["w"] = TimeUnit.WEEK; _time_units["mo"] = TimeUnit.MONTH; _time_units["mon"] = TimeUnit.MONTH; _time_units["mos"] = TimeUnit.MONTH; _time_units["qtr"] = TimeUnit.QUARTER; _time_units["y"] = TimeUnit.YEAR; _time_units["yr"] = TimeUnit.YEAR; // Full names _time_units["second"] = TimeUnit.SECOND; _time_units["seconds"] = TimeUnit.SECOND; _time_units["minute"] = TimeUnit.MINUTE; _time_units["minutes"] = TimeUnit.MINUTE; _time_units["hour"] = TimeUnit.HOUR; _time_units["hours"] = TimeUnit.HOUR; _time_units["day"] = TimeUnit.DAY; _time_units["days"] = TimeUnit.DAY; _time_units["week"] = TimeUnit.WEEK; _time_units["weeks"] = TimeUnit.WEEK; _time_units["month"] = TimeUnit.MONTH; _time_units["months"] = TimeUnit.MONTH; _time_units["quarter"] = TimeUnit.QUARTER; _time_units["quarters"] = TimeUnit.QUARTER; _time_units["year"] = TimeUnit.YEAR; _time_units["years"] = TimeUnit.YEAR; } return _time_units; } public static TimeUnit? get_time_unit (string name) { string key = name.down (); var units = get_time_units (); if (units.has_key (key)) { return units[key]; } return null; } } } alainm23-planify-69962f8/core/Services/Chrono/Locales/en/ENDateTimeComboParser.vala000066400000000000000000000073021517337276100277450ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { /** * English date + time combination parser * * Supports: tomorrow at 3pm, Monday at 9am, March 15 at 14:30 */ public class ENDateTimeComboParser : Object { private Regex combo_regex; private ENCasualDateParser casual_parser; private ENMonthNameParser month_parser; private TimeParser time_parser; public ENDateTimeComboParser () { casual_parser = new ENCasualDateParser (); month_parser = new ENMonthNameParser (); time_parser = new TimeParser (); try { // Match: [date expression] at [time expression] combo_regex = new Regex ( "(.+?)\\s+at\\s+(.+)", RegexCompileFlags.CASELESS ); } catch (Error e) { warning ("Error creating combo regex: %s", e.message); } } public ParseResult? parse (string text) { try { MatchInfo match; if (!combo_regex.match (text, 0, out match)) { return null; } string date_part = match.fetch (1).strip (); string time_part = match.fetch (2).strip (); // Parse date part ParseResult? date_result = casual_parser.parse (date_part); if (date_result == null) { date_result = month_parser.parse (date_part); } if (date_result == null || date_result.date == null) { return null; } // Parse time part ParseResult? time_result = time_parser.parse (time_part); if (time_result == null || time_result.date == null) { return null; } // Combine date and time var combined_date = new DateTime.local ( date_result.date.get_year (), date_result.date.get_month (), date_result.date.get_day_of_month (), time_result.date.get_hour (), time_result.date.get_minute (), time_result.date.get_second () ); var result = new ParseResult (); result.date = combined_date; int start_pos, end_pos; match.fetch_pos (0, out start_pos, out end_pos); result.start_index = start_pos; result.end_index = end_pos; result.matched_text = match.fetch (0); return result; } catch (Error e) { return null; } } } } alainm23-planify-69962f8/core/Services/Chrono/Locales/en/ENMonthNameParser.vala000066400000000000000000000142331517337276100271600ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { /** * English month name parser * * Supports: 15 March, March 15, 15 Mar 2024, Mar 15 2024, January 2012, January, Jan */ public class ENMonthNameParser : Object { private Regex month_regex; public ENMonthNameParser () { try { month_regex = new Regex ( "\\b(\\d{1,2})\\s+(january|february|march|april|may|june|july|august|september|october|november|december|jan|feb|mar|apr|jun|jul|aug|sep|sept|oct|nov|dec)\\b(?:\\s+(\\d{2,4}))?|" + "\\b(january|february|march|april|may|june|july|august|september|october|november|december|jan|feb|mar|apr|jun|jul|aug|sep|sept|oct|nov|dec)\\b(?:,?\\s+(\\d{4}))|" + "\\b(january|february|march|april|may|june|july|august|september|october|november|december|jan|feb|mar|apr|jun|jul|aug|sep|sept|oct|nov|dec)\\b\\s+(\\d{1,2})(?:,?\\s+(\\d{2,4}))?|" + "\\b(january|february|march|april|may|june|july|august|september|october|november|december|jan|feb|mar|apr|jun|jul|aug|sep|sept|oct|nov|dec)\\b", RegexCompileFlags.CASELESS ); } catch (Error e) { warning ("Error creating month regex: %s", e.message); } } public ParseResult? parse (string text) { try { MatchInfo match; if (!month_regex.match (text, 0, out match)) { return null; } int day, month, year; var now = new DateTime.now_local (); year = now.get_year (); day = 1; // Format: 15 March or 15 March 2024 string? day_str = match.fetch (1); if (day_str != null && day_str.length > 0) { day = int.parse (day_str); int? month_val = ENConstants.get_month (match.fetch (2)); if (month_val == null) { return null; } month = month_val; string? year_str = match.fetch (3); if (year_str != null && year_str.length > 0) { year = int.parse (year_str); if (year < 100) { year += 2000; } } } else { string? month_str = match.fetch (4); if (month_str != null && month_str.length > 0) { // Format: January 2012 int? month_val = ENConstants.get_month (month_str); if (month_val == null) { return null; } month = month_val; string? year_str = match.fetch (5); if (year_str != null && year_str.length > 0) { year = int.parse (year_str); } } else { month_str = match.fetch (6); if (month_str != null && month_str.length > 0) { // Format: March 15 or March 15, 2024 int? month_val = ENConstants.get_month (month_str); if (month_val == null) { return null; } month = month_val; string? day_str2 = match.fetch (7); if (day_str2 != null && day_str2.length > 0) { day = int.parse (day_str2); } string? year_str = match.fetch (8); if (year_str != null && year_str.length > 0) { year = int.parse (year_str); if (year < 100) { year += 2000; } } } else { // Format: January int? month_val = ENConstants.get_month (match.fetch (9)); if (month_val == null) { return null; } month = month_val; } } } // Validate year - must be 4 digits or 2 digits (will be converted to 20xx) if (year < 1000 && year >= 100) { return null; } var result = new ParseResult (); result.date = new DateTime.local (year, month, day, 0, 0, 0); int start_pos, end_pos; match.fetch_pos (0, out start_pos, out end_pos); result.start_index = start_pos; result.end_index = end_pos; result.matched_text = match.fetch (0); return result; } catch (Error e) { return null; } } } } alainm23-planify-69962f8/core/Services/Chrono/Locales/en/ENRecurrenceParser.vala000066400000000000000000000227071517337276100273740ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { public class ENRecurrenceParser : Object { private Regex basic_regex; private Regex alias_regex; private Regex time_of_day_regex; private Regex weekday_regex; private Regex ordinal_day_regex; private Regex specific_date_regex; private Regex hour_regex; public ENRecurrenceParser () { try { basic_regex = new Regex (@"\\bevery\\s+(?:(\\d+)\\s+)?(day|week|month|year)s?\\b", RegexCompileFlags.CASELESS); // vala-lint=unnecessary-string-template alias_regex = new Regex (@"\\b(daily|weekly|monthly|yearly)\\b", RegexCompileFlags.CASELESS); // vala-lint=unnecessary-string-template time_of_day_regex = new Regex (@"\\bevery\\s+(morning|afternoon|evening|night)\\b", RegexCompileFlags.CASELESS); // vala-lint=unnecessary-string-template weekday_regex = new Regex (@"\\bevery\\s+(weekday|workday|weekend)\\b", RegexCompileFlags.CASELESS); // vala-lint=unnecessary-string-template ordinal_day_regex = new Regex (@"\\bevery\\s+(?:(\\d+)(?:st|nd|rd|th)|last\\s+day)\\b", RegexCompileFlags.CASELESS); // vala-lint=unnecessary-string-template specific_date_regex = new Regex (@"\\bevery\\s+(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)(?:uary|ruary|ch|il|e|y|ust|tember|ober|ember)?\\s+(\\d+)(?:st|nd|rd|th)?\\b", RegexCompileFlags.CASELESS); // vala-lint=unnecessary-string-template hour_regex = new Regex (@"\\bevery\\s+hour\\b", RegexCompileFlags.CASELESS); // vala-lint=unnecessary-string-template } catch (Error e) { warning ("Error compiling regex: %s", e.message); } } public ParseResult? parse (string text, GLib.DateTime reference_date) { ParseResult? result = parse_hour (text, reference_date); if (result != null) return result; result = parse_specific_date (text, reference_date); if (result != null) return result; result = parse_ordinal_day (text, reference_date); if (result != null) return result; result = parse_time_of_day (text, reference_date); if (result != null) return result; result = parse_weekday (text, reference_date); if (result != null) return result; result = parse_alias (text, reference_date); if (result != null) return result; result = parse_basic (text, reference_date); return result; } private ParseResult? parse_basic (string text, GLib.DateTime reference_date) { MatchInfo match_info; if (!basic_regex.match (text, 0, out match_info)) return null; string interval_str = match_info.fetch (1); string unit = match_info.fetch (2).down (); int interval = (interval_str != null && interval_str.length > 0) ? int.parse (interval_str) : 1; RecurrenceType type = RecurrenceType.DAILY; switch (unit) { case "day": type = RecurrenceType.DAILY; break; case "week": type = RecurrenceType.WEEKLY; break; case "month": type = RecurrenceType.MONTHLY; break; case "year": type = RecurrenceType.YEARLY; break; } return create_result (match_info, reference_date, type, interval); } private ParseResult? parse_alias (string text, GLib.DateTime reference_date) { MatchInfo match_info; if (!alias_regex.match (text, 0, out match_info)) return null; string alias = match_info.fetch (1).down (); RecurrenceType type = RecurrenceType.DAILY; switch (alias) { case "daily": type = RecurrenceType.DAILY; break; case "weekly": type = RecurrenceType.WEEKLY; break; case "monthly": type = RecurrenceType.MONTHLY; break; case "yearly": type = RecurrenceType.YEARLY; break; } return create_result (match_info, reference_date, type, 1); } private ParseResult? parse_time_of_day (string text, GLib.DateTime reference_date) { MatchInfo match_info; if (!time_of_day_regex.match (text, 0, out match_info)) return null; string time = match_info.fetch (1).down (); int hour = 9; switch (time) { case "morning": hour = 9; break; case "afternoon": hour = 12; break; case "evening": hour = 19; break; case "night": hour = 22; break; } var result = create_result (match_info, reference_date, RecurrenceType.DAILY, 1); result.recurrence.hour = hour; result.date = new DateTime.local (reference_date.get_year (), reference_date.get_month (), reference_date.get_day_of_month (), hour, 0, 0); return result; } private ParseResult? parse_weekday (string text, GLib.DateTime reference_date) { MatchInfo match_info; if (!weekday_regex.match (text, 0, out match_info)) return null; string type = match_info.fetch (1).down (); var result = create_result (match_info, reference_date, RecurrenceType.WEEKLY, 1); result.recurrence.days_of_week = new Gee.ArrayList (); if (type == "weekday" || type == "workday") { result.recurrence.days_of_week.add_all_array ({1, 2, 3, 4, 5}); } else { result.recurrence.days_of_week.add (6); } return result; } private ParseResult? parse_ordinal_day (string text, GLib.DateTime reference_date) { MatchInfo match_info; if (!ordinal_day_regex.match (text, 0, out match_info)) return null; string day_str = match_info.fetch (1); var result = create_result (match_info, reference_date, RecurrenceType.MONTHLY, 1); if (text.contains ("last day")) { result.recurrence.last_day = true; } else if (day_str != null && day_str.length > 0) { result.recurrence.day_of_month = int.parse (day_str); } return result; } private ParseResult? parse_specific_date (string text, GLib.DateTime reference_date) { MatchInfo match_info; if (!specific_date_regex.match (text, 0, out match_info)) return null; string month_str = match_info.fetch (1).down (); string day_str = match_info.fetch (2); int month = 1; switch (month_str) { case "jan": month = 1; break; case "feb": month = 2; break; case "mar": month = 3; break; case "apr": month = 4; break; case "may": month = 5; break; case "jun": month = 6; break; case "jul": month = 7; break; case "aug": month = 8; break; case "sep": month = 9; break; case "oct": month = 10; break; case "nov": month = 11; break; case "dec": month = 12; break; } var result = create_result (match_info, reference_date, RecurrenceType.YEARLY, 1); result.recurrence.month_of_year = month; result.recurrence.day_of_month = int.parse (day_str); return result; } private ParseResult? parse_hour (string text, GLib.DateTime reference_date) { MatchInfo match_info; if (!hour_regex.match (text, 0, out match_info)) return null; return create_result (match_info, reference_date, RecurrenceType.DAILY, 1); } private ParseResult create_result (MatchInfo match_info, GLib.DateTime reference_date, RecurrenceType type, int interval) { int start, end; match_info.fetch_pos (0, out start, out end); var rule = new RecurrenceRule (type); rule.interval = interval; var result = new ParseResult (); result.date = reference_date; result.recurrence = rule; result.start_index = start; result.end_index = end; result.matched_text = match_info.fetch (0); return result; } } } alainm23-planify-69962f8/core/Services/Chrono/Locales/en/ENRelativeDateFormatParser.vala000066400000000000000000000115551517337276100310200ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { /** * English relative date format parser * * Supports: this week, last month, next year, past 2 days, etc. */ public class ENRelativeDateFormatParser : Object { private Regex relative_regex; public ENRelativeDateFormatParser () { try { relative_regex = new Regex ( "(this|last|past|next|after\\s+this)\\s+(second|seconds|minute|minutes|hour|hours|day|days|week|weeks|month|months|quarter|quarters|year|years|s|sec|m|min|mins|h|hr|hrs|d|w|mo|mon|mos|qtr|y|yr)(?=\\W|$)", RegexCompileFlags.CASELESS ); } catch (Error e) { warning ("Error creating relative date regex: %s", e.message); } } public ParseResult? parse (string text) { try { MatchInfo match; if (!relative_regex.match (text, 0, out match)) { return null; } string modifier = match.fetch (1).down ().replace (" ", ""); string unit_str = match.fetch (2); TimeUnit? time_unit = ENConstants.get_time_unit (unit_str); if (time_unit == null) { return null; } var now = new DateTime.now_local (); DateTime date; switch (modifier) { case "this": case "afterthis": date = now; break; case "last": case "past": date = add_time_unit (now, time_unit, -1); break; case "next": date = add_time_unit (now, time_unit, 1); break; default: return null; } var result = new ParseResult (); result.date = date; int start_pos, end_pos; match.fetch_pos (0, out start_pos, out end_pos); result.start_index = start_pos; result.end_index = end_pos; result.matched_text = match.fetch (0); return result; } catch (Error e) { return null; } } private DateTime add_time_unit (DateTime date, TimeUnit unit, int amount) { DateTime result; switch (unit) { case TimeUnit.SECOND: return date.add_seconds (amount); case TimeUnit.MINUTE: return date.add_minutes (amount); case TimeUnit.HOUR: return date.add_hours (amount); case TimeUnit.DAY: result = date.add_days (amount); return new DateTime.local (result.get_year (), result.get_month (), result.get_day_of_month (), 0, 0, 0); case TimeUnit.WEEK: result = date.add_weeks (amount); return new DateTime.local (result.get_year (), result.get_month (), result.get_day_of_month (), 0, 0, 0); case TimeUnit.MONTH: result = date.add_months (amount); return new DateTime.local (result.get_year (), result.get_month (), result.get_day_of_month (), 0, 0, 0); case TimeUnit.QUARTER: result = date.add_months (amount * 3); return new DateTime.local (result.get_year (), result.get_month (), result.get_day_of_month (), 0, 0, 0); case TimeUnit.YEAR: result = date.add_years (amount); return new DateTime.local (result.get_year (), result.get_month (), result.get_day_of_month (), 0, 0, 0); default: return date; } } } } alainm23-planify-69962f8/core/Services/Chrono/Locales/en/ENTimeExpressionParser.vala000066400000000000000000000103621517337276100302470ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { /** * English time expression parser * * Supports: in 5 minutes, in 2 hours, in 3 days, 5 minutes from now */ public class ENTimeExpressionParser : Object { private Regex time_expr_regex; public ENTimeExpressionParser () { try { time_expr_regex = new Regex ( "(?:in|within)\\s+(\\d+)\\s+(second|seconds|minute|minutes|hour|hours|day|days|week|weeks|month|months|year|years|s|sec|m|min|mins|h|hr|hrs|d|w|mo|mon|mos|y|yr)|" + "(\\d+)\\s+(second|seconds|minute|minutes|hour|hours|day|days|week|weeks|month|months|year|years|s|sec|m|min|mins|h|hr|hrs|d|w|mo|mon|mos|y|yr)\\s+(?:from\\s+now|later)", RegexCompileFlags.CASELESS ); } catch (Error e) { warning ("Error creating time expression regex: %s", e.message); } } public ParseResult? parse (string text) { try { MatchInfo match; if (!time_expr_regex.match (text, 0, out match)) { return null; } int amount; string unit_str; // Format: in X units string? amount_str = match.fetch (1); if (amount_str != null && amount_str.length > 0) { amount = int.parse (amount_str); unit_str = match.fetch (2); } else { // Format: X units from now / later amount = int.parse (match.fetch (3)); unit_str = match.fetch (4); } TimeUnit? time_unit = ENConstants.get_time_unit (unit_str); if (time_unit == null) { return null; } var now = new DateTime.now_local (); DateTime date = add_time_unit (now, time_unit, amount); var result = new ParseResult (); result.date = date; int start_pos, end_pos; match.fetch_pos (0, out start_pos, out end_pos); result.start_index = start_pos; result.end_index = end_pos; result.matched_text = match.fetch (0); return result; } catch (Error e) { return null; } } private DateTime add_time_unit (DateTime date, TimeUnit unit, int amount) { switch (unit) { case TimeUnit.SECOND: return date.add_seconds (amount); case TimeUnit.MINUTE: return date.add_minutes (amount); case TimeUnit.HOUR: return date.add_hours (amount); case TimeUnit.DAY: return date.add_days (amount); case TimeUnit.WEEK: return date.add_weeks (amount); case TimeUnit.MONTH: return date.add_months (amount); case TimeUnit.QUARTER: return date.add_months (amount * 3); case TimeUnit.YEAR: return date.add_years (amount); default: return date; } } } } alainm23-planify-69962f8/core/Services/Chrono/Locales/en/EnglishParser.vala000066400000000000000000000072051517337276100264410ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { public class EnglishParser : LanguageParser { private ENRecurrenceParser recurrence_parser; private ENDateTimeComboParser combo_parser; private ISOParser iso_parser; private SlashParser slash_parser; private TimeParser time_parser; private ENCasualDateParser casual_parser; private ENCasualTimeParser casual_time_parser; private ENMonthNameParser month_parser; private ENRelativeDateFormatParser relative_parser; private ENTimeExpressionParser time_expr_parser; public EnglishParser () { recurrence_parser = new ENRecurrenceParser (); combo_parser = new ENDateTimeComboParser (); iso_parser = new ISOParser (); slash_parser = new SlashParser (); time_parser = new TimeParser (); casual_parser = new ENCasualDateParser (); casual_time_parser = new ENCasualTimeParser (); month_parser = new ENMonthNameParser (); relative_parser = new ENRelativeDateFormatParser (); time_expr_parser = new ENTimeExpressionParser (); } public override ParseResult? parse (string text, bool parse_recurrence = false) { ParseResult? result = null; if (parse_recurrence) { result = recurrence_parser.parse (text, new DateTime.now_local ()); if (result != null) { return result; } } result = combo_parser.parse (text); if (result != null) { return result; } result = iso_parser.parse (text); if (result != null) { return result; } result = slash_parser.parse (text); if (result != null) { return result; } result = time_parser.parse (text); if (result != null) { return result; } result = casual_parser.parse (text); if (result != null) { return result; } result = casual_time_parser.parse (text); if (result != null) { return result; } result = month_parser.parse (text); if (result != null) { return result; } result = relative_parser.parse (text); if (result != null) { return result; } result = time_expr_parser.parse (text); if (result != null) { return result; } return null; } } } alainm23-planify-69962f8/core/Services/Chrono/Locales/es/000077500000000000000000000000001517337276100230275ustar00rootroot00000000000000alainm23-planify-69962f8/core/Services/Chrono/Locales/es/ESCasualDateParser.vala000066400000000000000000000111251517337276100273070ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { /** * Spanish casual date expressions parser * * Supports: ahora, hoy, mañana, ayer, pasado mañana, anteayer */ public class ESCasualDateParser : Object { private Regex casual_regex; public ESCasualDateParser () { try { casual_regex = new Regex ( "\\b(ahora|hoy|mañana|manana|ayer|pasado\\s*mañana|pasado\\s*manana|anteayer)\\b", RegexCompileFlags.CASELESS ); } catch (Error e) { warning ("Error creating casual date regex: %s", e.message); } } public ParseResult? parse (string text) { try { MatchInfo match; if (!casual_regex.match (text, 0, out match)) { return null; } string keyword = match.fetch (1).down ().replace (" ", ""); var now = new DateTime.now_local (); DateTime date; switch (keyword) { case "ahora": date = now; break; case "hoy": date = new DateTime.local ( now.get_year (), now.get_month (), now.get_day_of_month (), 0, 0, 0 ); break; case "mañana": case "manana": var tomorrow = now.add_days (1); date = new DateTime.local ( tomorrow.get_year (), tomorrow.get_month (), tomorrow.get_day_of_month (), 0, 0, 0 ); break; case "pasadomañana": case "pasadomanana": var overmorrow = now.add_days (2); date = new DateTime.local ( overmorrow.get_year (), overmorrow.get_month (), overmorrow.get_day_of_month (), 0, 0, 0 ); break; case "ayer": var yesterday = now.add_days (-1); date = new DateTime.local ( yesterday.get_year (), yesterday.get_month (), yesterday.get_day_of_month (), 0, 0, 0 ); break; case "anteayer": var before_yesterday = now.add_days (-2); date = new DateTime.local ( before_yesterday.get_year (), before_yesterday.get_month (), before_yesterday.get_day_of_month (), 0, 0, 0 ); break; default: return null; } var result = new ParseResult (); result.date = date; int start_pos, end_pos; match.fetch_pos (0, out start_pos, out end_pos); result.start_index = start_pos; result.end_index = end_pos; result.matched_text = match.fetch (0); return result; } catch (Error e) { return null; } } } } alainm23-planify-69962f8/core/Services/Chrono/Locales/es/ESCasualTimeParser.vala000066400000000000000000000064161517337276100273370ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { /** * Spanish casual time expressions parser * * Supports: mañana, tarde, noche, medianoche, mediodía * With optional "esta" prefix */ public class ESCasualTimeParser : Object { private Regex casual_time_regex; public ESCasualTimeParser () { try { casual_time_regex = new Regex ( "(?:esta)?\\s{0,3}(mañana|manana|tarde|noche|medianoche|mediodía|mediodia)(?=\\W|$)", RegexCompileFlags.CASELESS ); } catch (Error e) { warning ("Error creating casual time regex: %s", e.message); } } public ParseResult? parse (string text) { try { MatchInfo match; if (!casual_time_regex.match (text, 0, out match)) { return null; } string keyword = match.fetch (1).down (); var now = new DateTime.now_local (); int hour; switch (keyword) { case "mañana": case "manana": hour = 9; break; case "tarde": hour = 14; break; case "noche": hour = 20; break; case "medianoche": hour = 0; break; case "mediodía": case "mediodia": hour = 12; break; default: return null; } var result = new ParseResult (); result.date = new DateTime.local ( now.get_year (), now.get_month (), now.get_day_of_month (), hour, 0, 0 ); int start_pos, end_pos; match.fetch_pos (0, out start_pos, out end_pos); result.start_index = start_pos; result.end_index = end_pos; result.matched_text = match.fetch (0); return result; } catch (Error e) { return null; } } } } alainm23-planify-69962f8/core/Services/Chrono/Locales/es/ESConstants.vala000066400000000000000000000112641517337276100261040ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { public class ESConstants : Object { private static Gee.HashMap? _month_names = null; private static Gee.HashMap? _time_units = null; private static Gee.HashMap get_month_names () { if (_month_names == null) { _month_names = new Gee.HashMap (); // Nombres completos _month_names["enero"] = 1; _month_names["febrero"] = 2; _month_names["marzo"] = 3; _month_names["abril"] = 4; _month_names["mayo"] = 5; _month_names["junio"] = 6; _month_names["julio"] = 7; _month_names["agosto"] = 8; _month_names["septiembre"] = 9; _month_names["octubre"] = 10; _month_names["noviembre"] = 11; _month_names["diciembre"] = 12; // Abreviaciones _month_names["ene"] = 1; _month_names["feb"] = 2; _month_names["mar"] = 3; _month_names["abr"] = 4; _month_names["may"] = 5; _month_names["jun"] = 6; _month_names["jul"] = 7; _month_names["ago"] = 8; _month_names["sep"] = 9; _month_names["sept"] = 9; _month_names["oct"] = 10; _month_names["nov"] = 11; _month_names["dic"] = 12; } return _month_names; } public static int? get_month (string name) { string key = name.down (); var months = get_month_names (); if (months.has_key (key)) { return months[key]; } return null; } private static Gee.HashMap get_time_units () { if (_time_units == null) { _time_units = new Gee.HashMap (); // Nombres completos _time_units["segundo"] = TimeUnit.SECOND; _time_units["segundos"] = TimeUnit.SECOND; _time_units["minuto"] = TimeUnit.MINUTE; _time_units["minutos"] = TimeUnit.MINUTE; _time_units["hora"] = TimeUnit.HOUR; _time_units["horas"] = TimeUnit.HOUR; _time_units["día"] = TimeUnit.DAY; _time_units["dia"] = TimeUnit.DAY; _time_units["días"] = TimeUnit.DAY; _time_units["dias"] = TimeUnit.DAY; _time_units["semana"] = TimeUnit.WEEK; _time_units["semanas"] = TimeUnit.WEEK; _time_units["mes"] = TimeUnit.MONTH; _time_units["meses"] = TimeUnit.MONTH; _time_units["trimestre"] = TimeUnit.QUARTER; _time_units["trimestres"] = TimeUnit.QUARTER; _time_units["año"] = TimeUnit.YEAR; _time_units["ano"] = TimeUnit.YEAR; _time_units["años"] = TimeUnit.YEAR; _time_units["anos"] = TimeUnit.YEAR; // Abreviaciones _time_units["seg"] = TimeUnit.SECOND; _time_units["min"] = TimeUnit.MINUTE; _time_units["h"] = TimeUnit.HOUR; _time_units["d"] = TimeUnit.DAY; _time_units["sem"] = TimeUnit.WEEK; _time_units["trim"] = TimeUnit.QUARTER; } return _time_units; } public static TimeUnit? get_time_unit (string name) { string key = name.down (); var units = get_time_units (); if (units.has_key (key)) { return units[key]; } return null; } } } alainm23-planify-69962f8/core/Services/Chrono/Locales/es/ESDateTimeComboParser.vala000066400000000000000000000067611517337276100277670ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { /** * Spanish date + time combination parser * * Supports: mañana a las 3pm, lunes a las 9am, 15 de marzo a las 14:30 */ public class ESDateTimeComboParser : Object { private Regex combo_regex; private ESCasualDateParser casual_parser; private TimeParser time_parser; public ESDateTimeComboParser () { casual_parser = new ESCasualDateParser (); time_parser = new TimeParser (); try { // Match: [date expression] a las [time expression] combo_regex = new Regex ( "(.+?)\\s+a\\s+las\\s+(.+)", RegexCompileFlags.CASELESS ); } catch (Error e) { warning ("Error creating combo regex: %s", e.message); } } public ParseResult? parse (string text) { try { MatchInfo match; if (!combo_regex.match (text, 0, out match)) { return null; } string date_part = match.fetch (1).strip (); string time_part = match.fetch (2).strip (); // Parse date part ParseResult? date_result = casual_parser.parse (date_part); if (date_result == null || date_result.date == null) { return null; } // Parse time part ParseResult? time_result = time_parser.parse (time_part); if (time_result == null || time_result.date == null) { return null; } // Combine date and time var combined_date = new DateTime.local ( date_result.date.get_year (), date_result.date.get_month (), date_result.date.get_day_of_month (), time_result.date.get_hour (), time_result.date.get_minute (), time_result.date.get_second () ); var result = new ParseResult (); result.date = combined_date; int start_pos, end_pos; match.fetch_pos (0, out start_pos, out end_pos); result.start_index = start_pos; result.end_index = end_pos; result.matched_text = match.fetch (0); return result; } catch (Error e) { return null; } } } } alainm23-planify-69962f8/core/Services/Chrono/Locales/es/ESMonthNameParser.vala000066400000000000000000000143051517337276100271720ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { /** * Spanish month name parser * * Supports: 15 de marzo, 15 marzo, marzo 15, 15 mar 2024, enero 2012, enero */ public class ESMonthNameParser : Object { private Regex month_regex; public ESMonthNameParser () { try { month_regex = new Regex ( "\\b(?:el\\s+)?(\\d{1,2})\\s+(?:de\\s+)?(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene|feb|mar|abr|may|jun|jul|ago|sep|sept|oct|nov|dic)\\b(?:\\s+(?:de|del)\\s+(\\d{2,4}))?|" + "\\b(?:el\\s+)?(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene|feb|mar|abr|may|jun|jul|ago|sep|sept|oct|nov|dic)\\b(?:,?\\s+(?:de|del)\\s+(\\d{4}))|" + "\\b(?:el\\s+)?(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene|feb|mar|abr|may|jun|jul|ago|sep|sept|oct|nov|dic)\\b\\s+(\\d{1,2})(?:,?\\s+(?:de|del)\\s+(\\d{2,4}))?|" + "\\b(?:el\\s+)?(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene|feb|mar|abr|may|jun|jul|ago|sep|sept|oct|nov|dic)\\b", RegexCompileFlags.CASELESS ); } catch (Error e) { warning ("Error creating month regex: %s", e.message); } } public ParseResult? parse (string text) { try { MatchInfo match; if (!month_regex.match (text, 0, out match)) { return null; } int day, month, year; var now = new DateTime.now_local (); year = now.get_year (); day = 1; // Format: 15 de marzo or 15 marzo 2024 string? day_str = match.fetch (1); if (day_str != null && day_str.length > 0) { day = int.parse (day_str); int? month_val = ESConstants.get_month (match.fetch (2)); if (month_val == null) { return null; } month = month_val; string? year_str = match.fetch (3); if (year_str != null && year_str.length > 0) { year = int.parse (year_str); if (year < 100) { year += 2000; } } } else { string? month_str = match.fetch (4); if (month_str != null && month_str.length > 0) { // Format: enero 2012 or enero de 2012 int? month_val = ESConstants.get_month (month_str); if (month_val == null) { return null; } month = month_val; string? year_str = match.fetch (5); if (year_str != null && year_str.length > 0) { year = int.parse (year_str); } } else { month_str = match.fetch (6); if (month_str != null && month_str.length > 0) { // Format: marzo 15 or marzo 15 de 2024 int? month_val = ESConstants.get_month (month_str); if (month_val == null) { return null; } month = month_val; string? day_str2 = match.fetch (7); if (day_str2 != null && day_str2.length > 0) { day = int.parse (day_str2); } string? year_str = match.fetch (8); if (year_str != null && year_str.length > 0) { year = int.parse (year_str); if (year < 100) { year += 2000; } } } else { // Format: enero int? month_val = ESConstants.get_month (match.fetch (9)); if (month_val == null) { return null; } month = month_val; } } } if (year < 1000 && year >= 100) { return null; } var result = new ParseResult (); result.date = new DateTime.local (year, month, day, 0, 0, 0); int start_pos, end_pos; match.fetch_pos (0, out start_pos, out end_pos); result.start_index = start_pos; result.end_index = end_pos; result.matched_text = match.fetch (0); return result; } catch (Error e) { return null; } } } } alainm23-planify-69962f8/core/Services/Chrono/Locales/es/ESRelativeDateFormatParser.vala000066400000000000000000000136031517337276100310260ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { /** * Spanish relative date format parser * * Supports: esta semana, el mes pasado, el próximo año, la semana que viene */ public class ESRelativeDateFormatParser : Object { private Regex relative_regex; public ESRelativeDateFormatParser () { try { relative_regex = new Regex ( "(?:el|la)?\\s*(?:próximo|proximo|próxima|proxima|siguiente|pasado|pasada|que\\s+viene)\\s+(segundo|segundos|minuto|minutos|hora|horas|día|dia|días|dias|semana|semanas|mes|meses|trimestre|trimestres|año|ano|años|anos)|" + "(?:el|la)?\\s*(segundo|segundos|minuto|minutos|hora|horas|día|dia|días|dias|semana|semanas|mes|meses|trimestre|trimestres|año|ano|años|anos)\\s+(?:próximo|proximo|próxima|proxima|siguiente|pasado|pasada|que\\s+viene)|" + "(?:este|esta)\\s+(segundo|segundos|minuto|minutos|hora|horas|día|dia|días|dias|semana|semanas|mes|meses|trimestre|trimestres|año|ano|años|anos)", RegexCompileFlags.CASELESS ); } catch (Error e) { warning ("Error creating relative date regex: %s", e.message); } } public ParseResult? parse (string text) { try { MatchInfo match; if (!relative_regex.match (text, 0, out match)) { return null; } string full_match = match.fetch (0).down (); string? unit_str = null; int amount = 0; // Try to get unit from different capture groups for (int i = 1; i <= 3; i++) { string? temp = match.fetch (i); if (temp != null && temp.length > 0) { unit_str = temp; break; } } if (unit_str == null) { return null; } TimeUnit? time_unit = ESConstants.get_time_unit (unit_str); if (time_unit == null) { return null; } // Determine direction based on keywords if (full_match.contains ("próximo") || full_match.contains ("proximo") || full_match.contains ("próxima") || full_match.contains ("proxima") || full_match.contains ("siguiente") || full_match.contains ("que viene")) { amount = 1; } else if (full_match.contains ("pasado") || full_match.contains ("pasada")) { amount = -1; } else if (full_match.contains ("este") || full_match.contains ("esta")) { amount = 0; } var now = new DateTime.now_local (); DateTime date = add_time_unit (now, time_unit, amount); var result = new ParseResult (); result.date = date; int start_pos, end_pos; match.fetch_pos (0, out start_pos, out end_pos); result.start_index = start_pos; result.end_index = end_pos; result.matched_text = match.fetch (0); return result; } catch (Error e) { return null; } } private DateTime add_time_unit (DateTime date, TimeUnit unit, int amount) { DateTime result; switch (unit) { case TimeUnit.SECOND: return date.add_seconds (amount); case TimeUnit.MINUTE: return date.add_minutes (amount); case TimeUnit.HOUR: return date.add_hours (amount); case TimeUnit.DAY: result = date.add_days (amount); return new DateTime.local (result.get_year (), result.get_month (), result.get_day_of_month (), 0, 0, 0); case TimeUnit.WEEK: result = date.add_weeks (amount); return new DateTime.local (result.get_year (), result.get_month (), result.get_day_of_month (), 0, 0, 0); case TimeUnit.MONTH: result = date.add_months (amount); return new DateTime.local (result.get_year (), result.get_month (), result.get_day_of_month (), 0, 0, 0); case TimeUnit.QUARTER: result = date.add_months (amount * 3); return new DateTime.local (result.get_year (), result.get_month (), result.get_day_of_month (), 0, 0, 0); case TimeUnit.YEAR: result = date.add_years (amount); return new DateTime.local (result.get_year (), result.get_month (), result.get_day_of_month (), 0, 0, 0); default: return date; } } } } alainm23-planify-69962f8/core/Services/Chrono/Locales/es/ESTimeExpressionParser.vala000066400000000000000000000072321517337276100302630ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { /** * Spanish time expression parser * * Supports: en 5 minutos, en 2 horas, en 3 días, dentro de 5 minutos */ public class ESTimeExpressionParser : Object { private Regex time_expr_regex; public ESTimeExpressionParser () { try { time_expr_regex = new Regex ( "(?:en|dentro\\s+de)\\s+(\\d+)\\s+(segundo|segundos|minuto|minutos|hora|horas|día|dia|días|dias|semana|semanas|mes|meses|trimestre|trimestres|año|ano|años|anos|seg|min|h|d|sem|trim)", RegexCompileFlags.CASELESS ); } catch (Error e) { warning ("Error creating time expression regex: %s", e.message); } } public ParseResult? parse (string text) { try { MatchInfo match; if (!time_expr_regex.match (text, 0, out match)) { return null; } int amount = int.parse (match.fetch (1)); string unit_str = match.fetch (2); TimeUnit? time_unit = ESConstants.get_time_unit (unit_str); if (time_unit == null) { return null; } var now = new DateTime.now_local (); DateTime date = add_time_unit (now, time_unit, amount); var result = new ParseResult (); result.date = date; int start_pos, end_pos; match.fetch_pos (0, out start_pos, out end_pos); result.start_index = start_pos; result.end_index = end_pos; result.matched_text = match.fetch (0); return result; } catch (Error e) { return null; } } private DateTime add_time_unit (DateTime date, TimeUnit unit, int amount) { switch (unit) { case TimeUnit.SECOND: return date.add_seconds (amount); case TimeUnit.MINUTE: return date.add_minutes (amount); case TimeUnit.HOUR: return date.add_hours (amount); case TimeUnit.DAY: return date.add_days (amount); case TimeUnit.WEEK: return date.add_weeks (amount); case TimeUnit.MONTH: return date.add_months (amount); case TimeUnit.QUARTER: return date.add_months (amount * 3); case TimeUnit.YEAR: return date.add_years (amount); default: return date; } } } } alainm23-planify-69962f8/core/Services/Chrono/Locales/es/SpanishParser.vala000066400000000000000000000064461517337276100264700ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { public class SpanishParser : LanguageParser { private ESDateTimeComboParser combo_parser; private ISOParser iso_parser; private SlashParser slash_parser; private TimeParser time_parser; private ESCasualDateParser casual_parser; private ESCasualTimeParser casual_time_parser; private ESMonthNameParser month_parser; private ESRelativeDateFormatParser relative_parser; private ESTimeExpressionParser time_expr_parser; public SpanishParser () { combo_parser = new ESDateTimeComboParser (); iso_parser = new ISOParser (); slash_parser = new SlashParser (); time_parser = new TimeParser (); casual_parser = new ESCasualDateParser (); casual_time_parser = new ESCasualTimeParser (); month_parser = new ESMonthNameParser (); relative_parser = new ESRelativeDateFormatParser (); time_expr_parser = new ESTimeExpressionParser (); } public override ParseResult? parse (string text, bool parse_recurrence = false) { ParseResult? result = null; result = combo_parser.parse (text); if (result != null) { return result; } result = iso_parser.parse (text); if (result != null) { return result; } result = slash_parser.parse (text); if (result != null) { return result; } result = time_parser.parse (text); if (result != null) { return result; } result = casual_parser.parse (text); if (result != null) { return result; } result = casual_time_parser.parse (text); if (result != null) { return result; } result = month_parser.parse (text); if (result != null) { return result; } result = relative_parser.parse (text); if (result != null) { return result; } result = time_expr_parser.parse (text); if (result != null) { return result; } return null; } } } alainm23-planify-69962f8/core/Services/Chrono/Locales/template/000077500000000000000000000000001517337276100242335ustar00rootroot00000000000000alainm23-planify-69962f8/core/Services/Chrono/Locales/template/TEMPLATECasualDateParser.vala000066400000000000000000000064661517337276100314330ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { /** * [LANGUAGE_NAME] casual date parser * * TODO: Update patterns to support your language * Examples: "today", "tomorrow", "yesterday" */ public class TEMPLATECasualDateParser : Object { private Regex casual_regex; public TEMPLATECasualDateParser () { try { // TODO: Update these patterns for your language casual_regex = new Regex ( "\\b(today|tomorrow|yesterday)\\b", RegexCompileFlags.CASELESS ); } catch (Error e) { warning ("Error creating casual date regex: %s", e.message); } } public ParseResult? parse (string text) { try { MatchInfo match; if (!casual_regex.match (text, 0, out match)) { return null; } string matched_word = match.fetch (1).down (); var now = new DateTime.now_local (); DateTime date; // TODO: Update these keywords for your language switch (matched_word) { case "today": date = new DateTime.local (now.get_year (), now.get_month (), now.get_day_of_month (), 0, 0, 0); break; case "tomorrow": var tomorrow = now.add_days (1); date = new DateTime.local (tomorrow.get_year (), tomorrow.get_month (), tomorrow.get_day_of_month (), 0, 0, 0); break; case "yesterday": var yesterday = now.add_days (-1); date = new DateTime.local (yesterday.get_year (), yesterday.get_month (), yesterday.get_day_of_month (), 0, 0, 0); break; default: return null; } var result = new ParseResult (); result.date = date; int start_pos, end_pos; match.fetch_pos (0, out start_pos, out end_pos); result.start_index = start_pos; result.end_index = end_pos; result.matched_text = match.fetch (0); return result; } catch (Error e) { return null; } } } }alainm23-planify-69962f8/core/Services/Chrono/Locales/template/TEMPLATEConstants.vala000066400000000000000000000110571517337276100302140ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { /** * Constants for [LANGUAGE_NAME] language support * * TODO: Replace with actual translations for your language */ public class TEMPLATEConstants : Object { private static Gee.HashMap? _month_names = null; private static Gee.HashMap? _time_units = null; private static Gee.HashMap get_month_names () { if (_month_names == null) { _month_names = new Gee.HashMap (); // TODO: Add full month names in your language _month_names["month1"] = 1; // January _month_names["month2"] = 2; // February _month_names["month3"] = 3; // March _month_names["month4"] = 4; // April _month_names["month5"] = 5; // May _month_names["month6"] = 6; // June _month_names["month7"] = 7; // July _month_names["month8"] = 8; // August _month_names["month9"] = 9; // September _month_names["month10"] = 10; // October _month_names["month11"] = 11; // November _month_names["month12"] = 12; // December // TODO: Add month abbreviations in your language _month_names["m1"] = 1; // Jan _month_names["m2"] = 2; // Feb _month_names["m3"] = 3; // Mar // ... continue for all months } return _month_names; } public static int? get_month (string name) { string key = name.down (); var months = get_month_names (); if (months.has_key (key)) { return months[key]; } return null; } private static Gee.HashMap get_time_units () { if (_time_units == null) { _time_units = new Gee.HashMap (); // TODO: Add time unit names in your language _time_units["second"] = TimeUnit.SECOND; _time_units["seconds"] = TimeUnit.SECOND; _time_units["minute"] = TimeUnit.MINUTE; _time_units["minutes"] = TimeUnit.MINUTE; _time_units["hour"] = TimeUnit.HOUR; _time_units["hours"] = TimeUnit.HOUR; _time_units["day"] = TimeUnit.DAY; _time_units["days"] = TimeUnit.DAY; _time_units["week"] = TimeUnit.WEEK; _time_units["weeks"] = TimeUnit.WEEK; _time_units["month"] = TimeUnit.MONTH; _time_units["months"] = TimeUnit.MONTH; _time_units["quarter"] = TimeUnit.QUARTER; _time_units["quarters"] = TimeUnit.QUARTER; _time_units["year"] = TimeUnit.YEAR; _time_units["years"] = TimeUnit.YEAR; // TODO: Add abbreviations in your language _time_units["s"] = TimeUnit.SECOND; _time_units["m"] = TimeUnit.MINUTE; _time_units["h"] = TimeUnit.HOUR; _time_units["d"] = TimeUnit.DAY; _time_units["w"] = TimeUnit.WEEK; _time_units["mo"] = TimeUnit.MONTH; _time_units["y"] = TimeUnit.YEAR; } return _time_units; } public static TimeUnit? get_time_unit (string name) { string key = name.down (); var units = get_time_units (); if (units.has_key (key)) { return units[key]; } return null; } } }alainm23-planify-69962f8/core/Services/Chrono/Locales/template/TEMPLATERelativeDateFormatParser.vala000066400000000000000000000117261517337276100331420ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { /** * [LANGUAGE_NAME] relative date format parser * * TODO: Update patterns to support your language * Examples: "next week", "last month", "this year" */ public class TEMPLATERelativeDateFormatParser : Object { private Regex relative_regex; public TEMPLATERelativeDateFormatParser () { try { // TODO: Update this regex pattern for your language // Current pattern is for English-like structure relative_regex = new Regex ( "(?:next|last|this)\\s+(second|seconds|minute|minutes|hour|hours|day|days|week|weeks|month|months|quarter|quarters|year|years)", RegexCompileFlags.CASELESS ); } catch (Error e) { warning ("Error creating relative date regex: %s", e.message); } } public ParseResult? parse (string text) { try { MatchInfo match; if (!relative_regex.match (text, 0, out match)) { return null; } string full_match = match.fetch (0).down (); string? unit_str = match.fetch (1); if (unit_str == null) { return null; } TimeUnit? time_unit = TEMPLATEConstants.get_time_unit (unit_str); if (time_unit == null) { return null; } int amount = 0; // TODO: Update these keywords for your language if (full_match.contains ("next")) { amount = 1; } else if (full_match.contains ("last")) { amount = -1; } else if (full_match.contains ("this")) { amount = 0; } var now = new DateTime.now_local (); DateTime date = add_time_unit (now, time_unit, amount); var result = new ParseResult (); result.date = date; int start_pos, end_pos; match.fetch_pos (0, out start_pos, out end_pos); result.start_index = start_pos; result.end_index = end_pos; result.matched_text = match.fetch (0); return result; } catch (Error e) { return null; } } private DateTime add_time_unit (DateTime date, TimeUnit unit, int amount) { DateTime result; switch (unit) { case TimeUnit.SECOND: return date.add_seconds (amount); case TimeUnit.MINUTE: return date.add_minutes (amount); case TimeUnit.HOUR: return date.add_hours (amount); case TimeUnit.DAY: result = date.add_days (amount); return new DateTime.local (result.get_year (), result.get_month (), result.get_day_of_month (), 0, 0, 0); case TimeUnit.WEEK: result = date.add_weeks (amount); return new DateTime.local (result.get_year (), result.get_month (), result.get_day_of_month (), 0, 0, 0); case TimeUnit.MONTH: result = date.add_months (amount); return new DateTime.local (result.get_year (), result.get_month (), result.get_day_of_month (), 0, 0, 0); case TimeUnit.QUARTER: result = date.add_months (amount * 3); return new DateTime.local (result.get_year (), result.get_month (), result.get_day_of_month (), 0, 0, 0); case TimeUnit.YEAR: result = date.add_years (amount); return new DateTime.local (result.get_year (), result.get_month (), result.get_day_of_month (), 0, 0, 0); default: return date; } } } }alainm23-planify-69962f8/core/Services/Chrono/Locales/template/TemplateParser.vala000066400000000000000000000053441517337276100300360ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { /** * Main parser for [LANGUAGE_NAME] language * * TODO: Replace "Template" with your language name * TODO: Update language_code with your ISO language code */ public class TemplateParser : LanguageParser { private Gee.ArrayList parsers; public TemplateParser () { // TODO: Update with your language code (e.g., "fr", "de", "it") language_code = "template"; parsers = new Gee.ArrayList (); // Add all parsers for this language parsers.add (new TEMPLATECasualDateParser ()); parsers.add (new TEMPLATERelativeDateFormatParser ()); // TODO: Add other parsers as you implement them: // parsers.add (new TEMPLATECasualTimeParser ()); // parsers.add (new TEMPLATEMonthNameParser ()); // parsers.add (new TEMPLATETimeExpressionParser ()); // parsers.add (new TEMPLATEDateTimeComboParser ()); } public override ParseResult? parse (string text) { foreach (var parser in parsers) { ParseResult? result = null; // Try each parser type if (parser is TEMPLATECasualDateParser) { result = ((TEMPLATECasualDateParser) parser).parse (text); } else if (parser is TEMPLATERelativeDateFormatParser) { result = ((TEMPLATERelativeDateFormatParser) parser).parse (text); } // TODO: Add other parser types as you implement them if (result != null) { return result; } } return null; } public override bool can_parse (string text) { return parse (text) != null; } } }alainm23-planify-69962f8/core/Services/Chrono/ParseResult.vala000066400000000000000000000024151517337276100241560ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { public class ParseResult : Object { public DateTime? date { get; set; } public RecurrenceRule? recurrence { get; set; } public int start_index { get; set; } public int end_index { get; set; } public string matched_text { get; set; } public ParseResult () { start_index = -1; end_index = -1; matched_text = ""; } } } alainm23-planify-69962f8/core/Services/Chrono/Parser.vala000066400000000000000000000032061517337276100231400ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { public class Parser : Object { private Gee.HashMap language_parsers; public Parser () { language_parsers = new Gee.HashMap (); register_language ("en", new EnglishParser ()); register_language ("es", new SpanishParser ()); } public void register_language (string code, LanguageParser parser) { language_parsers[code] = parser; } public ParseResult? parse (string text, string language, bool parse_recurrence = false) { if (!language_parsers.has_key (language)) { return null; } return language_parsers[language].parse (text, parse_recurrence); } } } alainm23-planify-69962f8/core/Services/Chrono/RecurrenceRule.vala000066400000000000000000000027551517337276100246410ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace Chrono { public enum RecurrenceType { DAILY, WEEKLY, MONTHLY, YEARLY } public class RecurrenceRule : Object { public RecurrenceType recurrence_type { get; set; } public int interval { get; set; default = 1; } public Gee.ArrayList? days_of_week { get; set; } public int? day_of_month { get; set; } public int? month_of_year { get; set; } public int? hour { get; set; } public bool? last_day { get; set; } public RecurrenceRule (RecurrenceType recurrence_type) { this.recurrence_type = recurrence_type; } } } alainm23-planify-69962f8/core/Services/ColorSchemeSettings.vala000066400000000000000000000071541517337276100244060ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ namespace ColorSchemeSettings { [DBus (name = "org.freedesktop.Accounts")] interface FDO.Accounts : Object { public abstract string find_user_by_name (string username) throws GLib.Error; } public class Settings : Object { public enum ColorScheme { NO_PREFERENCE, DARK, LIGHT } private ColorScheme? _prefers_color_scheme = null; public ColorScheme prefers_color_scheme { get { if (_prefers_color_scheme == null) { setup_prefers_color_scheme (); } return _prefers_color_scheme; } private set { _prefers_color_scheme = value; } } private static GLib.Once instance; public static unowned ColorSchemeSettings.Settings get_default () { return instance.once (() => { return new ColorSchemeSettings.Settings (); }); } private Portal.Settings? portal = null; private Settings () {} private void setup_prefers_color_scheme () { try { portal = Portal.Settings.get (); prefers_color_scheme = (ColorScheme) portal.read ( "org.freedesktop.appearance", "color-scheme" ).get_variant ().get_uint32 (); portal.setting_changed.connect ((scheme, key, value) => { if (scheme == "org.freedesktop.appearance" && key == "color-scheme") { prefers_color_scheme = (ColorScheme) value.get_uint32 (); } }); return; } catch (Error e) { debug ("cannot use the portal, using the AccountsService: %s", e.message); } prefers_color_scheme = ColorScheme.NO_PREFERENCE; } } } namespace ColorSchemeSettings.Portal { private const string DBUS_DESKTOP_PATH = "/org/freedesktop/portal/desktop"; private const string DBUS_DESKTOP_NAME = "org.freedesktop.portal.Desktop"; [DBus (name = "org.freedesktop.portal.Settings")] interface Settings : Object { public static Settings @get () throws Error { return Bus.get_proxy_sync ( BusType.SESSION, DBUS_DESKTOP_NAME, DBUS_DESKTOP_PATH, DBusProxyFlags.NONE ); } public abstract HashTable> read_all (string[] namespaces) throws DBusError, IOError; public abstract Variant read (string namespace, string key) throws DBusError, IOError; public signal void setting_changed (string namespace, string key, Variant value); } }alainm23-planify-69962f8/core/Services/Database.vala000066400000000000000000002573461517337276100222000ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Services.Database : GLib.Object { private Sqlite.Database db; private string db_path; private string errormsg; private string sql; private Gee.HashMap > table_columns = new Gee.HashMap > (); public bool is_opened { get; set; default = false; } public signal void opened (); public signal void reset (); private static Database ? _instance; public static Database get_default () { if (_instance == null) { _instance = new Database (); } return _instance; } construct { table_columns["Attachments"] = new Gee.ArrayList (); table_columns["Attachments"].add ("id"); table_columns["Attachments"].add ("item_id"); table_columns["Attachments"].add ("file_type"); table_columns["Attachments"].add ("file_name"); table_columns["Attachments"].add ("file_size"); table_columns["Attachments"].add ("file_path"); table_columns["CurTempIds"] = new Gee.ArrayList (); table_columns["CurTempIds"].add ("id"); table_columns["CurTempIds"].add ("temp_id"); table_columns["CurTempIds"].add ("object"); table_columns["Items"] = new Gee.ArrayList (); table_columns["Items"].add ("id"); table_columns["Items"].add ("content"); table_columns["Items"].add ("description"); table_columns["Items"].add ("due"); table_columns["Items"].add ("added_at"); table_columns["Items"].add ("completed_at"); table_columns["Items"].add ("updated_at"); table_columns["Items"].add ("section_id"); table_columns["Items"].add ("project_id"); table_columns["Items"].add ("parent_id"); table_columns["Items"].add ("priority"); table_columns["Items"].add ("child_order"); table_columns["Items"].add ("checked"); table_columns["Items"].add ("is_deleted"); table_columns["Items"].add ("day_order"); table_columns["Items"].add ("collapsed"); table_columns["Items"].add ("pinned"); table_columns["Items"].add ("labels"); table_columns["Items"].add ("extra_data"); table_columns["Items"].add ("item_type"); table_columns["Items"].add ("calendar_event_uid"); table_columns["Items"].add ("deadline_date"); table_columns["Items"].add ("responsible_uid"); table_columns["Labels"] = new Gee.ArrayList (); table_columns["Labels"].add ("id"); table_columns["Labels"].add ("name"); table_columns["Labels"].add ("color"); table_columns["Labels"].add ("item_order"); table_columns["Labels"].add ("is_deleted"); table_columns["Labels"].add ("is_favorite"); table_columns["Labels"].add ("backend_type"); table_columns["Labels"].add ("source_id"); table_columns["OEvents"] = new Gee.ArrayList (); table_columns["OEvents"].add ("id"); table_columns["OEvents"].add ("event_type"); table_columns["OEvents"].add ("event_date"); table_columns["OEvents"].add ("object_id"); table_columns["OEvents"].add ("object_type"); table_columns["OEvents"].add ("object_key"); table_columns["OEvents"].add ("object_old_value"); table_columns["OEvents"].add ("object_new_value"); table_columns["OEvents"].add ("parent_item_id"); table_columns["OEvents"].add ("parent_project_id"); table_columns["Projects"] = new Gee.ArrayList (); table_columns["Projects"].add ("id"); table_columns["Projects"].add ("name"); table_columns["Projects"].add ("color"); table_columns["Projects"].add ("backend_type"); table_columns["Projects"].add ("inbox_project"); table_columns["Projects"].add ("team_inbox"); table_columns["Projects"].add ("child_order"); table_columns["Projects"].add ("is_deleted"); table_columns["Projects"].add ("is_archived"); table_columns["Projects"].add ("is_favorite"); table_columns["Projects"].add ("shared"); table_columns["Projects"].add ("view_style"); table_columns["Projects"].add ("sort_order"); table_columns["Projects"].add ("parent_id"); table_columns["Projects"].add ("collapsed"); table_columns["Projects"].add ("icon_style"); table_columns["Projects"].add ("emoji"); table_columns["Projects"].add ("show_completed"); table_columns["Projects"].add ("description"); table_columns["Projects"].add ("due_date"); table_columns["Projects"].add ("inbox_section_hidded"); table_columns["Projects"].add ("sync_id"); table_columns["Projects"].add ("source_id"); table_columns["Projects"].add ("calendar_url"); table_columns["Projects"].add ("sorted_by"); table_columns["Projects"].add ("calendar_source_uid"); table_columns["Projects"].add ("markdown_setting"); table_columns["Queue"] = new Gee.ArrayList (); table_columns["Queue"].add ("uuid"); table_columns["Queue"].add ("object_id"); table_columns["Queue"].add ("query"); table_columns["Queue"].add ("temp_id"); table_columns["Queue"].add ("args"); table_columns["Queue"].add ("date_added"); table_columns["Reminders"] = new Gee.ArrayList (); table_columns["Reminders"].add ("id"); table_columns["Reminders"].add ("notify_uid"); table_columns["Reminders"].add ("item_id"); table_columns["Reminders"].add ("service"); table_columns["Reminders"].add ("type"); table_columns["Reminders"].add ("due"); table_columns["Reminders"].add ("mm_offset"); table_columns["Reminders"].add ("is_deleted"); table_columns["Sections"] = new Gee.ArrayList (); table_columns["Sections"].add ("id"); table_columns["Sections"].add ("name"); table_columns["Sections"].add ("archived_at"); table_columns["Sections"].add ("added_at"); table_columns["Sections"].add ("project_id"); table_columns["Sections"].add ("section_order"); table_columns["Sections"].add ("collapsed"); table_columns["Sections"].add ("is_deleted"); table_columns["Sections"].add ("is_archived"); table_columns["Sections"].add ("color"); table_columns["Sections"].add ("description"); table_columns["Sections"].add ("hidded"); table_columns["Sources"] = new Gee.ArrayList (); table_columns["Sources"].add ("id"); table_columns["Sources"].add ("source_type"); table_columns["Sources"].add ("display_name"); table_columns["Sources"].add ("added_at"); table_columns["Sources"].add ("updated_at"); table_columns["Sources"].add ("is_visible"); table_columns["Sources"].add ("child_order"); table_columns["Sources"].add ("sync_server"); table_columns["Sources"].add ("last_sync"); table_columns["Sources"].add ("data"); } public void init_database () { db_path = Environment.get_user_data_dir () + "/io.github.alainm23.planify/database.db"; Sqlite.Database.open (db_path, out db); create_tables (); create_triggers (); patch_database (); opened (); is_opened = true; } private void create_tables () { sql = """ CREATE TABLE IF NOT EXISTS Labels ( id TEXT PRIMARY KEY, name TEXT, color TEXT, item_order INTEGER, is_deleted INTEGER, is_favorite INTEGER, backend_type TEXT, source_id TEXT, CONSTRAINT unique_label UNIQUE (name) ); """; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } sql = """ CREATE TABLE IF NOT EXISTS Projects ( id TEXT PRIMARY KEY, name TEXT NOT NULL, color TEXT, backend_type TEXT, inbox_project INTEGER, team_inbox INTEGER, child_order INTEGER, is_deleted INTEGER, is_archived INTEGER, is_favorite INTEGER, shared INTEGER, view_style TEXT, sort_order INTEGER, parent_id TEXT, collapsed INTEGER, icon_style TEXT, emoji TEXT, show_completed INTEGER, description TEXT, due_date TEXT, inbox_section_hidded INTEGER, sync_id TEXT, source_id TEXT, calendar_url TEXT, sorted_by TEXT, calendar_source_uid TEXT, markdown_setting TEXT ); """; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } sql = """ CREATE TABLE IF NOT EXISTS Sections ( id TEXT PRIMARY KEY, name TEXT, archived_at TEXT, added_at TEXT, project_id TEXT, section_order INTEGER, collapsed INTEGER, is_deleted INTEGER, is_archived INTEGER, color TEXT, description TEXT, hidded INTEGER, FOREIGN KEY (project_id) REFERENCES Projects (id) ON DELETE CASCADE ); """; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } sql = """ CREATE TABLE IF NOT EXISTS Items ( id TEXT PRIMARY KEY, content TEXT NOT NULL, description TEXT, due TEXT, added_at TEXT, completed_at TEXT, updated_at TEXT, section_id TEXT, project_id TEXT, parent_id TEXT, priority INTEGER, child_order INTEGER, checked INTEGER, is_deleted INTEGER, day_order INTEGER, collapsed INTEGER, pinned INTEGER, labels TEXT, extra_data TEXT, item_type TEXT, calendar_event_uid TEXT, deadline_date TEXT, responsible_uid TEXT ); """; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } sql = """ CREATE TABLE IF NOT EXISTS Reminders ( id TEXT PRIMARY KEY, notify_uid INTEGER, item_id TEXT, service TEXT, type TEXT, due TEXT, mm_offset INTEGER, is_deleted INTEGER, FOREIGN KEY (item_id) REFERENCES Items (id) ON DELETE CASCADE ); """; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } sql = """ CREATE TABLE IF NOT EXISTS Queue ( uuid TEXT PRIMARY KEY, object_id TEXT, query TEXT, temp_id TEXT, args TEXT, date_added TEXT ); """; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } sql = """ CREATE TABLE IF NOT EXISTS CurTempIds ( id TEXT PRIMARY KEY, temp_id TEXT, object TEXT ); """; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } sql = """ CREATE TABLE IF NOT EXISTS Attachments ( id TEXT PRIMARY KEY, item_id TEXT, file_type TEXT, file_name TEXT, file_size TEXT, file_path TEXT, FOREIGN KEY (item_id) REFERENCES Items (id) ON DELETE CASCADE ); """; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } sql = """ CREATE TABLE IF NOT EXISTS OEvents ( id INTEGER PRIMARY KEY AUTOINCREMENT, event_type TEXT, event_date DATETIME DEFAULT (datetime('now','localtime')), object_id TEXT, object_type TEXT, object_key TEXT, object_old_value TEXT, object_new_value TEXT, parent_item_id TEXT, parent_project_id TEXT ); """; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } sql = """ CREATE TABLE IF NOT EXISTS Sources ( id TEXT PRIMARY KEY, source_type TEXT NOT NULL, display_name TEXT, added_at TEXT, updated_at TEXT, is_visible INTEGER, child_order INTEGER, sync_server INTEGER, last_sync TEXT, data TEXT ); """; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } sql = """PRAGMA foreign_keys = ON;"""; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } } private void create_triggers () { sql = """ CREATE TRIGGER IF NOT EXISTS after_insert_item AFTER INSERT ON Items BEGIN INSERT OR IGNORE INTO OEvents (event_type, object_id, object_type, object_key, object_old_value, object_new_value, parent_project_id) VALUES ('insert', NEW.id, 'item', 'content', NEW.content, NEW.content, NEW.project_id); END; """; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } sql = """ CREATE TRIGGER IF NOT EXISTS after_update_content_item AFTER UPDATE ON Items FOR EACH ROW WHEN NEW.content != OLD.content BEGIN INSERT OR IGNORE INTO OEvents (event_type, object_id, object_type, object_key, object_old_value, object_new_value, parent_project_id) VALUES ('update', NEW.id, 'item', 'content', OLD.content, NEW.content, NEW.project_id); END; """; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } sql = """ CREATE TRIGGER IF NOT EXISTS after_update_description_item AFTER UPDATE ON Items FOR EACH ROW WHEN NEW.description != OLD.description BEGIN INSERT OR IGNORE INTO OEvents (event_type, object_id, object_type, object_key, object_old_value, object_new_value, parent_project_id) VALUES ('update', NEW.id, 'item', 'description', OLD.description, NEW.description, NEW.project_id); END; """; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } sql = """ CREATE TRIGGER IF NOT EXISTS after_update_due_item AFTER UPDATE ON Items FOR EACH ROW WHEN NEW.due != OLD.due BEGIN INSERT OR IGNORE INTO OEvents (event_type, object_id, object_type, object_key, object_old_value, object_new_value, parent_project_id) VALUES ('update', NEW.id, 'item', 'due', OLD.due, NEW.due, NEW.project_id); END; """; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } sql = """ CREATE TRIGGER IF NOT EXISTS after_update_priority_item AFTER UPDATE ON Items FOR EACH ROW WHEN NEW.priority != OLD.priority BEGIN INSERT OR IGNORE INTO OEvents (event_type, object_id, object_type, object_key, object_old_value, object_new_value, parent_project_id) VALUES ('update', NEW.id, 'item', 'priority', OLD.priority, NEW.priority, NEW.project_id); END; """; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } sql = """ CREATE TRIGGER IF NOT EXISTS after_update_labels_item AFTER UPDATE ON Items FOR EACH ROW WHEN NEW.labels != OLD.labels BEGIN INSERT OR IGNORE INTO OEvents (event_type, object_id, object_type, object_key, object_old_value, object_new_value, parent_project_id) VALUES ('update', NEW.id, 'item', 'labels', OLD.labels, NEW.labels, NEW.project_id); END; """; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } sql = """ CREATE TRIGGER IF NOT EXISTS after_update_pinned_item AFTER UPDATE ON Items FOR EACH ROW WHEN NEW.pinned != OLD.pinned BEGIN INSERT OR IGNORE INTO OEvents (event_type, object_id, object_type, object_key, object_old_value, object_new_value, parent_project_id) VALUES ('update', NEW.id, 'item', 'pinned', OLD.pinned, NEW.pinned, NEW.project_id); END; """; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } sql = """ CREATE TRIGGER IF NOT EXISTS after_update_checked_item AFTER UPDATE ON Items FOR EACH ROW WHEN NEW.checked != OLD.checked BEGIN INSERT OR IGNORE INTO OEvents (event_type, object_id, object_type, object_key, object_old_value, object_new_value, parent_project_id) VALUES ('update', NEW.id, 'item', 'checked', OLD.checked, NEW.checked, NEW.project_id); END; """; sql = """ CREATE TRIGGER IF NOT EXISTS after_update_section_item AFTER UPDATE ON Items FOR EACH ROW WHEN NEW.section_id != OLD.section_id BEGIN INSERT OR IGNORE INTO OEvents (event_type, object_id, object_type, object_key, object_old_value, object_new_value, parent_project_id) VALUES ('update', NEW.id, 'item', 'section', OLD.section_id, NEW.section_id, NEW.project_id); END; """; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } sql = """ CREATE TRIGGER IF NOT EXISTS after_update_project_item AFTER UPDATE ON Items FOR EACH ROW WHEN NEW.project_id != OLD.project_id BEGIN INSERT OR IGNORE INTO OEvents (event_type, object_id, object_type, object_key, object_old_value, object_new_value, parent_project_id) VALUES ('update', NEW.id, 'item', 'project', OLD.project_id, NEW.project_id, NEW.project_id); END; """; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } } public void patch_database () { /* * Planner 3 - Beta 1 * - Add pinned (0|1) to Items */ add_int_column ("Items", "pinned", 0); /* * Planner 3 - Beta 2 * - Add show_completed (0|1) to Projects */ add_int_column ("Projects", "show_completed", 0); /* * Planner 3.10 * - Add description to Projects */ add_text_column ("Projects", "description", ""); /* * Planify 4.4 * - Add labels column to Items * - Add color column to Section * - Add description column to Section */ add_item_label_column (); add_text_column ("Sections", "color", "blue"); add_text_column ("Sections", "description", ""); /* * Planify 4.5 * - Add extra data column to Items */ add_text_column ("Items", "extra_data", ""); add_int_column ("Sections", "hidded", 0); add_int_column ("Projects", "inbox_section_hidded", 0); /* * Planify 4.5.2 * - Add sync_id column to Projects */ add_text_column ("Projects", "sync_id", ""); /* * Planify 4.8 * - Add item_type column to Items */ add_text_column ("Items", "item_type", ItemType.TASK.to_string ()); /* * Planify 4.10 * - Add source_id column to Projects */ add_project_labels_source_id (); /* * Planify 4.14 * - Add sorted_by column to Projects */ add_calendar_url_to_project (); add_text_column ("Projects", "sorted_by", SortedByType.MANUAL.to_string ()); /* * Planify 4.16 * - Add calendar_source_uid column to Projects * - Add calendar_event_uid column to Items * - Add deadline_date column to Items */ add_text_column ("Projects", "calendar_source_uid", ""); add_text_column ("Items", "calendar_event_uid", ""); add_text_column ("Items", "deadline_date", ""); add_text_column ("Items", "responsible_uid", ""); /* * Planify 4.19 * - Add markdown_setting column to Projects */ add_text_column ("Projects", "markdown_setting", MarkdownSetting.GLOBAL_DEFAULT.to_string ()); } public void clear_database () { string db_path = Environment.get_user_data_dir () + "/io.github.alainm23.planify/database.db"; File db_file = File.new_for_path (db_path); if (db_file.query_exists ()) { try { db_file.delete (); } catch (Error err) { warning (err.message); } } } public bool verify_integrity () { Sqlite.Statement stmt; // Verify Data Integrity sql = """ PRAGMA integrity_check; """; db.prepare_v2 (sql, sql.length, out stmt); if (stmt.step () == Sqlite.ROW) { if (stmt.column_text (0) != "ok") { return false; } } // Verify Tables Integrity string[] tables = { "Attachments", "CurTempIds", "Items", "Labels", "OEvents", "Projects", "Queue", "Reminders", "Sections", "Sources" }; foreach (var table_name in tables) { if (!table_exists (table_name)) { return false; } } // Verify Table Columns foreach (var table in table_columns.keys) { if (!table_columns_exists (table, table_columns.get (table))) { return false; } } return true; } private bool table_exists (string table_name) { Sqlite.Statement stmt; sql = """ SELECT name FROM sqlite_master WHERE type='table' AND name='%s'; """.printf (table_name); db.prepare_v2 (sql, sql.length, out stmt); return stmt.step () == Sqlite.ROW; } private bool table_columns_exists (string table, Gee.ArrayList columns) { Sqlite.Statement stmt; sql = """ PRAGMA table_info(%s); """.printf (table); db.prepare_v2 (sql, sql.length, out stmt); stmt.step (); while (stmt.step () == Sqlite.ROW) { if (!columns.contains (stmt.column_text (1))) { return false; } } return true; } /* Sources */ public Gee.ArrayList get_sources_collection () { Gee.ArrayList return_value = new Gee.ArrayList (); Sqlite.Statement stmt; sql = """ SELECT * FROM Sources ORDER BY child_order; """; db.prepare_v2 (sql, sql.length, out stmt); while (stmt.step () == Sqlite.ROW) { return_value.add (_fill_source (stmt)); } return return_value; } private Objects.Source _fill_source (Sqlite.Statement stmt) { Objects.Source return_value = new Objects.Source (); return_value.id = stmt.column_text (0); return_value.source_type = SourceType.parse (stmt.column_text (1)); return_value.display_name = stmt.column_text (2); return_value.added_at = stmt.column_text (3); return_value.updated_at = stmt.column_text (4); return_value.is_visible = get_parameter_bool (stmt, 5); return_value.child_order = stmt.column_int (6); return_value.sync_server = get_parameter_bool (stmt, 7); return_value.last_sync = stmt.column_text (8); if (return_value.source_type == SourceType.TODOIST) { return_value.data = new Objects.SourceTodoistData.from_json (stmt.column_text (9)); } else if (return_value.source_type == SourceType.CALDAV) { return_value.data = new Objects.SourceCalDAVData.from_json (stmt.column_text (9)); } return return_value; } public bool insert_source (Objects.Source source) { Sqlite.Statement stmt; sql = """ INSERT OR IGNORE INTO Sources (id, source_type, display_name, added_at, updated_at, is_visible, child_order, sync_server, last_sync, data) VALUES ($id, $source_type, $display_name, $added_at, $updated_at, $is_visible, $child_order, $sync_server, $last_sync, $data); """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$id", source.id); set_parameter_str (stmt, "$source_type", source.source_type.to_string ()); set_parameter_str (stmt, "$display_name", source.display_name); set_parameter_str (stmt, "$added_at", source.added_at); set_parameter_str (stmt, "$updated_at", source.updated_at); set_parameter_bool (stmt, "$is_visible", source.is_visible); set_parameter_int (stmt, "$child_order", source.child_order); set_parameter_bool (stmt, "$sync_server", source.sync_server); set_parameter_str (stmt, "$last_sync", source.last_sync); set_parameter_str (stmt, "$data", source.data.to_json ()); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public bool delete_source (Objects.Source source) { Sqlite.Statement stmt; sql = """ DELETE FROM Sources WHERE id=$id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$id", source.id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public bool update_source (Objects.Source source) { Sqlite.Statement stmt; sql = """ UPDATE Sources SET source_type=$source_type, display_name=$display_name, updated_at=$updated_at, is_visible=$is_visible, child_order=$child_order, sync_server=$sync_server, last_sync=$last_sync, data=$data WHERE id=$id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$source_type", source.source_type.to_string ()); set_parameter_str (stmt, "$display_name", source.display_name); set_parameter_str (stmt, "$updated_at", source.updated_at); set_parameter_bool (stmt, "$is_visible", source.is_visible); set_parameter_int (stmt, "$child_order", source.child_order); set_parameter_bool (stmt, "$sync_server", source.sync_server); set_parameter_str (stmt, "$last_sync", source.last_sync); set_parameter_str (stmt, "$data", source.data.to_json ()); set_parameter_str (stmt, "$id", source.id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } /* Projects */ public Gee.ArrayList get_projects_collection () { Gee.ArrayList return_value = new Gee.ArrayList (); Sqlite.Statement stmt; sql = """ SELECT * FROM Projects WHERE is_deleted = 0 ORDER BY child_order; """; db.prepare_v2 (sql, sql.length, out stmt); while (stmt.step () == Sqlite.ROW) { return_value.add (_fill_project (stmt)); } return return_value; } public Objects.Project _fill_project (Sqlite.Statement stmt) { Objects.Project return_value = new Objects.Project (); return_value.id = stmt.column_text (0); return_value.name = stmt.column_text (1); return_value.color = stmt.column_text (2); return_value.backend_type = SourceType.parse (stmt.column_text (3)); return_value.inbox_project = get_parameter_bool (stmt, 4); return_value.team_inbox = get_parameter_bool (stmt, 5); return_value.child_order = stmt.column_int (6); return_value.is_deleted = get_parameter_bool (stmt, 7); return_value.is_archived = get_parameter_bool (stmt, 8); return_value.is_favorite = get_parameter_bool (stmt, 9); return_value.shared = get_parameter_bool (stmt, 10); return_value.view_style = ProjectViewStyle.parse (stmt.column_text (11)); return_value.sort_order = SortOrderType.parse (stmt.column_text (12)); return_value.parent_id = stmt.column_text (13); return_value.collapsed = get_parameter_bool (stmt, 14); return_value.icon_style = ProjectIconStyle.parse (stmt.column_text (15)); return_value.emoji = stmt.column_text (16); return_value.show_completed = get_parameter_bool (stmt, 17); return_value.description = stmt.column_text (18); return_value.due_date = stmt.column_text (19); return_value.inbox_section_hidded = get_parameter_bool (stmt, 20); return_value.sync_id = stmt.column_text (21); return_value.source_id = stmt.column_text (22); return_value.calendar_url = stmt.column_text (23); return_value.sorted_by = SortedByType.parse (stmt.column_text (24)); return_value.calendar_source_uid = stmt.column_text (25); return_value.markdown_setting = MarkdownSetting.parse (stmt.column_text (26)); return return_value; } public bool insert_project (Objects.Project project) { Sqlite.Statement stmt; sql = """ INSERT OR IGNORE INTO Projects (id, name, color, backend_type, inbox_project, team_inbox, child_order, is_deleted, is_archived, is_favorite, shared, view_style, sort_order, parent_id, collapsed, icon_style, emoji, show_completed, description, due_date, inbox_section_hidded, sync_id, source_id, calendar_url, sorted_by, calendar_source_uid, markdown_setting) VALUES ($id, $name, $color, $backend_type, $inbox_project, $team_inbox, $child_order, $is_deleted, $is_archived, $is_favorite, $shared, $view_style, $sort_order, $parent_id, $collapsed, $icon_style, $emoji, $show_completed, $description, $due_date, $inbox_section_hidded, $sync_id, $source_id, $calendar_url, $sorted_by, $calendar_source_uid, $markdown_setting); """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$id", project.id); set_parameter_str (stmt, "$name", project.name); set_parameter_str (stmt, "$color", project.color); set_parameter_str (stmt, "$backend_type", project.backend_type.to_string ()); set_parameter_bool (stmt, "$inbox_project", project.inbox_project); set_parameter_bool (stmt, "$team_inbox", project.team_inbox); set_parameter_int (stmt, "$child_order", project.child_order); set_parameter_bool (stmt, "$is_deleted", project.is_deleted); set_parameter_bool (stmt, "$is_archived", project.is_archived); set_parameter_bool (stmt, "$is_favorite", project.is_favorite); set_parameter_bool (stmt, "$shared", project.shared); set_parameter_str (stmt, "$view_style", project.view_style.to_string ()); set_parameter_str (stmt, "$sort_order", project.sort_order.to_string ()); set_parameter_str (stmt, "$parent_id", project.parent_id); set_parameter_bool (stmt, "$collapsed", project.collapsed); set_parameter_str (stmt, "$icon_style", project.icon_style.to_string ()); set_parameter_str (stmt, "$emoji", project.emoji); set_parameter_bool (stmt, "$show_completed", project.show_completed); set_parameter_str (stmt, "$description", project.description); set_parameter_str (stmt, "$due_date", project.due_date); set_parameter_bool (stmt, "$inbox_section_hidded", project.inbox_section_hidded); set_parameter_str (stmt, "$sync_id", project.sync_id); set_parameter_str (stmt, "$source_id", project.source_id); set_parameter_str (stmt, "$calendar_url", project.calendar_url); set_parameter_str (stmt, "$sorted_by", project.sorted_by.to_string ()); set_parameter_str (stmt, "$calendar_source_uid", project.calendar_source_uid); set_parameter_str (stmt, "$markdown_setting", project.markdown_setting.to_string ()); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public bool delete_project (Objects.Project project) { Sqlite.Statement stmt; sql = """ DELETE FROM Projects WHERE id=$id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$id", project.id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public void delete_project_db (Objects.Project project) { Sqlite.Statement stmt; sql = """ DELETE FROM Projects WHERE id=$id; DELETE FROM Items WHERE project_id=$item_project_id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$id", project.id); set_parameter_str (stmt, "$section_project_id", project.id); set_parameter_str (stmt, "$item_project_id", project.id); if (stmt.step () != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); } } public bool update_project (Objects.Project project) { Sqlite.Statement stmt; sql = """ UPDATE Projects SET name=$name, color=$color, backend_type=$backend_type, inbox_project=$inbox_project, team_inbox=$team_inbox, child_order=$child_order, is_deleted=$is_deleted, is_archived=$is_archived, is_favorite=$is_favorite, shared=$shared, view_style=$view_style, sort_order=$sort_order, parent_id=$parent_id, collapsed=$collapsed, icon_style=$icon_style, emoji=$emoji, show_completed=$show_completed, description=$description, due_date=$due_date, inbox_section_hidded=$inbox_section_hidded, sync_id=$sync_id, source_id=$source_id, calendar_url=$calendar_url, sorted_by=$sorted_by, calendar_source_uid=$calendar_source_uid, markdown_setting=$markdown_setting WHERE id=$id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$name", project.name); set_parameter_str (stmt, "$color", project.color); set_parameter_str (stmt, "$backend_type", project.backend_type.to_string ()); set_parameter_bool (stmt, "$inbox_project", project.inbox_project); set_parameter_bool (stmt, "$team_inbox", project.team_inbox); set_parameter_int (stmt, "$child_order", project.child_order); set_parameter_bool (stmt, "$is_deleted", project.is_deleted); set_parameter_bool (stmt, "$is_archived", project.is_archived); set_parameter_bool (stmt, "$is_favorite", project.is_favorite); set_parameter_bool (stmt, "$shared", project.shared); set_parameter_str (stmt, "$view_style", project.view_style.to_string ()); set_parameter_str (stmt, "$sort_order", project.sort_order.to_string ()); set_parameter_str (stmt, "$parent_id", project.parent_id); set_parameter_bool (stmt, "$collapsed", project.collapsed); set_parameter_str (stmt, "$icon_style", project.icon_style.to_string ()); set_parameter_str (stmt, "$emoji", project.emoji); set_parameter_bool (stmt, "$show_completed", project.show_completed); set_parameter_str (stmt, "$description", project.description); set_parameter_str (stmt, "$due_date", project.due_date); set_parameter_bool (stmt, "$inbox_section_hidded", project.inbox_section_hidded); if (project.sync_id != null) { set_parameter_str (stmt, "$sync_id", project.sync_id); } set_parameter_str (stmt, "$source_id", project.source_id); set_parameter_str (stmt, "$calendar_url", project.calendar_url); set_parameter_str (stmt, "$sorted_by", project.sorted_by.to_string ()); set_parameter_str (stmt, "$calendar_source_uid", project.calendar_source_uid); set_parameter_str (stmt, "$markdown_setting", project.markdown_setting.to_string ()); set_parameter_str (stmt, "$id", project.id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public bool archive_project (Objects.Project project) { Sqlite.Statement stmt; sql = """ UPDATE Projects SET is_archived=$is_archived WHERE id=$id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_bool (stmt, "$is_archived", project.is_archived); set_parameter_str (stmt, "$id", project.id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } /* * Labels */ public Gee.ArrayList get_labels_collection () { Gee.ArrayList return_value = new Gee.ArrayList (); Sqlite.Statement stmt; sql = """ SELECT * FROM Labels; """; db.prepare_v2 (sql, sql.length, out stmt); while (stmt.step () == Sqlite.ROW) { return_value.add (_fill_label (stmt)); } return return_value; } public Objects.Label _fill_label (Sqlite.Statement stmt) { Objects.Label return_value = new Objects.Label (); return_value.id = stmt.column_text (0); return_value.name = stmt.column_text (1); return_value.color = stmt.column_text (2); return_value.item_order = stmt.column_int (3); return_value.is_deleted = get_parameter_bool (stmt, 4); return_value.is_favorite = get_parameter_bool (stmt, 5); return_value.backend_type = SourceType.parse (stmt.column_text (6)); return_value.source_id = stmt.column_text (7); return return_value; } public bool insert_label (Objects.Label label) { Sqlite.Statement stmt; sql = """ INSERT OR IGNORE INTO Labels (id, name, color, item_order, is_deleted, is_favorite, backend_type, source_id) VALUES ($id, $name, $color, $item_order, $is_deleted, $is_favorite, $backend_type, $source_id); """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$id", label.id); set_parameter_str (stmt, "$name", label.name); set_parameter_str (stmt, "$color", label.color); set_parameter_int (stmt, "$item_order", label.item_order); set_parameter_bool (stmt, "$is_deleted", label.is_deleted); set_parameter_bool (stmt, "$is_favorite", label.is_favorite); set_parameter_str (stmt, "$backend_type", label.backend_type.to_string ()); set_parameter_str (stmt, "$source_id", label.source_id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public bool delete_label (Objects.Label label) { Sqlite.Statement stmt; sql = """ DELETE FROM Labels WHERE id=$id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$id", label.id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public bool update_label (Objects.Label label) { Sqlite.Statement stmt; sql = """ UPDATE Labels SET name=$name, color=$color, item_order=$item_order, is_deleted=$is_deleted, is_favorite=$is_favorite WHERE id=$id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$name", label.name); set_parameter_str (stmt, "$color", label.color); set_parameter_int (stmt, "$item_order", label.item_order); set_parameter_bool (stmt, "$is_deleted", label.is_deleted); set_parameter_bool (stmt, "$is_favorite", label.is_favorite); set_parameter_str (stmt, "$id", label.id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } /* Sections */ public bool insert_section (Objects.Section section) { Sqlite.Statement stmt; sql = """ INSERT OR IGNORE INTO Sections (id, name, archived_at, added_at, project_id, section_order, collapsed, is_deleted, is_archived, color, description, hidded) VALUES ($id, $name, $archived_at, $added_at, $project_id, $section_order, $collapsed, $is_deleted, $is_archived, $color, $description, $hidded); """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$id", section.id); set_parameter_str (stmt, "$name", section.name); set_parameter_str (stmt, "$archived_at", section.archived_at); set_parameter_str (stmt, "$added_at", section.added_at); set_parameter_str (stmt, "$project_id", section.project_id); set_parameter_int (stmt, "$section_order", section.section_order); set_parameter_bool (stmt, "$collapsed", section.collapsed); set_parameter_bool (stmt, "$is_deleted", section.is_deleted); set_parameter_bool (stmt, "$is_archived", section.is_archived); set_parameter_str (stmt, "$color", section.color); set_parameter_str (stmt, "$description", section.description); set_parameter_bool (stmt, "$hidded", section.hidded); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public Gee.ArrayList get_sections_collection () { Gee.ArrayList return_value = new Gee.ArrayList (); Sqlite.Statement stmt; sql = "SELECT * FROM Sections WHERE is_deleted = 0;"; db.prepare_v2 (sql, sql.length, out stmt); while (stmt.step () == Sqlite.ROW) { return_value.add (_fill_section (stmt)); } return return_value; } public Objects.Section _fill_section (Sqlite.Statement stmt) { Objects.Section return_value = new Objects.Section (); return_value.id = stmt.column_text (0); return_value.name = stmt.column_text (1); return_value.archived_at = stmt.column_text (2); return_value.added_at = stmt.column_text (3); return_value.project_id = stmt.column_text (4); return_value.section_order = stmt.column_int (5); return_value.collapsed = get_parameter_bool (stmt, 6); return_value.is_deleted = get_parameter_bool (stmt, 7); return_value.is_archived = get_parameter_bool (stmt, 8); return_value.color = stmt.column_text (9); return_value.description = stmt.column_text (10); return_value.hidded = get_parameter_bool (stmt, 11); return return_value; } public bool delete_section (Objects.Section section) { Sqlite.Statement stmt; sql = """ DELETE FROM Sections WHERE id=$id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$id", section.id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public bool update_section (Objects.Section section) { Sqlite.Statement stmt; sql = """ UPDATE Sections SET name=$name, archived_at=$archived_at, added_at=$added_at, project_id=$project_id, section_order=$section_order, collapsed=$collapsed, is_deleted=$is_deleted, is_archived=$is_archived, color=$color, description=$description, hidded=$hidded WHERE id=$id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$name", section.name); set_parameter_str (stmt, "$archived_at", section.archived_at); set_parameter_str (stmt, "$added_at", section.added_at); set_parameter_str (stmt, "$project_id", section.project_id); set_parameter_int (stmt, "$section_order", section.section_order); set_parameter_bool (stmt, "$collapsed", section.collapsed); set_parameter_bool (stmt, "$is_deleted", section.is_deleted); set_parameter_bool (stmt, "$is_archived", section.is_archived); set_parameter_str (stmt, "$color", section.color); set_parameter_str (stmt, "$description", section.description); set_parameter_bool (stmt, "$hidded", section.hidded); set_parameter_str (stmt, "$id", section.id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public bool move_section (Objects.Section section, string old_project_id) { Sqlite.Statement stmt; sql = """ UPDATE Sections SET project_id=$project_id WHERE id=$id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$project_id", section.project_id); set_parameter_str (stmt, "$id", section.id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public bool move_section_items (Objects.Section section) { Sqlite.Statement stmt; sql = """ UPDATE Items SET project_id=$project_id WHERE section_id=$section_id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$project_id", section.project_id); set_parameter_str (stmt, "$section_id", section.id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public bool archive_section (Objects.Section section) { Sqlite.Statement stmt; sql = """ UPDATE Sections SET is_archived=$is_archived WHERE id=$id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_bool (stmt, "$is_archived", section.is_archived); set_parameter_str (stmt, "$id", section.id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } /* Items */ public bool insert_item (Objects.Item item) { Sqlite.Statement stmt; sql = """ INSERT OR IGNORE INTO Items (id, content, description, due, added_at, completed_at, updated_at, section_id, project_id, parent_id, priority, child_order, checked, is_deleted, day_order, collapsed, pinned, labels, extra_data, item_type, calendar_event_uid, deadline_date, responsible_uid) VALUES ($id, $content, $description, $due, $added_at, $completed_at, $updated_at, $section_id, $project_id, $parent_id, $priority, $child_order, $checked, $is_deleted, $day_order, $collapsed, $pinned, $labels, $extra_data, $item_type, $calendar_event_uid, $deadline_date, $responsible_uid); """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$id", item.id); set_parameter_str (stmt, "$content", item.content); set_parameter_str (stmt, "$description", item.description); set_parameter_str (stmt, "$due", item.due.to_string ()); set_parameter_str (stmt, "$added_at", item.added_at); set_parameter_str (stmt, "$completed_at", item.completed_at); set_parameter_str (stmt, "$updated_at", item.updated_at); set_parameter_str (stmt, "$section_id", item.section_id); set_parameter_str (stmt, "$project_id", item.project_id); set_parameter_str (stmt, "$parent_id", item.parent_id); set_parameter_int (stmt, "$priority", item.priority); set_parameter_int (stmt, "$child_order", item.child_order); set_parameter_bool (stmt, "$checked", item.checked); set_parameter_bool (stmt, "$is_deleted", item.is_deleted); set_parameter_int (stmt, "$day_order", item.day_order); set_parameter_bool (stmt, "$collapsed", item.collapsed); set_parameter_bool (stmt, "$pinned", item.pinned); set_parameter_str (stmt, "$labels", get_labels_ids (item.labels)); set_parameter_str (stmt, "$extra_data", item.extra_data); set_parameter_str (stmt, "$item_type", item.item_type.to_string ()); set_parameter_str (stmt, "$calendar_event_uid", item.calendar_event_uid); set_parameter_str (stmt, "$deadline_date", item.deadline_date); set_parameter_str (stmt, "$responsible_uid", item.responsible_uid); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public bool insert_items_transaction (Gee.ArrayList items) { Sqlite.Statement stmt; bool success = true; sql = "BEGIN TRANSACTION;"; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); return false; } sql = """ INSERT OR IGNORE INTO Items (id, content, description, due, added_at, completed_at, updated_at, section_id, project_id, parent_id, priority, child_order, checked, is_deleted, day_order, collapsed, pinned, labels, extra_data, item_type, calendar_event_uid, deadline_date, responsible_uid) VALUES ($id, $content, $description, $due, $added_at, $completed_at, $updated_at, $section_id, $project_id, $parent_id, $priority, $child_order, $checked, $is_deleted, $day_order, $collapsed, $pinned, $labels, $extra_data, $item_type, $calendar_event_uid, $deadline_date, $responsible_uid); """; db.prepare_v2 (sql, sql.length, out stmt); foreach (var item in items) { set_parameter_str (stmt, "$id", item.id); set_parameter_str (stmt, "$content", item.content); set_parameter_str (stmt, "$description", item.description); set_parameter_str (stmt, "$due", item.due.to_string ()); set_parameter_str (stmt, "$added_at", item.added_at); set_parameter_str (stmt, "$completed_at", item.completed_at); set_parameter_str (stmt, "$updated_at", item.updated_at); set_parameter_str (stmt, "$section_id", item.section_id); set_parameter_str (stmt, "$project_id", item.project_id); set_parameter_str (stmt, "$parent_id", item.parent_id); set_parameter_int (stmt, "$priority", item.priority); set_parameter_int (stmt, "$child_order", item.child_order); set_parameter_bool (stmt, "$checked", item.checked); set_parameter_bool (stmt, "$is_deleted", item.is_deleted); set_parameter_int (stmt, "$day_order", item.day_order); set_parameter_bool (stmt, "$collapsed", item.collapsed); set_parameter_bool (stmt, "$pinned", item.pinned); set_parameter_str (stmt, "$labels", get_labels_ids (item.labels)); set_parameter_str (stmt, "$extra_data", item.extra_data); set_parameter_str (stmt, "$item_type", item.item_type.to_string ()); set_parameter_str (stmt, "$calendar_event_uid", item.calendar_event_uid); set_parameter_str (stmt, "$deadline_date", item.deadline_date); set_parameter_str (stmt, "$responsible_uid", item.responsible_uid); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); success = false; break; } stmt.reset (); } if (success) { sql = "COMMIT;"; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); success = false; } } else { sql = "ROLLBACK;"; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } } return success; } public Gee.ArrayList get_items_collection () { Gee.ArrayList return_value = new Gee.ArrayList (); Sqlite.Statement stmt; sql = "SELECT * FROM Items WHERE is_deleted = 0;"; db.prepare_v2 (sql, sql.length, out stmt); while (stmt.step () == Sqlite.ROW) { return_value.add (_fill_item (stmt)); } return return_value; } public Objects.Item get_item_by_id (string id) { Objects.Item returned = new Objects.Item (); Sqlite.Statement stmt; sql = "SELECT * FROM Items WHERE id = $id LIMIT 1;"; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$id", id); if (stmt.step () == Sqlite.ROW) { returned = _fill_item (stmt); } return returned; } public Objects.Item _fill_item (Sqlite.Statement stmt) { Objects.Item return_value = new Objects.Item (); return_value.id = stmt.column_text (0); return_value.content = stmt.column_text (1); return_value.description = stmt.column_text (2); return_value.due.update_from_json (get_due_parameter (stmt.column_text (3))); return_value.added_at = stmt.column_text (4); return_value.completed_at = stmt.column_text (5); return_value.updated_at = stmt.column_text (6); return_value.section_id = stmt.column_text (7); return_value.project_id = stmt.column_text (8); return_value.parent_id = stmt.column_text (9); return_value.priority = stmt.column_int (10); return_value.child_order = stmt.column_int (11); return_value.checked = get_parameter_bool (stmt, 12); return_value.is_deleted = get_parameter_bool (stmt, 13); return_value.day_order = stmt.column_int (14); return_value.collapsed = get_parameter_bool (stmt, 15); return_value.pinned = get_parameter_bool (stmt, 16); return_value.labels = Services.Store.instance ().get_labels_by_item_labels (stmt.column_text (17)); return_value.extra_data = stmt.column_text (18); return_value.item_type = ItemType.parse (stmt.column_text (19)); return_value.calendar_event_uid = stmt.column_text (20); return_value.deadline_date = stmt.column_text (21); return_value.responsible_uid = stmt.column_text (22); return return_value; } public bool delete_item (Objects.Item item) { Sqlite.Statement stmt; sql = """ DELETE FROM Items WHERE id=$id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$id", item.id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public bool delete_all_items_by_project (Objects.Project project) { Sqlite.Statement stmt; sql = """ DELETE FROM Items WHERE project_id=$project_id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$project_id", project.id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public bool update_item (Objects.Item item, string update_id = "") { item.updated_at = new GLib.DateTime.now_local ().to_string (); Sqlite.Statement stmt; sql = """ UPDATE Items SET content=$content, description=$description, due=$due, added_at=$added_at, completed_at=$completed_at, updated_at=$updated_at, section_id=$section_id, project_id=$project_id, parent_id=$parent_id, priority=$priority, child_order=$child_order, checked=$checked, is_deleted=$is_deleted, day_order=$day_order, collapsed=$collapsed, pinned=$pinned, labels=$labels, extra_data=$extra_data, item_type=$item_type, calendar_event_uid=$calendar_event_uid, deadline_date=$deadline_date, responsible_uid=$responsible_uid WHERE id=$id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$content", item.content); set_parameter_str (stmt, "$description", item.description); set_parameter_str (stmt, "$due", item.due.to_string ()); set_parameter_str (stmt, "$added_at", item.added_at); set_parameter_str (stmt, "$completed_at", item.completed_at); set_parameter_str (stmt, "$updated_at", item.updated_at); set_parameter_str (stmt, "$section_id", item.section_id); set_parameter_str (stmt, "$project_id", item.project_id); set_parameter_str (stmt, "$parent_id", item.parent_id); set_parameter_int (stmt, "$priority", item.priority); set_parameter_int (stmt, "$child_order", item.child_order); set_parameter_bool (stmt, "$checked", item.checked); set_parameter_bool (stmt, "$is_deleted", item.is_deleted); set_parameter_int (stmt, "$day_order", item.day_order); set_parameter_bool (stmt, "$collapsed", item.collapsed); set_parameter_bool (stmt, "$pinned", item.pinned); set_parameter_str (stmt, "$labels", get_labels_ids (item.labels)); set_parameter_str (stmt, "$extra_data", item.extra_data); set_parameter_str (stmt, "$item_type", item.item_type.to_string ()); set_parameter_str (stmt, "$calendar_event_uid", item.calendar_event_uid); set_parameter_str (stmt, "$deadline_date", item.deadline_date); set_parameter_str (stmt, "$responsible_uid", item.responsible_uid); set_parameter_str (stmt, "$id", item.id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public bool move_item (Objects.Item item) { item.updated_at = new GLib.DateTime.now_local ().to_string (); Sqlite.Statement stmt; sql = """ UPDATE Items SET section_id=$section_id, project_id=$project_id, parent_id=$parent_id, extra_data=$extra_data WHERE id=$id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$section_id", item.section_id); set_parameter_str (stmt, "$project_id", item.project_id); set_parameter_str (stmt, "$parent_id", item.parent_id); set_parameter_str (stmt, "$extra_data", item.extra_data); set_parameter_str (stmt, "$id", item.id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public bool complete_item (Objects.Item item, bool old_checked) { Sqlite.Statement stmt; sql = """ UPDATE Items SET checked=$checked, completed_at=$completed_at WHERE id=$id OR parent_id=$id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_bool (stmt, "$checked", item.checked); set_parameter_str (stmt, "$completed_at", item.completed_at); set_parameter_str (stmt, "$id", item.id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public void update_child_order (Objects.BaseObject base_object) { Sqlite.Statement stmt; sql = """ UPDATE %s SET %s=$order WHERE id=$id; """.printf (base_object.table_name, base_object.column_order_name); db.prepare_v2 (sql, sql.length, out stmt); if (base_object is Objects.Item) { set_parameter_int (stmt, "$order", ((Objects.Item) base_object).child_order); } else if (base_object is Objects.Section) { set_parameter_int (stmt, "$order", ((Objects.Section) base_object).section_order); } else if (base_object is Objects.Project) { set_parameter_int (stmt, "$order", ((Objects.Project) base_object).child_order); } else if (base_object is Objects.Label) { set_parameter_int (stmt, "$order", ((Objects.Label) base_object).item_order); } set_parameter_str (stmt, "$id", base_object.id); if (stmt.step () != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); } } /* Reminders */ public bool insert_reminder (Objects.Reminder reminder) { Sqlite.Statement stmt; string sql; sql = """ INSERT OR IGNORE INTO Reminders (id, item_id, type, due, mm_offset) VALUES ($id, $item_id, $type, $due, $mm_offset); """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$id", reminder.id); set_parameter_str (stmt, "$item_id", reminder.item_id); set_parameter_str (stmt, "$type", reminder.reminder_type.to_string ()); set_parameter_str (stmt, "$due", reminder.due.to_string ()); set_parameter_int (stmt, "$mm_offset", reminder.mm_offset); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public Gee.ArrayList get_reminders_collection () { Gee.ArrayList return_value = new Gee.ArrayList (); Sqlite.Statement stmt; sql = """ SELECT id, item_id, type, due, mm_offset FROM Reminders; """; db.prepare_v2 (sql, sql.length, out stmt); while (stmt.step () == Sqlite.ROW) { return_value.add (_fill_reminder (stmt)); } return return_value; } public Objects.Reminder _fill_reminder (Sqlite.Statement stmt) { Objects.Reminder return_value = new Objects.Reminder (); return_value.id = stmt.column_text (0); return_value.item_id = stmt.column_text (1); return_value.reminder_type = stmt.column_text (2) == "absolute" ? ReminderType.ABSOLUTE : ReminderType.RELATIVE; return_value.due.update_from_json (get_due_parameter (stmt.column_text (3))); return_value.mm_offset = stmt.column_int (4); return return_value; } public Gee.ArrayList get_reminders_by_item_id (string id) { Gee.ArrayList return_value = new Gee.ArrayList (); Sqlite.Statement stmt; sql = """ SELECT id, item_id, type, due, mm_offset FROM Reminders WHERE item_id=$item_id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$item_id", id); while (stmt.step () == Sqlite.ROW) { return_value.add (_fill_reminder (stmt)); } return return_value; } public bool delete_reminder (Objects.Reminder reminder) { Sqlite.Statement stmt; sql = """ DELETE FROM Reminders WHERE id=$id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$id", reminder.id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } // Atrachments public bool insert_attachment (Objects.Attachment attachment) { Sqlite.Statement stmt; string sql; sql = """ INSERT OR IGNORE INTO Attachments (id, item_id, file_type, file_name, file_size, file_path) VALUES ($id, $item_id, $file_type, $file_name, $file_size, $file_path); """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$id", attachment.id); set_parameter_str (stmt, "$item_id", attachment.item_id); set_parameter_str (stmt, "$file_type", attachment.file_type); set_parameter_str (stmt, "$file_name", attachment.file_name); set_parameter_int64 (stmt, "$file_size", attachment.file_size); set_parameter_str (stmt, "$file_path", attachment.file_path); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public Gee.ArrayList get_attachments_collection () { Gee.ArrayList return_value = new Gee.ArrayList (); Sqlite.Statement stmt; sql = """ SELECT * FROM Attachments; """; db.prepare_v2 (sql, sql.length, out stmt); while (stmt.step () == Sqlite.ROW) { return_value.add (_fill_attachment (stmt)); } return return_value; } public Objects.Attachment _fill_attachment (Sqlite.Statement stmt) { Objects.Attachment return_value = new Objects.Attachment (); return_value.id = stmt.column_text (0); return_value.item_id = stmt.column_text (1); return_value.file_type = stmt.column_text (2); return_value.file_name = stmt.column_text (3); return_value.file_size = stmt.column_int64 (4); return_value.file_path = stmt.column_text (5); return return_value; } public bool delete_attachment (Objects.Attachment attachment) { Sqlite.Statement stmt; sql = """ DELETE FROM Attachments WHERE id=$id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$id", attachment.id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } /* * Queue */ public void insert_queue (Objects.Queue queue) { Sqlite.Statement stmt; sql = """ INSERT OR IGNORE INTO Queue (uuid, object_id, query, temp_id, args, date_added) VALUES ($uuid, $object_id, $query, $temp_id, $args, $date_added); """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$uuid", queue.uuid); set_parameter_str (stmt, "$object_id", queue.object_id); set_parameter_str (stmt, "$query", queue.query); set_parameter_str (stmt, "$temp_id", queue.temp_id); set_parameter_str (stmt, "$args", queue.args); set_parameter_str (stmt, "$date_added", queue.date_added); if (stmt.step () != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); } } public Gee.ArrayList get_all_queue () { Gee.ArrayList return_value = new Gee.ArrayList (); Sqlite.Statement stmt; sql = """ SELECT * FROM Queue ORDER BY date_added; """; db.prepare_v2 (sql, sql.length, out stmt); while (stmt.step () == Sqlite.ROW) { return_value.add (_fill_queue (stmt)); } return return_value; } public Objects.Queue _fill_queue (Sqlite.Statement stmt) { Objects.Queue return_value = new Objects.Queue (); return_value.uuid = stmt.column_text (0); return_value.object_id = stmt.column_text (1); return_value.query = stmt.column_text (2); return_value.temp_id = stmt.column_text (3); return_value.args = stmt.column_text (4); return_value.date_added = stmt.column_text (5); return return_value; } public void insert_CurTempIds (string id, string temp_id, string object) { // vala-lint=naming-convention Sqlite.Statement stmt; sql = """ INSERT OR IGNORE INTO CurTempIds (id, temp_id, object) VALUES ($id, $temp_id, $object); """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$id", id); set_parameter_str (stmt, "$temp_id", temp_id); set_parameter_str (stmt, "$object", object); if (stmt.step () != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); } } public bool curTempIds_exists (string id) { // vala-lint=naming-convention bool returned = false; Sqlite.Statement stmt; sql = """ SELECT COUNT (*) FROM CurTempIds WHERE id = $id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$id", id); if (stmt.step () == Sqlite.ROW) { returned = stmt.column_int (0) > 0; } return returned; } public string get_temp_id (string id) { string returned = ""; Sqlite.Statement stmt; sql = """ SELECT temp_id FROM CurTempIds WHERE id = $id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$id", id); if (stmt.step () == Sqlite.ROW) { returned = stmt.column_text (0); } return returned; } public bool update_project_id (string current_id, string new_id) { Sqlite.Statement stmt; sql = """ UPDATE Projects SET id = $new_id WHERE id = $current_id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$new_id", new_id); set_parameter_str (stmt, "$current_id", current_id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public bool update_project_section_id (string current_id, string new_id) { Sqlite.Statement stmt; sql = """ UPDATE Sections SET project_id = $new_id WHERE project_id = $current_id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$new_id", new_id); set_parameter_str (stmt, "$current_id", current_id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public bool update_project_item_id (string current_id, string new_id) { Sqlite.Statement stmt; sql = """ UPDATE Items SET project_id = $new_id WHERE project_id = $current_id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$new_id", new_id); set_parameter_str (stmt, "$current_id", current_id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public bool update_section_id (string current_id, string new_id) { Sqlite.Statement stmt; sql = """ UPDATE Sections SET id = $new_id WHERE id = $current_id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$new_id", new_id); set_parameter_str (stmt, "$current_id", current_id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public bool update_section_item_id (string current_id, string new_id) { Sqlite.Statement stmt; sql = """ UPDATE Items SET section_id = $new_id WHERE section_id = $current_id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$new_id", new_id); set_parameter_str (stmt, "$current_id", current_id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public bool update_item_id (string current_id, string new_id) { Sqlite.Statement stmt; sql = """ UPDATE Items SET id = $new_id WHERE id = $current_id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$new_id", new_id); set_parameter_str (stmt, "$current_id", current_id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public bool update_item_child_id (string current_id, string new_id) { Sqlite.Statement stmt; sql = """ UPDATE Items SET parent_id = $new_id WHERE parent_id = $current_id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$new_id", new_id); set_parameter_str (stmt, "$current_id", current_id); int result = stmt.step (); if (result != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); return false; } return true; } public void remove_CurTempIds (string id) { // vala-lint=naming-convention Sqlite.Statement stmt; sql = """ DELETE FROM CurTempIds WHERE id = $id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$id", id); if (stmt.step () != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); } } public void remove_queue (string uuid) { Sqlite.Statement stmt; sql = """ DELETE FROM Queue WHERE uuid = $uuid; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$uuid", uuid); if (stmt.step () != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); } } public void clear_queue () { Sqlite.Statement stmt; string sql; int res; sql = """ DELETE FROM Queue; """; res = db.prepare_v2 (sql, -1, out stmt); assert (res == Sqlite.OK); if (stmt.step () != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); } } public void clear_cur_temp_ids () { Sqlite.Statement stmt; string sql; int res; sql = """ DELETE FROM CurTempIds; """; res = db.prepare_v2 (sql, -1, out stmt); assert (res == Sqlite.OK); if (stmt.step () != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); } } /* * ObjectsEvent */ public Gee.ArrayList get_events_by_item (string id, int start_week, int end_week) { Gee.ArrayList return_value = new Gee.ArrayList (); Sqlite.Statement stmt; sql = """ SELECT * FROM OEvents WHERE object_id = $object_id AND (event_date >= DATETIME('now', '-%d days') AND event_date <= DATETIME('now', '-%d days')) ORDER BY event_date DESC """.printf (end_week, start_week); db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$object_id", id); while (stmt.step () == Sqlite.ROW) { return_value.add (_fill_object_event (stmt)); } return return_value; } public Objects.ObjectEvent _fill_object_event (Sqlite.Statement stmt) { Objects.ObjectEvent return_value = new Objects.ObjectEvent (); return_value.id = stmt.column_int64 (0); return_value.event_type = ObjectEventType.parse (stmt.column_text (1)); return_value.event_date = stmt.column_text (2); return_value.object_id = stmt.column_text (3); return_value.object_type = stmt.column_text (4); return_value.object_key = ObjectEventKeyType.parse (stmt.column_text (5)); return_value.object_old_value = stmt.column_text (6); return_value.object_new_value = stmt.column_text (7); return_value.parent_item_id = stmt.column_text (8); return_value.parent_project_id = stmt.column_text (9); return return_value; } // PARAMETER REGION private void set_parameter_int (Sqlite.Statement ? stmt, string par, int ? val) { if (val == null) { return; } int par_position = stmt.bind_parameter_index (par); if (par_position == 0) { warning ("bind parameter not found: %s", par); return; } stmt.bind_int (par_position, val); } private void set_parameter_int64 (Sqlite.Statement ? stmt, string par, int64 ? val) { if (val == null) { return; } int par_position = stmt.bind_parameter_index (par); if (par_position == 0) { warning ("bind parameter not found: %s", par); return; } stmt.bind_int64 (par_position, val); } private void set_parameter_str (Sqlite.Statement ? stmt, string par, string ? val) { if (val == null) { return; } int par_position = stmt.bind_parameter_index (par); if (par_position == 0) { warning ("bind parameter not found: %s", par); return; } stmt.bind_text (par_position, val); } private void set_parameter_bool (Sqlite.Statement ? stmt, string par, bool ? val) { if (val == null) { return; } int par_position = stmt.bind_parameter_index (par); if (par_position == 0) { warning ("bind parameter not found: %s", par); return; } stmt.bind_int (par_position, val ? 1 : 0); } private bool get_parameter_bool (Sqlite.Statement stmt, int col) { return stmt.column_int (col) == 1; } Json.Parser parser; public Json.Object ? get_due_parameter (string data) { if (parser == null) { parser = new Json.Parser (); } try { parser.load_from_data (data, -1); } catch (Error e) { debug (e.message); } return parser.get_root ().get_object (); } public string get_labels_ids (Gee.ArrayList labels) { string return_value = ""; foreach (Objects.Label label in labels) { return_value += label.id + ";"; } if (return_value.length > 0) { return_value = return_value.substring (0, return_value.length - 1); } return return_value; } public bool column_exists (string table, string column) { Sqlite.Statement stmt; sql = """ PRAGMA table_info(%s); """.printf (table); db.prepare_v2 (sql, sql.length, out stmt); stmt.step (); while (stmt.step () == Sqlite.ROW) { if (stmt.column_text (1) == column) { return true; } } return false; } public void add_text_column (string table, string column, string default_value) { if (column_exists (table, column)) { return; } Sqlite.Statement stmt; sql = """ ALTER TABLE %s ADD COLUMN %s TEXT DEFAULT '%s'; """.printf (table, column, default_value); db.prepare_v2 (sql, sql.length, out stmt); if (stmt.step () != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); } } public void add_int_column (string table, string column, int default_value) { if (column_exists (table, column)) { return; } Sqlite.Statement stmt; sql = """ ALTER TABLE %s ADD COLUMN %s INTEGER DEFAULT %i; """.printf (table, column, default_value); db.prepare_v2 (sql, sql.length, out stmt); if (stmt.step () != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); } } public void add_item_label_column () { if (column_exists ("Items", "labels")) { return; } Sqlite.Statement stmt; sql = """ ALTER TABLE Items ADD COLUMN labels TEXT; UPDATE Items SET labels = ( SELECT GROUP_CONCAT(label_id, ';') FROM Items_Labels WHERE item_id = Items.id ); """; db.prepare_v2 (sql, sql.length, out stmt); if (stmt.step () != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); } } public void add_project_labels_source_id () { if (column_exists ("Projects", "source_id")) { return; } sql = """ ALTER TABLE Projects ADD COLUMN source_id TEXT; UPDATE Projects SET source_id = backend_type; """; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } sql = """ ALTER TABLE Labels ADD COLUMN source_id TEXT; UPDATE Labels SET source_id = backend_type; """; if (db.exec (sql, null, out errormsg) != Sqlite.OK) { warning (errormsg); } Util.get_default ().create_local_source (); } public void add_calendar_url_to_project () { if (column_exists ("Projects", "calendar_url")) { return; } add_text_column ("Projects", "calendar_url", ""); Gee.ArrayList projects = get_projects_collection (); foreach (var project in projects) { if (project.source.source_type != SourceType.CALDAV) { continue; } var url = Path.build_filename ( project.source.caldav_data.server_url, "calendars", project.source.caldav_data.username, project.id ); if (!url.has_suffix ("/")) { url += "/"; } debug ("Migration: Adding calendar_url for Project (%s) (%s)\n", project.name, url); Sqlite.Statement stmt; sql = """ UPDATE Projects SET calendar_url = $calendar_url WHERE id = $id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$calendar_url", url); set_parameter_str (stmt, "$id", project.id); if (stmt.step () != Sqlite.DONE) { warning ("Error: %d: %s", db.errcode (), db.errmsg ()); } } } } alainm23-planify-69962f8/core/Services/EventBus.vala000066400000000000000000000107461517337276100222160ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Services.EventBus : Object { private static EventBus ? _instance; public static EventBus get_default () { if (_instance == null) { _instance = new EventBus (); } return _instance; } // Shortcuts public signal void disconnect_typing_accel (); public signal void connect_typing_accel (); public signal void disconnect_all_accels (); public signal void connect_all_accels (); public signal void escape_pressed (); // General public signal void theme_changed (); public signal void delete_row_project (Objects.Project project); public signal void pane_selected (PaneType panel_type, string id); public signal void item_selected (string ? id); public signal void task_selected (string ? uid); public signal void avatar_downloaded (); public signal void magic_button_activated (bool activated); public signal void project_picker_changed (string id); public signal void section_picker_changed (string id); public signal void project_parent_changed (Objects.Project project, string old_parent_id, bool collapsed = false); public signal void update_inserted_project_map (Gtk.Widget row, string old_parent_id); public signal void checked_toggled (Objects.Item item, bool old_checked); public signal void favorite_toggled (Objects.Project project); public signal void item_moved (Objects.Item item, string old_project_id, string old_section_id, string old_parent_id = ""); public signal void update_inserted_item_map (Gtk.Widget row, string old_section_id, string old_parent_id); public signal void update_section_sort_func (string project_id, string section_id, bool active); public signal void day_changed (); public signal void section_sort_order_changed (string project_id); public signal void drag_n_drop_active (string project_id, bool active); public signal void expand_all (string project_id, bool active); public signal void projects_drag_begin (string source_id); public signal void projects_drag_end (string source_id); public signal void drag_items_end (string project_id); public signal void update_sources_position (); // OAuth public signal void oauth_callback (string uri); public bool _mobile_mode = Services.Settings.get_default ().settings.get_boolean ("mobile-mode"); public bool mobile_mode { set { _mobile_mode = value; mobile_mode_change (); } get { return _mobile_mode; } } public signal void mobile_mode_change (); // Notifications public signal void send_toast (Adw.Toast toast); public signal void send_error_toast (int error_code, string error_message); public signal void send_conflict_toast (Objects.Source source); public signal void send_task_completed_toast (string project_id); // Multi Select public bool multi_select_enabled = false; public signal void show_multi_select (bool enabled); public signal void select_item (Gtk.Widget itemrow); public signal void unselect_item (Gtk.Widget itemrow); public signal void unselect_all (); // Magic Button public signal void magic_button_visible (bool active); // Navigate public signal void open_item (Objects.Item item); public signal void push_item (Objects.Item item); public signal void close_item (); // Item Edit Backdrop public signal void close_item_edit (); public signal void dim_content (bool active, string focused_item_id = ""); public bool item_edit_active = false; public void unfocus_item () { item_edit_active = false; dim_content (false, ""); } } alainm23-planify-69962f8/core/Services/LogService.vala000066400000000000000000000064431517337276100225240ustar00rootroot00000000000000public class Services.LogService : Object { public enum Level { DEBUG, INFO, WARNING, ERROR; public string to_string () { switch (this) { case DEBUG: return "DEBUG"; case INFO: return "INFO"; case WARNING: return "WARNING"; case ERROR: return "ERROR"; default: return "UNKNOWN"; } } } private static LogService? _instance; public static LogService get_default () { if (_instance == null) { _instance = new LogService (); } return _instance; } private string log_path; private FileOutputStream? stream = null; private const int MAX_LOG_SIZE = 5 * 1024 * 1024; // 5MB construct { var dir = Path.build_filename (Environment.get_user_data_dir (), "io.github.alainm23.planify"); log_path = Path.build_filename (dir, "planify.log"); try { var dir_file = File.new_for_path (dir); if (!dir_file.query_exists ()) { dir_file.make_directory_with_parents (); } rotate_if_needed (); var file = File.new_for_path (log_path); stream = file.append_to (FileCreateFlags.NONE); } catch (Error e) { warning ("Could not initialize log file: %s", e.message); } } public void log (Level level, string context, string message) { var timestamp = new DateTime.now_local ().format ("%Y-%m-%d %H:%M:%S"); var line = "[%s] [%s] [%s] %s\n".printf (timestamp, level.to_string (), context, message); if (Constants.IS_DEVELOPMENT || !Util.get_default ().is_flatpak ()) { print ("%s", line); } else { GLib.debug ("%s", line.chomp ()); } // Write to file if (stream != null) { try { stream.write (line.data); stream.flush (); } catch (Error e) { warning ("Could not write to log: %s", e.message); } } } public void debug (string context, string message) { log (Level.DEBUG, context, message); } public void info (string context, string message) { log (Level.INFO, context, message); } public void warn (string context, string message) { log (Level.WARNING, context, message); } public void error (string context, string message) { log (Level.ERROR, context, message); } private void rotate_if_needed () { try { var file = File.new_for_path (log_path); if (!file.query_exists ()) { return; } var info = file.query_info (FileAttribute.STANDARD_SIZE, FileQueryInfoFlags.NONE); if (info.get_size () > MAX_LOG_SIZE) { var old_path = log_path + ".old"; var old_file = File.new_for_path (old_path); if (old_file.query_exists ()) { old_file.delete (); } file.move (old_file, FileCopyFlags.OVERWRITE); } } catch (Error e) { warning ("Could not rotate log: %s", e.message); } } public string get_log_path () { return log_path; } } alainm23-planify-69962f8/core/Services/Settings.vala000066400000000000000000000044171517337276100222610ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Services.Settings : GLib.Object { public GLib.Settings settings; public SettingsSchema settings_schema; private static Settings ? _instance; public static Settings get_default () { if (_instance == null) { _instance = new Settings (); } return _instance; } public const string ID = "io.github.alainm23.planify"; public Settings () { settings = new GLib.Settings (ID); settings_schema = GLib.SettingsSchemaSource.get_default ().lookup (ID, true); } public void reset_settings () { foreach (string key in settings_schema.list_keys ()) { Services.Settings.get_default ().settings.reset (key); } } public bool has_key (string key) { foreach (string schema_key in settings_schema.list_keys ()) { if (schema_key == key) { return true; } } return false; } public NewTaskPosition get_new_task_position () { var value = Services.Settings.get_default ().settings.get_enum ("new-tasks-position"); return value == 0 ? NewTaskPosition.START : NewTaskPosition.END; } public bool get_boolean (string key) { return settings.get_boolean (key); } public double get_double (string key) { return settings.get_double (key); } public string get_string (string key) { return settings.get_string (key); } } alainm23-planify-69962f8/core/Services/Store.vala000066400000000000000000001430221517337276100215510ustar00rootroot00000000000000/* * Copyright © 2024 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Services.Store : GLib.Object { static GLib.Once _instance; public static unowned Services.Store instance () { return _instance.once (() => { return new Services.Store (); }); } public signal void source_added (Objects.Source source); public signal void source_deleted (Objects.Source source); public signal void source_updated (Objects.Source source); public signal void project_added (Objects.Project project); public signal void project_updated (Objects.Project project); public signal void project_deleted (Objects.Project project); public signal void project_archived (Objects.Project project); public signal void project_unarchived (Objects.Project project); public signal void label_added (Objects.Label label); public signal void label_updated (Objects.Label label); public signal void label_deleted (Objects.Label label); public signal void section_deleted (Objects.Section section); public signal void section_moved (Objects.Section section, string old_project_id); public signal void section_archived (Objects.Section section); public signal void section_unarchived (Objects.Section section); public signal void item_deleted (Objects.Item item); public signal void item_added (Objects.Item item, bool insert = true); public signal void item_updated (Objects.Item item, string update_id); public signal void item_archived (Objects.Item item); public signal void item_unarchived (Objects.Item item); public signal void item_pin_change (Objects.Item item); public signal void item_moved (Objects.Item item, string old_project_id, string old_section_id, string old_parent_id); public signal void item_label_added (Objects.Label label); public signal void item_label_deleted (Objects.Label label); public signal void reminder_added (Objects.Reminder reminder); public signal void reminder_deleted (Objects.Reminder reminder); public signal void attachment_deleted (Objects.Attachment attachment); private Gee.HashMap > _items_by_project_cache = new Gee.HashMap > (); Gee.ArrayList _sources = null; public Gee.ArrayList sources { get { if (_sources == null) { _sources = Services.Database.get_default ().get_sources_collection (); } return _sources; } } Gee.ArrayList _projects = null; public Gee.ArrayList projects { get { if (_projects == null) { _projects = Services.Database.get_default ().get_projects_collection (); } return _projects; } } Gee.ArrayList _sections = null; public Gee.ArrayList sections { get { if (_sections == null) { _sections = Services.Database.get_default ().get_sections_collection (); } return _sections; } } Gee.ArrayList _items = null; public Gee.ArrayList items { get { if (_items == null) { _items = Services.Database.get_default ().get_items_collection (); } return _items; } } Gee.ArrayList _labels = null; public Gee.ArrayList labels { get { if (_labels == null) { _labels = Services.Database.get_default ().get_labels_collection (); } return _labels; } } Gee.ArrayList _reminders = null; public Gee.ArrayList reminders { get { if (_reminders == null) { _reminders = Services.Database.get_default ().get_reminders_collection (); } return _reminders; } } Gee.ArrayList _attachments = null; public Gee.ArrayList attachments { get { if (_attachments == null) { _attachments = Services.Database.get_default ().get_attachments_collection (); } return _attachments; } } #if WITH_EVOLUTION public void setup_calendar_events () { Services.CalendarEvents.get_default ().components_removed.connect ((source, components) => { foreach (var component in components) { unowned ICal.Component ical = component.get_icalcomponent (); string event_uid = ical.get_uid (); foreach (var item in items) { if (item.calendar_event_uid == event_uid) { item.calendar_event_uid = ""; Services.Database.get_default ().update_item (item); break; } } } }); } #endif public bool is_database_empty () { return projects.size <= 0; } public bool is_sources_empty () { return sources.size <= 0; } public Gee.ArrayList get_collection_by_type (Objects.BaseObject base_object) { if (base_object is Objects.Project) { return projects; } else if (base_object is Objects.Section) { return sections; } else if (base_object is Objects.Item) { return items; } else if (base_object is Objects.Label) { return labels; } return new Gee.ArrayList (); } /* * Sources */ public void insert_source (Objects.Source source) { source.child_order = sources.size + 1; if (Services.Database.get_default ().insert_source (source)) { sources.add (source); source_added (source); } } public async void delete_source (Objects.Source source) { var projects = get_projects_by_source (source.id); const int BATCH_SIZE = 5; for (int i = 0; i < projects.size; i += BATCH_SIZE) { var batch_end = int.min (i + BATCH_SIZE, projects.size); for (int j = i; j < batch_end; j++) { yield delete_project (projects[j]); } yield Util.nap (10); } if (Services.Database.get_default ().delete_source (source)) { foreach (Objects.Label label in get_labels_by_source (source.id)) { delete_label (label); } source.deleted (); source_deleted (source); _sources.remove (source); } } public void update_source (Objects.Source source) { if (Services.Database.get_default ().update_source (source)) { source.updated (); source_updated (source); } } public Objects.Source get_source (string id) { Objects.Source ? return_value = null; lock (_sources) { foreach (var source in sources) { if (source.id == id) { return_value = source; break; } } return return_value; } } public Objects.Source? get_default_source () { var visible_sources = new Gee.ArrayList (); foreach (var source in sources) { if (source.is_visible) { visible_sources.add (source); } } visible_sources.sort ((a, b) => { return a.child_order - b.child_order; }); return visible_sources.size > 0 ? visible_sources[0] : null; } public bool source_todoist_exists (string email) { bool return_value = false; lock (_sources) { foreach (Objects.Source source in sources) { if (source.source_type == SourceType.TODOIST && source.todoist_data.user_email == email) { return_value = true; break; } } return return_value; } } public bool source_caldav_exists (string server_url, string username) { bool return_value = false; lock (_sources) { foreach (Objects.Source source in sources) { if (source.source_type == SourceType.CALDAV && source.caldav_data.server_url == server_url && source.caldav_data.username == username) { return_value = true; break; } } return return_value; } } /* * Projects */ public void insert_project (Objects.Project project) { if (Services.Database.get_default ().insert_project (project)) { projects.add (project); if (project.parent == null) { project_added (project); } else { project.parent.subproject_added (project); } } } public Gee.ArrayList get_projects_by_source (string source_id) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_projects) { foreach (var project in projects) { if (project.source_id == source_id) { return_value.add (project); } } return return_value; } } public async void delete_project (Objects.Project project) { var sections = get_sections_by_project (project); var items = get_items_by_project (project); var subprojects = get_subprojects (project); project.freeze_update = true; #if WITH_EVOLUTION if (project.calendar_source_uid != "") { foreach (var item in items) { if (item.calendar_event_uid != "") { Services.CalendarEvents.get_default ().delete_event (project.calendar_source_uid, item.calendar_event_uid); } } } #endif Services.Database.get_default ().delete_all_items_by_project (project); foreach (Objects.Item item in items) { _items_by_project_cache.unset (item.project_id); item.deleted (); _items.remove (item); item_deleted (item); } foreach (Objects.Section section in sections) { Services.Database.get_default ().delete_section (section); section.deleted (); section_deleted (section); _sections.remove (section); } foreach (Objects.Project subproject in subprojects) { yield delete_project (subproject); } project.freeze_update = false; project.count_update (); update_project (project); if (Services.Database.get_default ().delete_project (project)) { project.deleted (); project_deleted (project); _projects.remove (project); } } public void archive_project (Objects.Project project) { if (Services.Database.get_default ().archive_project (project)) { foreach (Objects.Item item in project.items) { archive_item (item, project.is_archived); } foreach (Objects.Section section in project.sections) { section.is_archived = project.is_archived; archive_section (section); } if (project.is_archived) { project.archived (); project_archived (project); } else { project.unarchived (); project_unarchived (project); } } } public void update_project (Objects.Project project) { if (Services.Database.get_default ().update_project (project)) { project.updated (); project_updated (project); } } public void update_project_id (string current_id, string new_id) { if (Services.Database.get_default ().update_project_id (current_id, new_id)) { Objects.Project ? project = get_project (current_id); if (project != null) { project.id = new_id; } if (Services.Database.get_default ().update_project_section_id (current_id, new_id)) { foreach (var section in sections) { if (section.project_id == current_id) { section.project_id = new_id; } } if (Services.Database.get_default ().update_project_item_id (current_id, new_id)) { foreach (var item in items) { if (item.project_id == current_id) { item.project_id = new_id; } } } } } } public Objects.Project get_inbox_project () { Objects.Project ? return_value = null; lock (_projects) { foreach (var project in projects) { if (project.is_inbox_project) { return_value = project; break; } } return return_value; } } public Objects.Project get_project (string id) { Objects.Project ? return_value = null; lock (_projects) { foreach (var project in projects) { if (project.id == id) { return_value = project; break; } } return return_value; } } public Objects.Project get_project_via_url (string calendar_url) { Objects.Project ? return_value = null; lock (_projects) { foreach (var project in projects) { if (project.calendar_url == calendar_url) { return_value = project; break; } } return return_value; } } public Gee.ArrayList get_subprojects (Objects.Project _project) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_projects) { foreach (var project in projects) { if (project.parent_id == _project.id) { return_value.add (project); } } } return return_value; } public int next_project_child_order (Objects.Source source) { int child_order = 0; lock (_projects) { foreach (var project in projects) { if (project.source_id == source.id && !project.is_deleted) { child_order++; } } return child_order; } } /* * Sections */ public void insert_section (Objects.Section section) { if (Services.Database.get_default ().insert_section (section)) { sections.add (section); section.project.section_added (section); } } public void update_section (Objects.Section section) { if (Services.Database.get_default ().update_section (section)) { section.updated (); } } public void delete_section (Objects.Section section) { if (Services.Database.get_default ().delete_section (section)) { foreach (Objects.Item item in section.items) { delete_item (item); } var project = get_project (section.project_id); if (project != null) { project.remove_section (section); } section.deleted (); section_deleted (section); _sections.remove (section); } } public void move_section (Objects.Section section, string old_project_id) { if (Services.Database.get_default ().move_section (section, old_project_id)) { _items_by_project_cache.unset (old_project_id); _items_by_project_cache.unset (section.project_id); if (Services.Database.get_default ().move_section_items (section)) { foreach (Objects.Item item in section.items) { item.project_id = section.project_id; } section_moved (section, old_project_id); } } } public void update_section_id (string current_id, string new_id) { if (Services.Database.get_default ().update_section_id (current_id, new_id)) { foreach (var section in sections) { if (section.id == current_id) { section.id = new_id; break; } } if (Services.Database.get_default ().update_section_item_id (current_id, new_id)) { foreach (var item in items) { if (item.section_id == current_id) { item.section_id = new_id; break; } } } } } public void archive_section (Objects.Section section) { if (Services.Database.get_default ().archive_section (section)) { foreach (Objects.Item item in section.items) { archive_item (item, section.is_archived); } if (section.is_archived) { section.archived (); section_archived (section); } else { section.unarchived (); section_unarchived (section); } } } public Gee.ArrayList get_sections_by_project (Objects.Project project) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_sections) { foreach (var section in sections) { if (section.project_id == project.id) { return_value.add (section); } } } return return_value; } public Gee.ArrayList get_sections_archived_by_project (Objects.Project project) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_sections) { foreach (var section in sections) { if (section.project_id == project.id && section.was_archived ()) { return_value.add (section); } } } return return_value; } public Objects.Section get_section (string id) { Objects.Section ? return_value = null; lock (_sections) { foreach (var section in sections) { if (section.id == id) { return_value = section; break; } } return return_value; } } /* * Items */ public void insert_item (Objects.Item item, bool insert = true, bool persist = true) { if (!persist || Services.Database.get_default ().insert_item (item)) { clear_project_cache (item.project_id); items.add (item); item_added (item, insert); if (insert) { if (item.parent_id != "") { item.parent.item_added (item); } else { if (item.section_id == "") { item.project.item_added (item); } else { item.section.item_added (item); } } } #if WITH_EVOLUTION if (persist && item.project != null && item.project.calendar_source_uid != "" && item.has_due) { create_calendar_event.begin (item); } #endif } } public bool insert_items_transaction (Gee.ArrayList items, bool insert = true) { if (Services.Database.get_default ().insert_items_transaction (items)) { foreach (var item in items) { insert_item (item, insert, false); #if WITH_EVOLUTION if (item.project != null && item.project.calendar_source_uid != "" && item.has_due) { create_calendar_event.begin (item); } #endif } return true; } return false; } #if WITH_EVOLUTION private async void create_calendar_event (Objects.Item item) { string? event_uid = yield Services.CalendarEvents.get_default ().create_event ( item.project.calendar_source_uid, item ); if (event_uid != null) { item.calendar_event_uid = event_uid; Services.Database.get_default ().update_item (item); } } #endif public void update_item (Objects.Item item, string update_id = "") { if (Services.Database.get_default ().update_item (item, update_id)) { #if WITH_EVOLUTION if (item.project != null && item.project.calendar_source_uid != "") { if (!item.has_due && item.calendar_event_uid != "") { Services.CalendarEvents.get_default ().delete_event.begin (item.project.calendar_source_uid, item.calendar_event_uid); item.calendar_event_uid = ""; Services.Database.get_default ().update_item (item); } else if (item.has_due && item.calendar_event_uid != "") { Services.CalendarEvents.get_default ().update_event.begin (item.project.calendar_source_uid, item.calendar_event_uid, item); } else if (item.has_due && item.calendar_event_uid == "") { create_calendar_event.begin (item); } } #endif item.updated (update_id); item_updated (item, update_id); } } public void update_item_pin (Objects.Item item) { if (Services.Database.get_default ().update_item (item)) { item_pin_change (item); item.pin_updated (); item.updated (); item_updated (item, ""); } } public void delete_item (Objects.Item item) { if (Services.Database.get_default ().delete_item (item)) { _items_by_project_cache.unset (item.project_id); #if WITH_EVOLUTION if (item.calendar_event_uid != "" && item.project != null && item.project.calendar_source_uid != "") { Services.CalendarEvents.get_default ().delete_event.begin (item.project.calendar_source_uid, item.calendar_event_uid); } #endif foreach (Objects.Item subitem in get_subitems (item)) { delete_item (subitem); } item.deleted (); _items.remove (item); item_deleted (item); if (item.project != null) { item.project.item_deleted (item); } if (item.has_section && item.section != null) { item.section.item_deleted (item); } } } public void move_item (Objects.Item item, string old_project_id = "", string old_section_id = "", string old_parent_id = "") { if (Services.Database.get_default ().move_item (item)) { _items_by_project_cache.unset (old_project_id); _items_by_project_cache.unset (item.project_id); #if WITH_EVOLUTION if (item.has_due) { var old_project = get_project (old_project_id); var new_project = item.project; string old_calendar = old_project != null ? old_project.calendar_source_uid : ""; string new_calendar = new_project != null ? new_project.calendar_source_uid : ""; if (old_calendar != "" && new_calendar == "" && item.calendar_event_uid != "") { Services.CalendarEvents.get_default ().delete_event.begin (old_calendar, item.calendar_event_uid); item.calendar_event_uid = ""; Services.Database.get_default ().update_item (item); } else if (old_calendar == "" && new_calendar != "") { create_calendar_event.begin (item); } else if (old_calendar != new_calendar && new_calendar != "" && item.calendar_event_uid != "") { Services.CalendarEvents.get_default ().delete_event.begin (old_calendar, item.calendar_event_uid); create_calendar_event.begin (item); } } #endif foreach (Objects.Item subitem in get_subitems (item)) { subitem.project_id = item.project_id; move_item (subitem); } var current_section = get_section (item.section_id); if (current_section != null) { current_section.update_count (); } var old_section = get_section (old_section_id); if (old_section != null) { old_section.update_count (); } item.updated (); item_updated (item, ""); item_moved (item, old_project_id, old_section_id, old_parent_id); } } public void complete_item (Objects.Item item, bool old_checked, bool complete_subitems = true) { if (Services.Database.get_default ().complete_item (item, old_checked)) { _items_by_project_cache.unset (item.project_id); if (complete_subitems) { foreach (Objects.Item subitem in get_subitems (item)) { subitem.checked = item.checked; subitem.completed_at = item.completed_at; complete_item (subitem, old_checked); } } item.updated (); item_updated (item, ""); Services.EventBus.get_default ().checked_toggled (item, old_checked); if (item.has_parent && !item.checked && item.parent != null) { item.parent.checked = item.checked; item.parent.completed_at = item.completed_at; complete_item (item.parent, old_checked, false); } } } public void archive_item (Objects.Item item, bool is_archived) { if (is_archived) { item.archived (); item_archived (item); } else { item.unarchived (); item_unarchived (item); } foreach (Objects.Item subitem in get_subitems (item)) { archive_item (subitem, is_archived); } } public void update_item_id (string current_id, string new_id) { if (Services.Database.get_default ().update_item_id (current_id, new_id)) { foreach (var item in items) { if (item.id == current_id) { item.id = new_id; break; } } if (Services.Database.get_default ().update_item_child_id (current_id, new_id)) { foreach (var item in items) { if (item.parent_id == current_id) { item.parent_id = new_id; } } } } } public int next_item_child_order (string project_id, string section_id) { int child_order = 0; lock (_items) { foreach (var item in items) { if (item.project_id == project_id && item.section_id == section_id) { child_order++; } } return child_order; } } public Objects.Item get_item (string id) { Objects.Item ? return_value = null; lock (_items) { foreach (var item in items) { if (item.id == id) { return_value = item; break; } } return return_value; } } public Objects.Item get_item_by_ical_url (string ical_url) { Objects.Item ? return_value = null; lock (_items) { foreach (var item in items) { if (item.source != null && item.source.source_type == SourceType.CALDAV) { if (item.ical_url == ical_url) { return_value = item; break; } } } return return_value; } } public Gee.ArrayList get_items_by_baseobject (Objects.BaseObject object) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_items) { foreach (var item in items) { if (object is Objects.Project) { if (item.project_id == object.id && item.section_id == "" && !item.has_parent) { return_value.add (item); } } if (object is Objects.Section) { if (item.section_id == object.id && !item.has_parent) { return_value.add (item); } } if (object is Objects.Item) { if (item.parent_id == object.id) { return_value.add (item); } } } } return return_value; } public Gee.ArrayList get_items_checked () { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_items) { foreach (Objects.Item item in items) { if (item.checked) { return_value.add (item); } } return return_value; } } public Gee.ArrayList get_items_checked_by_project (Objects.Project project) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_items) { foreach (Objects.Item item in items) { if (item.project_id == project.id && item.checked) { return_value.add (item); } } return return_value; } } public Gee.ArrayList get_subitems (Objects.Item i) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_items) { foreach (var item in items) { if (item.parent_id == i.id) { return_value.add (item); } } } return return_value; } public Gee.ArrayList get_subitems_uncomplete (Objects.Item i) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_items) { foreach (var item in items) { if (item.parent_id == i.id && !item.checked) { return_value.add (item); } } } return return_value; } public Gee.ArrayList get_items_by_project (Objects.Project project) { if (!_items_by_project_cache.has_key (project.id)) { var filtered_items = new Gee.ArrayList (); foreach (var item in items) { if (item.project_id == project.id) { filtered_items.add (item); } } _items_by_project_cache[project.id] = filtered_items; } return _items_by_project_cache[project.id]; } public Gee.ArrayList get_items_by_project_pinned (Objects.Project project) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_items) { foreach (Objects.Item item in items) { if (item.exists_project (project) && item.pinned) { return_value.add (item); } } return return_value; } } public Gee.ArrayList get_items_by_date (GLib.DateTime date, bool checked = true) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_items) { foreach (Objects.Item item in items) { if (valid_item_by_date (item, date, checked)) { return_value.add (item); } } return return_value; } } public Gee.ArrayList get_items_no_date (bool checked = true) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_items) { foreach (Objects.Item item in items) { if (!item.has_due && item.checked == checked) { return_value.add (item); } } return return_value; } } public Gee.ArrayList get_items_repeating (bool checked = true) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_items) { foreach (Objects.Item item in items) { if (item != null && item.has_due && item.due.is_recurring && item.checked == checked && !item.was_archived ()) { return_value.add (item); } } return return_value; } } public Gee.ArrayList get_items_by_date_range (GLib.DateTime start_date, GLib.DateTime end_date, bool checked = true) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_items) { foreach (Objects.Item item in items) { if (valid_item_by_date_range (item, start_date, end_date, checked)) { return_value.add (item); } } return return_value; } } public Gee.ArrayList get_items_by_month (GLib.DateTime date, bool checked = true) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_items) { foreach (Objects.Item item in items) { if (valid_item_by_month (item, date, checked)) { return_value.add (item); } } return return_value; } } public Gee.ArrayList get_items_pinned (bool checked = true) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_items) { foreach (Objects.Item item in items) { if (item != null && item.pinned && item.checked == checked && !item.was_archived ()) { return_value.add (item); } } return return_value; } } public Gee.ArrayList get_items_by_priority (int priority, bool checked = true) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_items) { foreach (Objects.Item item in items) { if (item != null && item.priority == priority && item.checked == checked && !item.was_archived ()) { return_value.add (item); } } return return_value; } } public Gee.ArrayList get_items_completed () { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_items) { foreach (Objects.Item item in items) { if (item != null && item.checked && !item.was_archived ()) { return_value.add (item); } } return return_value; } } public Gee.ArrayList get_items_by_label (Objects.Label label, bool checked = true) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_items) { foreach (Objects.Item item in items) { if (item != null && item.has_label (label.id) && item.checked == checked && !item.was_archived ()) { return_value.add (item); } } return return_value; } } public Gee.ArrayList get_items_unlabeled (bool checked = true) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_items) { foreach (Objects.Item item in items) { if (item != null && item.labels.size <= 0 && item.checked == checked && !item.was_archived ()) { return_value.add (item); } } return return_value; } } public Gee.ArrayList get_items_by_scheduled (bool checked = true) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_items) { foreach (Objects.Item item in items) { if (item != null && item.has_due && !item.was_archived () && item.checked == checked && item.due.datetime.compare (new GLib.DateTime.now_local ()) > 0) { return_value.add (item); } } return return_value; } } public Gee.ArrayList get_items_no_parent (bool checked = true) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_items) { foreach (Objects.Item item in items) { if (item != null && !item.was_archived () && item.checked == checked && !item.has_parent) { return_value.add (item); } } return return_value; } } public bool valid_item_by_date (Objects.Item item, GLib.DateTime date, bool checked = true) { if (item == null || !item.has_due || item.was_archived ()) { return false; } return (item.checked == checked && Utils.Datetime.is_same_day (item.due.datetime, date)); } public bool valid_item_by_date_range (Objects.Item item, GLib.DateTime start_date, GLib.DateTime end_date, bool checked = true) { if (item == null || !item.has_due || item.was_archived ()) { return false; } var date = Utils.Datetime.get_date_only (item.due.datetime); var start = Utils.Datetime.get_date_only (start_date); var end = Utils.Datetime.get_date_only (end_date); return (item.checked == checked && date.compare (start) >= 0 && date.compare (end) <= 0); } public bool valid_item_by_month (Objects.Item item, GLib.DateTime date, bool checked = true) { if (item == null || !item.has_due || item.was_archived ()) { return false; } return (item.checked == checked && item.due.datetime.get_month () == date.get_month () && item.due.datetime.get_year () == date.get_year ()); } public Gee.ArrayList get_items_by_overdue_view (bool checked = true) { GLib.DateTime date_now = new GLib.DateTime.now_local (); Gee.ArrayList return_value = new Gee.ArrayList (); lock (_items) { foreach (Objects.Item item in items) { if (item != null && item.has_due && !item.was_archived () && item.checked == checked && item.due.datetime.compare (date_now) < 0 && !Utils.Datetime.is_same_day (item.due.datetime, date_now)) { return_value.add (item); } } return return_value; } } public bool valid_item_by_overdue (Objects.Item item, GLib.DateTime date, bool checked = true) { if (item == null || !item.has_due || item.was_archived ()) { return false; } var now = new GLib.DateTime.now_local (); return (item.checked == checked && item.due.datetime.compare (now) < 0 && !Utils.Datetime.is_same_day (item.due.datetime, now)); } /* * Labels */ public void insert_label (Objects.Label label) { if (Services.Database.get_default ().insert_label (label)) { labels.add (label); label_added (label); } } public void delete_label (Objects.Label label) { if (Services.Database.get_default ().delete_label (label)) { label.deleted (); label_deleted (label); _labels.remove (label); } } public void update_label (Objects.Label label) { if (Services.Database.get_default ().update_label (label)) { label.updated (); label_updated (label); } } public Gee.ArrayList get_labels_by_item_labels (string labels) { Gee.ArrayList return_value = new Gee.ArrayList (); foreach (string id in labels.split (";")) { Objects.Label ? label = get_label (id); if (label != null) { return_value.add (label); } } return return_value; } public Gee.ArrayList get_items_has_labels () { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_items) { foreach (Objects.Item item in items) { if (item != null && item.has_labels () && !item.completed && !item.was_archived ()) { return_value.add (item); } } return return_value; } } public bool label_exists (string id) { bool return_value = false; lock (_labels) { foreach (var label in _labels) { if (label.id == id) { return_value = true; break; } } return return_value; } } public Objects.Label get_label (string id) { Objects.Label ? return_value = null; lock (_labels) { foreach (var label in labels) { if (label.id == id) { return_value = label; break; } } return return_value; } } public Objects.Label ? get_label_by_name (string name, bool lowercase = false, string source_id = "") { lock (_labels) { string compare_name = lowercase ? name.down () : name; foreach (var label in labels) { string label_name = lowercase ? label.name.down () : label.name; if (label.source_id == source_id && label_name == compare_name) { return label; } } return null; } } public Gee.ArrayList get_labels_by_source (string source_id) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_labels) { foreach (var label in labels) { if (label.source_id == source_id) { return_value.add (label); } } return return_value; } } public Gee.ArrayList get_all_labels_by_search (string search_text) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_labels) { foreach (var label in labels) { if (search_text.down () in label.name.down ()) { return_value.add (label); } } return return_value; } } /* * Quick Find */ public Gee.ArrayList get_all_projects_by_search (string search_text) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_projects) { foreach (var project in projects) { if (search_text.down () in project.name.down () && !project.is_archived) { return_value.add (project); } } return return_value; } } public Gee.ArrayList get_all_sections_by_search (string search_text) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_sections) { foreach (var section in sections) { if (search_text.down () in section.name.down () && !section.was_archived ()) { return_value.add (section); } } return return_value; } } public Gee.ArrayList get_all_projects_archived () { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_projects) { foreach (var project in projects) { if (project.is_archived) { return_value.add (project); } } return return_value; } } public Gee.ArrayList get_all_items_by_search (string search_text) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_items) { foreach (var item in items) { if (!item.checked && !item.was_archived () && (search_text.down () in item.content.down () || search_text.down () in item.description.down ())) { return_value.add (item); } } return return_value; } } // Reminders public void insert_reminder (Objects.Reminder reminder) { if (Services.Database.get_default ().insert_reminder (reminder)) { reminders.add (reminder); reminder_added (reminder); reminder.item.reminder_added (reminder); } } public void delete_reminder (Objects.Reminder reminder) { if (Services.Database.get_default ().delete_reminder (reminder)) { reminder.deleted (); reminder_deleted (reminder); _reminders.remove (reminder); reminder.item.reminder_deleted (reminder); } } public Gee.ArrayList get_reminders_by_item (Objects.Item item) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_reminders) { foreach (var reminder in reminders) { if (reminder.item_id == item.id) { return_value.add (reminder); } } return return_value; } } public Objects.Reminder get_reminder (string id) { Objects.Reminder ? return_value = null; lock (_reminders) { foreach (var reminder in reminders) { if (reminder.id == id) { return_value = reminder; break; } } return return_value; } } // Attachments public void insert_attachment (Objects.Attachment attachment) { if (Services.Database.get_default ().insert_attachment (attachment)) { attachments.add (attachment); attachment.item.attachment_added (attachment); } } public void delete_attachment (Objects.Attachment attachment) { if (Services.Database.get_default ().delete_attachment (attachment)) { attachment.deleted (); attachment_deleted (attachment); _attachments.remove (attachment); attachment.item.attachment_deleted (attachment); } } public Gee.ArrayList get_attachments_by_item (Objects.Item item) { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_attachments) { foreach (var attachment in attachments) { if (attachment.item_id == item.id) { return_value.add (attachment); } } return return_value; } } public Gee.ArrayList get_used_calendar_sources () { Gee.ArrayList return_value = new Gee.ArrayList (); lock (_projects) { foreach (var project in projects) { if (project.calendar_source_uid != "" && !return_value.contains (project.calendar_source_uid)) { return_value.add (project.calendar_source_uid); } } return return_value; } } public void clear_project_cache (string project_id) { _items_by_project_cache.unset (project_id); } } alainm23-planify-69962f8/core/Services/Todoist.vala000066400000000000000000002010341517337276100221000ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Services.Todoist : GLib.Object { private Soup.Session session; private Json.Parser parser; private const string TODOIST_SYNC_URL = "https://api.todoist.com/api/v1/sync"; private const string RESOURCE_TYPES = "[\"user\", \"projects\", \"sections\", \"items\", \"labels\", \"reminders\"]"; private const string PROJECTS_COLLECTION = "projects"; private const string SECTIONS_COLLECTION = "sections"; private const string ITEMS_COLLECTION = "items"; private const string LABELS_COLLECTION = "labels"; private const string REMINDERS_COLLECTION = "reminders"; private const string MIGRATE_MESSAGE = _("Todoist has updated their API. Please reconnect your account in Preferences to continue syncing."); private static Todoist ? _instance; public static Todoist get_default () { if (_instance == null) { _instance = new Todoist (); } return _instance; } public Todoist () { session = new Soup.Session (); parser = new Json.Parser (); } public async HttpResponse login (string _url, Objects.Source? migrate_source = null) { string code = _url.split ("=")[1]; code = code.split ("&")[0]; string url = "https://todoist.com/oauth/access_token?client_id=%s&client_secret=%s&code=%s".printf ( Constants.TODOIST_CLIENT_ID, Constants.TODOIST_CLIENT_SECRET, code); var message = new Soup.Message ("POST", url); HttpResponse response = new HttpResponse (); try { GLib.Bytes stream = yield session.send_and_read_async (message, GLib.Priority.HIGH, null); parser.load_from_data ((string) stream.get_data ()); var root = parser.get_root ().get_object (); var token = root.get_string_member ("access_token"); yield add_todoist_account (token, response, migrate_source); } catch (Error e) { response.error_code = e.code; response.error = e.message; error (e.message); } return response; } public async HttpResponse login_token (string token, Objects.Source? migrate_source = null) { Services.LogService.get_default ().info ("Todoist", "Starting login with API token"); var response = new HttpResponse (); try { yield add_todoist_account (token, response, migrate_source); } catch (Error e) { Services.LogService.get_default ().error ("Todoist", "Login with token failed: %s".printf (e.message)); response.error_code = e.code; response.error = e.message; } return response; } public async void add_todoist_account (string token, HttpResponse response, Objects.Source? migrate_source = null) { Services.LogService.get_default ().info ("Todoist", "Adding Todoist account"); var message = new Soup.Message ("POST", TODOIST_SYNC_URL); message.request_headers.append ("Authorization", "Bearer %s".printf (token)); string form_data = "sync_token=*&resource_types=%s".printf (RESOURCE_TYPES); message.set_request_body_from_bytes ("application/x-www-form-urlencoded", new GLib.Bytes (form_data.data)); try { GLib.Bytes stream = yield session.send_and_read_async (message, GLib.Priority.HIGH, null); if (message.status_code != 200) { Services.LogService.get_default ().error ("Todoist", "Authentication failed: HTTP %u".printf (message.status_code)); response.error_code = (int) message.status_code; response.error = _("Invalid API token"); response.status = false; return; } Services.LogService.get_default ().info ("Todoist", "Token validated successfully"); parser.load_from_data ((string) stream.get_data ()); var source = new Objects.Source (); source.id = Util.get_default ().generate_id (); source.source_type = SourceType.TODOIST; Objects.SourceTodoistData todoist_data = new Objects.SourceTodoistData (); todoist_data.sync_token = parser.get_root ().get_object ().get_string_member ("sync_token"); todoist_data.access_token = token; todoist_data.api_version = "v1"; source.sync_server = true; // Create user var user_object = parser.get_root ().get_object ().get_object_member ("user"); todoist_data.user_id = user_object.get_string_member ("id"); if (user_object.get_null_member ("image_id") == false) { todoist_data.user_image_id = user_object.get_string_member ("image_id"); todoist_data.user_avatar = user_object.get_string_member ("avatar_s640"); } // Set Inbox todoist_data.user_name = user_object.get_string_member ("full_name"); todoist_data.user_email = user_object.get_string_member ("email"); todoist_data.user_is_premium = user_object.get_boolean_member ("is_premium"); source.display_name = user_object.get_string_member ("email"); source.data = todoist_data; if (Services.Store.instance ().source_todoist_exists (todoist_data.user_email)) { if (migrate_source == null || migrate_source.todoist_data.user_email != todoist_data.user_email) { response.error_code = 409; response.error = "Source already exists"; response.status = false; return; } } Services.Store.instance ().insert_source (source); // Create Labels unowned Json.Array labels = parser.get_root ().get_object ().get_array_member (LABELS_COLLECTION); foreach (unowned Json.Node _node in labels.get_elements ()) { Objects.Label _label = new Objects.Label.from_json (_node); _label.source_id = source.id; Services.Store.instance ().insert_label (_label); } // Create Projects unowned Json.Array projects = parser.get_root ().get_object ().get_array_member (PROJECTS_COLLECTION); foreach (unowned Json.Node _node in projects.get_elements ()) { var _project = new Objects.Project.from_json (_node); _project.source_id = source.id; if (!_node.get_object ().get_null_member ("parent_id")) { Objects.Project ? project = Services.Store.instance ().get_project (_node.get_object ().get_string_member ("parent_id")); if (project != null) { project.add_subproject_if_not_exists (_project); } } else { Services.Store.instance ().insert_project (_project); } } // Create Sections unowned Json.Array sections = parser.get_root ().get_object ().get_array_member (SECTIONS_COLLECTION); foreach (unowned Json.Node _node in sections.get_elements ()) { add_section_if_not_exists (_node); } // Create Items unowned Json.Array items = parser.get_root ().get_object ().get_array_member (ITEMS_COLLECTION); foreach (unowned Json.Node _node in items.get_elements ()) { add_item_if_not_exists (_node); } // Create Reminders unowned Json.Array reminders = parser.get_root ().get_object ().get_array_member (REMINDERS_COLLECTION); foreach (unowned Json.Node _node in reminders.get_elements ()) { Objects.Reminder reminder = new Objects.Reminder.from_json (_node); Objects.Item ? item = Services.Store.instance ().get_item (reminder.item_id); if (item != null) { item.add_reminder_if_not_exists (reminder); } } // Download Profile Image if (user_object.get_null_member ("image_id") == false) { Util.get_default ().download_profile_image ( source.todoist_data.user_image_id, user_object.get_string_member ("avatar_s640") ); } source.last_sync = new GLib.DateTime.now_local ().to_string (); source.save (); if (migrate_source != null) { check_and_update_inbox_project (migrate_source); migrate_source.delete_source.begin (); } response.status = true; Services.LogService.get_default ().info ("Todoist", "Account added successfully"); } catch (Error e) { Services.LogService.get_default ().error ("Todoist", "Failed to add account: %s".printf (e.message)); response.error_code = e.code; response.error = e.message; debug (e.message); } } private void check_and_update_inbox_project (Objects.Source migrate_source) { string current_inbox_id = Services.Settings.get_default ().settings.get_string ("local-inbox-project-id"); Objects.Project? current_inbox = Services.Store.instance ().get_project (current_inbox_id); if (current_inbox != null && current_inbox.source_id == migrate_source.id) { Objects.Project? local_inbox = get_local_inbox_project (); if (local_inbox != null) { Services.Settings.get_default ().settings.set_string ("local-inbox-project-id", local_inbox.id); } } } private Objects.Project? get_local_inbox_project () { foreach (Objects.Project project in Services.Store.instance ().projects) { if (project.source_id == SourceType.LOCAL.to_string () && project.inbox_project) { return project; } } return null; } /* * Sync */ public async void sync (Objects.Source source) { if (source.todoist_data.access_token == null) { return; } // Don't sync if account needs migration if (source.needs_migration ()) { source.sync_failed (); return; } source.sync_started (); var message = new Soup.Message ("POST", TODOIST_SYNC_URL); message.request_headers.append ("Authorization", "Bearer %s".printf (source.todoist_data.access_token)); string form_data = "sync_token=%s&resource_types=%s".printf ( source.todoist_data.sync_token, RESOURCE_TYPES ); message.set_request_body_from_bytes ("application/x-www-form-urlencoded", new GLib.Bytes (form_data.data)); try { GLib.Bytes stream = yield session.send_and_read_async (message, GLib.Priority.LOW, null); parser.load_from_data ((string) stream.get_data ()); if (!parser.get_root ().get_object ().has_member ("error")) { // Update sync token source.todoist_data.sync_token = parser.get_root ().get_object ().get_string_member ("sync_token"); // Update user if (parser.get_root ().get_object ().has_member ("user")) { var user_object = parser.get_root ().get_object ().get_object_member ("user"); source.todoist_data.user_id = user_object.get_string_member ("id"); source.todoist_data.user_is_premium = user_object.get_boolean_member ("is_premium"); source.todoist_data.user_email = user_object.get_string_member ("email"); source.todoist_data.user_name = user_object.get_string_member ("full_name"); } // Labels unowned Json.Array _labels = parser.get_root ().get_object ().get_array_member (LABELS_COLLECTION); foreach (unowned Json.Node _node in _labels.get_elements ()) { string _id = _node.get_object ().get_string_member ("id"); Objects.Label ? label = Services.Store.instance ().get_label (_id); if (label != null) { if (_node.get_object ().get_boolean_member ("is_deleted")) { Services.Store.instance ().delete_label (label); } else { label.update_from_json (_node); Services.Store.instance ().update_label (label); } } else { Objects.Label _label = new Objects.Label.from_json (_node); _label.source_id = source.id; Services.Store.instance ().insert_label (_label); } } // Projects unowned Json.Array projects = parser.get_root ().get_object ().get_array_member (PROJECTS_COLLECTION); foreach (unowned Json.Node _node in projects.get_elements ()) { Objects.Project ? project = Services.Store.instance ().get_project (_node.get_object ().get_string_member ("id")); if (project != null) { if (_node.get_object ().get_boolean_member ("is_deleted")) { Services.Store.instance ().delete_project (project); } else { string old_parent_id = project.parent_id; bool old_is_favorite = project.is_favorite; project.update_from_json (_node); Services.Store.instance ().update_project (project); if (project.parent_id != old_parent_id) { Services.EventBus.get_default ().project_parent_changed (project, old_parent_id); } if (project.is_favorite != old_is_favorite) { Services.EventBus.get_default ().favorite_toggled (project); } } } else { var _project = new Objects.Project.from_json (_node); _project.source_id = source.id; Services.Store.instance ().insert_project (_project); } } foreach (var project in Services.Store.instance ().get_projects_by_source (source.id)) { project.freeze_update = true; } // Sections unowned Json.Array sections = parser.get_root ().get_object ().get_array_member (SECTIONS_COLLECTION); foreach (unowned Json.Node _node in sections.get_elements ()) { Objects.Section ? section = Services.Store.instance ().get_section (_node.get_object ().get_string_member ("id")); if (section != null) { if (_node.get_object ().get_boolean_member ("is_deleted")) { Services.Store.instance ().delete_section (section); } else { section.update_from_json (_node); Services.Store.instance ().update_section (section); } } else { add_section_if_not_exists (_node); } } // Items unowned Json.Array items = parser.get_root ().get_object ().get_array_member (ITEMS_COLLECTION); foreach (unowned Json.Node _node in items.get_elements ()) { Objects.Item ? item = Services.Store.instance ().get_item (_node.get_object ().get_string_member ("id")); if (item != null) { if (_node.get_object ().get_boolean_member ("is_deleted")) { Services.Store.instance ().delete_item (item); } else { string old_project_id = item.project_id; string old_section_id = item.section_id; string old_parent_id = item.parent_id; bool old_checked = item.checked; item.update_from_json (_node); Services.Store.instance ().update_item (item); if (old_project_id != item.project_id || old_section_id != item.section_id || old_parent_id != item.parent_id) { Services.EventBus.get_default ().item_moved (item, old_project_id, old_section_id, old_parent_id); } if (old_checked != item.checked) { Services.Store.instance ().complete_item (item, old_checked); } } } else { add_item_if_not_exists (_node); } } // Reminders unowned Json.Array reminders = parser.get_root ().get_object ().get_array_member (REMINDERS_COLLECTION); foreach (unowned Json.Node _node in reminders.get_elements ()) { Objects.Reminder ? reminder = Services.Store.instance ().get_reminder (_node.get_object ().get_string_member ("id")); if (reminder != null) { if (_node.get_object ().get_boolean_member ("is_deleted")) { Services.Store.instance ().delete_reminder (reminder); } } else { reminder = new Objects.Reminder.from_json (_node); Objects.Item ? item = Services.Store.instance ().get_item (reminder.item_id); if (item != null) { item.add_reminder_if_not_exists (reminder); } } } yield queue (source); } } catch (Error e) { debug ("Failed to sync: " + e.message); source.sync_failed (); } source.last_sync = new GLib.DateTime.now_local ().to_string (); foreach (var project in Services.Store.instance ().get_projects_by_source (source.id)) { project.freeze_update = false; project.count_update (); Services.Store.instance ().update_project (project); } source.sync_finished (); } /* * Queue */ public async void queue (Objects.Source source) { Gee.ArrayList queue_collection = Services.Database.get_default ().get_all_queue (); if (queue_collection.size <= 0) { return; } string json = get_queue_json (queue_collection); var message = new Soup.Message ("POST", TODOIST_SYNC_URL); message.request_headers.append ( "Authorization", "Bearer %s".printf (source.todoist_data.access_token) ); message.set_request_body_from_bytes ("application/json", new Bytes (json.data)); try { GLib.Bytes stream = yield session.send_and_read_async (message, GLib.Priority.LOW, null); parser.load_from_data ((string) stream.get_data ()); var node = parser.get_root ().get_object (); string sync_token = node.get_string_member ("sync_token"); source.todoist_data.sync_token = sync_token; foreach (var q in queue_collection) { var uuid_member = node.get_object_member ("sync_status").get_member (q.uuid); if (uuid_member.get_node_type () == Json.NodeType.VALUE) { if (q.query == "project_add") { var id = node.get_object_member ("temp_id_mapping").get_string_member (q.temp_id); Services.Store.instance ().update_project_id (q.object_id, id); Services.Database.get_default ().remove_CurTempIds (q.object_id); } if (q.query == "section_add") { var id = node.get_object_member ("temp_id_mapping").get_string_member (q.temp_id); Services.Store.instance ().update_section_id (q.object_id, id); Services.Database.get_default ().remove_CurTempIds (q.object_id); } if (q.query == "item_add") { var id = node.get_object_member ("temp_id_mapping").get_string_member (q.temp_id); Services.Store.instance ().update_item_id (q.object_id, id); Services.Database.get_default ().remove_CurTempIds (q.object_id); } Services.Database.get_default ().remove_queue (q.uuid); } } } catch (Error e) { debug (e.message); } } public string get_queue_json (Gee.ArrayList queue) { var builder = new Json.Builder (); builder.begin_object (); builder.set_member_name ("commands"); builder.begin_array (); foreach (var q in queue) { builder.begin_object (); if (q.query == "project_add") { builder.set_member_name ("type"); builder.add_string_value ("project_add"); builder.set_member_name ("temp_id"); builder.add_string_value (q.temp_id); builder.set_member_name ("uuid"); builder.add_string_value (q.uuid); builder.set_member_name ("args"); builder.begin_object (); builder.set_member_name ("name"); builder.add_string_value (get_string_member_by_object (q.args, "name")); builder.set_member_name ("color"); builder.add_string_value (get_string_member_by_object (q.args, "color")); builder.end_object (); builder.end_object (); } else if (q.query == "project_update") { builder.set_member_name ("type"); builder.add_string_value ("project_update"); builder.set_member_name ("uuid"); builder.add_string_value (q.uuid); builder.set_member_name ("args"); builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (get_string_member_by_object (q.args, "id")); builder.set_member_name ("name"); builder.add_string_value (get_string_member_by_object (q.args, "name")); builder.set_member_name ("color"); builder.add_string_value (get_string_member_by_object (q.args, "color")); builder.end_object (); builder.end_object (); } else if (q.query == "project_delete") { builder.set_member_name ("type"); builder.add_string_value ("project_delete"); builder.set_member_name ("uuid"); builder.add_string_value (q.uuid); builder.set_member_name ("args"); builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (get_string_member_by_object (q.args, "id")); builder.end_object (); builder.end_object (); } else if (q.query == "section_add") { builder.set_member_name ("type"); builder.add_string_value ("section_add"); builder.set_member_name ("temp_id"); builder.add_string_value (q.temp_id); builder.set_member_name ("uuid"); builder.add_string_value (q.uuid); builder.set_member_name ("args"); builder.begin_object (); builder.set_member_name ("name"); builder.add_string_value (get_string_member_by_object (q.args, "name")); builder.set_member_name ("project_id"); if (get_type_by_member (q.args, "project_id") == GLib.Type.STRING) { builder.add_string_value (get_string_member_by_object (q.args, "project_id")); } else { builder.add_string_value (get_string_member_by_object (q.args, "project_id")); } builder.end_object (); builder.end_object (); } else if (q.query == "section_update") { builder.set_member_name ("type"); builder.add_string_value ("section_update"); builder.set_member_name ("uuid"); builder.add_string_value (q.uuid); builder.set_member_name ("args"); builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (get_string_member_by_object (q.args, "id")); builder.set_member_name ("name"); builder.add_string_value (get_string_member_by_object (q.args, "name")); builder.end_object (); builder.end_object (); } else if (q.query == "section_delete") { builder.set_member_name ("type"); builder.add_string_value ("section_delete"); builder.set_member_name ("uuid"); builder.add_string_value (q.uuid); builder.set_member_name ("args"); builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (get_string_member_by_object (q.args, "id")); builder.end_object (); builder.end_object (); } else if (q.query == "section_move") { builder.set_member_name ("type"); builder.add_string_value ("section_move"); builder.set_member_name ("uuid"); builder.add_string_value (q.uuid); builder.set_member_name ("args"); builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (get_string_member_by_object (q.args, "id")); builder.set_member_name ("project_id"); builder.add_string_value (get_string_member_by_object (q.args, "project_id")); builder.end_object (); builder.end_object (); } else if (q.query == "item_add") { builder.set_member_name ("type"); builder.add_string_value ("item_add"); builder.set_member_name ("temp_id"); builder.add_string_value (q.temp_id); builder.set_member_name ("uuid"); builder.add_string_value (q.uuid); builder.set_member_name ("args"); builder.begin_object (); builder.set_member_name ("content"); builder.add_string_value (get_string_member_by_object (q.args, "content")); builder.set_member_name ("description"); builder.add_string_value (get_string_member_by_object (q.args, "description")); builder.set_member_name ("priority"); builder.add_int_value (get_int_member_by_object (q.args, "priority")); builder.set_member_name ("project_id"); builder.add_string_value (get_string_member_by_object (q.args, "project_id")); builder.set_member_name ("section_id"); builder.add_string_value (get_string_member_by_object (q.args, "section_id")); builder.set_member_name ("parent_id"); builder.add_string_value (get_string_member_by_object (q.args, "parent_id")); builder.end_object (); builder.end_object (); } else if (q.query == "item_update") { builder.set_member_name ("type"); builder.add_string_value ("item_update"); builder.set_member_name ("uuid"); builder.add_string_value (q.uuid); builder.set_member_name ("args"); builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (get_string_member_by_object (q.args, "id")); builder.set_member_name ("content"); builder.add_string_value (get_string_member_by_object (q.args, "content")); builder.set_member_name ("description"); builder.add_string_value (get_string_member_by_object (q.args, "description")); builder.set_member_name ("priority"); builder.add_int_value (get_int_member_by_object (q.args, "priority")); if (is_null_member (q.args, "due")) { builder.set_member_name ("due"); builder.add_null_value (); } else { builder.set_member_name ("due"); builder.begin_object (); Json.Object due = get_object_member_by_object (q.args, "due"); builder.set_member_name ("date"); builder.add_string_value (due.get_string_member ("date")); builder.end_object (); } builder.end_object (); builder.end_object (); builder.begin_object (); } else if (q.query == "item_delete") { builder.set_member_name ("type"); builder.add_string_value ("item_delete"); builder.set_member_name ("uuid"); builder.add_string_value (q.uuid); builder.set_member_name ("args"); builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (get_string_member_by_object (q.args, "id")); builder.end_object (); builder.end_object (); } else if (q.query == "item_move") { builder.set_member_name ("type"); builder.add_string_value ("item_move"); builder.set_member_name ("uuid"); builder.add_string_value (q.uuid); builder.set_member_name ("args"); builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (get_string_member_by_object (q.args, "id")); string type = get_string_member_by_object (q.args, "type"); builder.set_member_name (type); builder.add_string_value (get_string_member_by_object (q.args, type)); builder.end_object (); builder.end_object (); } else if (q.query == "item_complete" || q.query == "item_uncomplete") { builder.set_member_name ("type"); builder.add_string_value (q.query); builder.set_member_name ("uuid"); builder.add_string_value (q.uuid); builder.set_member_name ("args"); builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (get_string_member_by_object (q.args, "id")); builder.end_object (); builder.end_object (); } builder.end_object (); } builder.end_array (); builder.end_object (); Json.Generator generator = new Json.Generator (); Json.Node root = builder.get_root (); generator.set_root (root); return generator.to_data (null); } public Json.Object get_object_by_string (string object) { var parser = new Json.Parser (); try { parser.load_from_data (object, -1); } catch (Error e) { debug (e.message); } return parser.get_root ().get_object (); } public int64 get_int_member_by_object (string object, string member) { return get_object_by_string (object).get_int_member (member); } public string get_string_member_by_object (string object, string member) { return get_object_by_string (object).get_string_member (member); } public Json.Object get_object_member_by_object (string object, string member) { return get_object_by_string (object).get_object_member (member); } public GLib.Type get_type_by_member (string object, string member) { return get_object_by_string (object).get_member (member).get_value_type (); } public bool is_null_member (string object, string member) { return get_object_by_string (object).get_null_member (member); } private void add_item_if_not_exists (Json.Node node) { if (!node.get_object ().get_null_member ("parent_id")) { Objects.Item ? item = Services.Store.instance ().get_item (node.get_object ().get_string_member ("parent_id")); if (item != null) { item.add_item_if_not_exists (new Objects.Item.from_json (node)); } return; } if (!node.get_object ().get_null_member ("section_id")) { Objects.Section ? section = Services.Store.instance ().get_section (node.get_object ().get_string_member ("section_id")); if (section != null) { section.add_item_if_not_exists (new Objects.Item.from_json (node)); } } else { Objects.Project ? project = Services.Store.instance ().get_project (node.get_object ().get_string_member ("project_id")); if (project != null) { project.add_item_if_not_exists (new Objects.Item.from_json (node)); } } } public async HttpResponse add (Objects.BaseObject object) { HttpResponse response = new HttpResponse (); if (object.source.needs_migration ()) { response.status = false; response.error = MIGRATE_MESSAGE; response.error_code = 410; return response; } string temp_id = Util.get_default ().generate_string (); string uuid = Util.get_default ().generate_string (); string id; string json = object.get_add_json (temp_id, uuid); var message = new Soup.Message ("POST", TODOIST_SYNC_URL); message.request_headers.append ( "Authorization", "Bearer %s".printf (object.source.todoist_data.access_token) ); message.set_request_body_from_bytes ("application/json", new Bytes (json.data)); try { GLib.Bytes stream = yield session.send_and_read_async (message, GLib.Priority.HIGH, null); parser.load_from_data ((string) stream.get_data ()); if (is_todoist_error (message.status_code)) { response.from_error_json (parser.get_root ()); debug_error ( message.status_code, get_todoist_error (message.status_code) ); } else { var sync_status = parser.get_root ().get_object ().get_object_member ("sync_status"); var uuid_member = sync_status.get_member (uuid); if (uuid_member.get_node_type () == Json.NodeType.VALUE) { object.source.todoist_data.sync_token = parser.get_root ().get_object ().get_string_member ("sync_token"); object.source.last_sync = new GLib.DateTime.now_local ().to_string (); object.source.save (); id = parser.get_root ().get_object ().get_object_member ("temp_id_mapping").get_string_member (temp_id); response.status = true; response.data = id; } else { response.error = sync_status.get_object_member (uuid).get_string_member ("error"); debug_error ( (uint) sync_status.get_object_member (uuid).get_int_member ("http_code"), sync_status.get_object_member (uuid).get_string_member ("error") ); } } } catch (Error e) { if (is_todoist_error (message.status_code)) { response.error = e.message; debug_error ( message.status_code, e.message ); } else { id = Util.get_default ().generate_id (object); var queue = new Objects.Queue (); queue.uuid = uuid; queue.object_id = id; queue.temp_id = temp_id; queue.query = object.type_add; queue.args = object.to_json (); Services.Database.get_default ().insert_queue (queue); Services.Database.get_default ().insert_CurTempIds (object.id, temp_id, object.object_type_string); response.status = true; response.data = queue.object_id; } } return response; } private void debug_error (uint status_code, string message) { debug ("Code: %s - %s".printf (status_code.to_string (), message)); } public async HttpResponse update (Objects.BaseObject object) { HttpResponse response = new HttpResponse (); if (object.source.needs_migration ()) { response.status = false; response.error = MIGRATE_MESSAGE; response.error_code = 410; return response; } string uuid = Util.get_default ().generate_string (); string json = object.get_update_json (uuid); Objects.Source source = object.source; var message = new Soup.Message ("POST", TODOIST_SYNC_URL); message.request_headers.append ( "Authorization", "Bearer %s".printf (source.todoist_data.access_token) ); message.set_request_body_from_bytes ("application/json", new Bytes (json.data)); try { GLib.Bytes stream = yield session.send_and_read_async (message, GLib.Priority.HIGH, null); parser.load_from_data ((string) stream.get_data ()); if (is_todoist_error (message.status_code)) { response.from_error_json (parser.get_root ()); debug_error ( message.status_code, get_todoist_error (message.status_code) ); } else { var sync_status = parser.get_root ().get_object ().get_object_member ("sync_status"); var uuid_member = sync_status.get_member (uuid); if (uuid_member.get_node_type () == Json.NodeType.VALUE) { source.todoist_data.sync_token = parser.get_root ().get_object ().get_string_member ("sync_token"); response.status = true; source.last_sync = new GLib.DateTime.now_local ().to_string (); source.save (); } else { response.error = sync_status.get_object_member (uuid).get_string_member ("error"); debug_error ( (uint) sync_status.get_object_member (uuid).get_int_member ("http_code"), sync_status.get_object_member (uuid).get_string_member ("error") ); } } } catch (Error e) { if (is_todoist_error (message.status_code)) { response.error = e.message; debug_error ( message.status_code, e.message ); } else { var queue = new Objects.Queue (); queue.uuid = uuid; queue.object_id = object.id; queue.query = object.type_update; queue.args = object.to_json (); Services.Database.get_default ().insert_queue (queue); response.status = true; } } return response; } public async void update_items (Gee.ArrayList objects) { string json = get_update_items_json (objects); Objects.Source ? source = null; foreach (Objects.Item item in objects) { if (item.source != null) { source = item.source; break; } } if (source == null) { warning ("No valid source found in items"); return; } var message = new Soup.Message ("POST", TODOIST_SYNC_URL); message.request_headers.append ( "Authorization", "Bearer %s".printf (source.todoist_data.access_token) ); message.set_request_body_from_bytes ("application/json", new Bytes (json.data)); try { GLib.Bytes stream = yield session.send_and_read_async (message, GLib.Priority.HIGH, null); parser.load_from_data ((string) stream.get_data ()); if (is_todoist_error (message.status_code)) { debug_error ( message.status_code, get_todoist_error (message.status_code) ); } else { source.todoist_data.sync_token = parser.get_root ().get_object ().get_string_member ("sync_token"); source.last_sync = new GLib.DateTime.now_local ().to_string (); source.save (); } } catch (Error e) { error (e.message); } } public string get_update_items_json (Gee.ArrayList objects) { var builder = new Json.Builder (); builder.begin_object (); builder.set_member_name ("commands"); builder.begin_array (); foreach (var item in objects) { builder.begin_object (); builder.set_member_name ("type"); builder.add_string_value ("item_update"); builder.set_member_name ("uuid"); builder.add_string_value (Util.get_default ().generate_string ()); builder.set_member_name ("args"); builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (item.id); builder.set_member_name ("content"); builder.add_string_value (Util.get_default ().get_encode_text (item.content)); builder.set_member_name ("description"); builder.add_string_value (Util.get_default ().get_encode_text (item.description)); builder.set_member_name ("priority"); if (item.priority == 0) { builder.add_int_value (Constants.PRIORITY_4); } else { builder.add_int_value (item.priority); } if (item.has_due) { builder.set_member_name ("due"); builder.begin_object (); builder.set_member_name ("date"); builder.add_string_value (item.due.date); builder.end_object (); } else { builder.set_member_name ("due"); builder.add_null_value (); } builder.set_member_name ("labels"); builder.begin_array (); foreach (Objects.Label label in item.labels) { builder.add_string_value (label.name); } builder.end_array (); builder.end_object (); builder.end_object (); } builder.end_array (); builder.end_object (); Json.Generator generator = new Json.Generator (); Json.Node root = builder.get_root (); generator.set_root (root); return generator.to_data (null); } public async HttpResponse delete (Objects.BaseObject object) { HttpResponse response = new HttpResponse (); if (object.source.needs_migration ()) { response.status = false; response.error = MIGRATE_MESSAGE; response.error_code = 410; return response; } string uuid = Util.get_default ().generate_string (); string json = get_delete_json (object.id, object.type_delete, uuid); var message = new Soup.Message ("POST", TODOIST_SYNC_URL); message.request_headers.append ( "Authorization", "Bearer %s".printf (object.source.todoist_data.access_token) ); message.set_request_body_from_bytes ("application/json", new Bytes (json.data)); try { GLib.Bytes stream = yield session.send_and_read_async (message, GLib.Priority.HIGH, null); parser.load_from_data ((string) stream.get_data ()); if (is_todoist_error (message.status_code)) { response.from_error_json (parser.get_root ()); debug_error ( message.status_code, get_todoist_error (message.status_code) ); } else { var sync_status = parser.get_root ().get_object ().get_object_member ("sync_status"); var uuid_member = sync_status.get_member (uuid); if (uuid_member.get_node_type () == Json.NodeType.VALUE) { object.source.todoist_data.sync_token = parser.get_root ().get_object ().get_string_member ("sync_token"); object.source.last_sync = new GLib.DateTime.now_local ().to_string (); object.source.save (); response.status = true; } else { response.error = sync_status.get_object_member (uuid).get_string_member ("error"); debug_error ( (uint) sync_status.get_object_member (uuid).get_int_member ("http_code"), sync_status.get_object_member (uuid).get_string_member ("error") ); } } } catch (Error e) { if (is_todoist_error (message.status_code)) { response.error = e.message; debug_error ( message.status_code, e.message ); } else { var queue = new Objects.Queue (); queue.uuid = uuid; queue.object_id = object.id; queue.query = object.type_delete; queue.args = object.to_json (); Services.Database.get_default ().insert_queue (queue); response.status = true; } } return response; } /* Sections */ private void add_section_if_not_exists (Json.Node node) { string _id = node.get_object ().get_string_member ("project_id"); Objects.Project ? project = Services.Store.instance ().get_project (_id); if (project != null) { project.add_section_if_not_exists (new Objects.Section.from_json (node)); } } /* Items */ public async HttpResponse complete_item (Objects.Item item) { HttpResponse response = new HttpResponse (); if (item.source.needs_migration ()) { response.status = false; response.error = MIGRATE_MESSAGE; response.error_code = 410; return response; } string uuid = Util.get_default ().generate_string (); string json = item.get_check_json (uuid, item.checked ? "item_complete" : "item_uncomplete"); Objects.Source source = item.source; var message = new Soup.Message ("POST", TODOIST_SYNC_URL); message.request_headers.append ( "Authorization", "Bearer %s".printf (source.todoist_data.access_token) ); message.set_request_body_from_bytes ("application/json", new Bytes (json.data)); try { GLib.Bytes stream = yield session.send_and_read_async (message, GLib.Priority.HIGH, null); parser.load_from_data ((string) stream.get_data ()); if (is_todoist_error (message.status_code)) { response.from_error_json (parser.get_root ()); debug_error ( message.status_code, get_todoist_error (message.status_code) ); } else { var sync_status = parser.get_root ().get_object ().get_object_member ("sync_status"); var uuid_member = sync_status.get_member (uuid); if (uuid_member.get_node_type () == Json.NodeType.VALUE) { source.todoist_data.sync_token = parser.get_root ().get_object ().get_string_member ("sync_token"); response.status = true; source.last_sync = new GLib.DateTime.now_local ().to_string (); source.save (); } else { response.error = sync_status.get_object_member (uuid).get_string_member ("error"); debug_error ( (uint) sync_status.get_object_member (uuid).get_int_member ("http_code"), sync_status.get_object_member (uuid).get_string_member ("error") ); } } } catch (Error e) { if (is_todoist_error (message.status_code)) { response.error = e.message; debug_error ( message.status_code, e.message ); } else { var queue = new Objects.Queue (); queue.uuid = uuid; queue.object_id = item.id; queue.query = item.checked ? "item_complete" : "item_uncomplete"; queue.args = item.to_json (); Services.Database.get_default ().insert_queue (queue); response.status = true; } } return response; } private void print_root (Json.Node root) { Json.Generator generator = new Json.Generator (); generator.set_root (root); debug (generator.to_data (null) + "\n"); } public string get_delete_json (string id, string type, string uuid) { var builder = new Json.Builder (); builder.begin_object (); builder.set_member_name ("commands"); builder.begin_array (); builder.begin_object (); // Set type builder.set_member_name ("type"); builder.add_string_value (type); builder.set_member_name ("uuid"); builder.add_string_value (uuid); builder.set_member_name ("args"); builder.begin_object (); builder.set_member_name ("id"); builder.add_string_value (id); builder.end_object (); builder.end_object (); builder.end_array (); builder.end_object (); Json.Generator generator = new Json.Generator (); Json.Node root = builder.get_root (); generator.set_root (root); return generator.to_data (null); } public async HttpResponse move_item (Objects.Item item, string type, string id) { HttpResponse response = new HttpResponse (); if (item.source.needs_migration ()) { response.status = false; response.error = MIGRATE_MESSAGE; response.error_code = 410; return response; } string uuid = Util.get_default ().generate_string (); string json = item.get_move_item (uuid, type, id); Objects.Source source = item.source; var message = new Soup.Message ("POST", TODOIST_SYNC_URL); message.request_headers.append ( "Authorization", "Bearer %s".printf (source.todoist_data.access_token) ); message.set_request_body_from_bytes ("application/json", new Bytes (json.data)); try { GLib.Bytes stream = yield session.send_and_read_async (message, GLib.Priority.HIGH, null); parser.load_from_data ((string) stream.get_data ()); if (is_todoist_error (message.status_code)) { response.from_error_json (parser.get_root ()); debug_error ( message.status_code, get_todoist_error (message.status_code) ); } else { var sync_status = parser.get_root ().get_object ().get_object_member ("sync_status"); var uuid_member = sync_status.get_member (uuid); if (uuid_member.get_node_type () == Json.NodeType.VALUE) { source.todoist_data.sync_token = parser.get_root ().get_object ().get_string_member ("sync_token"); response.status = true; source.last_sync = new GLib.DateTime.now_local ().to_string (); source.save (); } else { response.error = sync_status.get_object_member (uuid).get_string_member ("error"); debug_error ( (uint) sync_status.get_object_member (uuid).get_int_member ("http_code"), sync_status.get_object_member (uuid).get_string_member ("error") ); } } } catch (Error e) { if (is_todoist_error (message.status_code)) { response.error = e.message; debug_error ( message.status_code, e.message ); } else { var queue = new Objects.Queue (); queue.uuid = uuid; queue.object_id = item.id; queue.query = "item_move"; queue.args = item.to_move_json (type, id); Services.Database.get_default ().insert_queue (queue); response.status = true; } } return response; } public async HttpResponse move_project_section (Objects.BaseObject base_object, string project_id) { HttpResponse response = new HttpResponse (); if (base_object.source.needs_migration ()) { response.status = false; response.error = MIGRATE_MESSAGE; response.error_code = 410; return response; } string uuid = Util.get_default ().generate_string (); string json = base_object.get_move_json (uuid, project_id); var message = new Soup.Message ("POST", TODOIST_SYNC_URL); message.request_headers.append ( "Authorization", "Bearer %s".printf (base_object.source.todoist_data.access_token) ); message.set_request_body_from_bytes ("application/json", new Bytes (json.data)); try { GLib.Bytes stream = yield session.send_and_read_async (message, GLib.Priority.HIGH, null); parser.load_from_data ((string) stream.get_data ()); if (is_todoist_error (message.status_code)) { response.from_error_json (parser.get_root ()); debug_error ( message.status_code, get_todoist_error (message.status_code) ); } else { var sync_status = parser.get_root ().get_object ().get_object_member ("sync_status"); var uuid_member = sync_status.get_member (uuid); if (uuid_member.get_node_type () == Json.NodeType.VALUE) { base_object.source.todoist_data.sync_token = parser.get_root ().get_object ().get_string_member ("sync_token"); response.status = true; base_object.source.last_sync = new GLib.DateTime.now_local ().to_string (); base_object.source.save (); } else { response.error = sync_status.get_object_member (uuid).get_string_member ("error"); debug_error ( (uint) sync_status.get_object_member (uuid).get_int_member ("http_code"), sync_status.get_object_member (uuid).get_string_member ("error") ); } } } catch (Error e) { if (is_todoist_error (message.status_code)) { response.error = e.message; debug_error ( message.status_code, e.message ); } else { var queue = new Objects.Queue (); queue.uuid = uuid; queue.object_id = base_object.id; if (base_object is Objects.Project) { queue.query = "project_move"; } else { queue.query = "section_move"; } queue.args = base_object.to_json (); response.status = true; Services.Database.get_default ().insert_queue (queue); } } return response; } public async HttpResponse duplicate_project (Objects.Project project) { HttpResponse response = new HttpResponse (); if (project.source.needs_migration ()) { response.status = false; response.error = MIGRATE_MESSAGE; response.error_code = 410; return response; } string json = get_duplicate_project_json (project); var message = new Soup.Message ("POST", TODOIST_SYNC_URL); message.request_headers.append ( "Authorization", "Bearer %s".printf (project.source.todoist_data.access_token) ); message.set_request_body_from_bytes ("application/json", new Bytes (json.data)); try { GLib.Bytes stream = yield session.send_and_read_async (message, GLib.Priority.HIGH, null); parser.load_from_data ((string) stream.get_data ()); if (is_todoist_error (message.status_code)) { response.from_error_json (parser.get_root ()); debug_error ( message.status_code, get_todoist_error (message.status_code) ); } else { response.status = true; } } catch (Error e) { } return response; } private string get_duplicate_project_json (Objects.Project project) { var builder = new Json.Builder (); builder.begin_object (); builder.set_member_name ("commands"); builder.begin_array (); // New Project builder.begin_object (); builder.set_member_name ("type"); builder.add_string_value ("project_add"); builder.set_member_name ("temp_id"); builder.add_string_value ("_" + project.id); builder.set_member_name ("uuid"); builder.add_string_value (Util.get_default ().generate_string ()); builder.set_member_name ("args"); builder.begin_object (); builder.set_member_name ("name"); builder.add_string_value (project.name); builder.set_member_name ("color"); builder.add_string_value (project.color); builder.end_object (); builder.end_object (); // Sections foreach (Objects.Section section in project.sections) { builder.begin_object (); builder.set_member_name ("type"); builder.add_string_value ("section_add"); builder.set_member_name ("temp_id"); builder.add_string_value ("_" + section.id); builder.set_member_name ("uuid"); builder.add_string_value (Util.get_default ().generate_string ()); builder.set_member_name ("args"); builder.begin_object (); builder.set_member_name ("name"); builder.add_string_value (section.name); builder.set_member_name ("project_id"); builder.add_string_value ("_" + section.project_id); builder.end_object (); builder.end_object (); } // Items foreach (Objects.Item item in project.all_items) { builder.begin_object (); builder.set_member_name ("type"); builder.add_string_value ("item_add"); builder.set_member_name ("temp_id"); builder.add_string_value ("_" + item.id); builder.set_member_name ("uuid"); builder.add_string_value (Util.get_default ().generate_string ()); builder.set_member_name ("args"); builder.begin_object (); builder.set_member_name ("content"); builder.add_string_value (item.content); builder.set_member_name ("description"); builder.add_string_value (item.description); builder.set_member_name ("project_id"); builder.add_string_value ("_" + item.project_id); if (item.parent_id != "") { builder.set_member_name ("parent_id"); builder.add_string_value ("_" + item.parent_id); } if (item.section_id != "") { builder.set_member_name ("section_id"); builder.add_string_value ("_" + item.section_id); } builder.set_member_name ("priority"); if (item.priority == 0) { builder.add_int_value (Constants.PRIORITY_4); } else { builder.add_int_value (item.priority); } if (item.has_due) { builder.set_member_name ("due"); builder.begin_object (); builder.set_member_name ("date"); builder.add_string_value (item.due.date); builder.end_object (); } builder.set_member_name ("labels"); builder.begin_array (); foreach (Objects.Label label in item.labels) { builder.add_string_value (label.name); } builder.end_array (); builder.end_object (); builder.end_object (); builder.end_object (); } builder.end_array (); builder.end_object (); Json.Generator generator = new Json.Generator (); Json.Node root = builder.get_root (); generator.set_root (root); return generator.to_data (null); } public bool is_todoist_error (uint status_code) { return (status_code == 400 || status_code == 401 || status_code == 403 || status_code == 404 || status_code == 429 || status_code == 500 || status_code == 503); } public string get_todoist_error (uint code) { var messages = new Gee.HashMap (); messages.set (400, _("The request was incorrect.")); messages.set (401, _("Authentication is required, and has failed, or has not yet been provided.")); messages.set (403, _("The request was valid, but for something that is forbidden.")); messages.set (404, _("The requested resource could not be found.")); messages.set (429, _("The user has sent too many requests in a given amount of time.")); messages.set (500, _("The request failed due to a server error.")); messages.set (503, _("The server is currently unable to handle the request.")); // TODO: use soup messages as fallback? return messages.has_key (code) ? messages.get (code) : _("Unknown error"); } } public class HttpResponse { public bool status { get; set; } public string error { get; set; default = ""; } public int error_code { get; set; default = 0; } public int http_code { get; set; default = 0; } public string data { get; set; } public GLib.Value data_object { get; set; } public void from_error_json (Json.Node node) { status = false; error_code = (int) node.get_object ().get_int_member ("error_code"); error = node.get_object ().get_string_member ("error"); http_code = (int) node.get_object ().get_int_member ("http_code"); } public void from_error_xml (GXml.DomDocument doc, int error_code) { status = false; this.error_code = error_code; http_code = error_code; error = doc.get_elements_by_tag_name ("o:hint").get_element (0).text_content; } } alainm23-planify-69962f8/core/Utils/000077500000000000000000000000001517337276100171235ustar00rootroot00000000000000alainm23-planify-69962f8/core/Utils/Datetime.vala000066400000000000000000000572251517337276100215370ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Utils.Datetime { public static GLib.DateTime ? get_todoist_datetime (string? date) { if (date == "" || date == null) { return null; } GLib.DateTime datetime = null; // YYYY-MM-DD if (date.length <= 10) { var _date = date.split ("-"); datetime = new GLib.DateTime.local ( int.parse (_date[0]), int.parse (_date[1]), int.parse (_date[2]), 0, 0, 0 ); // YYYY-MM-DDTHH:MM:SS } else { var _date = date.split ("T")[0].split ("-"); var _time = date.split ("T")[1].split (":"); datetime = new GLib.DateTime.local ( int.parse (_date[0]), int.parse (_date[1]), int.parse (_date[2]), int.parse (_time[0]), int.parse (_time[1]), int.parse (_time[2]) ); } return datetime; } public static string get_relative_date_from_date (GLib.DateTime ? datetime) { if (datetime == null) { return ""; } string returned = ""; if (is_today (datetime)) { returned = _("Today"); } else if (is_tomorrow (datetime)) { returned = _("Tomorrow"); } else if (is_yesterday (datetime)) { returned = _("Yesterday"); } else { returned = get_default_date_format_from_date (datetime); } if (has_time (datetime)) { returned = "%s, %s".printf (returned, datetime.format (get_default_time_format ())); } return returned; } public static string days_left (GLib.DateTime datetime, bool show_today = false) { string return_value = ""; var days = datetime.difference (new GLib.DateTime.now_local ()) / TimeSpan.DAY; if (is_today (datetime)) { return_value = show_today ? _("Today") : ""; } else if (is_overdue (datetime)) { return_value = _("%s %s ago".printf ((days * -1).to_string (), days > 1 ? _("days") : _("day"))); } else { return_value = _("%s %s left".printf ((days + 1).to_string (), days > 1 ? _("days") : _("day"))); } return return_value; } public static string get_default_time_format (bool is_12h = is_clock_format_12h (), bool with_second = false) { if (is_12h == true) { if (with_second == true) { /// TRANSLATORS: a GLib.DateTime format showing the hour (12h format) with seconds return _("%-l:%M:%S %p"); } else { /// TRANSLATORS: a GLib.DateTime format showing the hour (12h format) return _("%-l:%M %p"); } } else { if (with_second == true) { /// TRANSLATORS: a GLib.DateTime format showing the hour (24h format) with seconds return _("%H:%M:%S"); } else { /// TRANSLATORS: a GLib.DateTime format showing the hour (24h format) return _("%H:%M"); } } } public static bool is_clock_format_12h () { return Services.Settings.get_default ().settings.get_string ("clock-format").contains ("12h"); } public static bool is_yesterday (GLib.DateTime date) { return is_same_day (date, new GLib.DateTime.now_local ().add_days (-1)); } public static bool is_same_day (GLib.DateTime day1, GLib.DateTime day2) { return day1.get_day_of_year () == day2.get_day_of_year () && day1.get_year () == day2.get_year (); } public static bool is_overdue (GLib.DateTime date) { if (get_date_only (date).compare (get_date_only (new DateTime.now_local ())) == -1) { return true; } return false; } public static string get_calendar_icon (GLib.DateTime date) { if (is_today (date)) { return "planner-today"; } else { return "planner-scheduled"; } } public static void parse_todoist_recurrency (Objects.DueDate duedate, Json.Object object) { if (object.has_member ("lang") && object.get_string_member ("lang") != "en") { duedate.recurrence_supported = false; return; } } public static bool has_time (GLib.DateTime datetime) { if (datetime == null) { return false; } bool returned = true; if (datetime.get_hour () == 0 && datetime.get_minute () == 0 && datetime.get_second () == 0) { returned = false; } return returned; } public static bool is_today (GLib.DateTime date) { if (date == null) { return false; } return is_same_day (date, new GLib.DateTime.now_local ()); } public static bool is_tomorrow (GLib.DateTime date) { if (date == null) { return false; } return is_same_day (date, new GLib.DateTime.now_local ().add_days (1)); } public static bool is_next_week (GLib.DateTime date) { if (date == null) { return false; } return is_same_day (date, new GLib.DateTime.now_local ().add_days (7)); } public static GLib.DateTime get_date_from_string (string date) { return new GLib.DateTime.from_iso8601 (date, new GLib.TimeZone.local ()); } public static void recurrence_to_due (ICal.Recurrence recurrence, Objects.DueDate due) { due.is_recurring = true; ICal.RecurrenceFrequency freq = recurrence.get_freq (); if (freq == ICal.RecurrenceFrequency.MINUTELY_RECURRENCE) { due.recurrency_type = RecurrencyType.MINUTELY; } else if (freq == ICal.RecurrenceFrequency.HOURLY_RECURRENCE) { due.recurrency_type = RecurrencyType.HOURLY; } else if (freq == ICal.RecurrenceFrequency.DAILY_RECURRENCE) { due.recurrency_type = RecurrencyType.EVERY_DAY; } else if (freq == ICal.RecurrenceFrequency.WEEKLY_RECURRENCE) { due.recurrency_type = RecurrencyType.EVERY_WEEK; } else if (freq == ICal.RecurrenceFrequency.MONTHLY_RECURRENCE) { due.recurrency_type = RecurrencyType.EVERY_MONTH; } else if (freq == ICal.RecurrenceFrequency.YEARLY_RECURRENCE) { due.recurrency_type = RecurrencyType.EVERY_YEAR; } short interval = recurrence.get_interval (); due.recurrency_interval = (int) interval; int count = recurrence.get_count (); due.recurrency_count = count; ICal.Time until = recurrence.get_until (); if (!until.is_null_time ()) { due.recurrency_end = ical_to_date_time_local (until).to_string (); } if (due.recurrency_type == RecurrencyType.EVERY_WEEK) { string recurrency_weeks = ""; GLib.Array day_array = recurrence.get_by_day_array (); if (check_by_day ("1", day_array)) { recurrency_weeks += "7,"; } if (check_by_day ("2", day_array)) { recurrency_weeks += "1,"; } if (check_by_day ("3", day_array)) { recurrency_weeks += "2,"; } if (check_by_day ("4", day_array)) { recurrency_weeks += "3,"; } if (check_by_day ("5", day_array)) { recurrency_weeks += "4,"; } if (check_by_day ("6", day_array)) { recurrency_weeks += "5,"; } if (check_by_day ("7", day_array)) { recurrency_weeks += "6,"; } if (recurrency_weeks != null && recurrency_weeks.split (",").length > 0) { recurrency_weeks.slice (0, -1); } due.recurrency_weeks = recurrency_weeks; } } private static bool check_by_day (string day, GLib.Array day_array) { foreach (var _day in day_array) { if (_day.to_string () == day) { return true; } } return false; } public static GLib.DateTime format_date (GLib.DateTime date) { return new DateTime.local ( date.get_year (), date.get_month (), date.get_day_of_month (), 0, 0, 0 ); } public static bool is_this_week (GLib.DateTime date) { var current_date = new GLib.DateTime.now_local (); var start_of_week = current_date.add_days ((current_date.get_day_of_week () - 1) * -1); var end_of_week = current_date.add_days (6); if (date.compare (format_date (start_of_week)) >= 0 && date.compare (format_date (end_of_week)) <= 0) { return true; } return false; } public static bool is_next_x_week (GLib.DateTime date, int days) { var current_date = new GLib.DateTime.now_local (); var end_date = current_date.add_days (days); if (date.compare (format_date (current_date)) >= 0 && date.compare (format_date (end_date)) <= 0) { return true; } return false; } public static bool is_this_month (GLib.DateTime date) { var current_date = new GLib.DateTime.now_local (); return current_date.get_month () == date.get_month () && current_date.get_year () == date.get_year (); } public static GLib.DateTime next_recurrency (GLib.DateTime datetime, Objects.DueDate duedate) { GLib.DateTime returned = datetime; if (duedate.recurrency_type == RecurrencyType.MINUTELY) { returned = returned.add_minutes (duedate.recurrency_interval); } else if (duedate.recurrency_type == RecurrencyType.HOURLY) { returned = returned.add_hours (duedate.recurrency_interval); } else if (duedate.recurrency_type == RecurrencyType.EVERY_DAY) { returned = returned.add_days (duedate.recurrency_interval); } else if (duedate.recurrency_type == RecurrencyType.EVERY_WEEK) { if (duedate.recurrency_weeks == "") { returned = returned.add_days (duedate.recurrency_interval * 7); } else { returned = next_recurrency_week (datetime, duedate, true); } } else if (duedate.recurrency_type == RecurrencyType.EVERY_MONTH) { returned = returned.add_months (duedate.recurrency_interval); } else if (duedate.recurrency_type == RecurrencyType.EVERY_YEAR) { returned = returned.add_years (duedate.recurrency_interval); } return returned; } public static int get_next_day_of_week_from_recurrency_week (GLib.DateTime datetime, Objects.DueDate duedate) { if (duedate.recurrency_weeks == null || duedate.recurrency_weeks == "") { return datetime.get_day_of_week (); } string[] weeks = duedate.recurrency_weeks.split (","); int day_of_week = datetime.get_day_of_week (); int index = 0; for (int i = 0; i < weeks.length; i++) { if (day_of_week <= int.parse (weeks[i])) { index = i; break; } } if (index > weeks.length - 1) { index = 0; } return int.parse (weeks[index]); } public static GLib.DateTime next_recurrency_week (GLib.DateTime datetime, Objects.DueDate duedate, bool user = false) { if (duedate.recurrency_weeks == null || duedate.recurrency_weeks == "") { return datetime.add_days (duedate.recurrency_interval * 7); } string[] weeks = duedate.recurrency_weeks.split (","); // [1, 2, 3] int day_of_week = datetime.get_day_of_week (); // 2 int days = 0; int next_day = 0; int index = 0; int recurrency_interval = 0; for (int i = 0; i < weeks.length; i++) { if (day_of_week < int.parse (weeks[i])) { index = i; break; } } next_day = int.parse (weeks[index]); if (day_of_week < next_day) { days = next_day - day_of_week; } else { days = 7 - (day_of_week - next_day); } if (user && index == 0) { recurrency_interval = (duedate.recurrency_interval - 1) * 7; } return datetime.add_days (days).add_days (recurrency_interval); } public static string get_recurrency_weeks (RecurrencyType recurrency_type, int recurrency_interval, string recurrency_weeks, string end = "") { string returned = recurrency_type.to_friendly_string (recurrency_interval); if (recurrency_type == RecurrencyType.EVERY_WEEK && recurrency_weeks != null && recurrency_weeks.split (",").length > 0) { string weeks = ""; if (recurrency_weeks.contains ("1")) { weeks += _("Mo,"); } if (recurrency_weeks.contains ("2")) { weeks += _("Tu,"); } if (recurrency_weeks.contains ("3")) { weeks += _("We,"); } if (recurrency_weeks.contains ("4")) { weeks += _("Th,"); } if (recurrency_weeks.contains ("5")) { weeks += _("Fr,"); } if (recurrency_weeks.contains ("6")) { weeks += _("Sa,"); } if (recurrency_weeks.contains ("7")) { weeks += _("Su,"); } weeks = weeks.slice (0, -weeks.reverse ().index_of_nth_char (1)); returned = "%s (%s)".printf (returned, weeks); } return returned + " " + end; } public static GLib.DateTime get_today_format_date () { return get_date_only (new DateTime.now_local ()); } public static GLib.DateTime get_date_only (GLib.DateTime date) { return new DateTime.local ( date.get_year (), date.get_month (), date.get_day_of_month (), 0, 0, 0 ); } public static string get_default_date_format_from_date (GLib.DateTime ? date) { if (date == null) { return ""; } var format = date.format (get_default_date_format ( false, true, date.get_year () != new GLib.DateTime.now_local ().get_year () )); return format; } public static string get_todoist_datetime_format (GLib.DateTime date) { string returned = ""; if (has_time (date)) { returned = date.format ("%F") + "T" + date.format ("%T"); } else { returned = date.format ("%F"); } return returned; } public static bool has_time_from_string (string date) { return has_time (new GLib.DateTime.from_iso8601 (date, new GLib.TimeZone.local ())); } public static int get_days_of_month (int index, int year_nav) { if ((index == 1) || (index == 3) || (index == 5) || (index == 7) || (index == 8) || (index == 10) || (index == 12)) { // vala-lint=line-length return 31; } else { if (index == 2) { if (year_nav % 4 == 0) { return 29; } else { return 28; } } else { return 30; } } } public static GLib.DateTime get_start_of_month (owned GLib.DateTime ? date = null) { if (date == null) { date = new GLib.DateTime.now_local (); } return new GLib.DateTime.local (date.get_year (), date.get_month (), 1, 0, 0, 0); } public static bool is_current_month (GLib.DateTime date) { var now = new GLib.DateTime.now_local (); if (date.get_year () == now.get_year ()) { if (date.get_month () == now.get_month ()) { return true; } else { return false; } } else { return false; } } /** * Converts the given ICal.Time to a GLib.DateTime, represented in the * system timezone. * * All timezone information in the original @date is lost. However, the * {@link GLib.TimeZone} contained in the resulting DateTime is correct, * since there is a well-defined local timezone between both libical and * GLib. */ public static DateTime ical_to_date_time_local (ICal.Time date) { assert (!date.is_null_time ()); var converted = ical_convert_to_local (date); int year, month, day, hour, minute, second; converted.get_date (out year, out month, out day); converted.get_time (out hour, out minute, out second); return new DateTime.local (year, month, day, hour, minute, second); } /** Converts the given ICal.Time to the local (or system) timezone */ public static ICal.Time ical_convert_to_local (ICal.Time time) { var system_tz = get_system_timezone (); return time.convert_to_zone (system_tz); } /** * Converts two DateTimes representing a date and a time to one TimeType. * * The first contains the date; its time settings are ignored. The second * one contains the time itself; its date settings are ignored. If the time * is `null`, the resulting TimeType is of `DATE` type; if it is given, the * TimeType is of `DATE-TIME` type. * * This also accepts an optional `timezone` argument. If it is given a * timezone, the resulting TimeType will be relative to the given timezone. * If it is `null`, the resulting TimeType will be "floating" with no * timezone. If the argument is not given, it will default to the system * timezone. */ public static ICal.Time datetimes_to_icaltime (GLib.DateTime date, GLib.DateTime ? time_local, ICal.Timezone ? timezone = get_system_timezone ().copy ()) { var result = new ICal.Time.from_day_of_year (date.get_day_of_year (), date.get_year ()); // Check if it's a date. If so, set is_date to true and fix the time to be sure. // If it's not a date, first thing set is_date to false. // Then, set the timezone. // Then, set the time. if (time_local == null) { // Date type: ensure that everything corresponds to a date result.set_is_date (true); // result.set_time (0, 0, 0); } else { // Includes time // Set is_date first (otherwise timezone won't change) result.set_is_date (false); // Set timezone for the time to be relative to // (doesn't affect DATE-type times) result.set_timezone (timezone); // Set the time with the updated time zone result.set_time (time_local.get_hour (), time_local.get_minute (), time_local.get_second ()); } return result; } public static ICal.Timezone ? get_system_timezone () { #if WITH_EVOLUTION return ECal.util_get_system_timezone (); #else string tzid = new GLib.TimeZone.local ().get_identifier (); return ICal.Timezone.get_builtin_timezone (tzid); #endif } public static string get_markdown_format_date (Objects.Item item) { if (!item.has_due) { return " "; } return " (" + get_relative_date_from_date (item.due.datetime) + ") "; } public static GLib.DateTime get_datetime_no_seconds (GLib.DateTime date, GLib.DateTime ? time = null) { return new DateTime.local ( date.get_year (), date.get_month (), date.get_day_of_month (), time == null ? date.get_hour () : time.get_hour (), time == null ? date.get_minute () : time.get_minute (), 0 ); } public static string get_relative_time_from_date (GLib.DateTime date) { var date_only = get_date_only (date); var today = get_date_only (new GLib.DateTime.now_local ()); string relative_time; if (is_today (date_only)) { relative_time = _("Today"); } else if (is_tomorrow (date_only)) { relative_time = _("Tomorrow"); } else if (is_yesterday (date_only)) { relative_time = _("Yesterday"); } else { int days_diff = (int) ((date_only.difference (today)) / GLib.TimeSpan.DAY); if (days_diff > 0) { relative_time = GLib.ngettext ("in %d day", "in %d days", days_diff).printf (days_diff); } else { relative_time = GLib.ngettext ("%d day ago", "%d days ago", -days_diff).printf (-days_diff); } } return relative_time; } public static string get_short_date_format_from_date (GLib.DateTime date) { var date_only = get_date_only (date); var day_name = date_only.format ("%a"); var day_month = date_only.format ("%e %b"); return "%s, %s".printf (day_name, day_month); } public static string get_default_date_format (bool with_weekday = false, bool with_day = true, bool with_year = false) { if (with_weekday == true && with_day == true && with_year == true) { /// TRANSLATORS: a GLib.DateTime format showing the weekday, date, and year return _("%a, %b %-e, %Y"); } else if (with_weekday == false && with_day == true && with_year == true) { /// TRANSLATORS: a GLib.DateTime format showing the date and year return _("%b %-e %Y"); } else if (with_weekday == false && with_day == false && with_year == true) { /// TRANSLATORS: a GLib.DateTime format showing the year return _("%Y"); } else if (with_weekday == false && with_day == true && with_year == false) { /// TRANSLATORS: a GLib.DateTime format showing the date return _("%b %-e"); } else if (with_weekday == true && with_day == false && with_year == true) { /// TRANSLATORS: a GLib.DateTime format showing the weekday and year. return _("%a %Y"); } else if (with_weekday == true && with_day == false && with_year == false) { /// TRANSLATORS: a GLib.DateTime format showing the weekday return _("%a"); } else if (with_weekday == true && with_day == true && with_year == false) { /// TRANSLATORS: a GLib.DateTime format showing the weekday and date return _("%a, %b %-e"); } else if (with_weekday == false && with_day == false && with_year == false) { /// TRANSLATORS: a GLib.DateTime format showing the month. return _("%b"); } return ""; } } alainm23-planify-69962f8/core/Utils/MarkdownProcessor.vala000066400000000000000000000276131517337276100234630ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class MarkdownProcessor : Object { private static MarkdownProcessor ? _instance; public static MarkdownProcessor get_default () { if (_instance == null) { _instance = new MarkdownProcessor (); } return _instance; } private struct MarkupMatch { public int start_pos; public int end_pos; public string original; public string replacement; public int priority; public MarkupMatch (int start, int end, string orig, string repl, int prio = 0) { start_pos = start; end_pos = end; original = orig; replacement = repl; priority = prio; } } private enum MarkupPriority { URL_MARKDOWN = 1, EMAIL = 2, URL = 3, CODE = 4, ITALIC_BOLD_UNDERLINE = 5, BOLD_UNDERLINE = 6, ITALIC_UNDERLINE = 7, ITALIC_BOLD = 8, BOLD = 9, ITALIC = 10, UNDERLINE = 11 } private Regex ? mailto_regex = null; private Regex ? url_regex = null; private Regex ? url_markdown_regex = null; private Regex ? code_regex = null; private Regex ? italic_bold_underline_regex = null; private Regex ? bold_underline_regex = null; private Regex ? italic_underline_regex = null; private Regex ? italic_bold_regex = null; private Regex ? bold_regex = null; private Regex ? italic_regex = null; private Regex ? underline_regex = null; public MarkdownProcessor () { compile_regexes (); } private void compile_regexes () { try { mailto_regex = new Regex ( "(?P[a-zA-Z0-9][a-zA-Z0-9._%-]*[a-zA-Z0-9]@[a-zA-Z0-9][a-zA-Z0-9.-]*\\.[a-zA-Z]{2,})", RegexCompileFlags.OPTIMIZE ); url_regex = new Regex ( "(?Phttps?://[a-zA-Z0-9][a-zA-Z0-9.-]*\\.[a-zA-Z]{2,}(?:/[^\\s]*)?)", RegexCompileFlags.OPTIMIZE ); url_markdown_regex = new Regex ( "\\[([^\\]]+)\\]\\(([^\\)\\s]+)\\)", RegexCompileFlags.OPTIMIZE ); code_regex = new Regex ( "`([^`\\n]+?)`", RegexCompileFlags.OPTIMIZE ); italic_bold_underline_regex = new Regex ( "\\*\\*\\*_([^*_\\n]+?)_\\*\\*\\*", RegexCompileFlags.OPTIMIZE ); bold_underline_regex = new Regex ( "\\*\\*_([^*_\\n]+?)_\\*\\*", RegexCompileFlags.OPTIMIZE ); italic_underline_regex = new Regex ( "\\*_([^*_\\n]+?)_\\*", RegexCompileFlags.OPTIMIZE ); italic_bold_regex = new Regex ( "(? (); collect_url_markdown_matches (escaped_text, matches); collect_email_matches (escaped_text, matches); collect_url_matches (escaped_text, matches); collect_code_matches (escaped_text, matches); collect_formatting_matches (escaped_text, matches); var filtered_matches = filter_and_sort_matches (matches); return apply_matches (escaped_text, filtered_matches); } private void collect_url_markdown_matches (string text, Gee.ArrayList matches) { if (url_markdown_regex == null)return; MatchInfo match_info; if (url_markdown_regex.match (text, 0, out match_info)) { do { int start_pos, end_pos; if (match_info.fetch_pos (0, out start_pos, out end_pos)) { var full_match = match_info.fetch (0); var link_text = match_info.fetch (1); var link_url = match_info.fetch (2); var replacement = @"$link_text"; matches.add (MarkupMatch (start_pos, end_pos, full_match, replacement, MarkupPriority.URL_MARKDOWN)); } } while (match_info.next ()); } } private void collect_email_matches (string text, Gee.ArrayList matches) { if (mailto_regex == null)return; MatchInfo match_info; if (mailto_regex.match (text, 0, out match_info)) { do { int start_pos, end_pos; if (match_info.fetch_pos (0, out start_pos, out end_pos)) { var email = match_info.fetch_named ("mailto"); var replacement = @"$email"; matches.add (MarkupMatch (start_pos, end_pos, email, replacement, MarkupPriority.EMAIL)); } } while (match_info.next ()); } } private void collect_url_matches (string text, Gee.ArrayList matches) { if (url_regex == null)return; MatchInfo match_info; if (url_regex.match (text, 0, out match_info)) { do { int start_pos, end_pos; if (match_info.fetch_pos (0, out start_pos, out end_pos)) { var url = match_info.fetch_named ("url"); if (!is_position_covered_by_priority (matches, start_pos, end_pos, MarkupPriority.URL_MARKDOWN)) { var replacement = @"$url"; matches.add (MarkupMatch (start_pos, end_pos, url, replacement, MarkupPriority.URL)); } } } while (match_info.next ()); } } private void collect_code_matches (string text, Gee.ArrayList matches) { if (code_regex == null)return; MatchInfo match_info; if (code_regex.match (text, 0, out match_info)) { do { int start_pos, end_pos; if (match_info.fetch_pos (0, out start_pos, out end_pos)) { var full_match = match_info.fetch (0); var code_content = match_info.fetch (1); var replacement = @"$code_content"; matches.add (MarkupMatch (start_pos, end_pos, full_match, replacement, MarkupPriority.CODE)); } } while (match_info.next ()); } } private void collect_formatting_matches (string text, Gee.ArrayList matches) { var format_patterns = new Gee.ArrayList (); format_patterns.add (FormatPattern (italic_bold_underline_regex, "%s", MarkupPriority.ITALIC_BOLD_UNDERLINE)); format_patterns.add (FormatPattern (bold_underline_regex, "%s", MarkupPriority.BOLD_UNDERLINE)); format_patterns.add (FormatPattern (italic_underline_regex, "%s", MarkupPriority.ITALIC_UNDERLINE)); format_patterns.add (FormatPattern (italic_bold_regex, "%s", MarkupPriority.ITALIC_BOLD)); format_patterns.add (FormatPattern (bold_regex, "%s", MarkupPriority.BOLD)); format_patterns.add (FormatPattern (italic_regex, "%s", MarkupPriority.ITALIC)); format_patterns.add (FormatPattern (underline_regex, "%s", MarkupPriority.UNDERLINE)); foreach (var pattern in format_patterns) { collect_pattern_matches (text, matches, pattern); } } private struct FormatPattern { public Regex ? regex; public string format_template; public int priority; public FormatPattern (Regex ? r, string template, int prio) { regex = r; format_template = template; priority = prio; } } private void collect_pattern_matches (string text, Gee.ArrayList matches, FormatPattern pattern) { if (pattern.regex == null)return; MatchInfo match_info; if (pattern.regex.match (text, 0, out match_info)) { do { int start_pos, end_pos; if (match_info.fetch_pos (0, out start_pos, out end_pos)) { var full_match = match_info.fetch (0); var inner_text = match_info.fetch (1); var replacement = pattern.format_template.printf (inner_text); matches.add (MarkupMatch (start_pos, end_pos, full_match, replacement, pattern.priority)); } } while (match_info.next ()); } } private bool is_position_covered_by_priority (Gee.ArrayList matches, int start_pos, int end_pos, int min_priority) { foreach (var match in matches) { if (match.priority <= min_priority && ranges_overlap (match.start_pos, match.end_pos, start_pos, end_pos)) { return true; } } return false; } private bool ranges_overlap (int start1, int end1, int start2, int end2) { return !(end1 <= start2 || end2 <= start1); } private Gee.ArrayList filter_and_sort_matches (Gee.ArrayList matches) { var filtered = new Gee.ArrayList (); matches.sort ((a, b) => { if (a.priority != b.priority) { return a.priority - b.priority; } return a.start_pos - b.start_pos; }); foreach (var current_match in matches) { bool should_add = true; foreach (var existing_match in filtered) { if (ranges_overlap (existing_match.start_pos, existing_match.end_pos, current_match.start_pos, current_match.end_pos)) { should_add = false; break; } } if (should_add) { filtered.add (current_match); } } filtered.sort ((a, b) => b.start_pos - a.start_pos); return filtered; } private string apply_matches (string text, Gee.ArrayList matches) { var result = new StringBuilder (text); foreach (var match in matches) { result.erase (match.start_pos, match.end_pos - match.start_pos); result.insert (match.start_pos, match.replacement); } return result.str; } } alainm23-planify-69962f8/core/Utils/Util.vala000066400000000000000000001256451517337276100207220ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Util : GLib.Object { private static Util? _instance; public static Util get_default () { if (_instance == null) { _instance = new Util (); } return _instance; } /* * Colors Utils */ private Gee.HashMap? colors; public Gee.HashMap get_colors () { if (colors == null) { colors = new Gee.HashMap (); colors.set ("berry_red", new Objects.Color (30, _("Berry Red"), "berry_red", "#c42d78")); colors.set ("red", new Objects.Color (31, _("Red"), "red", "#e23d3d")); colors.set ("orange", new Objects.Color (32, _("Orange"), "orange", "#ff8a2a")); colors.set ("yellow", new Objects.Color (33, _("Yellow"), "yellow", "#f5c400")); colors.set ("olive_green", new Objects.Color (34, _("Olive Green"), "olive_green", "#9cab3a")); colors.set ("lime_green", new Objects.Color (35, _("Lime Green"), "lime_green", "#70c741")); colors.set ("green", new Objects.Color (36, _("Green"), "green", "#27983a")); colors.set ("mint_green", new Objects.Color (37, _("Mint Green"), "mint_green", "#55cbb0")); colors.set ("teal", new Objects.Color (38, _("Teal"), "teal", "#1492b2")); colors.set ("sky_blue", new Objects.Color (39, _("Sky Blue"), "sky_blue", "#139ef7")); colors.set ("light_blue", new Objects.Color (40, _("Light Blue"), "light_blue", "#7fb9e8")); colors.set ("blue", new Objects.Color (41, _("Blue"), "blue", "#3c6dff")); colors.set ("grape", new Objects.Color (42, _("Grape"), "grape", "#7b44e6")); colors.set ("violet", new Objects.Color (43, _("Violet"), "violet", "#a02adb")); colors.set ("lavender", new Objects.Color (44, _("Lavender"), "lavender", "#d89ae8")); colors.set ("magenta", new Objects.Color (45, _("Magenta"), "magenta", "#d6458d")); colors.set ("salmon", new Objects.Color (46, _("Salmon"), "salmon", "#f77c70")); colors.set ("charcoal", new Objects.Color (47, _("Charcoal"), "charcoal", "#666666")); colors.set ("grey", new Objects.Color (48, _("Grey"), "grey", "#a0a0a0")); colors.set ("taupe", new Objects.Color (49, _("Taupe"), "taupe", "#b99780")); } return colors; } public string get_color_name (string key) { return get_colors ().get (key).name; } public string get_color (string ? key) { if (key == null || key == "") { return "#1e63ec"; } if (get_colors ().has_key (key)) { return get_colors ().get (key).hexadecimal; } var rgba = new Gdk.RGBA (); if (rgba.parse (key)) { return key; } return "#1e63ec"; } public string get_random_color () { string returned = "berry_red"; int random = GLib.Random.int_range (30, 50); foreach (var entry in get_colors ().entries) { if (entry.value.id == random) { returned = entry.key; } } return returned; } // Providers private Gee.HashMap? providers; public void set_widget_color (string ? color, Gtk.Widget ? widget) { if (color == null || color == "" || widget == null) { return; } if (providers == null) { providers = new Gee.HashMap (); } if (!providers.has_key (color)) { string style = """ @define-color colorAccent %s; @define-color accent_color %s; """.printf (color, color); var style_provider = new Gtk.CssProvider (); style_provider.load_from_string (style); providers[color] = style_provider; } unowned Gtk.StyleContext style_context = widget.get_style_context (); style_context.add_provider (providers[color], Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION); } public void set_widget_priority (int priority, Gtk.Widget widget) { widget.remove_css_class ("priority-1-color"); widget.remove_css_class ("priority-2-color"); widget.remove_css_class ("priority-3-color"); widget.remove_css_class ("priority-4-color"); if (priority == Constants.PRIORITY_1) { widget.add_css_class ("priority-1-color"); } else if (priority == Constants.PRIORITY_2) { widget.add_css_class ("priority-2-color"); } else if (priority == Constants.PRIORITY_3) { widget.add_css_class ("priority-3-color"); } else if (priority == Constants.PRIORITY_4) { widget.add_css_class ("priority-4-color"); } } public void download_profile_image (string id, string avatar_url) { if (id == null) { return; } var file_path = File.new_for_path (get_avatar_path (id)); var file_from_uri = File.new_for_uri (avatar_url); if (!file_path.query_exists ()) { MainLoop loop = new MainLoop (); file_from_uri.copy_async.begin (file_path, 0, Priority.DEFAULT, null, (current_num_bytes, total_num_bytes) => {}, (obj, res) => { try { if (file_from_uri.copy_async.end (res)) { // Services.EventBus.get_default ().avatar_downloaded (); } } catch (Error e) { debug ("Error: %s\n", e.message); } loop.quit (); }); loop.run (); } } public string get_avatar_path (string id) { return GLib.Path.build_filename ( Environment.get_user_data_dir () + "/io.github.alainm23.planify", id + ".jpg" ); } public string generate_id (Objects.BaseObject? base_object = null) { if (base_object == null) { return Uuid.string_random (); } var collection = Services.Store.instance ().get_collection_by_type (base_object); var id = Uuid.string_random (); if (check_id_exists (collection, id)) { return generate_id (base_object); } return id; } private bool check_id_exists (Gee.ArrayList items, string id) { bool returned = false; foreach (Objects.BaseObject base_object in items) { if (base_object.id == id) { returned = true; break; } } return returned; } public string generate_string () { return generate_id (); } public string get_encode_text (string text) { return text.replace ("&", "%26").replace ("#", "%23"); } public string get_theme_name () { string returned = ""; int appearance_mode = Services.Settings.get_default ().settings.get_enum ("appearance"); switch (appearance_mode) { case 0: returned = _("Light"); break; case 1: returned = _("Dark"); break; case 2: returned = _("Dark Blue"); break; } return returned; } public static string get_user_language () { string[] languages = Intl.get_language_names (); if (languages.length > 0) { string lang = languages[0]; if ("_" in lang) { lang = lang.split ("_")[0]; } else if ("." in lang) { lang = lang.split (".")[0]; } return lang.down (); } return "en"; } public string get_badge_name () { string returned = ""; int badge_count = Services.Settings.get_default ().settings.get_enum ("badge-count"); switch (badge_count) { case 0: returned = _("None"); break; case 1: returned = _("Inbox"); break; case 2: returned = _("Today"); break; case 3: returned = _("Today + Inbox"); break; } return returned; } public void update_theme () { Appearance appearance_mode = Appearance.parse (Services.Settings.get_default ().settings.get_enum ("appearance")); bool dark_mode = Services.Settings.get_default ().settings.get_boolean ("dark-mode"); bool system_appearance = Services.Settings.get_default ().settings.get_boolean ("system-appearance"); var color_scheme_settings = ColorSchemeSettings.Settings.get_default (); if (system_appearance) { dark_mode = color_scheme_settings.prefers_color_scheme == ColorSchemeSettings.Settings.ColorScheme.DARK; } string window_bg_color = ""; string popover_bg_color = ""; string sidebar_bg_color = ""; string item_border_color = ""; string upcoming_bg_color = ""; string upcoming_fg_color = ""; string selected_color = ""; string card_bg_color = ""; if (dark_mode) { if (appearance_mode == Appearance.DARK) { window_bg_color = "#181818"; popover_bg_color = "#202020"; sidebar_bg_color = "#1f1f1f"; item_border_color = "#3a3a3a"; upcoming_bg_color = "#2d2d2d"; upcoming_fg_color = "#f0f0f0"; selected_color = "#2e3a46"; card_bg_color = "#222222"; Adw.StyleManager.get_default ().color_scheme = Adw.ColorScheme.FORCE_DARK; } else if (appearance_mode == Appearance.DARK_BLUE) { window_bg_color = "#0C0D12"; popover_bg_color = "#16171D"; sidebar_bg_color = "#14151a"; item_border_color = "#2d2f35"; upcoming_bg_color = "#2a2d34"; upcoming_fg_color = "#e6e9ef"; selected_color = "#2a303a"; card_bg_color = "#1E2026"; Adw.StyleManager.get_default ().color_scheme = Adw.ColorScheme.FORCE_DARK; } } else { window_bg_color = "#f9f9f9"; popover_bg_color = "#ffffff"; sidebar_bg_color = "#f3f4f6"; item_border_color = "#dcdfe3"; upcoming_bg_color = "#f0f1f3"; upcoming_fg_color = "#2d2e32"; selected_color = "#dbeafe"; card_bg_color = "#ffffff"; Adw.StyleManager.get_default ().color_scheme = Adw.ColorScheme.FORCE_LIGHT; } string css = """ @define-color window_bg_color %s; @define-color popover_bg_color %s; @define-color sidebar_bg_color %s; @define-color item_border_color %s; @define-color upcoming_bg_color %s; @define-color upcoming_fg_color %s; @define-color selected_color %s; @define-color card_bg_color %s; """.printf ( window_bg_color, popover_bg_color, sidebar_bg_color, item_border_color, upcoming_bg_color, upcoming_fg_color, selected_color, card_bg_color ); var provider = new Gtk.CssProvider (); provider.load_from_string (css); Gtk.StyleContext.add_provider_for_display ( Gdk.Display.get_default (), provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION ); Services.EventBus.get_default ().theme_changed (); } public void update_font_scale () { string _css = """ popover, window { font-size: %s%; } """; var provider = new Gtk.CssProvider (); try { string scale = (100 * Services.Settings.get_default ().get_double ("font-scale")).to_string (); var css = _css.printf (scale); provider.load_from_string (css); Gtk.StyleContext.add_provider_for_display ( Gdk.Display.get_default (), provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION ); } catch (GLib.Error e) { debug (e.message); } } /** * Replaces all line breaks with a space and * replaces multiple spaces with a single one. */ private GLib.Regex line_break_to_space_regex = null; public string line_break_to_space (string str) { if (line_break_to_space_regex == null) { try { line_break_to_space_regex = new GLib.Regex ("(^\\s+|\\s+$|\n|\\s\\s+)"); } catch (GLib.RegexError e) { critical (e.message); } } try { return line_break_to_space_regex.replace (str, str.length, 0, " "); } catch (GLib.RegexError e) { warning (e.message); } return str; } private Gtk.MediaFile? _audio_media = null; public void play_audio () { Services.LogService.get_default ().info ("Audio", "Playing task completion sound"); _audio_media = Gtk.MediaFile.for_resource ("/io/github/alainm23/planify/success.ogg"); _audio_media.loop = false; _audio_media.notify["ended"].connect (() => { _audio_media = null; }); _audio_media.play (); } public bool is_input_valid (Gtk.Entry entry) { return entry.get_text_length () > 0; } public bool is_text_valid (string text) { return text.length > 0; } public string get_short_name (string name, int size = Constants.SHORT_NAME_SIZE) { string returned = name; int char_count = name.char_count (); if (char_count > size) { returned = name.substring (0, name.index_of_nth_char (size)) + "…"; } return returned; } public void clear_database (string title, string message, Gtk.Window window) { var dialog = new Adw.AlertDialog (title, message); dialog.body_use_markup = true; dialog.add_response ("cancel", _("Cancel")); dialog.add_response ("delete", _("Delete All")); dialog.set_response_appearance ("delete", Adw.ResponseAppearance.DESTRUCTIVE); dialog.present (window); dialog.response.connect ((response) => { if (response == "delete") { Services.Database.get_default ().clear_database (); Services.Settings.get_default ().reset_settings (); show_alert_destroy (window); } }); } public void show_alert_destroy (Gtk.Window window) { var dialog = new Adw.AlertDialog (null, _("Process completed, you need to start Planify again.")); dialog.add_response ("ok", _("Ok")); dialog.present (window); dialog.response.connect ((response) => { window.destroy (); }); } public int get_default_priority () { int default_priority = Services.Settings.get_default ().settings.get_enum ("default-priority"); int returned = 1; if (default_priority == 0) { returned = 4; } else if (default_priority == 1) { returned = 3; } else if (default_priority == 2) { returned = 2; } else if (default_priority == 3) { returned = 1; } return returned; } public int to_caldav_priority (int priority) { int returned = 1; if (priority == 4) { returned = 1; } else if (priority == 3) { returned = 5; } else if (priority == 2) { returned = 9; } else { returned = 0; } return returned; } /* * Theme Utils */ public bool is_dark_theme () { return Services.Settings.get_default ().settings.get_boolean ("dark-mode"); } public bool is_flatpak () { var is_flatpak = Environment.get_variable ("FLATPAK_ID"); if (is_flatpak != null) { return true; } return false; } public List get_children (Gtk.ListBox list) { List response = new List (); Gtk.ListBoxRow item_row = null; var row_index = 0; do { item_row = list.get_row_at_index (row_index); if (item_row != null) { response.append (item_row); } row_index++; } while (item_row != null); return response; } public List get_flowbox_children (Gtk.FlowBox list) { List response = new List (); Gtk.FlowBoxChild item_row = null; var row_index = 0; do { item_row = list.get_child_at_index (row_index); if (item_row != null) { response.append (item_row); } row_index++; } while (item_row != null); return response; } public Adw.Toast create_toast (string title, uint timeout = 2, Adw.ToastPriority priority = Adw.ToastPriority.NORMAL) { var toast = new Adw.Toast (title); toast.timeout = timeout; toast.priority = priority; return toast; } public Objects.Source create_local_source () { Objects.Source local_source = new Objects.Source (); local_source.id = SourceType.LOCAL.to_string (); local_source.source_type = SourceType.LOCAL; local_source.display_name = _("On This Computer"); Services.Store.instance ().insert_source (local_source); return local_source; } public Objects.Project create_inbox_project () { Objects.Project inbox_project = new Objects.Project (); inbox_project.source_id = SourceType.LOCAL.to_string (); inbox_project.id = Util.get_default ().generate_id (inbox_project); inbox_project.name = _("Inbox"); inbox_project.inbox_project = true; inbox_project.color = "blue"; Services.Store.instance ().insert_project (inbox_project); Services.Settings.get_default ().settings.set_string ("local-inbox-project-id", inbox_project.id); return inbox_project; } public void create_tutorial_project () { Objects.Project project = new Objects.Project (); project.id = Util.get_default ().generate_id (project); project.source_id = SourceType.LOCAL.to_string (); project.icon_style = ProjectIconStyle.EMOJI; project.emoji = "🚀�"; project.name = _("Meet Planify"); project.color = "blue"; project.show_completed = true; project.description = _("This project shows you everything you need to know to hit the ground running. Don’t hesitate to play around with it – you can always recreate it from Preferences."); Services.Store.instance ().insert_project (project); var item_01 = new Objects.Item (); item_01.id = Util.get_default ().generate_id (item_01); item_01.project_id = project.id; item_01.content = _("Tap this task"); item_01.description = _("You're looking at a to-do! Complete it by tapping the checkbox on the left. "); var item_02 = new Objects.Item (); item_02.id = Util.get_default ().generate_id (item_02); item_02.project_id = project.id; item_02.content = _("Create a new task"); item_02.description = _("Now it's your turn! Tap the '+' button at the bottom of your project, enter a task description, and tap the 'Add Task' button."); var item_03 = new Objects.Item (); item_03.id = Util.get_default ().generate_id (item_03); item_03.project_id = project.id; item_03.content = _("Plan this to-do for today or later"); item_03.description = _("Tap the calendar button at the bottom to decide when to complete this to-do."); var item_04 = new Objects.Item (); item_04.id = Util.get_default ().generate_id (item_04); item_04.project_id = project.id; item_04.content = _("Reorder your to-dos"); item_04.description = _("To reorder your list, tap and hold a to-do, then drag it to where it should go."); var item_05 = new Objects.Item (); item_05.id = Util.get_default ().generate_id (item_05); item_05.project_id = project.id; item_05.content = _("Create a project"); item_05.description = _("Organize your to-dos better! Go to the left panel and click the '+' button in the 'On This Computer' section and add a project of your own."); var item_06 = new Objects.Item (); item_06.id = Util.get_default ().generate_id (item_06); item_06.project_id = project.id; item_06.content = _("You’re done!"); item_06.description = _("""That’s all you really need to know. Feel free to start adding your own projects and to-dos. You can come back to this project later to learn the advanced features below. We hope you’ll enjoy using Planify!"""); project.add_item_if_not_exists (item_01); project.add_item_if_not_exists (item_02); project.add_item_if_not_exists (item_03); project.add_item_if_not_exists (item_04); project.add_item_if_not_exists (item_05); project.add_item_if_not_exists (item_06); var section_01 = new Objects.Section (); section_01.id = Util.get_default ().generate_id (section_01); section_01.project_id = project.id; section_01.name = _("Tune your setup"); project.add_section_if_not_exists (section_01); var item_02_01 = new Objects.Item (); item_02_01.id = Util.get_default ().generate_id (item_02_01); item_02_01.project_id = project.id; item_02_01.section_id = section_01.id; item_02_01.content = _("Show your calendar events"); item_02_01.description = _("You can display your system's calendar events in Planify. Go to 'Preferences' 🡒 General 🡒 Calendar Events to turn it on."); var item_02_02 = new Objects.Item (); item_02_02.id = Util.get_default ().generate_id (item_02_02); item_02_02.project_id = project.id; item_02_02.section_id = section_01.id; item_02_02.content = _("Enable synchronization with third-party services"); item_02_02.description = _("Planify not only creates tasks locally, but can also synchronize with your Todoist account. Go to 'Preferences' 🡒 'Accounts'."); section_01.add_item_if_not_exists (item_02_01); section_01.add_item_if_not_exists (item_02_02); var section_02 = new Objects.Section (); section_02.id = Util.get_default ().generate_id (section_01); section_02.project_id = project.id; section_02.name = _("Boost your productivity"); project.add_section_if_not_exists (section_02); var item_03_01 = new Objects.Item (); item_03_01.id = Util.get_default ().generate_id (item_03_01); item_03_01.project_id = project.id; item_03_01.section_id = section_02.id; item_03_01.content = _("Drag the plus button!"); item_03_01.description = _("That blue button you see at the bottom of each screen is more powerful than it looks: it's made to move! Drag it up to create a task wherever you want."); var item_03_02 = new Objects.Item (); item_03_02.id = Util.get_default ().generate_id (item_03_02); item_03_02.project_id = project.id; item_03_02.section_id = section_02.id; item_03_02.content = _("Add labels to your tasks!"); item_03_02.description = _("Labels help you organize and categorize your tasks. To add a label, click the label button at the bottom."); var item_03_03 = new Objects.Item (); item_03_03.id = Util.get_default ().generate_id (item_03_03); item_03_03.project_id = project.id; item_03_03.section_id = section_02.id; item_03_03.content = _("Set timely reminders!"); item_03_03.description = _("Get notified about important tasks or events. Tap the clock button below to add a reminder."); section_02.add_item_if_not_exists (item_03_01); section_02.add_item_if_not_exists (item_03_02); section_02.add_item_if_not_exists (item_03_03); } public void create_default_labels () { var label_01 = new Objects.Label (); label_01.id = Util.get_default ().generate_id (label_01); label_01.source_id = SourceType.LOCAL.to_string (); label_01.name = _("💼�Work"); label_01.color = "taupe"; var label_02 = new Objects.Label (); label_02.id = Util.get_default ().generate_id (label_02); label_02.source_id = SourceType.LOCAL.to_string (); label_02.name = _("🎒�School"); label_02.color = "berry_red"; var label_03 = new Objects.Label (); label_03.id = Util.get_default ().generate_id (label_03); label_03.source_id = SourceType.LOCAL.to_string (); label_03.name = _("👉�Delegated"); label_03.color = "yellow"; var label_04 = new Objects.Label (); label_04.id = Util.get_default ().generate_id (label_04); label_04.source_id = SourceType.LOCAL.to_string (); label_04.name = _("��Home"); label_04.color = "lime_green"; var label_05 = new Objects.Label (); label_05.id = Util.get_default ().generate_id (label_05); label_05.source_id = SourceType.LOCAL.to_string (); label_05.name = _("��♀��Follow Up"); label_05.color = "grey"; Services.Store.instance ().insert_label (label_01); Services.Store.instance ().insert_label (label_02); Services.Store.instance ().insert_label (label_03); Services.Store.instance ().insert_label (label_04); Services.Store.instance ().insert_label (label_05); } public string markup_accel_tooltip (string description, string accel) { return "%s\n%s".printf (description, """%s""".printf (accel)); } public string markup_accels_tooltip (string description, string[] accels) { string result = "%s\n".printf (description); for (int index = 0; index < accels.length; index++) { string accel = """%s""".printf (accels[index]); if (index < accels.length - 1) { result += accel + ", "; } else { result += accel; } } return result; } /* * XML adn CakDAV Util */ public static string find_string_value (string key, string data) { if (key == null || data == null) { return ""; } GLib.Regex? regex = null; GLib.MatchInfo match; try { regex = new GLib.Regex ("%s:(.*)".printf (key)); } catch (GLib.RegexError e) { critical (e.message); } if (regex == null) { return ""; } if (!regex.match (data.strip (), 0, out match)) { return ""; } return match.fetch_all ()[1]; } public static bool find_boolean_value (string key, string data) { GLib.Regex? regex = null; GLib.MatchInfo match; try { regex = new GLib.Regex ("%s:(.*)".printf (key)); } catch (GLib.RegexError e) { critical (e.message); } if (regex == null) { return false; } if (!regex.match (data, 0, out match)) { return false; } return bool.parse (match.fetch_all () [1]); } public static string generate_extra_data (string ical_url, string etag, string data) { var builder = new Json.Builder (); builder.begin_object (); builder.set_member_name ("ical_url"); builder.add_string_value (ical_url); builder.set_member_name ("etag"); builder.add_string_value (etag); builder.set_member_name ("calendar-data"); builder.add_string_value (data); builder.end_object (); Json.Generator generator = new Json.Generator (); Json.Node root = builder.get_root (); generator.set_root (root); return generator.to_data (null); } public async void move_backend_type_item (Objects.Item item, Objects.Project target_project, string parent_id = "", bool notify = true) { var new_item = item.duplicate (); new_item.project_id = target_project.id; new_item.parent_id = parent_id; item.loading = true; item.sensitive = false; if (target_project.source_type == SourceType.LOCAL) { new_item.id = Util.get_default ().generate_id (new_item); yield add_final_duplicate_item (new_item, item, notify); } else if (target_project.source_type == SourceType.TODOIST) { HttpResponse response = yield Services.Todoist.get_default ().add (new_item); item.loading = false; if (response.status) { new_item.id = response.data; yield add_final_duplicate_item (new_item, item, notify); } } else if (target_project.source_type == SourceType.CALDAV) { new_item.id = Util.get_default ().generate_id (new_item); var caldav_client = Services.CalDAV.Core.get_default ().get_client (new_item.project.source); HttpResponse response = yield caldav_client.add_item (new_item); item.loading = false; if (response.status) { yield add_final_duplicate_item (new_item, item, notify); } } } public async void add_final_duplicate_item (Objects.Item new_item, Objects.Item item, bool notify = true) { if (new_item.has_parent) { new_item.parent.add_item_if_not_exists (new_item); } else { new_item.project.add_item_if_not_exists (new_item); } foreach (Objects.Reminder reminder in item.reminders) { var _reminder = reminder.duplicate (); _reminder.id = Util.get_default ().generate_id (_reminder); _reminder.item_id = new_item.id; new_item.add_reminder_if_not_exists (_reminder); } foreach (Objects.Attachment attachment in item.attachments) { var _attachment = attachment.duplicate (); _attachment.id = Util.get_default ().generate_id (); _attachment.item_id = new_item.id; new_item.add_attachment_if_not_exists (_attachment); } foreach (Objects.Item subitem in item.items) { yield move_backend_type_item (subitem, new_item.project, new_item.id, false); } if (notify) { Services.EventBus.get_default ().send_toast ( create_toast (_("Moved to %s".printf (new_item.project.name))) ); } item.delete_item (); } public async void duplicate_item (Objects.Item item, string project_id, string section_id = "", string parent_id = "", bool notify = true) { var new_item = item.duplicate (); new_item.project_id = project_id; new_item.section_id = section_id; new_item.parent_id = parent_id; item.loading = true; item.sensitive = false; if (item.project.source_type == SourceType.LOCAL) { new_item.id = Util.get_default ().generate_id (new_item); item.loading = false; item.sensitive = true; yield insert_duplicate_item (new_item, item, notify); } else if (item.project.source_type == SourceType.TODOIST) { HttpResponse response = yield Services.Todoist.get_default ().add (new_item); item.loading = false; item.sensitive = true; if (response.status) { new_item.id = response.data; yield insert_duplicate_item (new_item, item, notify); } } else if (item.project.source_type == SourceType.CALDAV) { new_item.id = Util.get_default ().generate_id (new_item); var caldav_client = Services.CalDAV.Core.get_default ().get_client (new_item.project.source); HttpResponse response = yield caldav_client.add_item (new_item); item.loading = false; item.sensitive = true; if (response.status) { yield insert_duplicate_item (new_item, item, notify); } } } private async void insert_duplicate_item (Objects.Item new_item, Objects.Item item, bool notify = true) { if (new_item.has_parent) { new_item.parent.add_item_if_not_exists (new_item); } else { if (new_item.section_id != "") { new_item.section.add_item_if_not_exists (new_item); } else { new_item.project.add_item_if_not_exists (new_item); } } Services.EventBus.get_default ().update_section_sort_func (new_item.project_id, new_item.section_id, false); foreach (Objects.Reminder reminder in item.reminders) { var _reminder = reminder.duplicate (); _reminder.id = Util.get_default ().generate_id (_reminder); _reminder.item_id = new_item.id; new_item.add_reminder_if_not_exists (_reminder); } foreach (Objects.Attachment attachment in item.attachments) { var _attachment = attachment.duplicate (); _attachment.id = Util.get_default ().generate_id (); _attachment.item_id = new_item.id; new_item.add_attachment_if_not_exists (_attachment); } foreach (Objects.Item subitem in item.items) { yield duplicate_item (subitem, new_item.project_id, new_item.section_id, new_item.id, notify); } if (notify) { Services.EventBus.get_default ().send_toast ( Util.get_default ().create_toast (_("Task duplicated")) ); } } public async void duplicate_section (Objects.Section section, string project_id, bool notify = true) { var new_section = section.duplicate (); new_section.project_id = project_id; section.loading = true; section.sensitive = false; if (new_section.project.source_type == SourceType.LOCAL) { new_section.id = Util.get_default ().generate_id (new_section); yield insert_duplicate_section (new_section, section, notify); } else if (new_section.project.source_type == SourceType.TODOIST) { HttpResponse response = yield Services.Todoist.get_default ().add (new_section); if (response.status) { new_section.id = response.data; yield insert_duplicate_section (new_section, section, notify); } } } private async void insert_duplicate_section (Objects.Section new_section, Objects.Section section, bool notify = true) { new_section.project.add_section_if_not_exists (new_section); foreach (Objects.Item item in section.items) { yield duplicate_item (item, new_section.project_id, new_section.id, item.parent_id, false); } section.loading = false; section.sensitive = true; if (notify) { Services.EventBus.get_default ().send_toast ( Util.get_default ().create_toast (_("Section duplicated")) ); } } public async void duplicate_project (Objects.Project project, string parent_id = "") { var new_project = project.duplicate (); new_project.parent_id = parent_id; project.loading = true; if (project.source_type == SourceType.LOCAL) { new_project.id = Util.get_default ().generate_id (new_project); Services.Store.instance ().insert_project (new_project); foreach (Objects.Item item in project.items) { yield duplicate_item (item, new_project.id, item.section_id, item.parent_id, false); } foreach (Objects.Section section in project.sections) { yield duplicate_section (section, new_project.id, false); } project.loading = false; Services.EventBus.get_default ().send_toast ( Util.get_default ().create_toast (_("Project duplicated")) ); } else if (project.source_type == SourceType.TODOIST) { Services.Todoist.get_default ().duplicate_project.begin (project, (obj, res) => { project.loading = false; if (Services.Todoist.get_default ().duplicate_project.end (res).status) { Services.Todoist.get_default ().sync.begin (project.source); } }); } else if (project.source_type == SourceType.CALDAV) { new_project.id = Util.get_default ().generate_id (new_project); var caldav_client = Services.CalDAV.Core.get_default ().get_client (new_project.source); HttpResponse response = yield caldav_client.create_project (new_project); if (response.status) { Services.Store.instance ().insert_project (new_project); foreach (Objects.Item item in project.items) { yield duplicate_item (item, new_project.id, "", item.parent_id, false); } project.loading = false; Services.EventBus.get_default ().send_toast ( Util.get_default ().create_toast (_("Project duplicated")) ); } } } public static int get_reminders_mm_offset () { int value = Services.Settings.get_default ().settings.get_enum ("automatic-reminders"); int return_value = 0; switch (value) { case 0: return_value = 0; break; case 1: return_value = 10; break; case 2: return_value = 30; break; case 3: return_value = 45; break; case 4: return_value = 60; break; case 5: return_value = 120; break; case 6: return_value = 180; break; } return return_value; } public static string get_reminders_mm_offset_text (int value) { string return_value = ""; switch (value) { case 0: return_value = _("At due time"); break; case 10: return_value = _("10 minutes before"); break; case 30: return_value = _("30 minutes before"); break; case 45: return_value = _("45 minutes before"); break; case 60: return_value = _("1 hour before"); break; case 120: return_value = _("2 hours before"); break; case 180: return_value = _("3 hours before"); break; } return return_value; } // https://wiki.gnome.org/Projects/Vala/AsyncSamples#Async_sleep_example public static async void nap (uint interval, int priority = GLib.Priority.DEFAULT) { GLib.Timeout.add (interval, () => { nap.callback (); return false; }, priority); yield; } public int natural_compare (string a, string b) { Regex regex; try { regex = new Regex ("(\\d+)|(\\D+)"); MatchInfo ma = null; MatchInfo mb = null; if (!regex.match_full (a, a.length, 0, 0, out ma) || !regex.match_full (b, b.length, 0, 0, out mb)) { return a.collate (b); } while (ma.matches () && mb.matches ()) { string part_a = ma.fetch (0); string part_b = mb.fetch (0); if (Regex.match_simple ("^\\d+$", part_a, 0, 0) && Regex.match_simple ("^\\d+$", part_b, 0, 0)) { int na = int.parse (part_a); int nb = int.parse (part_b); if (na != nb) return na - nb; } else { int result = part_a.collate (part_b); if (result != 0) return result; } if (!ma.next () || !mb.next ()) break; } return a.collate (b); } catch (RegexError e) { return a.collate (b); } } public int set_item_sort_func (Objects.Item item1, Objects.Item item2, SortedByType sorted_by, SortOrderType sort_order) { int result = 0; if (sorted_by == SortedByType.MANUAL) { result = item1.child_order - item2.child_order; } else if (sorted_by == SortedByType.NAME) { string content1 = item1.content ?? ""; string content2 = item2.content ?? ""; result = natural_compare (content1.strip (), content2.strip ()); } else if (sorted_by == SortedByType.DUE_DATE) { if (item1.has_due && item2.has_due) { var date1 = item1.due.datetime; var date2 = item2.due.datetime; result = date1.compare (date2); if (result == 0) { result = item2.priority - item1.priority; } } else if (!item1.has_due && item2.has_due) { result = 1; } else if (item1.has_due && !item2.has_due) { result = -1; } } else if (sorted_by == SortedByType.ADDED_DATE) { result = item1.added_datetime.compare (item2.added_datetime); } else if (sorted_by == SortedByType.PRIORITY) { result = item2.priority - item1.priority; if (result == 0) { result = item1.added_datetime.compare (item2.added_datetime); } } return sort_order == SortOrderType.ASC ? result : -result; } } alainm23-planify-69962f8/core/Widgets/000077500000000000000000000000001517337276100174315ustar00rootroot00000000000000alainm23-planify-69962f8/core/Widgets/Calendar/000077500000000000000000000000001517337276100211425ustar00rootroot00000000000000alainm23-planify-69962f8/core/Widgets/Calendar/Calendar.vala000066400000000000000000000117041517337276100235230ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.Calendar.Calendar : Gtk.Box { private Widgets.Calendar.CalendarHeader calendar_header; private Widgets.Calendar.CalendarWeek calendar_week; private Widgets.Calendar.CalendarView calendar_view; public bool block_past_days { get; construct; } private int month_nav; private int year_nav; private int day_nav; GLib.DateTime _current_date; public GLib.DateTime current_date { get { _current_date = new GLib.DateTime.now_local (); return _current_date; } } GLib.DateTime _date; public GLib.DateTime? date { set { _date = value; if (_date != null) { view_date (_date); } } get { return _date; } } public signal void day_selected (); private Gee.HashMap signal_map = new Gee.HashMap (); public Calendar (bool block_past_days = Constants.BLOCK_PAST_DAYS) { Object ( block_past_days: block_past_days, orientation: Gtk.Orientation.VERTICAL ); } ~Calendar () { debug ("Destroying - Widgets.Calendar.Calendar\n"); } construct { calendar_header = new Widgets.Calendar.CalendarHeader (); calendar_week = new Widgets.Calendar.CalendarWeek (); calendar_view = new Widgets.Calendar.CalendarView (); append (calendar_header); append (calendar_week); append (calendar_view); today (); signal_map[calendar_header.left_clicked.connect (() => { previous_month (); })] = calendar_header; signal_map[calendar_header.center_clicked.connect (() => { today (); })] = calendar_header; signal_map[calendar_header.right_clicked.connect (() => { next_month (); })] = calendar_header; signal_map[calendar_view.day_selected.connect ((day) => { day_nav = day; _date = new DateTime.local (year_nav, month_nav, day_nav, 0, 0, 0); day_selected (); })] = calendar_view; Services.Settings.get_default ().settings.changed["start-week"].connect (() => { calendar_week.update (); today (); }); destroy.connect (() => { clean_up (); }); } public void next_month () { month_nav = month_nav + 1; if (month_nav > 12) { year_nav = year_nav + 1; month_nav = 1; } var date = new GLib.DateTime.local (year_nav, month_nav, 1, 0, 0, 0); fill_days (date); } public void previous_month () { month_nav = month_nav - 1; if (month_nav < 1) { year_nav = year_nav - 1; month_nav = 12; } var date = new GLib.DateTime.local (year_nav, month_nav, 1, 0, 0, 0); fill_days (date); } private void today () { year_nav = current_date.get_year (); month_nav = current_date.get_month (); day_nav = current_date.get_day_of_month (); fill_days (current_date); } private void view_date (GLib.DateTime date) { if (date == null) { return; } year_nav = date.get_year (); month_nav = date.get_month (); day_nav = date.get_day_of_month (); fill_days (date, true); } private void fill_days (GLib.DateTime date, bool show_day = false) { var firts_week = new DateTime.local (year_nav, month_nav, 1, 0, 0, 0); int start_day = firts_week.get_day_of_week () - Services.Settings.get_default ().settings.get_enum ("start-week"); if (start_day < 0) { start_day += 7; } start_day = (start_day + 7) % 7; int max_days = Utils.Datetime.get_days_of_month (date.get_month (), year_nav); calendar_view.fill_grid_days (start_day, max_days, date, show_day, block_past_days); calendar_header.date = date; } public void reset () { calendar_view.clear_style (); } public void clean_up () { calendar_view.clean_up (); } } alainm23-planify-69962f8/core/Widgets/Calendar/CalendarDay.vala000066400000000000000000000060561517337276100241650ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.Calendar.CalendarDay : Adw.Bin { private Gtk.Label day_label; private Gtk.Label month_label; private Gtk.Button button; private ulong button_clicked_id = 0; int _day; public int day { set { _day = value; day_label.label = _day.to_string (); update_accessible_label (); } get { return _day; } } private GLib.DateTime _date; public GLib.DateTime date { set { _date = value; update_accessible_label (); } get { return _date; } } public bool show_month { set { month_label.visible = value; if (value && _date != null) { month_label.label = _date.format ("%b"); } } } public signal void day_selected (); public CalendarDay () { Object ( halign: Gtk.Align.CENTER, valign: Gtk.Align.CENTER ); } construct { month_label = new Gtk.Label (null) { css_classes = { "caption", "dimmed" }, visible = false }; day_label = new Gtk.Label (null); var box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { halign = CENTER, valign = CENTER }; box.append (month_label); box.append (day_label); button = new Gtk.Button () { child = box, css_classes = { "flat", "calendar-day" } }; child = button; button_clicked_id = button.clicked.connect (() => { day_selected (); button.add_css_class ("selected"); }); } public void add_day_css_class (string css_class) { day_label.add_css_class (css_class); } private void update_accessible_label () { if (_date != null && _day > 0) { var accessible_text = _date.format (_("%A, %B %e, %Y")); button.update_property (Gtk.AccessibleProperty.LABEL, accessible_text, -1); } } public void clean_up () { if (button_clicked_id != 0) { button.disconnect (button_clicked_id); button_clicked_id = 0; } } } alainm23-planify-69962f8/core/Widgets/Calendar/CalendarHeader.vala000066400000000000000000000075011517337276100246340ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.Calendar.CalendarHeader : Gtk.Box { private Gtk.Label month_label; private Gtk.Label year_label; private Gtk.Button left_button; private Gtk.Button right_button; private Gtk.Button center_button; public signal void left_clicked (); public signal void right_clicked (); public signal void center_clicked (); public GLib.DateTime date { set { month_label.label = value.format (_("%OB")); year_label.label = value.format (_("%Y")); update_button_labels (value); } } public CalendarHeader () { Object ( hexpand: true, orientation: Gtk.Orientation.HORIZONTAL, valign: Gtk.Align.CENTER ); } ~CalendarHeader () { debug ("Destroying - Widgets.Calendar.CalendarHeader\n"); } construct { month_label = new Gtk.Label (new GLib.DateTime.now_local ().format (_("%OB"))); month_label.add_css_class ("font-bold"); year_label = new Gtk.Label (new GLib.DateTime.now_local ().format (_("%Y"))); year_label.add_css_class ("font-bold"); year_label.add_css_class ("primary-color"); left_button = new Gtk.Button.from_icon_name ("pan-start-symbolic") { valign = Gtk.Align.CENTER, css_classes = { "flat" }, tooltip_text = _("Back") }; left_button.update_property (Gtk.AccessibleProperty.LABEL, _("Previous month"), -1); right_button = new Gtk.Button.from_icon_name ("pan-end-symbolic") { valign = Gtk.Align.CENTER, css_classes = { "flat" }, tooltip_text = _("Forward") }; right_button.update_property (Gtk.AccessibleProperty.LABEL, _("Next month"), -1); var date_grid = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6); date_grid.append (month_label); date_grid.append (year_label); center_button = new Gtk.Button () { valign = Gtk.Align.CENTER, hexpand = true, tooltip_text = _("Today") }; center_button.add_css_class ("flat"); center_button.can_focus = false; center_button.child = date_grid; append (center_button); append (left_button); append (right_button); left_button.clicked.connect (() => { left_clicked (); }); right_button.clicked.connect (() => { right_clicked (); }); center_button.clicked.connect (() => { center_clicked (); }); } private void update_button_labels (GLib.DateTime date) { var prev_month = date.add_months (-1); var next_month = date.add_months (1); left_button.update_property (Gtk.AccessibleProperty.LABEL, _("Previous month, %s").printf (prev_month.format (_("%B %Y"))), -1); right_button.update_property (Gtk.AccessibleProperty.LABEL, _("Next month, %s").printf (next_month.format (_("%B %Y"))), -1); } } alainm23-planify-69962f8/core/Widgets/Calendar/CalendarMonth.vala000066400000000000000000000157211517337276100245340ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.Calendar.CalendarMonth : Gtk.Box { private Widgets.Calendar.CalendarWeek calendar_week; private Gtk.Grid days_grid; private Gee.ArrayList days_arraylist; private Widgets.ContextMenu.MenuItem date_item; private const int TOTAL_DAYS = 21; // 3 weeks private GLib.DateTime _current_date; public GLib.DateTime current_date { get { var today = new GLib.DateTime.now_local (); _current_date = new DateTime.local ( today.get_year (), today.get_month (), today.get_day_of_month (), 0, 0, 0 ); return _current_date; } } private GLib.DateTime _date; public GLib.DateTime? date { set { _date = value; if (_date != null) { select_date (_date); } } get { return _date; } } public signal void day_selected (); public signal void choose_date_clicked (); private Gee.HashMap signals_map = new Gee.HashMap (); public CalendarMonth () { Object ( orientation: Gtk.Orientation.VERTICAL ); } ~CalendarMonth () { debug ("Destroying - Widgets.Calendar.CalendarMonth\n"); } construct { calendar_week = new Widgets.Calendar.CalendarWeek (); days_arraylist = new Gee.ArrayList (); days_grid = new Gtk.Grid () { column_homogeneous = true, row_homogeneous = true, margin_start = 6, margin_end = 6 }; date_item = new Widgets.ContextMenu.MenuItem (_("Choose a date"), "month-symbolic") { arrow = true, autohide_popover = false, margin_top = 3 }; append (calendar_week); append (days_grid); append (date_item); fill_days (); Services.EventBus.get_default ().day_changed.connect (() => { fill_days (); if (_date != null) { select_date (_date); } }); Services.Settings.get_default ().settings.changed["start-week"].connect (() => { calendar_week.update (); fill_days (); }); destroy.connect (() => { clean_up (); }); date_item.clicked.connect (() => { choose_date_clicked (); }); } private void fill_days () { for (int i = days_arraylist.size - 1; i >= 0; i--) { days_grid.remove (days_arraylist[i]); days_arraylist[i].clean_up (); } days_arraylist.clear (); var today = current_date; int start_week = Services.Settings.get_default ().settings.get_enum ("start-week"); // Calculate starting column for today // get_day_of_week(): 1=Monday...7=Sunday // start_week: 0=Sunday, 1=Monday...6=Saturday int today_dow = today.get_day_of_week () % 7; // Sunday=0, Monday=1...Saturday=6 int col = (today_dow - start_week + 7) % 7; int row = 0; for (int i = 0; i < TOTAL_DAYS; i++) { var day_datetime = today.add_days (i); var calendar_day = new Widgets.Calendar.CalendarDay (); calendar_day.day = day_datetime.get_day_of_month (); calendar_day.date = day_datetime; calendar_day.tooltip_text = Utils.Datetime.get_relative_date_from_date (day_datetime); if (i == 0) { calendar_day.child.add_css_class ("today"); } // Show short month name on first day of next month if (day_datetime.get_day_of_month () == 1 && day_datetime.get_month () != today.get_month ()) { calendar_day.show_month = true; calendar_day.add_day_css_class ("caption"); } signals_map[calendar_day.day_selected.connect (() => { day_selected_style (calendar_day); })] = calendar_day; days_grid.attach (calendar_day, col, row, 1, 1); days_arraylist.add (calendar_day); col++; if (col >= 7) { col = 0; row++; } } } private void day_selected_style (Widgets.Calendar.CalendarDay selected_day) { _date = selected_day.date; day_selected (); foreach (var day_item in days_arraylist) { day_item.child.remove_css_class ("selected"); } selected_day.child.add_css_class ("selected"); } private void select_date (GLib.DateTime date) { var today = current_date; var max_date = today.add_days (TOTAL_DAYS - 1); bool is_in_range = date.compare (today) >= 0 && date.compare (max_date) <= 0; if (is_in_range) { date_item.title = _("Choose a date"); foreach (var day_item in days_arraylist) { day_item.child.remove_css_class ("selected"); if (day_item.date.get_year () == date.get_year () && day_item.date.get_month () == date.get_month () && day_item.date.get_day_of_month () == date.get_day_of_month ()) { day_item.child.add_css_class ("selected"); } } } else { date_item.title = Utils.Datetime.get_default_date_format_from_date (date); foreach (var day_item in days_arraylist) { day_item.child.remove_css_class ("selected"); } } } public void reset () { date_item.title = _("Choose a date"); foreach (var day_item in days_arraylist) { day_item.child.remove_css_class ("selected"); } } public void clean_up () { foreach (var item in days_arraylist) { item.clean_up (); } foreach (var entry in signals_map.entries) { if (SignalHandler.is_connected (entry.value, entry.key)) { entry.value.disconnect (entry.key); } } signals_map.clear (); } } alainm23-planify-69962f8/core/Widgets/Calendar/CalendarScroll.vala000066400000000000000000000242141517337276100247020ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.Calendar.CalendarScroll : Adw.Bin { private Gtk.ScrolledWindow scrolled_window; private Gtk.Box content_box; private Gee.ArrayList month_sections; private int loaded_months = 0; private GLib.DateTime _date; public GLib.DateTime ? date { set { _date = value; if (_date != null) { select_date (_date); } } get { return _date; } } public signal void day_selected (); construct { month_sections = new Gee.ArrayList (); content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 12); scrolled_window = new Gtk.ScrolledWindow () { hscrollbar_policy = Gtk.PolicyType.NEVER, vscrollbar_policy = Gtk.PolicyType.AUTOMATIC, child = content_box, height_request = 300 }; child = scrolled_window; load_initial_months (); scrolled_window.vadjustment.value_changed.connect (() => { if (scrolled_window.vadjustment.value + scrolled_window.vadjustment.page_size >= scrolled_window.vadjustment.upper - 100) { load_more_months (); } }); } private void load_initial_months () { var today = new GLib.DateTime.now_local (); add_month_section (today, true); for (int i = 1; i <= 2; i++) { var next_month = today.add_months (i); add_month_section (next_month, false); } loaded_months = 3; } private void load_more_months () { var today = new GLib.DateTime.now_local (); for (int i = 0; i < 2; i++) { var next_month = today.add_months (loaded_months); add_month_section (next_month, false); loaded_months++; } } private void add_month_section (GLib.DateTime month_date, bool from_today) { var section = new MonthSection (month_date, from_today); section.day_selected.connect ((date) => { _date = date; update_selection (); day_selected (); }); content_box.append (section); month_sections.add (section); } private void select_date (GLib.DateTime date) { ensure_month_loaded (date); update_selection (); scroll_to_date (date); } private void ensure_month_loaded (GLib.DateTime target_date) { var today = new GLib.DateTime.now_local (); int months_diff = (target_date.get_year () - today.get_year ()) * 12 + (target_date.get_month () - today.get_month ()); if (months_diff < 0) { return; } while (loaded_months <= months_diff) { var next_month = today.add_months (loaded_months); add_month_section (next_month, false); loaded_months++; } } private void scroll_to_date (GLib.DateTime target_date) { var today = new GLib.DateTime.now_local (); int target_month_index = (target_date.get_year () - today.get_year ()) * 12 + (target_date.get_month () - today.get_month ()); if (target_month_index < 0 || target_month_index >= month_sections.size) { return; } var target_section = month_sections[target_month_index]; Idle.add (() => { double target_y = target_section.get_allocated_height () * target_month_index; double center_offset = (scrolled_window.vadjustment.page_size - target_section.get_allocated_height ()) / 2; scrolled_window.vadjustment.value = double.max (0, target_y - center_offset); return false; }); } private void update_selection () { foreach (var section in month_sections) { section.update_selection (_date); } } public void reset () { _date = null; update_selection (); } public void scroll_to_selected_date () { if (_date != null) { scroll_to_date (_date); } } private class MonthSection : Adw.Bin { public GLib.DateTime month_date { get; construct; } public bool from_today { get; construct; } private Gtk.Label month_label; private Widgets.Calendar.CalendarWeek calendar_week; private Gtk.Grid days_grid; private Gee.ArrayList day_items; public signal void day_selected (GLib.DateTime date); public MonthSection (GLib.DateTime month_date, bool from_today) { Object ( month_date: month_date, from_today: from_today ); } construct { day_items = new Gee.ArrayList (); month_label = new Gtk.Label (null) { halign = Gtk.Align.START, css_classes = { "font-bold" }, margin_start = 9 }; calendar_week = new Widgets.Calendar.CalendarWeek () { margin_horizontal = 0, margin_top = 3, margin_bottom = 0 }; days_grid = new Gtk.Grid () { column_homogeneous = true, row_homogeneous = true }; var main_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 6) { margin_start = 6, margin_end = 6 }; main_box.append (month_label); main_box.append (calendar_week); main_box.append (days_grid); main_box.append (new Gtk.Separator (Gtk.Orientation.HORIZONTAL) { margin_start = 6, margin_end = 6 }); child = main_box; fill_days (); } private void fill_days () { var today = new GLib.DateTime.now_local (); var current_year = today.get_year (); var month_year = month_date.get_year (); if (current_year == month_year) { month_label.label = month_date.format ("%B"); } else { month_label.label = month_date.format ("%B %Y"); } int start_day = from_today ? today.get_day_of_month () : 1; int max_days = Utils.Datetime.get_days_of_month (month_date.get_month (), month_date.get_year ()); int start_week = Services.Settings.get_default ().settings.get_enum ("start-week"); var first_day_date = new DateTime.local ( month_date.get_year (), month_date.get_month (), start_day, 0, 0, 0 ); int day_of_week = first_day_date.get_day_of_week () % 7; // Sunday=0, Monday=1...Saturday=6 int col = (day_of_week - start_week + 7) % 7; int row = 0; for (int i = 0; i < col; i++) { days_grid.attach (new Gtk.Label (null), i, 0, 1, 1); } for (int day = start_day; day <= max_days; day++) { var day_datetime = new DateTime.local ( month_date.get_year (), month_date.get_month (), day, 0, 0, 0 ); var day_item = new DayItem (day, day_datetime); day_item.clicked.connect (() => { day_selected (day_item.date); }); days_grid.attach (day_item, col, row, 1, 1); day_items.add (day_item); col++; if (col >= 7) { col = 0; row++; } } } public void update_selection (GLib.DateTime ? selected_date) { foreach (var item in day_items) { item.update_selection (selected_date); } } } private class DayItem : Adw.Bin { public int day { get; construct; } public GLib.DateTime date { get; construct; } private Gtk.Button button; public signal void clicked (); public DayItem (int day, GLib.DateTime date) { Object ( day: day, date: date, halign: Gtk.Align.CENTER, valign: Gtk.Align.CENTER ); } construct { button = new Gtk.Button.with_label (day.to_string ()) { css_classes = { "flat", "calendar-day" } }; child = button; var today = new GLib.DateTime.now_local (); if (date.get_year () == today.get_year () && date.get_month () == today.get_month () && date.get_day_of_month () == today.get_day_of_month ()) { button.add_css_class ("today"); } button.clicked.connect (() => { clicked (); }); } public void update_selection (GLib.DateTime ? selected_date) { button.remove_css_class ("selected"); if (selected_date != null && date.get_year () == selected_date.get_year () && date.get_month () == selected_date.get_month () && date.get_day_of_month () == selected_date.get_day_of_month ()) { button.add_css_class ("selected"); } } } } alainm23-planify-69962f8/core/Widgets/Calendar/CalendarView.vala000066400000000000000000000117241517337276100243600ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.Calendar.CalendarView : Adw.Bin { private Gee.ArrayList days_arraylist; private Gtk.Grid days_grid; private GLib.DateTime _current_date; public GLib.DateTime current_date { get { var today = new GLib.DateTime.now_local (); _current_date = new DateTime.local ( today.get_year (), today.get_month (), today.get_day_of_month (), 0, 0, 0 ); return _current_date; } } public signal void day_selected (int day); private Gee.HashMap signals_map = new Gee.HashMap (); public CalendarView () { Object ( margin_start: 6, margin_end: 6 ); } ~CalendarView () { debug ("Destroying - Widgets.Calendar.CalendarView\n"); } construct { days_arraylist = new Gee.ArrayList (); days_grid = new Gtk.Grid () { column_homogeneous = true, row_homogeneous = true }; var col = 0; var row = 0; for (int i = 0; i < 42; i++) { var calendar_day = new Widgets.Calendar.CalendarDay (); signals_map[calendar_day.day_selected.connect (() => { day_selected_style (calendar_day.day); })] = calendar_day; days_grid.attach (calendar_day, col, row, 1, 1); col = col + 1; if (col != 0 && col % 7 == 0) { row = row + 1; col = 0; } calendar_day.visible = false; days_arraylist.add (calendar_day); } child = days_grid; } public void fill_grid_days (int start_day, int max_day, GLib.DateTime day, bool show_day, bool block_past_days) { var day_number = 1; for (int i = 0; i < 42; i++) { var item = days_arraylist[i]; item.sensitive = true; item.visible = true; item.child.remove_css_class ("today"); item.child.remove_css_class ("selected"); if (i < start_day || i >= max_day + start_day) { item.visible = false; } else { var day_datetime = generate_date (day, day_number); if (block_past_days && day_datetime.compare (current_date) <= -1) { item.sensitive = false; } if (day_datetime.compare (current_date) == 0) { item.child.add_css_class ("today"); } if (show_day && Utils.Datetime.get_date_only (day).compare (day_datetime) == 0) { item.child.add_css_class ("selected"); } item.day = day_number; item.date = day_datetime; item.tooltip_text = Utils.Datetime.get_relative_date_from_date (day_datetime); day_number = day_number + 1; } } } public void clear_style () { for (int i = 0; i < 42; i++) { var item = days_arraylist[i]; item.child.remove_css_class ("selected"); } } private GLib.DateTime generate_date (GLib.DateTime date, int day) { return new DateTime.local ( date.get_year (), date.get_month (), day, 0, 0, 0 ); } private void day_selected_style (int day) { day_selected (day); for (int i = 0; i < 42; i++) { var day_item = days_arraylist[i]; day_item.child.remove_css_class ("selected"); } } public void clean_up () { for (int i = 0; i < 42; i++) { var item = days_arraylist[i]; item.clean_up (); } foreach (var entry in signals_map.entries) { if (SignalHandler.is_connected (entry.value, entry.key)) { entry.value.disconnect (entry.key); } } signals_map.clear (); } } alainm23-planify-69962f8/core/Widgets/Calendar/CalendarWeek.vala000066400000000000000000000052101517337276100243320ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.Calendar.CalendarWeek : Gtk.Box { private Gtk.Label[] day_labels; public int margin_horizontal { set { margin_start = value; margin_end = value; } } ~CalendarWeek () { debug ("Destroying - Widgets.Calendar.CalendarWeek\n"); } construct { orientation = Gtk.Orientation.HORIZONTAL; homogeneous = true; valign = Gtk.Align.CENTER; margin_start = 6; margin_end = 6; margin_top = 6; margin_bottom = 6; day_labels = new Gtk.Label[] { new Gtk.Label (_("Su")), new Gtk.Label (_("Mo")), new Gtk.Label (_("Tu")), new Gtk.Label (_("We")), new Gtk.Label (_("Th")), new Gtk.Label (_("Fr")), new Gtk.Label (_("Sa")) }; foreach (var label in day_labels) { label.add_css_class ("dimmed"); append (label); } update (); } public void update () { for (Gtk.Widget ? child = get_first_child (); child != null; ) { Gtk.Widget ? next = child.get_next_sibling (); remove (child); child = next; } var start_week = Services.Settings.get_default ().settings.get_enum ("start-week"); var rotated_labels = rotate_left (day_labels, start_week); foreach (var label in rotated_labels) { append (label); } } private Gtk.Label[] rotate_left (Gtk.Label[] array, int positions) { positions = (positions % array.length + array.length) % array.length; var rotated = new Gtk.Label[array.length]; for (int i = 0; i < array.length; i++) { rotated[i] = array[(i + positions) % array.length]; } return rotated; } } alainm23-planify-69962f8/core/Widgets/CircularProgressBar.vala000066400000000000000000000273111517337276100242200ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.CircularProgressBar : Gtk.DrawingArea { public int size { get; construct; } private int _line_width; private double _percentage; private double _animated_percentage; private string _center_fill_color; private string _radius_fill_color; private string _progress_fill_color; private string _border_color; private int _border_width; private int _gap; private uint animation_timeout_id = 0; private double animation_start_value; private double animation_target_value; private int64 animation_start_time; private uint success_animation_id = 0; private double success_squeeze = 0.0; private int64 success_start_time; [Description (nick = "Center Fill", blurb = "Center Fill toggle")] public bool center_filled { set; get; default = false; } [Description (nick = "Radius Fill", blurb = "Radius Fill toggle")] public bool radius_filled { set; get; default = false; } [Description (nick = "Thick Style", blurb = "Use thick circular style")] public bool thick_style { set; get; default = false; } [Description (nick = "Line Cap", blurb = "Line Cap for stroke as in Cairo.LineCap")] public Cairo.LineCap line_cap { set; get; default = Cairo.LineCap.BUTT; } [Description (nick = "Inside circle fill color", blurb = "Center pad fill color (Check Gdk.RGBA parse method)")] public string center_fill_color { get { return _center_fill_color; } set { var color = Gdk.RGBA (); if (color.parse (value)) { _center_fill_color = value; } } } [Description (nick = "Circular radius fill color", blurb = "The circular pad fill color (Check GdkRGBA parse method)")] public string radius_fill_color { get { return _radius_fill_color; } set { var color = Gdk.RGBA (); if (color.parse (value)) { _radius_fill_color = value; } } } [Description (nick = "Progress fill color", blurb = "Progress line color (Check GdkRGBA parse method)")] public string progress_fill_color { get { return _progress_fill_color; } set { var color = Gdk.RGBA (); if (color.parse (value)) { _progress_fill_color = value; } } } [Description (nick = "Circle width", blurb = "The circle radius line width")] public int line_width { get { return _line_width; } set { if (value < 0) { _line_width = 0; } else if (value > calculate_radius ()) { _line_width = calculate_radius (); } else { _line_width = value; } } } [Description (nick = "Gap", blurb = "Gap between border and progress circle")] public int gap { get { return _gap; } set { if (value < 0) { _gap = 0; } else { _gap = value; } queue_draw (); } } [Description (nick = "Border Width", blurb = "Width of the outer border")] public int border_width { get { return _border_width; } set { if (value < 0) { _border_width = 0; } else { _border_width = value; } queue_draw (); } } [Description (nick = "Percentage/Value", blurb = "The percentage value [0.0 ... 1.0]")] public double percentage { get { return _percentage; } set { var new_value = value; if (new_value > 1.0) { new_value = 1.0; } else if (new_value < 0.0) { new_value = 0.0; } if (_percentage != new_value) { animate_to_percentage (new_value); _percentage = new_value; } } } public string color { set { var base_color = Util.get_default ().get_color (value); _progress_fill_color = base_color; _border_color = base_color; if (thick_style) { var rgba = Gdk.RGBA (); rgba.parse (base_color); rgba.alpha = 0.3f; _radius_fill_color = rgba.to_string (); } queue_draw (); } } construct { _line_width = 0; _percentage = 0; _animated_percentage = 0; _center_fill_color = "#adadad"; _radius_fill_color = "#d3d3d3"; _progress_fill_color = "#4a90d9"; _border_color = "#4a90d9"; _border_width = 2; _gap = 3; } public CircularProgressBar (int size = 16) { Object ( size: size, height_request: size, width_request: size, halign: Gtk.Align.CENTER, valign: Gtk.Align.CENTER ); set_draw_func (draw); notify.connect (() => { queue_draw (); }); } private int calculate_radius () { var base_size = int.min (size, size); return (base_size / 2) - _border_width - _gap - 1; } private void animate_to_percentage (double target) { if (animation_timeout_id != 0) { Source.remove (animation_timeout_id); } animation_start_value = _animated_percentage; animation_target_value = target; animation_start_time = get_monotonic_time (); animation_timeout_id = Timeout.add (16, () => { var elapsed = (get_monotonic_time () - animation_start_time) / 1000.0; var duration = 500.0; if (elapsed >= duration) { _animated_percentage = animation_target_value; queue_draw (); animation_timeout_id = 0; if (animation_target_value >= 1.0) { start_success_animation (); } return false; } var progress = elapsed / duration; progress = 1.0 - Math.pow (1.0 - progress, 3.0); _animated_percentage = animation_start_value + (animation_target_value - animation_start_value) * progress; queue_draw (); return true; }); } private void start_success_animation () { if (success_animation_id != 0) { Source.remove (success_animation_id); } success_start_time = get_monotonic_time (); success_animation_id = Timeout.add (16, () => { var elapsed = (get_monotonic_time () - success_start_time) / 1000.0; var duration = 350.0; if (elapsed >= duration) { success_squeeze = 0.0; queue_draw (); success_animation_id = 0; return false; } var progress = elapsed / duration; var t = progress; if (t < 0.5) { success_squeeze = t * 2.0; } else { var bounce_t = (t - 0.5) * 2.0; var bounce = Math.pow (2, -10 * bounce_t) * Math.sin ((bounce_t - 0.075) * (2 * Math.PI) / 0.3) + 1; success_squeeze = 1.0 - (bounce_t * bounce); } queue_draw (); return true; }); } ~CircularProgressBar () { debug ("Destroying - Widgets.CircularProgressBar\n"); } public override Gtk.SizeRequestMode get_request_mode () { return Gtk.SizeRequestMode.CONSTANT_SIZE; } public void draw (Gtk.DrawingArea da, Cairo.Context cr, int width, int height) { int delta; Gdk.RGBA color; cr.save (); color = Gdk.RGBA (); var center_x = get_width () / 2; var center_y = get_height () / 2; var radius = calculate_radius (); if (thick_style) { var ring_width = radius * 0.3; var ring_radius = radius - ring_width / 2; if (_animated_percentage >= 1.0 && success_squeeze > 0) { ring_radius = ring_radius * (1.0 - success_squeeze * 0.3); } cr.set_line_width (ring_width); cr.set_line_cap (Cairo.LineCap.ROUND); cr.arc (center_x, center_y, ring_radius, 0, 2 * Math.PI); color.parse (_radius_fill_color); Gdk.cairo_set_source_rgba (cr, color); cr.stroke (); if (_animated_percentage > 0) { cr.arc (center_x, center_y, ring_radius, -Math.PI / 2, -Math.PI / 2 + _animated_percentage * 2 * Math.PI); color.parse (_progress_fill_color); Gdk.cairo_set_source_rgba (cr, color); cr.stroke (); } } else { double border_radius = radius + _gap + _border_width / 2; if (_animated_percentage >= 1.0 && success_squeeze > 0) { border_radius = border_radius * (1.0 - success_squeeze * 0.25); } cr.arc (center_x, center_y, border_radius, 0, 2 * Math.PI); color.parse (_border_color); Gdk.cairo_set_source_rgba (cr, color); cr.set_line_width (_border_width); cr.stroke (); if (radius - line_width < 0) { delta = 0; line_width = radius; } else { delta = radius - (line_width / 2); } cr.set_line_cap (line_cap); cr.set_line_width (line_width); if (center_filled == true) { cr.arc (center_x, center_y, delta, 0, 2 * Math.PI); color.parse (center_fill_color); Gdk.cairo_set_source_rgba (cr, color); cr.fill (); } if (radius_filled == true) { cr.arc (center_x, center_y, delta, 0, 2 * Math.PI); color.parse (radius_fill_color); Gdk.cairo_set_source_rgba (cr, color); cr.stroke (); } if (_animated_percentage > 0) { color.parse (progress_fill_color); Gdk.cairo_set_source_rgba (cr, color); if (line_width == 0) { cr.move_to (center_x, center_y); cr.arc (center_x, center_y, delta + 1, 1.5 * Math.PI, (1.5 + _animated_percentage * 2) * Math.PI); cr.fill (); } else { cr.arc (center_x, center_y, delta, 1.5 * Math.PI, (1.5 + _animated_percentage * 2) * Math.PI); cr.stroke (); } } } } } alainm23-planify-69962f8/core/Widgets/ContextMenu/000077500000000000000000000000001517337276100217025ustar00rootroot00000000000000alainm23-planify-69962f8/core/Widgets/ContextMenu/MenuCheckPicker.vala000066400000000000000000000137301517337276100255530ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ContextMenu.MenuCheckPicker : Adw.Bin { public string title { get; construct; } public string ? icon { get; construct; } private Gtk.Image menu_icon; private Gtk.Revealer menu_icon_revealer; private Gtk.Label menu_title; private Gtk.ListBox listbox; public Gee.HashMap filters_map; public signal void filter_change (Objects.Filters.FilterItem filter, bool active); public MenuCheckPicker (string title, string ? icon = null) { Object ( title: title, icon: icon, hexpand: true ); } ~MenuCheckPicker () { debug ("Destroying - Widgets.ContextMenu.MenuCheckPicker\n"); } construct { filters_map = new Gee.HashMap (); menu_icon = new Gtk.Image () { valign = Gtk.Align.CENTER }; menu_icon_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_RIGHT, reveal_child = false, child = menu_icon }; if (icon != null) { menu_icon_revealer.reveal_child = true; menu_icon.icon_name = icon; } menu_title = new Gtk.Label (title); menu_title.use_markup = true; var arrow_icon = new Gtk.Image () { gicon = new ThemedIcon ("go-next-symbolic"), pixel_size = 16, hexpand = true, halign = END }; arrow_icon.add_css_class ("transition"); arrow_icon.add_css_class ("hidden-button"); var itemselector_grid = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { hexpand = true }; itemselector_grid.append (menu_icon_revealer); itemselector_grid.append (menu_title); itemselector_grid.append (arrow_icon); var button = new Gtk.Button (); button.child = itemselector_grid; button.add_css_class ("flat"); button.add_css_class ("transition"); button.add_css_class ("no-font-bold"); listbox = new Gtk.ListBox () { css_classes = { "listbox-background" } }; var listbox_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = listbox }; var main_grid = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { hexpand = true }; main_grid.append (button); main_grid.append (listbox_revealer); child = main_grid; button.clicked.connect (() => { listbox_revealer.reveal_child = !listbox_revealer.reveal_child; if (listbox_revealer.reveal_child) { arrow_icon.add_css_class ("opened"); } else { arrow_icon.remove_css_class ("opened"); } }); } public void set_items (Gee.ArrayList filters) { filters_map.clear (); foreach (unowned Gtk.Widget child in Util.get_default ().get_children (listbox)) { listbox.remove (child); } foreach (Objects.Filters.FilterItem filter in filters) { filters_map[filter.id] = new Widgets.ContextMenu.MenuItemCheckPicker (filter); filters_map[filter.id].checked.connect ((filter, active) => { filter_change (filter, active); }); listbox.append (filters_map[filter.id]); } } public void unchecked (Objects.Filters.FilterItem filter) { if (filters_map.has_key (filter.id)) { filters_map[filter.id].active = false; } } } public class Widgets.ContextMenu.MenuItemCheckPicker : Gtk.ListBoxRow { public Objects.Filters.FilterItem filter { get; construct; } private Gtk.CheckButton check_button; public bool active { set { check_button.active = value; } get { return check_button.active; } } public signal void checked (Objects.Filters.FilterItem filter, bool active); public MenuItemCheckPicker (Objects.Filters.FilterItem filter) { Object ( filter: filter ); } construct { add_css_class ("border-radius-6"); check_button = new Gtk.CheckButton.with_label (filter.name) { hexpand = true, css_classes = { "checkbutton-label" } }; var content_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { margin_top = 3, margin_start = 3, margin_end = 3, margin_bottom = 3 }; content_box.append (check_button); child = content_box; var gesture = new Gtk.GestureClick (); add_controller (gesture); gesture.pressed.connect (() => { gesture.set_state (Gtk.EventSequenceState.CLAIMED); check_button.active = !check_button.active; checked (filter, check_button.active); }); activate.connect (() => { check_button.active = !check_button.active; checked (filter, check_button.active); }); } } alainm23-planify-69962f8/core/Widgets/ContextMenu/MenuItem.vala000066400000000000000000000146251517337276100243020ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ContextMenu.MenuItem : Gtk.Button { private Gtk.Image menu_icon; private Gtk.Revealer menu_icon_revealer; private Gtk.Label menu_title; private Gtk.Label secondary_label; private Gtk.Label badge_label; private Gtk.Revealer loading_revealer; private Gtk.Revealer secondary_label_revealer; private Gtk.Revealer badge_revealer; private Gtk.Revealer select_revealer; private Gtk.Revealer arrow_revealer; public signal void activate_item (); public string title { set { menu_title.label = value; } } bool _autohide_popover = true; public bool autohide_popover { get { return _autohide_popover; } set { _autohide_popover = value; } } string _icon; public string icon { set { if (value != null) { menu_icon_revealer.reveal_child = true; _icon = value; menu_icon.icon_name = _icon; } else { menu_icon_revealer.reveal_child = false; } } get { return _icon; } } public string secondary_text { set { secondary_label.label = value; secondary_label.tooltip_text = value; secondary_label_revealer.reveal_child = value.length > 0; } } public string badge { set { badge_label.label = value; badge_revealer.reveal_child = value.length > 0; } } bool _is_loading = false; public bool is_loading { get { return _is_loading; } set { _is_loading = value; loading_revealer.reveal_child = _is_loading; } } bool _selected = false; public bool selected { get { return _selected; } set { _selected = value; select_revealer.reveal_child = _selected; } } bool _arrow = false; public bool arrow { get { return _arrow; } set { _arrow = value; arrow_revealer.reveal_child = _arrow; } } public int max_width_chars { set { menu_title.max_width_chars = value; } } private Gee.HashMap signals_map = new Gee.HashMap (); public MenuItem (string title, string ? icon = null) { Object ( title: title, icon: icon, hexpand: true ); } construct { add_css_class ("flat"); add_css_class ("no-font-bold"); menu_icon = new Gtk.Image (); menu_icon_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_RIGHT, child = menu_icon, reveal_child = true }; menu_title = new Gtk.Label (null) { use_markup = true, ellipsize = Pango.EllipsizeMode.END }; select_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_RIGHT, child = new Gtk.Image.from_icon_name ("object-select-symbolic") }; arrow_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_RIGHT, child = new Gtk.Image.from_icon_name ("go-next-symbolic") { margin_start = 6 } }; secondary_label = new Gtk.Label (null) { css_classes = { "dimmed", "no-font-bold" }, ellipsize = MIDDLE, max_width_chars = 12 }; secondary_label_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_RIGHT, child = secondary_label }; badge_label = new Gtk.Label (null) { css_classes = { "caption", "border-outline" }, margin_start = 6 }; badge_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_RIGHT, child = badge_label }; loading_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_RIGHT, child = new Adw.Spinner () { css_classes = { "submit-spinner" } } }; var end_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { hexpand = true, halign = END }; end_box.append (secondary_label_revealer); end_box.append (badge_revealer); end_box.append (loading_revealer); end_box.append (select_revealer); end_box.append (arrow_revealer); var content_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { hexpand = true }; content_box.append (menu_icon_revealer); content_box.append (menu_title); content_box.append (end_box); child = content_box; signals_map[clicked.connect (() => { if (autohide_popover) { var popover = (Gtk.Popover) get_ancestor (typeof (Gtk.Popover)); if (popover != null) { popover.popdown (); } } activate_item (); })] = this; destroy.connect (() => { foreach (var entry in signals_map.entries) { if (SignalHandler.is_connected (entry.value, entry.key)) { entry.value.disconnect (entry.key); } } signals_map.clear (); }); } } alainm23-planify-69962f8/core/Widgets/ContextMenu/MenuPicker.vala000066400000000000000000000152331517337276100246150ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ContextMenu.MenuPicker : Adw.Bin { public string title { get; construct; } public string ? icon { get; construct; } private Gtk.Image menu_icon; private Gtk.Revealer menu_icon_revealer; private Gtk.Label menu_title; private Gtk.Label value_label; private Gtk.ListBox listbox; private Gtk.CheckButton group_radio = new Gtk.CheckButton (); public string _selected; public string selected { get { return _selected; } set { _selected = value; update_selected (_selected); } } private Gee.HashMap item_map = new Gee.HashMap (); public MenuPicker (string title, string ? icon = null) { Object ( title: title, icon: icon, hexpand: true ); } ~MenuPicker () { debug ("Destroying - Widgets.ContextMenu.MenuPicker\n"); } construct { menu_icon = new Gtk.Image () { valign = Gtk.Align.CENTER }; menu_icon_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_RIGHT, reveal_child = false, child = menu_icon }; if (icon != null) { menu_icon_revealer.reveal_child = true; menu_icon.icon_name = icon; } menu_title = new Gtk.Label (title); menu_title.use_markup = true; value_label = new Gtk.Label (null) { ellipsize = END }; value_label.add_css_class ("dimmed"); value_label.add_css_class ("caption"); var arrow_icon = new Gtk.Image () { gicon = new ThemedIcon ("go-next-symbolic"), pixel_size = 16, hexpand = true, halign = END }; arrow_icon.add_css_class ("transition"); arrow_icon.add_css_class ("hidden-button"); var end_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { hexpand = true, halign = END }; end_box.append (value_label); end_box.append (arrow_icon); var itemselector_grid = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { hexpand = true }; itemselector_grid.append (menu_icon_revealer); itemselector_grid.append (menu_title); itemselector_grid.append (end_box); var button = new Gtk.Button (); button.child = itemselector_grid; button.add_css_class ("flat"); button.add_css_class ("transition"); button.add_css_class ("no-font-bold"); listbox = new Gtk.ListBox () { css_classes = { "listbox-background" } }; var listbox_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = listbox }; var main_grid = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { hexpand = true }; main_grid.append (button); main_grid.append (listbox_revealer); child = main_grid; button.clicked.connect (() => { listbox_revealer.reveal_child = !listbox_revealer.reveal_child; if (listbox_revealer.reveal_child) { arrow_icon.add_css_class ("opened"); } else { arrow_icon.remove_css_class ("opened"); } }); } public void update_selected (string value) { if (item_map.has_key (value)) { item_map[value].active = true; value_label.label = item_map[value].title; } } public void add_item (string title, string value) { if (item_map.has_key (value)) { return; } var row = new MenuItemPicker (title, value) { group = group_radio }; if (value == selected) { row.active = true; value_label.label = title; } row.selected.connect ((value) => { selected = value; }); item_map[value] = row; listbox.append (item_map[value]); } public class MenuItemPicker : Gtk.ListBoxRow { public string title { get; construct; } public string value { get; construct; } private Gtk.CheckButton radio_button; public bool active { set { radio_button.active = value; } get { return radio_button.active; } } public Gtk.CheckButton group { set { radio_button.group = value; } } public signal void selected (string value); public MenuItemPicker (string title, string value) { Object ( title: title, value: value ); } construct { add_css_class ("border-radius-6"); add_css_class ("transition"); radio_button = new Gtk.CheckButton.with_label (title) { hexpand = true, focus_on_click = false }; radio_button.add_css_class ("checkbutton-label"); var content_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { margin_top = 3, margin_start = 3, margin_end = 3, margin_bottom = 3 }; content_box.append (radio_button); child = content_box; var gesture = new Gtk.GestureClick (); radio_button.add_controller (gesture); gesture.pressed.connect (() => { radio_button.active = !radio_button.active; selected (value); }); activate.connect (() => { radio_button.active = !radio_button.active; selected (value); }); } } } alainm23-planify-69962f8/core/Widgets/ContextMenu/MenuSeparator.vala000066400000000000000000000021111517337276100253270ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ContextMenu.MenuSeparator : Adw.Bin { construct { child = new Gtk.Separator (Gtk.Orientation.HORIZONTAL) { margin_top = 6, margin_bottom = 6, hexpand = true }; } } alainm23-planify-69962f8/core/Widgets/ContextMenu/MenuSwitch.vala000066400000000000000000000065021517337276100246400ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ContextMenu.MenuSwitch : Gtk.Button { public string title { set { menu_title.label = value; } } public string icon { set { if (value != null) { menu_icon_revealer.reveal_child = true; menu_icon.icon_name = value; } else { menu_icon_revealer.reveal_child = false; } } } public bool active { set { switch_widget.active = value; } get { return switch_widget.active; } } private Gtk.Image menu_icon; private Gtk.Revealer menu_icon_revealer; private Gtk.Label menu_title; private Gtk.Switch switch_widget; public signal void activate_item (); private Gee.HashMap signals_map = new Gee.HashMap (); public MenuSwitch (string title, string ? icon = null) { Object ( title: title, icon: icon, hexpand: true ); } construct { add_css_class ("flat"); add_css_class ("no-font-bold"); menu_icon = new Gtk.Image () { valign = Gtk.Align.CENTER }; menu_icon_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_RIGHT, reveal_child = true }; menu_icon_revealer.child = menu_icon; menu_title = new Gtk.Label (null) { ellipsize = END, max_width_chars = 16, use_markup = true }; switch_widget = new Gtk.Switch () { valign = CENTER, hexpand = true, halign = END }; switch_widget.add_css_class ("switch-min"); var content_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 12) { hexpand = true }; content_box.append (menu_icon_revealer); content_box.append (menu_title); content_box.append (switch_widget); child = content_box; signals_map[clicked.connect (() => { switch_widget.active = !switch_widget.active; activate_item (); })] = this; destroy.connect (() => { foreach (var entry in signals_map.entries) { if (SignalHandler.is_connected (entry.value, entry.key)) { entry.value.disconnect (entry.key); } } signals_map.clear (); }); } } alainm23-planify-69962f8/core/Widgets/DateTimePicker/000077500000000000000000000000001517337276100222635ustar00rootroot00000000000000alainm23-planify-69962f8/core/Widgets/DateTimePicker/DateTimePicker.vala000066400000000000000000001011461517337276100257650ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.DateTimePicker.DateTimePicker : Gtk.Popover { private Widgets.DateTimePicker.TimePicker time_picker; private Widgets.Calendar.CalendarMonth calendar_view; private Widgets.Calendar.CalendarScroll calendar_scroll_view; private Widgets.ContextMenu.MenuItem repeat_item; private NoDateButton no_date_button; private OptionButton time_option_button; private OptionButton repeat_option_button; private Gtk.Revealer time_option_revealer; private Adw.Bin dimming_widget; private Gtk.Overlay main_overlay; private Gee.ArrayList active_revealers; private Gtk.Revealer repeat_option_revealer; private Gtk.Stack main_stack; private Widgets.DateTimePicker.RepeatConfig repeat_config_widget; bool _has_time = false; public bool has_time { get { return _has_time; } set { _has_time = value; time_option_button.has_value = _has_time; } } bool _has_recurrency = false; public bool has_recurrency { get { return _has_recurrency; } set { _has_recurrency = value; repeat_option_button.has_value = _has_recurrency; } } Objects.DueDate _duedate = new Objects.DueDate (); public Objects.DueDate duedate { set { _duedate = value; if (_duedate != null && _duedate.datetime != null) { calendar_view.date = _duedate.datetime; calendar_scroll_view.date = _duedate.datetime; } if (_duedate != null && time_picker != null && _duedate.datetime != null && Utils.Datetime.has_time (_duedate.datetime)) { time_picker.time = _duedate.datetime; if (time_picker.time != null) { time_option_button.label_text = time_picker.time.format (Utils.Datetime.get_default_time_format ()); } has_time = true; } else { has_time = false; time_option_button.label_text = _("Time"); } if (_duedate != null && _duedate.is_recurring) { var end_label = ""; if (_duedate.end_type == RecurrencyEndType.ON_DATE) { var date_label = Utils.Datetime.get_default_date_format_from_date ( Utils.Datetime.get_date_only ( Utils.Datetime.get_date_from_string (_duedate.recurrency_end) ) ); end_label = _("until") + " " + date_label; } else if (_duedate.end_type == RecurrencyEndType.AFTER) { int count = _duedate.recurrency_count; end_label = _("for") + " " + "%d %s".printf (count, count > 1 ? _("times") : _("time")); } repeat_option_button.label_text = Utils.Datetime.get_recurrency_weeks ( _duedate.recurrency_type, _duedate.recurrency_interval, _duedate.recurrency_weeks, end_label ).down (); has_recurrency = true; } else { repeat_option_button.label_text = _("Repeat"); has_recurrency = false; } } get { if (time_picker != null && has_time) { if (_duedate.datetime == null) { _duedate.datetime = time_picker.time; } else { _duedate.datetime = add_date_time (_duedate.datetime, time_picker.time); } } else { if (_duedate != null && _duedate.datetime != null) { _duedate.datetime = Utils.Datetime.get_date_only (_duedate.datetime); } } return _duedate; } } public bool visible_no_date { set { if (no_date_button != null) { no_date_button.visible = value; } } } public signal void duedate_changed (); private Gee.HashMap signal_map = new Gee.HashMap (); private Chrono.Chrono chrono; private uint search_timeout_id = 0; public DateTimePicker () { Object ( has_arrow: false, position: Gtk.PositionType.RIGHT, width_request: 275 ); } ~DateTimePicker () { debug ("Destroying - Widgets.DateTimePicker.DateTimePicker\n"); } construct { chrono = new Chrono.Chrono (); active_revealers = new Gee.ArrayList (); Objects.DueDate ? last_parsed_duedate = null; var search_entry = new Gtk.SearchEntry () { placeholder_text = _("Type a date…") }; show.connect (() => { Timeout.add (100, () => { search_entry.grab_focus (); return GLib.Source.REMOVE; }); }); var search_key_controller = new Gtk.EventControllerKey (); search_entry.add_controller (search_key_controller); search_key_controller.key_pressed.connect ((keyval, keycode, state) => { if (keyval == Gdk.Key.Escape) { popdown (); return true; } return false; }); var suggested_date_box = new Adw.WrapBox () { child_spacing = 6, line_spacing = 6, margin_bottom = 6 }; calendar_view = new Widgets.Calendar.CalendarMonth (); time_option_button = new OptionButton ("clock-symbolic", _("Time")); repeat_option_button = new OptionButton ("playlist-repeat-symbolic", _("Repeat")); var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { margin_start = 9, margin_end = 9, margin_bottom = 9 }; content_box.append (suggested_date_box); content_box.append (new Widgets.ContextMenu.MenuSeparator ()); content_box.append (calendar_view); content_box.append (new Widgets.ContextMenu.MenuSeparator ()); content_box.append (time_option_button); content_box.append (repeat_option_button); var popover_scrolled = new Gtk.ScrolledWindow () { child = content_box, vscrollbar_policy = AUTOMATIC, hscrollbar_policy = NEVER, propagate_natural_height = true, max_content_height = 425 }; var search_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { margin_start = 9, margin_end = 9, margin_top = 9, margin_bottom = 9 }; search_box.append (search_entry); var toolbar_view = new Adw.ToolbarView () { content = popover_scrolled }; toolbar_view.add_top_bar (search_box); dimming_widget = new Adw.Bin () { visible = false }; dimming_widget.add_css_class ("dimming-bg"); main_overlay = new Gtk.Overlay () { child = toolbar_view }; main_overlay.add_overlay (dimming_widget); build_time_picker_revealer (); build_repeat_picker_revealer (); main_stack = new Gtk.Stack () { transition_type = Gtk.StackTransitionType.SLIDE_LEFT_RIGHT }; main_stack.add_named (main_overlay, "main"); main_stack.add_named (build_calendar_page (), "calendar"); repeat_config_widget = new Widgets.DateTimePicker.RepeatConfig (); main_stack.add_named (build_repeat_config_page (repeat_config_widget), "repeat-config"); child = main_stack; add_css_class ("popover-contents"); add_default_suggestions (suggested_date_box); time_option_button.clicked.connect (() => { show_revealer (time_option_revealer); time_picker.grab_entry_focus (); }); time_option_button.clear_clicked.connect (() => { has_time = false; time_picker.reset (); duedate_changed (); }); repeat_option_button.clicked.connect (() => { show_revealer (repeat_option_revealer); }); repeat_option_button.clear_clicked.connect (() => { apply_recurrency (RecurrencyType.NONE, 0, null, false); }); repeat_item.clicked.connect (() => { show_revealer (repeat_option_revealer); }); closed.connect (() => { main_stack.visible_child_name = "main"; }); search_entry.activate.connect (() => { if (last_parsed_duedate != null) { duedate = last_parsed_duedate; visible_no_date = true; duedate_changed (); popdown (); } }); search_entry.search_changed.connect (() => { if (search_timeout_id != 0) { GLib.Source.remove (search_timeout_id); } search_timeout_id = Timeout.add (300, () => { search_timeout_id = 0; while (suggested_date_box.get_first_child () != null) { suggested_date_box.remove (suggested_date_box.get_first_child ()); } var text = search_entry.text.strip (); if (text.length == 0) { last_parsed_duedate = null; add_default_suggestions (suggested_date_box); return GLib.Source.REMOVE; } var result = chrono.parse (text); if (result != null && result.date != null) { var parsed_duedate = new Objects.DueDate (); parsed_duedate.datetime = result.date; if (result.recurrence != null) { parsed_duedate.is_recurring = true; parsed_duedate.recurrency_interval = result.recurrence.interval; switch (result.recurrence.recurrence_type) { case Chrono.RecurrenceType.DAILY : parsed_duedate.recurrency_type = RecurrencyType.EVERY_DAY; break; case Chrono.RecurrenceType.WEEKLY: parsed_duedate.recurrency_type = RecurrencyType.EVERY_WEEK; break; case Chrono.RecurrenceType.MONTHLY: parsed_duedate.recurrency_type = RecurrencyType.EVERY_MONTH; break; case Chrono.RecurrenceType.YEARLY: parsed_duedate.recurrency_type = RecurrencyType.EVERY_YEAR; break; } if (result.recurrence.days_of_week != null && result.recurrence.days_of_week.size > 0) { string weeks = ""; foreach (var day in result.recurrence.days_of_week) { weeks += day.to_string () + ","; } parsed_duedate.recurrency_weeks = weeks.substring (0, weeks.length - 1); } } last_parsed_duedate = parsed_duedate; var suggested_date = new SuggestedDate (parsed_duedate); suggested_date_box.append (suggested_date); connect_suggested_date (suggested_date); } else { last_parsed_duedate = null; } return GLib.Source.REMOVE; }); }); signal_map[calendar_view.day_selected.connect (() => { set_date (calendar_view.date, true); visible_no_date = true; })] = calendar_view; calendar_view.choose_date_clicked.connect (() => { main_stack.visible_child_name = "calendar"; calendar_scroll_view.scroll_to_selected_date (); }); hide.connect (() => { if (time_option_revealer.reveal_child) { time_option_revealer.reveal_child = false; } if (repeat_option_revealer.reveal_child) { repeat_option_revealer.reveal_child = false; } main_stack.visible_child_name = "main"; }); var gesture = new Gtk.GestureClick (); dimming_widget.add_controller (gesture); gesture.pressed.connect ((n_press, x, y) => { hide_all_revealers (); }); } private void add_default_suggestions (Adw.WrapBox box) { var today_item = new SuggestedDate (build_duedate (new DateTime.now_local ())) { title = _("Today") }; box.append (today_item); connect_suggested_date (today_item); var tomorrow_item = new SuggestedDate (build_duedate (new DateTime.now_local ().add_days (1))) { title = _("Tomorrow") }; box.append (tomorrow_item); connect_suggested_date (tomorrow_item); var next_week_item = new SuggestedDate (build_duedate (new DateTime.now_local ().add_days (7))) { title = _("Next week") }; box.append (next_week_item); connect_suggested_date (next_week_item); no_date_button = new NoDateButton () { visible = false }; box.append (no_date_button); no_date_button.clicked.connect (() => { duedate = new Objects.DueDate (); reset (); duedate_changed (); popdown (); }); } private void connect_suggested_date (SuggestedDate suggested_date) { suggested_date.clicked.connect (() => { _duedate.datetime = suggested_date.due_date.datetime; visible_no_date = true; duedate_changed (); popdown (); }); } private void save_time () { visible_no_date = true; has_time = true; if (duedate.datetime == null) { _duedate.datetime = time_picker.time; } time_option_button.label_text = time_picker.time.format (Utils.Datetime.get_default_time_format ()); time_option_revealer.reveal_child = false; duedate_changed (); } private Objects.DueDate build_duedate (DateTime date) { var duedate = new Objects.DueDate (); duedate.datetime = Utils.Datetime.get_date_only (date); return duedate; } private void set_date (DateTime date, bool hide_popover = true, bool no_signal = false) { _duedate.datetime = Utils.Datetime.get_date_only (date); if (hide_popover) { popdown (); } if (!no_signal) { duedate_changed (); } } private GLib.DateTime add_date_time (GLib.DateTime date, GLib.DateTime time) { return new GLib.DateTime.local ( date.get_year (), date.get_month (), date.get_day_of_month (), time.get_hour (), time.get_minute (), time.get_second () ); } public void set_recurrency (Objects.DueDate value) { if (value.recurrency_type == RecurrencyType.MINUTELY || value.recurrency_type == RecurrencyType.HOURLY) { if (_duedate.datetime == null) { _duedate.date = Utils.Datetime.get_todoist_datetime_format ( new DateTime.now_local () ); } } else if (value.recurrency_type == RecurrencyType.EVERY_DAY || value.recurrency_type == RecurrencyType.EVERY_MONTH || value.recurrency_type == RecurrencyType.EVERY_YEAR) { if (_duedate.datetime == null) { _duedate.date = Utils.Datetime.get_todoist_datetime_format ( Utils.Datetime.get_today_format_date () ); } } else if (value.recurrency_type == RecurrencyType.EVERY_WEEK) { if (value.has_weeks) { GLib.DateTime due_selected = Utils.Datetime.get_today_format_date (); if (_duedate.datetime != null) { due_selected = duedate.datetime; } int day_of_week = due_selected.get_day_of_week (); int next_day = Utils.Datetime.get_next_day_of_week_from_recurrency_week (due_selected, value); GLib.DateTime due_date = null; if (day_of_week == next_day) { due_date = due_selected; } else { due_date = Utils.Datetime.next_recurrency_week (due_selected, value); } _duedate.date = Utils.Datetime.get_todoist_datetime_format (due_date); } else { if (_duedate.datetime == null) { _duedate.date = Utils.Datetime.get_todoist_datetime_format ( Utils.Datetime.get_today_format_date () ); } } } _duedate.is_recurring = value.is_recurring; _duedate.recurrency_type = value.recurrency_type; _duedate.recurrency_interval = value.recurrency_interval; _duedate.recurrency_weeks = value.recurrency_weeks; _duedate.recurrency_count = value.recurrency_count; _duedate.recurrency_end = value.recurrency_end; visible_no_date = true; } public void reset () { time_option_button.label_text = _("Time"); has_time = false; if (time_picker != null) { time_picker.reset (); } visible_no_date = false; has_recurrency = false; if (calendar_view != null) { calendar_view.reset (); } } private void build_time_picker_revealer () { time_picker = new Widgets.DateTimePicker.TimePicker () { hexpand = true }; var save_time_button = new Gtk.Button.with_label (_("Save")); var time_option_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 6) { margin_start = 9, margin_end = 9, margin_bottom = 9, margin_top = 9, }; time_option_box.append (time_picker); time_option_box.append (save_time_button); var time_option_container = new Adw.Bin () { child = time_option_box }; time_option_container.add_css_class ("card"); time_option_revealer = new Gtk.Revealer () { child = time_option_container, valign = END, transition_type = SLIDE_UP, reveal_child = false }; main_overlay.add_overlay (time_option_revealer); register_revealer (time_option_revealer); save_time_button.clicked.connect (() => { save_time (); }); time_picker.activated.connect (() => { save_time (); }); } private void build_repeat_picker_revealer () { var daily_item = new Widgets.ContextMenu.MenuItem (_("Daily")) { autohide_popover = false }; var weekdays_item = new Widgets.ContextMenu.MenuItem (_("Weekdays")) { autohide_popover = false }; var weekends_item = new Widgets.ContextMenu.MenuItem (_("Weekends")) { autohide_popover = false }; var weekly_item = new Widgets.ContextMenu.MenuItem (_("Weekly")) { autohide_popover = false }; var monthly_item = new Widgets.ContextMenu.MenuItem (_("Monthly")) { autohide_popover = false }; var yearly_item = new Widgets.ContextMenu.MenuItem (_("Yearly")) { autohide_popover = false }; var custom_item = new Widgets.ContextMenu.MenuItem (_("Custom")) { autohide_popover = false }; custom_item.arrow = true; var repeat_option_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 6) { margin_start = 9, margin_end = 9, margin_bottom = 9, margin_top = 9, }; repeat_option_box.append (daily_item); repeat_option_box.append (weekdays_item); repeat_option_box.append (weekends_item); repeat_option_box.append (weekly_item); repeat_option_box.append (monthly_item); repeat_option_box.append (yearly_item); repeat_option_box.append (new Widgets.ContextMenu.MenuSeparator ()); repeat_option_box.append (custom_item); var repeat_option_container = new Adw.Bin () { child = repeat_option_box }; repeat_option_container.add_css_class ("card"); repeat_option_revealer = new Gtk.Revealer () { child = repeat_option_container, valign = END, transition_type = SLIDE_UP, reveal_child = false }; main_overlay.add_overlay (repeat_option_revealer); register_revealer (repeat_option_revealer); signal_map[daily_item.clicked.connect (() => { apply_recurrency (RecurrencyType.EVERY_DAY, 1); })] = daily_item; signal_map[weekdays_item.clicked.connect (() => { apply_recurrency (RecurrencyType.EVERY_WEEK, 1, "1,2,3,4,5"); })] = weekdays_item; signal_map[weekends_item.clicked.connect (() => { apply_recurrency (RecurrencyType.EVERY_WEEK, 1, "6,7"); })] = weekends_item; signal_map[weekly_item.clicked.connect (() => { apply_recurrency (RecurrencyType.EVERY_WEEK, 1); })] = weekly_item; signal_map[monthly_item.clicked.connect (() => { apply_recurrency (RecurrencyType.EVERY_MONTH, 1); })] = monthly_item; signal_map[yearly_item.clicked.connect (() => { apply_recurrency (RecurrencyType.EVERY_YEAR, 1); })] = yearly_item; signal_map[custom_item.clicked.connect (() => { repeat_option_revealer.reveal_child = false; main_stack.visible_child_name = "repeat-config"; if (duedate != null) { repeat_config_widget.duedate = duedate; } })] = custom_item; } private void apply_recurrency (RecurrencyType type, int interval, string? weeks = null, bool is_recurring = true) { var value = new Objects.DueDate (); value.is_recurring = is_recurring; value.recurrency_type = type; value.recurrency_interval = interval; if (weeks != null) { value.recurrency_weeks = weeks; } set_recurrency (value); repeat_option_revealer.reveal_child = false; duedate_changed (); } private void register_revealer (Gtk.Revealer revealer) { active_revealers.add (revealer); revealer.notify["reveal-child"].connect (() => { update_dimming_visibility (); }); } private void update_dimming_visibility () { bool any_visible = false; foreach (var revealer in active_revealers) { if (revealer.reveal_child) { any_visible = true; break; } } dimming_widget.visible = any_visible; } private void show_revealer (Gtk.Revealer revealer, owned VoidFunc ? callback = null) { revealer.reveal_child = true; if (callback != null) { callback (); } } private void hide_all_revealers () { foreach (var revealer in active_revealers) { revealer.reveal_child = false; } } private Gtk.Widget build_calendar_page () { var back_button = new Gtk.Button.from_icon_name ("go-previous-symbolic") { css_classes = { "flat" }, margin_start = 6, margin_top = 6, margin_bottom = 6, halign = START }; calendar_scroll_view = new Widgets.Calendar.CalendarScroll () { margin_top = 6 }; var toolbar_view = new Adw.ToolbarView () { content = calendar_scroll_view }; toolbar_view.add_top_bar (back_button); signal_map[calendar_scroll_view.day_selected.connect (() => { if (calendar_scroll_view.date != null) { set_date (calendar_scroll_view.date, false); visible_no_date = true; main_stack.visible_child_name = "main"; } })] = calendar_scroll_view; back_button.clicked.connect (() => { main_stack.visible_child_name = "main"; }); return toolbar_view; } private Gtk.Widget build_repeat_config_page (Widgets.DateTimePicker.RepeatConfig repeat_config_widget) { var back_button = new Gtk.Button.from_icon_name ("go-previous-symbolic") { css_classes = { "flat" }, margin_start = 6, margin_top = 6, margin_bottom = 6, halign = START }; var toolbar_view = new Adw.ToolbarView () { content = repeat_config_widget }; toolbar_view.add_top_bar (back_button); repeat_config_widget.duedate_change.connect ((value) => { set_recurrency (value); main_stack.visible_child_name = "main"; duedate_changed (); }); back_button.clicked.connect (() => { main_stack.visible_child_name = "main"; }); return toolbar_view; } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } public class SuggestedDate : Adw.Bin { public Objects.DueDate due_date { get; construct; } private Gtk.Image date_icon; private Gtk.Label date_label; private Gtk.Button button; public signal void clicked (); public string title { set { date_label.label = value; } } public SuggestedDate (Objects.DueDate due_date) { Object ( due_date: due_date ); } construct { date_icon = new Gtk.Image (); date_label = new Gtk.Label (Utils.Datetime.get_relative_date_from_date (due_date.datetime)) { use_markup = true, ellipsize = END }; var date_box = new Gtk.Box (HORIZONTAL, 6); date_box.append (date_icon); date_box.append (date_label); button = new Gtk.Button () { child = date_box }; button.clicked.connect (() => clicked ()); child = button; if (Utils.Datetime.is_today (due_date.datetime)) { date_icon.icon_name = "star-outline-thick-symbolic"; } else if (Utils.Datetime.is_tomorrow (due_date.datetime)) { date_icon.icon_name = "today-calendar-symbolic"; } else if (Utils.Datetime.is_overdue (due_date.datetime)) { date_icon.icon_name = "month-symbolic"; } else { date_icon.icon_name = "month-symbolic"; } if (due_date.is_recurring) { var end_label = ""; if (due_date.end_type == RecurrencyEndType.ON_DATE) { var date_label = Utils.Datetime.get_default_date_format_from_date ( Utils.Datetime.get_date_only ( Utils.Datetime.get_date_from_string (due_date.recurrency_end) ) ); end_label = _("until") + " " + date_label; } else if (due_date.end_type == RecurrencyEndType.AFTER) { int count = due_date.recurrency_count; end_label = _("for") + " " + "%d %s".printf (count, count > 1 ? _("times") : _("time")); } date_icon.icon_name = "playlist-repeat-symbolic"; string repeat_text = Utils.Datetime.get_recurrency_weeks ( due_date.recurrency_type, due_date.recurrency_interval, due_date.recurrency_weeks, end_label ).down (); date_label.label += ", %s".printf (repeat_text); date_label.tooltip_text = repeat_text; } } } public class NoDateButton : Adw.Bin { public signal void clicked (); construct { var date_icon = new Gtk.Image.from_icon_name ("cross-large-circle-filled-symbolic"); var date_label = new Gtk.Label (_("No date")) { ellipsize = END }; var date_box = new Gtk.Box (HORIZONTAL, 6); date_box.append (date_icon); date_box.append (date_label); var button = new Gtk.Button () { child = date_box }; button.clicked.connect (() => clicked ()); child = button; } } public class OptionButton : Gtk.Box { public Gtk.Button main_button { get; private set; } public Gtk.Revealer clear_revealer { get; private set; } private Gtk.Label label; private Gtk.Image add_icon; public string icon_name { get; construct; } public string text { get; construct; } private bool _has_value = false; public bool has_value { get { return _has_value; } set { _has_value = value; add_icon.visible = !_has_value; clear_revealer.reveal_child = _has_value; } } public string label_text { get { return label.label; } set { label.label = value; label.tooltip_text = value; } } public signal void clicked (); public signal void clear_clicked (); public OptionButton (string icon_name, string text) { Object ( icon_name: icon_name, text: text, orientation: Gtk.Orientation.HORIZONTAL, spacing: 0 ); } construct { var icon = new Gtk.Image.from_icon_name (icon_name); label = new Gtk.Label (text) { css_classes = { "font-weight-500" }, ellipsize = END }; add_icon = new Gtk.Image.from_icon_name ("plus-large-symbolic") { valign = Gtk.Align.CENTER, halign = Gtk.Align.END, hexpand = true }; add_icon.add_css_class ("dimmed"); var button_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { hexpand = true, margin_start = 9, margin_top = 6, margin_bottom = 6, margin_end = 9 }; button_box.append (icon); button_box.append (label); button_box.append (add_icon); main_button = new Gtk.Button () { child = button_box, css_classes = { "flat", "no-padding" } }; var clear_button = new Gtk.Button.from_icon_name ("cross-large-circle-filled-symbolic") { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, css_classes = { "flat" } }; clear_revealer = new Gtk.Revealer () { child = clear_button, transition_type = SLIDE_RIGHT, reveal_child = false }; append (main_button); append (clear_revealer); main_button.clicked.connect (() => { clicked (); }); clear_button.clicked.connect (() => { clear_clicked (); }); } } } alainm23-planify-69962f8/core/Widgets/DateTimePicker/RepeatConfig.vala000066400000000000000000000345541517337276100255110ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.DateTimePicker.RepeatConfig : Adw.NavigationPage { private Gtk.SpinButton recurrency_interval; private Gtk.DropDown recurrency_combobox; private Gtk.Label repeat_label; private Gtk.ToggleButton mo_button; private Gtk.ToggleButton tu_button; private Gtk.ToggleButton we_button; private Gtk.ToggleButton th_button; private Gtk.ToggleButton fr_button; private Gtk.ToggleButton sa_button; private Gtk.ToggleButton su_button; private Gtk.ToggleButton never_button; private Gtk.ToggleButton on_button; private Gtk.ToggleButton after_button; private Gtk.Calendar calendar; private Gtk.MenuButton datepicker_button; private Gtk.SpinButton count_interval; private Gtk.Stack ends_stack; public Objects.DueDate duedate { set { recurrency_interval.value = value.recurrency_interval; if (value.recurrency_type == RecurrencyType.NONE) { recurrency_combobox.selected = 0; } else { recurrency_combobox.selected = (int) value.recurrency_type; } if (value.recurrency_type == RecurrencyType.EVERY_WEEK) { mo_button.active = value.recurrency_weeks.contains ("1"); tu_button.active = value.recurrency_weeks.contains ("2"); we_button.active = value.recurrency_weeks.contains ("3"); th_button.active = value.recurrency_weeks.contains ("4"); fr_button.active = value.recurrency_weeks.contains ("5"); sa_button.active = value.recurrency_weeks.contains ("6"); su_button.active = value.recurrency_weeks.contains ("7"); } if (value.recurrency_end != "") { on_button.active = true; } else if (value.recurrency_count > 0) { after_button.active = true; } count_interval.value = value.recurrency_count; if (value.recurrency_end != "") { var date = Utils.Datetime.get_date_from_string (value.recurrency_end); calendar.year = date.get_year (); calendar.month = date.get_month (); calendar.day = date.get_day_of_month (); } update_repeat_label (); } } public signal void duedate_change (Objects.DueDate duedate); private Gee.HashMap signal_map = new Gee.HashMap (); public RepeatConfig () { Object ( title: _("Repeat") ); } ~RepeatConfig () { debug ("Destroying - Widgets.DateTimePicker.RepeatConfig\n"); } construct { repeat_label = new Gtk.Label (null) { margin_top = 9, margin_bottom = 9, margin_start = 9, margin_end = 9, ellipsize = Pango.EllipsizeMode.END }; repeat_label.add_css_class ("accent"); var repeat_preview_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { margin_top = 6 }; repeat_preview_box.append (repeat_label); repeat_preview_box.add_css_class ("card"); repeat_preview_box.add_css_class ("border-radius-6"); recurrency_interval = new Gtk.SpinButton.with_range (1, 100, 1) { hexpand = true, valign = CENTER, css_classes = { "popover-spinbutton" } }; string[] items = { _("Minute(s)"), _("Hour(s)"), _("Day(s)"), _("Week(s)"), _("Month(s)"), _("Year(s)") }; recurrency_combobox = new Gtk.DropDown.from_strings (items) { valign = CENTER, selected = 2 }; var repeat_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { hexpand = true, margin_top = 6, homogeneous = true }; repeat_box.append (recurrency_interval); repeat_box.append (recurrency_combobox); mo_button = new Gtk.ToggleButton.with_label (_("Mo")) { css_classes = { "no-padding", "caption" }, width_request = 32, height_request = 32 }; tu_button = new Gtk.ToggleButton.with_label (_("Tu")) { css_classes = { "no-padding", "caption" }, width_request = 32, height_request = 32 }; we_button = new Gtk.ToggleButton.with_label (_("We")) { css_classes = { "no-padding", "caption" }, width_request = 32, height_request = 32 }; th_button = new Gtk.ToggleButton.with_label (_("Th")) { css_classes = { "no-padding", "caption" }, width_request = 32, height_request = 32 }; fr_button = new Gtk.ToggleButton.with_label (_("Fr")) { css_classes = { "no-padding", "caption" }, width_request = 32, height_request = 32 }; sa_button = new Gtk.ToggleButton.with_label (_("Sa")) { css_classes = { "no-padding", "caption" }, width_request = 32, height_request = 32 }; su_button = new Gtk.ToggleButton.with_label (_("Su")) { css_classes = { "no-padding", "caption" }, width_request = 32, height_request = 32 }; var weeks_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { hexpand = true, margin_top = 12, margin_bottom = 6, homogeneous = true }; weeks_box.append (mo_button); weeks_box.append (tu_button); weeks_box.append (we_button); weeks_box.append (th_button); weeks_box.append (fr_button); weeks_box.append (sa_button); weeks_box.append (su_button); var weeks_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, reveal_child = false, child = weeks_box }; never_button = new Gtk.ToggleButton.with_label (_("Never")) { active = true }; on_button = new Gtk.ToggleButton.with_label (_("On Date")) { group = never_button }; after_button = new Gtk.ToggleButton.with_label (_("After")) { group = never_button }; var ends_grid = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { css_classes = { "linked" }, hexpand = true, homogeneous = true, margin_top = 6 }; ends_grid.append (never_button); ends_grid.append (on_button); ends_grid.append (after_button); calendar = new Gtk.Calendar (); var calendar_popover = new Gtk.Popover () { child = calendar, has_arrow = false, halign = Gtk.Align.END, position = Gtk.PositionType.BOTTOM }; datepicker_button = new Gtk.MenuButton () { label = Utils.Datetime.get_default_date_format_from_date ( Utils.Datetime.get_date_only (new GLib.DateTime.now_local ().add_days (1)) ), popover = calendar_popover }; count_interval = new Gtk.SpinButton.with_range (1, 100, 1) { hexpand = true, halign = CENTER, valign = CENTER, css_classes = { "popover-spinbutton" } }; ends_stack = new Gtk.Stack () { hexpand = true, transition_type = Gtk.StackTransitionType.CROSSFADE, margin_top = 12, margin_bottom = 6 }; ends_stack.add_named (new Gtk.Label (null), "never"); ends_stack.add_named (datepicker_button, "on"); ends_stack.add_named (count_interval, "after"); var submit_button = new Widgets.LoadingButton (LoadingButtonType.LABEL, _("Apply")) { margin_top = 12, vexpand = true, valign = Gtk.Align.END }; submit_button.add_css_class ("suggested-action"); var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { margin_start = 9, margin_end = 9, margin_bottom = 9 }; content_box.append (repeat_preview_box); content_box.append (new Gtk.Label (_("Repeat every")) { css_classes = { "heading", "h4" }, margin_top = 12, halign = Gtk.Align.START }); content_box.append (repeat_box); content_box.append (weeks_revealer); content_box.append (new Gtk.Label (_("End")) { css_classes = { "heading", "h4" }, margin_top = 12, halign = Gtk.Align.START }); content_box.append (ends_grid); content_box.append (ends_stack); content_box.append (submit_button); child = content_box; update_repeat_label (); signal_map[recurrency_interval.value_changed.connect (() => { update_repeat_label (); })] = recurrency_interval; signal_map[recurrency_combobox.notify["selected-item"].connect (() => { if ((RecurrencyType) this.recurrency_combobox.selected == RecurrencyType.EVERY_WEEK) { weeks_revealer.reveal_child = true; } else { weeks_revealer.reveal_child = false; } update_repeat_label (); })] = recurrency_combobox; signal_map[mo_button.toggled.connect (() => { update_repeat_label (); })] = mo_button; signal_map[tu_button.toggled.connect (() => { update_repeat_label (); })] = tu_button; signal_map[we_button.toggled.connect (() => { update_repeat_label (); })] = we_button; signal_map[th_button.toggled.connect (() => { update_repeat_label (); })] = th_button; signal_map[fr_button.toggled.connect (() => { update_repeat_label (); })] = fr_button; signal_map[sa_button.toggled.connect (() => { update_repeat_label (); })] = sa_button; signal_map[su_button.toggled.connect (() => { update_repeat_label (); })] = su_button; submit_button.clicked.connect (() => { set_repeat (); }); signal_map[never_button.toggled.connect (() => { ends_stack.visible_child_name = "never"; update_repeat_label (); })] = never_button; signal_map[on_button.toggled.connect (() => { ends_stack.visible_child_name = "on"; update_repeat_label (); })] = on_button; signal_map[after_button.toggled.connect (() => { ends_stack.visible_child_name = "after"; update_repeat_label (); })] = after_button; signal_map[calendar.day_selected.connect (() => { calendar_popover.popdown (); update_repeat_label (); })] = calendar; signal_map[count_interval.value_changed.connect (() => { update_repeat_label (); })] = count_interval; } private void set_repeat () { var duedate = new Objects.DueDate (); duedate.is_recurring = true; duedate.recurrency_type = (RecurrencyType) this.recurrency_combobox.selected; duedate.recurrency_interval = (int) recurrency_interval.value; if (on_button.active) { duedate.recurrency_count = 0; duedate.recurrency_end = calendar.get_date ().to_string (); } else if (after_button.active) { duedate.recurrency_count = (int) count_interval.value; duedate.recurrency_end = ""; } if (duedate.recurrency_type == RecurrencyType.EVERY_WEEK) { duedate.recurrency_weeks = get_recurrency_weeks (); } else { duedate.recurrency_weeks = ""; } duedate_change (duedate); } private string get_recurrency_weeks () { string returned = ""; if (mo_button.active) { returned += "1,"; } if (tu_button.active) { returned += "2,"; } if (we_button.active) { returned += "3,"; } if (th_button.active) { returned += "4,"; } if (fr_button.active) { returned += "5,"; } if (sa_button.active) { returned += "6,"; } if (su_button.active) { returned += "7,"; } if (returned != null && returned.split (",").length > 0) { return returned.slice (0, -1); } return returned; } private void update_repeat_label () { var end_label = ""; if (on_button.active) { var date_label = Utils.Datetime.get_default_date_format_from_date ( Utils.Datetime.get_date_only (calendar.get_date ()) ); end_label = _("until") + " " + date_label; datepicker_button.label = date_label; } else if (after_button.active) { int count = (int) count_interval.value; end_label = _("for") + " " + "%d %s".printf (count, count > 1 ? _("times") : _("time")); } RecurrencyType selected_option = (RecurrencyType) this.recurrency_combobox.selected; string label = Utils.Datetime.get_recurrency_weeks ( selected_option, (int) recurrency_interval.value, get_recurrency_weeks (), end_label ); repeat_label.label = label; } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } } alainm23-planify-69962f8/core/Widgets/DateTimePicker/ScheduleButton.vala000066400000000000000000000222011517337276100260550ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ScheduleButton : Gtk.Grid { public bool is_board { get; construct; } public string label { get; construct; } private Gtk.MenuButton button; private Gtk.Label due_label; private Gtk.Box schedule_box; private Gtk.Image due_image; private Widgets.DateTimePicker.DateTimePicker datetime_picker; private Gtk.Revealer clear_revealer; Objects.DueDate _duedate; public Objects.DueDate duedate { get { return _duedate; } set { _duedate = value; if (_duedate.datetime != null) { datetime_picker.visible_no_date = true; datetime_picker.duedate = _duedate; } else { datetime_picker.visible_no_date = false; } } } public bool visible_no_date { set { datetime_picker.visible_no_date = value; } } public bool visible_clear_button { set { clear_revealer.visible = value; } } public signal void duedate_changed (); public signal void picker_opened (bool active); private Gee.HashMap signal_map = new Gee.HashMap (); public ScheduleButton (string label = _("Date")) { Object ( is_board: false, valign: Gtk.Align.CENTER, tooltip_text: _("The date you plan to work on this task"), label: label ); } public ScheduleButton.for_board (string label = _("Date")) { Object ( is_board: true, tooltip_text: _("The date you plan to work on this task"), label: label ); } ~ScheduleButton () { debug ("Destroying - Widgets.DateTimePicker.ScheduleButton\n"); } construct { datetime_picker = new Widgets.DateTimePicker.DateTimePicker (); if (is_board) { build_card_ui (); } else { build_ui (); } signal_map[datetime_picker.closed.connect (() => { picker_opened (false); })] = datetime_picker; signal_map[datetime_picker.show.connect (() => { picker_opened (true); })] = datetime_picker; } private void build_ui () { due_image = new Gtk.Image (); due_image.icon_name = "month-symbolic"; due_label = new Gtk.Label (label) { xalign = 0, use_markup = true, ellipsize = Pango.EllipsizeMode.END }; schedule_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 3); schedule_box.append (due_image); schedule_box.append (due_label); button = new Gtk.MenuButton () { child = schedule_box, popover = datetime_picker, css_classes = { "flat" } }; var clear_button = new Gtk.Button.from_icon_name ("window-close") { css_classes = { "flat" }, tooltip_text = _("Remove date") }; clear_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.CROSSFADE, child = clear_button }; attach (button, 0, 0); attach (clear_revealer, 1, 0); datetime_picker.duedate_changed.connect (() => { duedate = datetime_picker.duedate; clear_revealer.reveal_child = false; duedate_changed (); }); var motion_gesture = new Gtk.EventControllerMotion (); add_controller (motion_gesture); signal_map[motion_gesture.enter.connect (() => { clear_revealer.reveal_child = duedate != null && duedate.datetime != null; })] = motion_gesture; signal_map[motion_gesture.leave.connect (() => { clear_revealer.reveal_child = false; })] = motion_gesture; signal_map[clear_button.clicked.connect (() => { reset (); })] = clear_button; } private void build_card_ui () { due_image = new Gtk.Image.from_icon_name ("month-symbolic"); var title_label = new Gtk.Label (label) { halign = START, css_classes = { "title-4", "caption", "font-bold" } }; due_label = new Gtk.Label (_("When do you plan to work on this?")) { xalign = 0, use_markup = true, halign = START, ellipsize = Pango.EllipsizeMode.END, css_classes = { "caption" } }; var card_grid = new Gtk.Grid () { column_spacing = 12, margin_start = 12, margin_end = 6, margin_top = 6, margin_bottom = 6, vexpand = true, hexpand = true }; card_grid.attach (due_image, 0, 0, 1, 2); card_grid.attach (title_label, 1, 0, 1, 1); card_grid.attach (due_label, 1, 1, 1, 1); button = new Gtk.MenuButton () { popover = datetime_picker, child = card_grid, css_classes = { "flat", "card", "activatable", "menu-button-no-padding" }, hexpand = true }; attach (button, 0, 0); signal_map[datetime_picker.duedate_changed.connect (() => { duedate = datetime_picker.duedate; duedate_changed (); })] = datetime_picker; } public void update_from_item (Objects.Item item) { if (is_board) { due_label.label = _("When do you plan to work on this?"); tooltip_text = _("The date you plan to work on this task"); due_image.icon_name = "month-symbolic"; } else { due_label.label = label; tooltip_text = _("The date you plan to work on this task"); due_image.icon_name = "month-symbolic"; } if (!item.has_due) { return; } due_label.label = Utils.Datetime.get_relative_date_from_date (item.due.datetime); due_label.tooltip_text = due_label.label; due_image.tooltip_text = due_label.label; duedate = item.due; if (Utils.Datetime.is_today (item.due.datetime)) { due_image.icon_name = "star-outline-thick-symbolic"; } else if (Utils.Datetime.is_tomorrow (item.due.datetime)) { due_image.icon_name = "today-calendar-symbolic"; } else if (Utils.Datetime.is_overdue (item.due.datetime)) { due_image.icon_name = "month-symbolic"; } else { due_image.icon_name = "month-symbolic"; } if (item.due.is_recurring) { var end_label = ""; if (item.due.end_type == RecurrencyEndType.ON_DATE) { var date_label = Utils.Datetime.get_default_date_format_from_date ( Utils.Datetime.get_date_only ( Utils.Datetime.get_date_from_string (item.due.recurrency_end) ) ); end_label = _("until") + " " + date_label; } else if (item.due.end_type == RecurrencyEndType.AFTER) { int count = item.due.recurrency_count; end_label = _("for") + " " + "%d %s".printf (count, count > 1 ? _("times") : _("time")); } due_image.icon_name = "playlist-repeat-symbolic"; string repeat_text = Utils.Datetime.get_recurrency_weeks ( item.due.recurrency_type, item.due.recurrency_interval, item.due.recurrency_weeks, end_label ).down (); due_label.label += ", %s".printf (repeat_text); due_label.tooltip_text = repeat_text; } } public void reset () { due_image.icon_name = "month-symbolic"; due_image.tooltip_text = label; due_label.label = label; due_label.tooltip_text = label; tooltip_text = label; datetime_picker.reset (); duedate = new Objects.DueDate (); duedate.datetime = null; datetime_picker.duedate = duedate; duedate_changed (); } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); if (datetime_picker != null) { datetime_picker.clean_up (); } } public void open_picker () { button.active = true; } } alainm23-planify-69962f8/core/Widgets/DateTimePicker/TimePicker.vala000066400000000000000000000154171517337276100251740ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.DateTimePicker.TimePicker : Adw.Bin { private Gtk.Entry time_entry; public string format_12 { get; construct; } public string format_24 { get; construct; } private GLib.DateTime _time = null; public GLib.DateTime time { get { if (_time == null) { time = new GLib.DateTime.now_local ().add_minutes (10); } return _time; } set { _time = value; update_text (true); } } private string old_string = ""; public signal void time_changed (); public signal void activated (); private Gee.HashMap signal_map = new Gee.HashMap (); ~TimePicker () { debug ("Destroying - Widgets.DateTimePicker.TimePicker\n"); } construct { if (format_12 == null) { format_12 = Utils.Datetime.get_default_time_format (true); } if (format_24 == null) { format_24 = Utils.Datetime.get_default_time_format (false); } time_entry = new Gtk.Entry () { max_width_chars = 9, hexpand = true }; child = time_entry; update_text (); // Connecting to events allowing manual changes var focus_controller = new Gtk.EventControllerFocus (); var scroll_controller = new Gtk.EventControllerScroll ( Gtk.EventControllerScrollFlags.BOTH_AXES | Gtk.EventControllerScrollFlags.DISCRETE ); time_entry.add_controller (focus_controller); time_entry.add_controller (scroll_controller); signal_map[focus_controller.leave.connect (() => { is_unfocused (); })] = focus_controller; signal_map[scroll_controller.scroll.connect ((dx, dy) => { double largest = dx.abs () > dy.abs () ? dx : dy; if (largest < 0) { _time = _time.add_minutes (1); } else { _time = _time.add_minutes (-1); } update_text (); return false; })] = scroll_controller; signal_map[time_entry.activate.connect (() => { is_unfocused (); activated (); })] = time_entry; } private void is_unfocused () { if (old_string.collate (time_entry.text) != 0) { old_string = time_entry.text; parse_time (time_entry.text.dup ()); } } private void parse_time (string timestr) { string current = ""; bool is_hours = true; bool is_suffix = false; bool has_suffix = false; int ? hour = null; int ? minute = null; foreach (var c in timestr.down ().to_utf8 ()) { if (c.isdigit ()) { current = "%s%c".printf (current, c); } else { if (!is_suffix) { if (current != "") { if (is_hours) { is_hours = false; hour = int.parse (current); current = ""; } else { minute = int.parse (current); current = ""; } } if (c.to_string ().contains ("a") || c.to_string ().contains ("p")) { is_suffix = true; current = "%s%c".printf (current, c); } } if (c.to_string ().contains ("m") && is_suffix) { if (hour == null) { return; } else if (minute == null) { minute = 0; } // We can imagine that some will try to set it to "19:00 am" if (current.contains ("a") || hour >= 12) { time = time.add_hours (hour - time.get_hour ()); } else { time = time.add_hours (hour + 12 - time.get_hour ()); } if (current.contains ("a") && hour == 12) { time = time.add_hours (-12); } time = time.add_minutes (minute - time.get_minute ()); has_suffix = true; } } } if (is_hours == false && is_suffix == false && current != "") { minute = int.parse (current); } if (hour == null) { if (current.length < 3) { hour = int.parse (current); minute = 0; } else if (current.length == 4) { hour = int.parse (current.slice (0, 2)); minute = int.parse (current.slice (2, 4)); if (hour > 23 || minute > 59) { hour = null; minute = null; } } } if (hour == null || minute == null) { update_text (); return; } if (has_suffix == false) { time = time.add_hours (hour - time.get_hour ()); time = time.add_minutes (minute - time.get_minute ()); } update_text (); } private void update_text (bool no_signal = false) { if (Utils.Datetime.is_clock_format_12h ()) { time_entry.set_text (time.format (format_12)); } else { time_entry.set_text (time.format (format_24)); } old_string = time_entry.text; if (no_signal == false) { time_changed (); } } public void reset () { _time = null; update_text (); } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } public void grab_entry_focus () { time_entry.grab_focus (); } } alainm23-planify-69962f8/core/Widgets/DeadlineButton.vala000066400000000000000000000236231517337276100232050ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public enum DeadlineButtonType { BUTTON, BUTTON_DETAIL, CARD } public class Widgets.DeadlineButton : Adw.Bin { public DeadlineButtonType button_type { get; construct; } private Widgets.Calendar.Calendar calendar_view; private Gtk.Popover calendar_popover; private Gtk.MenuButton button; private Gtk.Revealer delete_revealer; private Gtk.Label deadline_label; private Gtk.Label deadline_date_label; private Gtk.Label deadline_relative_label; private Gtk.Revealer main_revealer; private Gtk.Image deadline_icon; public GLib.DateTime datetime { set { calendar_view.date = value; delete_revealer.reveal_child = value != null; if (value == null) { calendar_view.reset (); if (button_type == DeadlineButtonType.BUTTON_DETAIL) { deadline_icon.remove_css_class ("error"); deadline_date_label.label = _("Set Deadline"); deadline_date_label.remove_css_class ("error"); deadline_relative_label.label = _("The latest date to complete this task"); } else if (button_type == DeadlineButtonType.CARD) { deadline_label.label = _("What is the latest date to complete this?"); deadline_label.tooltip_text = null; deadline_icon.remove_css_class ("error"); } } else { if (button_type == DeadlineButtonType.BUTTON_DETAIL) { deadline_date_label.label = get_date_format (value); deadline_relative_label.label = get_relative_date_format (value); update_error_style (value); } else if (button_type == DeadlineButtonType.CARD) { deadline_label.label = "%s, %s".printf (get_date_format (value), get_relative_date_format (value)); deadline_label.tooltip_text = deadline_label.label; update_card_error_style (value); } } } } public bool reveal_content { set { main_revealer.reveal_child = value; } } public signal void date_selected (GLib.DateTime ? date); public signal void picker_opened (bool active); public DeadlineButton () { Object ( button_type: DeadlineButtonType.BUTTON, tooltip_text: _("The latest date to complete this task") ); } public DeadlineButton.with_detail () { Object ( button_type: DeadlineButtonType.BUTTON_DETAIL, tooltip_text: _("The latest date to complete this task") ); } public DeadlineButton.card () { Object ( button_type: DeadlineButtonType.CARD, tooltip_text: _("The latest date to complete this task") ); } ~DeadlineButton () { debug ("Destroying - Widgets.DeadlineButton\n"); } construct { calendar_popover = build_popover (); build_button_content (); build_ui (); calendar_popover.closed.connect (() => { picker_opened (false); }); calendar_popover.show.connect (() => { picker_opened (true); }); } private void build_button_content () { deadline_icon = new Gtk.Image.from_icon_name ("delay-long-small-symbolic"); Gtk.Widget button_child; if (button_type == DeadlineButtonType.BUTTON) { button_child = deadline_icon; } else if (button_type == DeadlineButtonType.BUTTON_DETAIL) { deadline_date_label = new Gtk.Label (_("Set Deadline")) { halign = START }; deadline_relative_label = new Gtk.Label (_("The latest date to complete this task")) { halign = START }; deadline_relative_label.add_css_class ("dimmed"); var deadline_box = new Gtk.Box (HORIZONTAL, 6) { halign = START }; deadline_box.append (deadline_icon); deadline_box.append (deadline_date_label); deadline_box.append (deadline_relative_label); button_child = deadline_box; } else { var title_label = new Gtk.Label (_("Deadline")) { halign = START, css_classes = { "title-4", "caption", "font-bold" } }; deadline_label = new Gtk.Label (_("What is the latest date to complete this?")) { xalign = 0, use_markup = true, halign = START, ellipsize = Pango.EllipsizeMode.END, css_classes = { "caption" } }; var card_grid = new Gtk.Grid () { column_spacing = 12, margin_start = 12, margin_end = 6, margin_top = 6, margin_bottom = 6, vexpand = true, hexpand = true }; card_grid.attach (deadline_icon, 0, 0, 1, 2); card_grid.attach (title_label, 1, 0, 1, 1); card_grid.attach (deadline_label, 1, 1, 1, 1); button_child = card_grid; } button = new Gtk.MenuButton () { css_classes = { "flat" }, valign = Gtk.Align.CENTER, child = button_child, popover = calendar_popover }; if (button_type == DeadlineButtonType.CARD) { add_css_class ("card"); add_css_class ("activatable"); button.add_css_class ("menu-button-no-padding"); button.hexpand = true; } } private void build_ui () { Gtk.RevealerTransitionType transition_type = button_type == DeadlineButtonType.BUTTON ? Gtk.RevealerTransitionType.SLIDE_LEFT : Gtk.RevealerTransitionType.SLIDE_DOWN; main_revealer = new Gtk.Revealer () { transition_type = transition_type, child = button, reveal_child = true }; child = main_revealer; } public Gtk.Popover build_popover () { calendar_view = new Widgets.Calendar.Calendar (true); var delete_button = new Gtk.Button.with_label (_("Delete")) { margin_top = 12 }; delete_button.add_css_class ("destructive-action"); delete_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = delete_button, reveal_child = false }; var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); content_box.append (calendar_view); content_box.append (delete_revealer); var popover = new Gtk.Popover () { has_arrow = false, child = content_box, position = Gtk.PositionType.BOTTOM }; calendar_view.day_selected.connect (() => { date_selected (calendar_view.date); popover.hide (); }); delete_button.clicked.connect (() => { date_selected (null); calendar_view.reset (); delete_revealer.reveal_child = false; popover.hide (); }); return popover; } private string get_date_format (GLib.DateTime date) { return Utils.Datetime.get_short_date_format_from_date (date); } private string get_relative_date_format (GLib.DateTime date) { return Utils.Datetime.get_relative_time_from_date (date); } private void update_error_style (GLib.DateTime date) { var date_only = Utils.Datetime.get_date_only (date); bool is_overdue = Utils.Datetime.is_today (date_only) || Utils.Datetime.is_yesterday (date_only) || Utils.Datetime.is_overdue (date_only); if (is_overdue) { deadline_date_label.add_css_class ("error"); deadline_icon.add_css_class ("error"); } else { deadline_date_label.remove_css_class ("error"); deadline_icon.remove_css_class ("error"); } } private void update_card_error_style (GLib.DateTime date) { var date_only = Utils.Datetime.get_date_only (date); bool is_overdue = Utils.Datetime.is_today (date_only) || Utils.Datetime.is_yesterday (date_only) || Utils.Datetime.is_overdue (date_only); if (is_overdue) { deadline_label.add_css_class ("error"); deadline_icon.add_css_class ("error"); } else { deadline_label.remove_css_class ("error"); deadline_icon.remove_css_class ("error"); } } public void remove_error_style () { if (button_type == DeadlineButtonType.BUTTON_DETAIL) { deadline_date_label.remove_css_class ("error"); deadline_icon.remove_css_class ("error"); } else if (button_type == DeadlineButtonType.CARD) { deadline_label.remove_css_class ("error"); deadline_icon.remove_css_class ("error"); } } } alainm23-planify-69962f8/core/Widgets/IconColorProject.vala000066400000000000000000000053771517337276100235300ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.IconColorProject : Adw.Bin { public Objects.Project project { get; set; } public int pixel_size { get; construct; } private Widgets.CircularProgressBar circular_progress_bar; public Gtk.Image inbox_icon; private Gtk.Label emoji_label; private Gtk.Stack stack; private Gee.HashMap signal_map = new Gee.HashMap (); public IconColorProject (int pixel_size) { Object ( pixel_size: pixel_size ); } ~IconColorProject () { debug ("Destroying - Widgets.IconColorProject\n"); } construct { circular_progress_bar = new Widgets.CircularProgressBar (pixel_size); emoji_label = new Gtk.Label (null) { halign = CENTER }; inbox_icon = new Gtk.Image.from_icon_name ("mailbox-symbolic") { pixel_size = 16, valign = CENTER, halign = CENTER, }; stack = new Gtk.Stack () { transition_type = CROSSFADE }; stack.add_named (circular_progress_bar, "color"); stack.add_named (emoji_label, "emoji"); stack.add_named (inbox_icon, "inbox"); child = stack; signal_map[notify["project"].connect (() => { update_request (); })] = this; } public void update_request () { circular_progress_bar.color = project.color; circular_progress_bar.percentage = project.percentage; emoji_label.label = project.emoji; if (project.is_inbox_project) { stack.visible_child_name = "inbox"; return; } stack.visible_child_name = project.icon_style == ProjectIconStyle.PROGRESS ? "color" : "emoji"; } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } } alainm23-planify-69962f8/core/Widgets/ItemLabelChild.vala000066400000000000000000000062561517337276100231110ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ItemLabelChild : Gtk.Button { public Objects.Label label { get; construct; } private bool _clickable = true; public bool clickable { get { return _clickable; } set { _clickable = value; can_focus = value; can_target = value; } } private Gtk.Label name_label; private Gtk.Revealer main_revealer; private Gee.HashMap signal_map = new Gee.HashMap (); public ItemLabelChild (Objects.Label label) { Object ( label: label, halign: Gtk.Align.START ); } ~ItemLabelChild () { debug ("Destroying - Widgets.ItemLabelChild\n"); } construct { name_label = new Gtk.Label (null) { valign = CENTER }; name_label.add_css_class ("caption"); var label_container = new Adw.Bin () { child = name_label }; main_revealer = new Gtk.Revealer () { transition_type = SLIDE_RIGHT, child = label_container }; child = main_revealer; add_css_class ("item-label-child"); update_request (); Timeout.add (main_revealer.transition_duration, () => { main_revealer.reveal_child = true; return GLib.Source.REMOVE; }); signal_map[label.deleted.connect (() => { hide_destroy (); })] = label; signal_map[label.updated.connect (update_request)] = label; destroy.connect (() => { clean_up (); }); } public void update_request () { name_label.label = label.name; Util.get_default ().set_widget_color (Util.get_default ().get_color (label.color), this); } public void hide_destroy () { main_revealer.reveal_child = false; Timeout.add (main_revealer.transition_duration, () => { if (parent is Gtk.Box) { ((Gtk.Box) parent).remove (this); } else if (parent is Adw.WrapBox) { ((Adw.WrapBox) parent).remove (this); } return GLib.Source.REMOVE; }); } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } } alainm23-planify-69962f8/core/Widgets/ItemLabels.vala000066400000000000000000000100171517337276100223160ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ItemLabels : Adw.Bin { Objects.Item _item; public Objects.Item item { get { return _item; } set { disconnect_signals (); reset (); _item = value; signal_map[_item.item_label_deleted.connect ((label) => { remove_item_label (label); })] = _item; signal_map[_item.item_label_added.connect ((label) => { add_item_label (label); })] = _item; add_labels (); } } public signal void label_clicked (Objects.Label label); private bool has_items { get { return item_labels_map.size > 0; } } private Adw.WrapBox box_layout; private Gtk.Revealer main_revealer; private Gee.HashMap item_labels_map = new Gee.HashMap (); private Gee.HashMap signal_map = new Gee.HashMap (); public int top_margin { set { box_layout.margin_top = value; } } ~ItemLabels () { debug ("Destroying - Widgets.ItemLabels\n"); } construct { box_layout = new Adw.WrapBox () { child_spacing = 6, line_spacing = 6, halign = START }; main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = box_layout }; child = main_revealer; } private void disconnect_signals () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } public void add_labels () { if (_item == null) { return; } foreach (Objects.Label label in _item.get_labels_list ()) { add_item_label (label); } main_revealer.reveal_child = has_items; } public void add_item_label (Objects.Label label) { if (!item_labels_map.has_key (label.id)) { item_labels_map[label.id] = new Widgets.ItemLabelChild (label); item_labels_map[label.id].clicked.connect (() => { label_clicked (label); }); box_layout.append (item_labels_map[label.id]); } main_revealer.reveal_child = has_items; } public void remove_item_label (Objects.Label label) { if (item_labels_map.has_key (label.id)) { item_labels_map[label.id].hide_destroy (); item_labels_map.unset (label.id); } main_revealer.reveal_child = has_items; } public void update_labels () { reset (); add_labels (); } public void reset () { foreach (Widgets.ItemLabelChild item_label_row in item_labels_map.values) { box_layout.remove (item_label_row); } item_labels_map.clear (); } public void clean_up () { disconnect_signals (); foreach (Widgets.ItemLabelChild item_label_row in item_labels_map.values) { item_label_row.clean_up (); } } } alainm23-planify-69962f8/core/Widgets/LabelPicker/000077500000000000000000000000001517337276100216065ustar00rootroot00000000000000alainm23-planify-69962f8/core/Widgets/LabelPicker/LabelButton.vala000066400000000000000000000115731517337276100246750ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.LabelPicker.LabelButton : Adw.Bin { public bool is_board { get; construct; } private Gtk.MenuButton button; private Widgets.LabelPicker.LabelPicker labels_picker; private Gtk.Label labels_label; public Gee.ArrayList labels { set { labels_picker.labels = value; } } Objects.Source _source; public Objects.Source source { set { _source = value; labels_picker.source = _source; } get { return _source; } } public signal void labels_changed (Gee.HashMap labels); public signal void picker_opened (bool active); private Gee.HashMap signal_map = new Gee.HashMap (); public LabelButton () { Object ( is_board: false, valign: Gtk.Align.CENTER, halign: Gtk.Align.CENTER, tooltip_text: _("Add Labels") ); } public LabelButton.for_board () { Object ( is_board: true, tooltip_text: _("Add Labels") ); } ~LabelButton () { debug ("Destroying - Widgets.LabelPicker.LabelButton\n"); } construct { labels_picker = new Widgets.LabelPicker.LabelPicker (); if (is_board) { var title_label = new Gtk.Label (_("Labels")) { halign = START, css_classes = { "title-4", "caption", "font-bold" } }; labels_label = new Gtk.Label (_("Select Labels")) { xalign = 0, use_markup = true, halign = START, ellipsize = Pango.EllipsizeMode.END, css_classes = { "caption" } }; var card_grid = new Gtk.Grid () { column_spacing = 12, margin_start = 12, margin_end = 6, margin_top = 6, margin_bottom = 6, vexpand = true, hexpand = true }; card_grid.attach (new Gtk.Image.from_icon_name ("tag-outline-symbolic"), 0, 0, 1, 2); card_grid.attach (title_label, 1, 0, 1, 1); card_grid.attach (labels_label, 1, 1, 1, 1); button = new Gtk.MenuButton () { popover = labels_picker, child = card_grid, css_classes = { "flat", "card", "activatable", "menu-button-no-padding" }, hexpand = true }; child = button; } else { button = new Gtk.MenuButton () { icon_name = "tag-outline-symbolic", popover = labels_picker, css_classes = { "flat" } }; child = button; } signal_map[labels_picker.closed.connect (() => { labels_changed (labels_picker.picked); picker_opened (false); })] = labels_picker; signal_map[labels_picker.show.connect (() => { picker_opened (true); })] = labels_picker; } public void reset () { labels_picker.reset (); } public void update_tooltip_from_item (Objects.Item item) { labels_label.label = _("Select Labels"); labels_label.tooltip_text = null; if (item.labels.size > 0) { labels_label.label = ""; for (int index = 0; index < item.labels.size; index++) { if (index < item.labels.size - 1) { labels_label.label += item.labels[index].name + ", "; } else { labels_label.label += item.labels[index].name; } } labels_label.tooltip_text = labels_label.label; } } public void open_picker () { button.active = true; } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); labels_picker.clean_up (); } } alainm23-planify-69962f8/core/Widgets/LabelPicker/LabelPicker.vala000066400000000000000000000042431517337276100246330ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.LabelPicker.LabelPicker : Gtk.Popover { private Widgets.LabelsPickerCore labels_picker_core; public Gee.ArrayList labels { set { labels_picker_core.labels = value; } } public Objects.Source source { set { labels_picker_core.source = value; } } public Gee.HashMap picked { get { return labels_picker_core.picked; } } public LabelPicker () { Object ( has_arrow: false, position: Gtk.PositionType.BOTTOM, width_request: 275, height_request: 300 ); } ~LabelPicker () { debug ("Destroying - Widgets.LabelPicker.LabelPicker\n"); } construct { labels_picker_core = new Widgets.LabelsPickerCore (LabelPickerType.FILTER_AND_CREATE) { margin_top = 12 }; child = labels_picker_core; add_css_class ("popover-contents"); labels_picker_core.close.connect (() => { popdown (); }); destroy.connect (() => { labels_picker_core.clean_up (); }); } public void reset () { labels_picker_core.reset (); } public void clean_up () { labels_picker_core.clean_up (); } } alainm23-planify-69962f8/core/Widgets/LabelPicker/LabelQuickPicker.vala000066400000000000000000000253011517337276100256260ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.LabelPicker.LabelQuickPicker : Gtk.Popover { private Gtk.ListBox listbox; private Gtk.ScrolledWindow listbox_scrolled; private Gtk.EventControllerKey key_controller; private Widgets.LabelPicker.LabelRow create_label_row; public signal void label_selected (Objects.Label label); Objects.Source _source; public Objects.Source source { set { _source = value; add_labels (_source); } get { return _source; } } private string _filter_text = ""; public string filter_text { get { return _filter_text; } set { _filter_text = value; apply_filter (); } } public Gee.HashMap labels_widgets_map = new Gee.HashMap (); public LabelQuickPicker () { Object ( has_arrow: false, autohide: false, position: Gtk.PositionType.BOTTOM, width_request: 275 ); } ~LabelQuickPicker () { debug ("Destroying - Widgets.LabelPicker.LabelQuickPicker\n"); } construct { listbox = new Gtk.ListBox () { hexpand = true, valign = Gtk.Align.START }; listbox.add_css_class ("listbox-background"); listbox.set_sort_func ((row1, row2) => { Objects.Label item1 = ((Widgets.LabelPicker.LabelRow) row1).label; Objects.Label item2 = ((Widgets.LabelPicker.LabelRow) row2).label; return item1.item_order - item2.item_order; }); listbox.row_activated.connect ((row) => { var label_row = (Widgets.LabelPicker.LabelRow) row; if (label_row == create_label_row) { create_new_label (_filter_text); } else { label_selected (label_row.label); } }); var listbox_content = new Adw.Bin () { child = listbox, margin_start = 12, margin_end = 12, margin_top = 12, margin_bottom = 12 }; listbox_scrolled = new Gtk.ScrolledWindow () { hscrollbar_policy = Gtk.PolicyType.NEVER, hexpand = true, vexpand = true, child = listbox_content, height_request = 175 }; child = listbox_scrolled; add_css_class ("popover-contents"); key_controller = new Gtk.EventControllerKey (); key_controller.key_pressed.connect ((keyval, keycode, state) => { if (keyval == Gdk.Key.Tab || keyval == Gdk.Key.ISO_Left_Tab) { popdown (); return true; } return false; }); ((Gtk.Widget) this).add_controller (key_controller); notify["visible"].connect (() => { if (visible) { setup_focus_monitoring (); reset_filter (); } }); } private void setup_focus_monitoring () { var parent_widget = get_parent (); if (parent_widget == null) return; var focus_controller = new Gtk.EventControllerFocus (); focus_controller.leave.connect (() => { Timeout.add (50, () => { if (visible && !parent_widget.has_focus) { popdown (); } return GLib.Source.REMOVE; }); }); parent_widget.add_controller (focus_controller); } private void add_labels (Objects.Source source) { labels_widgets_map.clear (); foreach (unowned Gtk.Widget child in Util.get_default ().get_children (listbox)) { listbox.remove (child); } foreach (Objects.Label label in Services.Store.instance ().get_labels_by_source (source.id)) { add_label (label); } } private void add_label (Objects.Label label) { labels_widgets_map[label.id] = new Widgets.LabelPicker.LabelRow (label) { hide_check_button = true, margin = 6 }; listbox.append (labels_widgets_map[label.id]); } private void apply_filter () { if (create_label_row != null) { listbox.remove (create_label_row); create_label_row = null; } int visible_count = 0; listbox.set_filter_func ((row) => { var label_row = (Widgets.LabelPicker.LabelRow) row; if (_filter_text == "") { return true; } bool matches = label_row.label.name.down ().contains (_filter_text.down ()); if (matches) { visible_count++; } return matches; }); if (visible_count == 0 && _filter_text.length > 0) { add_create_label_row (); } else { select_first_item (); } } private void add_create_label_row () { var create_label = new Objects.Label (); create_label.name = _("Label not found: Create '%s'").printf (_filter_text); create_label.color = "#a0a0a0"; create_label.id = "create_new_label"; create_label_row = new Widgets.LabelPicker.LabelRow (create_label) { hide_check_button = true, margin = 6 }; listbox.append (create_label_row); listbox.select_row (create_label_row); } private void create_new_label (string label_name) { if (create_label_row != null) { create_label_row.show_loading (true); } var label = new Objects.Label (); label.color = Util.get_default ().get_random_color (); label.name = label_name; label.source_id = _source.id; if (_source.source_type == SourceType.LOCAL || _source.source_type == SourceType.CALDAV) { label.id = Util.get_default ().generate_id (label); Services.Store.instance ().insert_label (label); label_selected (label); } else if (_source.source_type == SourceType.TODOIST) { Services.Todoist.get_default ().add.begin (label, (obj, res) => { HttpResponse response = Services.Todoist.get_default ().add.end (res); if (response.status) { label.id = response.data; Services.Store.instance ().insert_label (label); label_selected (label); } if (create_label_row != null) { create_label_row.show_loading (false); } }); } } public void navigate_listbox (bool down) { var selected_row = listbox.get_selected_row (); if (selected_row == null) { int index = 0; while (true) { var row = listbox.get_row_at_index (index); if (row == null) break; if (row.get_child_visible ()) { listbox.select_row (row); scroll_to_selected (); break; } index++; } return; } int current_index = selected_row.get_index (); int new_index = down ? current_index + 1 : current_index - 1; while (new_index >= 0) { var new_row = listbox.get_row_at_index (new_index); if (new_row == null) break; if (new_row.get_child_visible ()) { listbox.select_row (new_row); scroll_to_selected (); break; } new_index = down ? new_index + 1 : new_index - 1; } } public void activate_selected () { var selected_row = listbox.get_selected_row (); if (selected_row != null) { var label_row = (Widgets.LabelPicker.LabelRow) selected_row; if (label_row == create_label_row) { create_new_label (_filter_text); } else { label_selected (label_row.label); } } } public void select_first_item () { int index = 0; while (true) { var row = listbox.get_row_at_index (index); if (row == null) break; if (row.get_child_visible ()) { listbox.select_row (row); scroll_to_selected (); break; } index++; } } public void reset_filter () { if (create_label_row != null) { listbox.remove (create_label_row); create_label_row = null; } listbox.set_filter_func (null); listbox.unselect_all (); } private int count_visible_children () { int count = 0; int index = 0; while (true) { var row = listbox.get_row_at_index (index); if (row == null) break; if (row.get_child_visible ()) { count++; } index++; } return count; } private void scroll_to_selected () { var selected_row = listbox.get_selected_row (); if (selected_row == null) return; Gtk.Allocation allocation; selected_row.get_allocation (out allocation); var adjustment = listbox_scrolled.vadjustment; double row_start = allocation.y; double row_end = allocation.y + allocation.height; double visible_start = adjustment.value; double visible_end = adjustment.value + adjustment.page_size; if (row_start < visible_start) { adjustment.value = row_start - 10; } else if (row_end > visible_end) { adjustment.value = row_end - adjustment.page_size + 10; } } } alainm23-planify-69962f8/core/Widgets/LabelPicker/LabelRow.vala000066400000000000000000000102251517337276100241620ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.LabelPicker.LabelRow : Gtk.ListBoxRow { public Objects.Label label { get; construct; } private Gtk.Box content_box; private bool _hide_check_button = false; public bool hide_check_button { get { return _hide_check_button; } set { _hide_check_button = value; checked_button.visible = !value; } } public bool active { set { checked_button.active = value; } } public int margin { set { content_box.margin_start = value; content_box.margin_top = value; content_box.margin_end = value; content_box.margin_bottom = value; } } private Gtk.CheckButton checked_button; private Gtk.Revealer loading_revealer; public signal void checked_toggled (Objects.Label label, bool active); private Gee.HashMap signals_map = new Gee.HashMap (); public LabelRow (Objects.Label label) { Object ( label: label ); } ~LabelRow () { debug ("Destroying - Widgets.LabelPicker.LabelRow\n"); } construct { add_css_class ("border-radius-6"); add_css_class ("no-padding"); checked_button = new Gtk.CheckButton () { valign = Gtk.Align.CENTER, css_classes = { "checkbutton-label" } }; var color_grid = new Gtk.Grid () { width_request = 3, height_request = 16, valign = Gtk.Align.CENTER, css_classes = { "event-bar" } }; Util.get_default ().set_widget_color (Util.get_default ().get_color (label.color), color_grid); var name_label = new Gtk.Label (label.name) { valign = Gtk.Align.CENTER, }; loading_revealer = new Gtk.Revealer () { child = new Adw.Spinner (), hexpand = true, halign = END }; content_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6); content_box.append (checked_button); content_box.append (color_grid); content_box.append (name_label); content_box.append (loading_revealer); child = content_box; var checked_button_gesture = new Gtk.GestureClick (); content_box.add_controller (checked_button_gesture); signals_map[checked_button_gesture.pressed.connect (() => { checked_button_gesture.set_state (Gtk.EventSequenceState.CLAIMED); update_checked_toggled (); })] = checked_button_gesture; signals_map[activate.connect (() => { update_checked_toggled (); })] = this; signals_map[label.updated.connect (() => { Util.get_default ().set_widget_color (Util.get_default ().get_color (label.color), color_grid); name_label.label = label.name; })] = label; } public void update_checked_toggled () { checked_button.active = !checked_button.active; checked_toggled (label, checked_button.active); } public void show_loading (bool show) { loading_revealer.reveal_child = show; } public void clean_up () { foreach (var entry in signals_map.entries) { entry.value.disconnect (entry.key); } signals_map.clear (); } } alainm23-planify-69962f8/core/Widgets/LabelPicker/LabelsPickerCore.vala000066400000000000000000000363671517337276100256430ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.LabelsPickerCore : Adw.Bin { public LabelPickerType picker_type { get; construct; } private Gtk.SearchEntry search_entry; private Gtk.ListBox listbox; private Gtk.Label placeholder_message_label; private Gtk.Label placeholder_title_label; private Gtk.Image placeholder_icon; private Gtk.Revealer add_tag_revealer; private Gtk.Revealer spinner_revealer; private Gtk.Revealer search_entry_revealer; private Gtk.ToggleButton filter_button; private bool hide_unused; public Gee.ArrayList labels { set { picked.clear (); foreach (Objects.Label label in value) { labels_widgets_map[label.id].active = true; picked[label.id] = label; } } } Objects.Source _source; public Objects.Source source { set { _source = value; add_labels (_source); } get { return _source; } } public bool is_loading { set { spinner_revealer.reveal_child = value; } } public Gee.HashMap labels_widgets_map = new Gee.HashMap (); public Gee.HashMap picked = new Gee.HashMap (); private string PLACEHOLDER_MESSAGE = _("Your list of filters will show up here. Create one by entering the name and pressing the Enter key."); // vala-lint=naming-convention private string PLACEHOLDER_CREATE_MESSAGE = _("Create '%s'"); // vala-lint=naming-convention public signal void close (); private Gee.HashMap signals_map = new Gee.HashMap (); public LabelsPickerCore (LabelPickerType picker_type) { Object ( picker_type: picker_type ); } ~LabelsPickerCore () { debug ("Destroying - Widgets.LabelsPickerCore\n"); } construct { if (picker_type == LabelPickerType.FILTER_ONLY) { PLACEHOLDER_MESSAGE = _("Your list of filters will show up here."); } search_entry = new Gtk.SearchEntry () { placeholder_text = picker_type == LabelPickerType.FILTER_ONLY ? _("Search") : _("Search or Create"), valign = Gtk.Align.CENTER, hexpand = true }; hide_unused = Services.Settings.get_default ().settings.get_boolean ("label-picker-hide-unused"); filter_button = new Gtk.ToggleButton () { icon_name = "funnel-outline-symbolic", active = hide_unused, valign = Gtk.Align.CENTER, tooltip_text = _("Hide unused labels"), css_classes = { "flat" } }; var search_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_start = 12, margin_end = 12, margin_bottom = 12 }; search_box.append (search_entry); search_box.append (filter_button); search_entry_revealer = new Gtk.Revealer () { child = search_box, reveal_child = true }; listbox = new Gtk.ListBox () { hexpand = true, valign = Gtk.Align.START }; listbox.add_css_class ("listbox-background"); listbox.add_css_class ("listbox-separator-6"); listbox.set_placeholder (get_placeholder ()); listbox.set_sort_func ((row1, row2) => { Objects.Label item1 = ((Widgets.LabelPicker.LabelRow) row1).label; Objects.Label item2 = ((Widgets.LabelPicker.LabelRow) row2).label; return item1.item_order - item2.item_order; }); var listbox_grid = new Adw.Bin () { margin_start = 9, margin_end = 9, margin_bottom = 6, child = listbox, valign = Gtk.Align.START }; var listbox_scrolled = new Gtk.ScrolledWindow () { hscrollbar_policy = Gtk.PolicyType.NEVER, hexpand = true, vexpand = true }; listbox_scrolled.child = listbox_grid; var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (search_entry_revealer); toolbar_view.content = listbox_scrolled; child = toolbar_view; var listbox_controller_key = new Gtk.EventControllerKey (); listbox.add_controller (listbox_controller_key); signals_map[listbox_controller_key.key_pressed.connect ((keyval, keycode, state) => { var key = Gdk.keyval_name (keyval).replace ("KP_", ""); if (key == "Up") { var selected_row = listbox.get_selected_row (); if (selected_row != null) { Gtk.ListBoxRow first_visible_row = null; int index = 0; while (true) { var row = listbox.get_row_at_index (index); if (row == null) break; if (row.get_child_visible ()) { first_visible_row = row; break; } index++; } if (first_visible_row != null && selected_row == first_visible_row) { search_entry.grab_focus (); search_entry.set_position (search_entry.text.length); return true; } } } else if (key == "Down") { } else if (key == "Enter" || key == "Return" || key == "KP_Enter") { } else if (key == "BackSpace") { if (!search_entry.has_focus && search_entry.text.length > 0) { search_entry.grab_focus (); int pos = search_entry.text.length; search_entry.delete_text (pos - 1, pos); search_entry.set_position (pos - 1); return true; } } else { if (!search_entry.has_focus) { unichar c = Gdk.keyval_to_unicode (keyval); if (c.isprint ()) { search_entry.grab_focus (); int pos = search_entry.text.length; search_entry.insert_text (c.to_string (), -1, ref pos); search_entry.set_position (pos); return true; } } } return false; })] = listbox_controller_key; signals_map[search_entry.search_changed.connect (() => { invalidate_filter (); })] = search_entry; signals_map[filter_button.toggled.connect (() => { hide_unused = filter_button.active; Services.Settings.get_default ().settings.set_boolean ("label-picker-hide-unused", hide_unused); invalidate_filter (); })] = filter_button; signals_map[search_entry.activate.connect (() => { if (source != null && search_entry.text.length > 0) { Objects.Label label = Services.Store.instance ().get_label_by_name (search_entry.text, true, source.id); if (label != null) { if (labels_widgets_map.has_key (label.id_string)) { labels_widgets_map[label.id_string].update_checked_toggled (); } } else { add_assign_label (); } } })] = search_entry; var search_entry_ctrl_key = new Gtk.EventControllerKey (); search_entry.add_controller (search_entry_ctrl_key); signals_map[search_entry_ctrl_key.key_pressed.connect ((keyval, keycode, state) => { var key = Gdk.keyval_name (keyval).replace ("KP_", ""); if (keyval == Gdk.Key.Escape) { close (); } else if (key == "Down") { listbox.get_row_at_index (0).grab_focus (); return true; } return false; })] = search_entry_ctrl_key; signals_map[Services.Store.instance ().label_added.connect ((label) => { add_label (label); })] = Services.Store.instance (); } private void add_assign_label () { var label = new Objects.Label (); label.color = Util.get_default ().get_random_color (); label.name = search_entry.text; label.source_id = source.id; if (source.source_type == SourceType.LOCAL || source.source_type == SourceType.CALDAV) { label.id = Util.get_default ().generate_id (label); Services.Store.instance ().insert_label (label); checked_toggled (label, true); search_entry.text = ""; close (); } else if (source.source_type == SourceType.TODOIST) { is_loading = true; Services.Todoist.get_default ().add.begin (label, (obj, res) => { HttpResponse response = Services.Todoist.get_default ().add.end (res); if (response.status) { label.id = response.data; Services.Store.instance ().insert_label (label); checked_toggled (label, true); } close (); is_loading = false; search_entry.text = ""; }); } } private void add_labels (Objects.Source source) { labels_widgets_map.clear (); foreach (unowned Gtk.Widget child in Util.get_default ().get_children (listbox)) { listbox.remove (child); } foreach (Objects.Label label in Services.Store.instance ().get_labels_by_source (source.id)) { add_label (label); } } private void add_label (Objects.Label label) { labels_widgets_map[label.id] = new Widgets.LabelPicker.LabelRow (label); signals_map[labels_widgets_map[label.id].checked_toggled.connect (checked_toggled)] = labels_widgets_map[label.id]; listbox.append (labels_widgets_map[label.id]); } private Gtk.Widget get_placeholder () { placeholder_icon = new Gtk.Image.from_icon_name ("tag-outline-add-symbolic") { pixel_size = 32, margin_bottom = 12, css_classes = { "dimmed" } }; add_tag_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_UP, child = placeholder_icon }; placeholder_title_label = new Gtk.Label (_("No Labels")) { css_classes = { "title-4" } }; placeholder_message_label = new Gtk.Label (PLACEHOLDER_MESSAGE) { wrap = true, justify = Gtk.Justification.CENTER, css_classes = { "dimmed", "caption" }, margin_top = 4 }; var spinner = new Adw.Spinner () { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, height_request = 24, width_request = 24, margin_top = 12, css_classes = { "text-color" } }; spinner_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_UP, child = spinner }; var box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { valign = CENTER, halign = CENTER, margin_start = 24, margin_end = 24, margin_top = 24 }; box.append (add_tag_revealer); box.append (placeholder_title_label); box.append (placeholder_message_label); box.append (spinner_revealer); return box; } private void checked_toggled (Objects.Label label, bool active) { if (active) { if (!picked.has_key (label.id)) { picked[label.id] = label; } } else { if (picked.has_key (label.id)) { picked.unset (label.id); } } } private void invalidate_filter () { string search_text = search_entry.text.down (); int size = 0; listbox.set_filter_func ((row) => { var label = ((Widgets.LabelPicker.LabelRow) row).label; if (hide_unused && label.label_count <= 0) { return false; } var matches_search = search_text in label.name.down (); if (matches_search) { size++; } return matches_search; }); if (picker_type == LabelPickerType.FILTER_AND_CREATE) { if (hide_unused && size <= 0 && search_text.length == 0) { placeholder_icon.icon_name = "funnel-outline-symbolic"; add_tag_revealer.reveal_child = true; placeholder_title_label.label = _("All Hidden"); placeholder_message_label.label = _("All labels are hidden by the filter. Disable the filter to see them."); } else if (size <= 0) { placeholder_icon.icon_name = "tag-outline-add-symbolic"; add_tag_revealer.reveal_child = true; placeholder_title_label.label = PLACEHOLDER_CREATE_MESSAGE.printf (search_entry.text); placeholder_message_label.label = _("Press Enter to create and assign it"); } else { placeholder_title_label.label = _("No Labels"); placeholder_message_label.label = PLACEHOLDER_MESSAGE; add_tag_revealer.reveal_child = false; } } } public void reset () { foreach (var entry in labels_widgets_map.entries) { labels_widgets_map[entry.key].active = false; } labels_widgets_map.clear (); } public void add_labels_list (Gee.ArrayList labels_list) { labels_widgets_map.clear (); foreach (unowned Gtk.Widget child in Util.get_default ().get_children (listbox)) { listbox.remove (child); } foreach (Objects.Label label in labels_list) { add_label (label); } } public void clean_up () { listbox.set_sort_func (null); listbox.set_filter_func (null); foreach (var entry in labels_widgets_map.entries) { labels_widgets_map[entry.key].clean_up (); } foreach (var entry in signals_map.entries) { entry.value.disconnect (entry.key); } signals_map.clear (); } } alainm23-planify-69962f8/core/Widgets/LoadingButton.vala000066400000000000000000000060431517337276100230520ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.LoadingButton : Gtk.Button { public string text_icon { get; construct; } public LoadingButtonType loading_type { get; construct; } public int icon_size { get; construct; } bool _is_loading; private Gtk.Stack submit_stack; private Gtk.Image icon; [Description (nick = "Show loading", blurb = "Show loading")] public bool is_loading { get { return _is_loading; } set { if (value) { submit_stack.visible_child_name = "spinner"; } else { submit_stack.visible_child_name = "button"; } _is_loading = value; } } public LoadingButton (LoadingButtonType loading_type, string text_icon) { Object ( loading_type: loading_type, text_icon: text_icon ); } public LoadingButton.with_label (string label) { Object ( loading_type: LoadingButtonType.LABEL, text_icon: label, icon_size: 16 ); } public LoadingButton.with_icon (string icon_name, int icon_size = 16) { Object ( loading_type: LoadingButtonType.ICON, text_icon: icon_name, icon_size: icon_size ); } ~LoadingButton () { debug ("Destroying - Widgets.LoadingButton\n"); } construct { var submit_spinner = new Adw.Spinner () { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER }; submit_stack = new Gtk.Stack () { transition_type = Gtk.StackTransitionType.CROSSFADE, valign = Gtk.Align.CENTER }; if (loading_type == LoadingButtonType.LABEL) { submit_stack.add_named (new Gtk.Label (text_icon), "button"); } else { icon = new Gtk.Image (); icon.pixel_size = icon_size; icon.icon_name = text_icon; submit_stack.add_named (icon, "button"); } submit_stack.add_named (submit_spinner, "spinner"); child = submit_stack; } public void update_icon (string icon_name) { if (icon != null) { icon.icon_name = icon_name; } } } alainm23-planify-69962f8/core/Widgets/MarkdownEditor.vala000066400000000000000000001762101517337276100232360ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.MarkdownEditor : Adw.Bin { public Gtk.TextView text_view; public GtkSource.Buffer buffer; private Gtk.Popover format_popover; private Gtk.Button bold_button; private Gtk.Button italic_button; private Gtk.Button strikethrough_button; private Gtk.Button h1_button; private Gtk.Button h2_button; private Gtk.Button code_button; private Gtk.Button link_button; private Gtk.Button unordered_list_button; private Gtk.Button ordered_list_button; private Gtk.Popover link_popover; private Gtk.Entry link_entry; private Gtk.Button link_apply_button; private Gtk.Button link_remove_button; private Gtk.TextTag bold_tag; private Gtk.TextTag italic_tag; private Gtk.TextTag strikethrough_tag; private Gtk.TextTag h1_tag; private Gtk.TextTag h2_tag; private Gtk.TextTag code_tag; private Gtk.TextTag link_tag; private Gtk.TextTag invisible_tag; private Gtk.TextTag placeholder_tag; private Gtk.TextTag list_tag; private Gtk.TextTag ordered_list_tag; private string selected_link_text = ""; private bool mouse_pressed = false; private bool showing_placeholder = false; private Gtk.GestureClick gesture_click; private bool editing_existing_link = false; private bool updating_programmatically = false; public string placeholder_text {get; set; default = ""; } public Objects.Project? project { get; set; default = null; } public bool text_mode { get { if (project != null) { return !project.is_markdown_enabled; } return !Services.Settings.get_default ().settings.get_boolean ("enable-markdown-formatting"); } } public signal void text_changed (string text); public signal void escape_pressed (); public signal void return_pressed (); public signal void focus_in (); public signal void focus_out (); public bool is_editable { set { text_view.editable = value; } get { return text_view.editable; } } ~MarkdownEditor () { debug ("Destroying - Layouts.Widgets.MarkdownEditor\n"); } construct { buffer = new GtkSource.Buffer (null); text_view = new Gtk.TextView.with_buffer (buffer) { wrap_mode = Gtk.WrapMode.WORD, accepts_tab = false }; text_view.remove_css_class ("view"); create_text_tags (); notify["placeholder-text"].connect (update_placeholder_visibility); update_placeholder_visibility (); create_format_popover (); update_mode (); #if WITH_LIBSPELLING var adapter = new Spelling.TextBufferAdapter (buffer, Spelling.Checker.get_default ()); text_view.extra_menu = adapter.get_menu_model (); text_view.insert_action_group ("spelling", adapter); adapter.enabled = Services.Settings.get_default ().settings.get_boolean ("spell-checking-enabled"); Services.Settings.get_default ().settings.changed["spell-checking-enabled"].connect (() => { adapter.enabled = Services.Settings.get_default ().settings.get_boolean ("spell-checking-enabled"); }); #endif Services.Settings.get_default ().settings.changed["enable-markdown-formatting"].connect (() => { update_mode (); }); buffer.changed.connect (on_buffer_changed); buffer.notify["has-selection"].connect (on_selection_lost); buffer.notify["cursor-position"].connect (on_cursor_moved); var click_controller = new Gtk.EventControllerLegacy (); click_controller.event.connect (on_event); text_view.add_controller (click_controller); gesture_click = new Gtk.GestureClick (); gesture_click.pressed.connect (on_text_clicked); text_view.add_controller (gesture_click); var key_controller = new Gtk.EventControllerKey (); key_controller.key_pressed.connect (on_key_pressed); text_view.add_controller (key_controller); var focus_controller = new Gtk.EventControllerFocus (); focus_controller.enter.connect (handle_focus_in); focus_controller.leave.connect (handle_focus_out); text_view.add_controller (focus_controller); child = text_view; destroy.connect (() => { cleanup (); }); } private void create_text_tags () { bold_tag = buffer.create_tag ("bold", "weight", Pango.Weight.BOLD); italic_tag = buffer.create_tag ("italic", "style", Pango.Style.ITALIC); strikethrough_tag = buffer.create_tag ("strikethrough", "strikethrough", true); h1_tag = buffer.create_tag ("h1", "scale", 1.2, "weight", Pango.Weight.BOLD); h2_tag = buffer.create_tag ("h2", "scale", 1.1, "weight", Pango.Weight.BOLD); code_tag = buffer.create_tag ("code", "family", "monospace", "foreground", "#cf222e"); link_tag = buffer.create_tag ("link", "foreground", "#0969da", "underline", Pango.Underline.SINGLE); invisible_tag = buffer.create_tag ("invisible", "invisible", true); placeholder_tag = buffer.create_tag ("placeholder", "foreground", "#888888"); list_tag = buffer.create_tag ("unordered-list", "left-margin", 20); ordered_list_tag = buffer.create_tag ("ordered-list", "left-margin", 0); } private void create_format_popover () { bold_button = new Gtk.Button.from_icon_name ("text-bold-symbolic") { valign = CENTER, halign = CENTER }; bold_button.add_css_class ("flat"); italic_button = new Gtk.Button.from_icon_name ("text-italic-symbolic") { valign = CENTER, halign = CENTER }; italic_button.add_css_class ("flat"); strikethrough_button = new Gtk.Button.from_icon_name ("text-strikethrough-symbolic") { valign = CENTER, halign = CENTER }; strikethrough_button.add_css_class ("flat"); h1_button = new Gtk.Button () { label = "h1", valign = CENTER, halign = CENTER }; h1_button.add_css_class ("flat"); h2_button = new Gtk.Button () { label = "h2", valign = CENTER, halign = CENTER }; h2_button.add_css_class ("flat"); code_button = new Gtk.Button.from_icon_name ("code-symbolic") { valign = CENTER, halign = CENTER }; code_button.add_css_class ("flat"); link_button = new Gtk.Button.from_icon_name ("chain-link-loose-symbolic") { valign = CENTER, halign = CENTER }; link_button.add_css_class ("flat"); unordered_list_button = new Gtk.Button.from_icon_name ("view-list-symbolic") { valign = CENTER, halign = CENTER }; unordered_list_button.add_css_class ("flat"); ordered_list_button = new Gtk.Button.from_icon_name ("view-list-ordered-symbolic") { valign = CENTER, halign = CENTER }; ordered_list_button.add_css_class ("flat"); var format_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6); format_box.append (h1_button); format_box.append (h2_button); format_box.append (new Gtk.Separator (VERTICAL)); format_box.append (bold_button); format_box.append (italic_button); format_box.append (strikethrough_button); format_box.append (code_button); format_box.append (new Gtk.Separator (VERTICAL)); format_box.append (unordered_list_button); format_box.append (ordered_list_button); format_box.append (new Gtk.Separator (VERTICAL)); format_box.append (link_button); bold_button.clicked.connect (on_bold_clicked); italic_button.clicked.connect (on_italic_clicked); strikethrough_button.clicked.connect (on_strikethrough_clicked); h1_button.clicked.connect (on_h1_clicked); h2_button.clicked.connect (on_h2_clicked); code_button.clicked.connect (on_code_clicked); link_button.clicked.connect (on_link_clicked); unordered_list_button.clicked.connect (on_unordered_list_clicked); ordered_list_button.clicked.connect (on_ordered_list_clicked); create_link_popover (); format_popover = new Gtk.Popover () { has_arrow = false, autohide = false, child = format_box }; } private bool on_event (Gdk.Event event) { if (text_mode) return false; if (event.get_event_type () == Gdk.EventType.BUTTON_PRESS) { mouse_pressed = true; } else if (event.get_event_type () == Gdk.EventType.BUTTON_RELEASE && mouse_pressed) { mouse_pressed = false; Gtk.TextIter start, end; if (buffer.get_selection_bounds (out start, out end)) { show_format_popover (start); } } return false; } private void show_format_popover (Gtk.TextIter start) { Gdk.Rectangle rect; text_view.get_iter_location (start, out rect); int x, y; text_view.buffer_to_window_coords (Gtk.TextWindowType.TEXT, rect.x, rect.y, out x, out y); rect.x = x; rect.y = y; format_popover.set_parent (text_view); format_popover.set_pointing_to (rect); format_popover.popup (); } private void on_bold_clicked () { toggle_bold_format (); format_popover.popdown (); } private void on_italic_clicked () { toggle_italic_format (); format_popover.popdown (); } private void on_strikethrough_clicked () { toggle_strikethrough_format (); format_popover.popdown (); } private void on_h1_clicked () { apply_h1_format (); format_popover.popdown (); } private void on_h2_clicked () { apply_h2_format (); format_popover.popdown (); } private void on_code_clicked () { toggle_code_format (); format_popover.popdown (); } private void on_link_clicked () { Gtk.TextIter start, end; if (buffer.get_selection_bounds (out start, out end)) { selected_link_text = buffer.get_text (start, end, false); if (is_already_link (start, end)) { show_edit_link_popover (start); } else { show_add_link_popover (start); } } format_popover.popdown (); } private void on_unordered_list_clicked () { apply_unordered_list_format (); format_popover.popdown (); } private void on_ordered_list_clicked () { apply_ordered_list_format (); format_popover.popdown (); } public void toggle_bold_format () { Gtk.TextIter start, end; if (buffer.get_selection_bounds (out start, out end)) { var selected_text = buffer.get_text (start, end, false); var has_bold = is_already_bold (start, end); var has_italic = is_already_italic (start, end); if (has_bold && has_italic) { remove_bold_keep_italic (start, end); } else if (has_bold) { remove_bold_format (start, end); } else { add_bold_format (start, end, selected_text); } } } public void toggle_italic_format () { Gtk.TextIter start, end; if (buffer.get_selection_bounds (out start, out end)) { var selected_text = buffer.get_text (start, end, false); var has_bold = is_already_bold (start, end); var has_italic = is_already_italic (start, end); if (has_bold && has_italic) { remove_italic_keep_bold (start, end); } else if (has_italic) { remove_italic_format (start, end); } else { add_italic_format (start, end, selected_text); } } } public void toggle_strikethrough_format () { Gtk.TextIter start, end; if (buffer.get_selection_bounds (out start, out end)) { var selected_text = buffer.get_text (start, end, false); var has_strikethrough = text_has_strikethrough_in_range (start, end); if (has_strikethrough) { remove_strikethrough_format (start, end); } else { add_strikethrough_format (start, end, selected_text); } } } private bool is_already_bold (Gtk.TextIter start, Gtk.TextIter end) { return start.has_tag (bold_tag); } private bool is_already_italic (Gtk.TextIter start, Gtk.TextIter end) { return start.has_tag (italic_tag); } private bool is_already_strikethrough (Gtk.TextIter start, Gtk.TextIter end) { return start.has_tag (strikethrough_tag); } private void remove_bold_format (Gtk.TextIter start, Gtk.TextIter end) { var search_start = start; var search_end = end; while (search_start.backward_char ()) { if (search_start.has_tag (invisible_tag)) { continue; } else { search_start.forward_char (); break; } } while (search_end.forward_char ()) { if (search_end.has_tag (invisible_tag)) { continue; } else { search_end.backward_char (); break; } } var text = buffer.get_text (start, end, false); buffer.delete (ref search_start, ref search_end); buffer.insert (ref search_start, text, -1); apply_markdown_formatting (); } private void add_bold_format (Gtk.TextIter start, Gtk.TextIter end, string text) { var expanded = expand_selection_for_asterisks (start, end); var clean_text = get_clean_text_from_range (expanded.start, expanded.end); var has_italic = text_has_italic_in_range (start, end); buffer.delete (ref expanded.start, ref expanded.end); if (has_italic) { buffer.insert (ref expanded.start, "***" + clean_text + "***", -1); } else { buffer.insert (ref expanded.start, "**" + clean_text + "**", -1); } apply_markdown_formatting (); } private void remove_bold_keep_italic (Gtk.TextIter start, Gtk.TextIter end) { var expanded = expand_selection_for_asterisks (start, end); var clean_text = get_clean_text_from_range (expanded.start, expanded.end); buffer.delete (ref expanded.start, ref expanded.end); buffer.insert (ref expanded.start, "*" + clean_text + "*", -1); apply_markdown_formatting (); } private void remove_italic_format (Gtk.TextIter start, Gtk.TextIter end) { var search_start = start; var search_end = end; while (search_start.backward_char ()) { if (search_start.has_tag (invisible_tag)) { continue; } else { search_start.forward_char (); break; } } while (search_end.forward_char ()) { if (search_end.has_tag (invisible_tag)) { continue; } else { search_end.backward_char (); break; } } var text = buffer.get_text (start, end, false); buffer.delete (ref search_start, ref search_end); buffer.insert (ref search_start, text, -1); apply_markdown_formatting (); } private void add_italic_format (Gtk.TextIter start, Gtk.TextIter end, string text) { var expanded = expand_selection_for_asterisks (start, end); var clean_text = get_clean_text_from_range (expanded.start, expanded.end); var has_bold = text_has_bold_in_range (start, end); buffer.delete (ref expanded.start, ref expanded.end); if (has_bold) { buffer.insert (ref expanded.start, "***" + clean_text + "***", -1); } else { buffer.insert (ref expanded.start, "*" + clean_text + "*", -1); } apply_markdown_formatting (); } private void remove_italic_keep_bold (Gtk.TextIter start, Gtk.TextIter end) { var expanded = expand_selection_for_asterisks (start, end); var clean_text = get_clean_text_from_range (expanded.start, expanded.end); buffer.delete (ref expanded.start, ref expanded.end); buffer.insert (ref expanded.start, "**" + clean_text + "**", -1); apply_markdown_formatting (); } private void remove_strikethrough_format (Gtk.TextIter start, Gtk.TextIter end) { var expanded = expand_selection_for_asterisks (start, end); var clean_text = get_clean_text_from_range (expanded.start, expanded.end); var has_bold = text_has_bold_in_range (start, end); var has_italic = text_has_italic_in_range (start, end); buffer.delete (ref expanded.start, ref expanded.end); string formatted_text; if (has_bold && has_italic) { formatted_text = "***" + clean_text + "***"; } else if (has_bold) { formatted_text = "**" + clean_text + "**"; } else if (has_italic) { formatted_text = "*" + clean_text + "*"; } else { formatted_text = clean_text; } buffer.insert (ref expanded.start, formatted_text, -1); apply_markdown_formatting (); } private void add_strikethrough_format (Gtk.TextIter start, Gtk.TextIter end, string text) { var expanded = expand_selection_for_asterisks (start, end); var clean_text = get_clean_text_from_range (expanded.start, expanded.end); var has_bold = text_has_bold_in_range (start, end); var has_italic = text_has_italic_in_range (start, end); buffer.delete (ref expanded.start, ref expanded.end); string formatted_text; if (has_bold && has_italic) { formatted_text = "~~***" + clean_text + "***~~"; } else if (has_bold) { formatted_text = "~~**" + clean_text + "**~~"; } else if (has_italic) { formatted_text = "~~*" + clean_text + "*~~"; } else { formatted_text = "~~" + clean_text + "~~"; } buffer.insert (ref expanded.start, formatted_text, -1); apply_markdown_formatting (); } private struct ExpandedRange { public Gtk.TextIter start; public Gtk.TextIter end; } private ExpandedRange expand_selection_for_asterisks (Gtk.TextIter start, Gtk.TextIter end) { var expanded_start = start; var expanded_end = end; while (expanded_start.backward_char ()) { if (expanded_start.has_tag (invisible_tag)) { continue; } else { expanded_start.forward_char (); break; } } while (expanded_end.forward_char ()) { if (expanded_end.has_tag (invisible_tag)) { continue; } else { expanded_end.backward_char (); break; } } ExpandedRange range = ExpandedRange (); range.start = expanded_start; range.end = expanded_end; return range; } private string get_clean_text_from_range (Gtk.TextIter start, Gtk.TextIter end) { var text = buffer.get_text (start, end, false); return text.replace ("*", "").replace ("~", "").replace ("`", ""); } private bool text_has_bold_in_range (Gtk.TextIter start, Gtk.TextIter end) { var iter = start; while (iter.compare (end) < 0) { if (iter.has_tag (bold_tag)) { return true; } if (!iter.forward_char ()) break; } return false; } private bool text_has_italic_in_range (Gtk.TextIter start, Gtk.TextIter end) { var iter = start; while (iter.compare (end) < 0) { if (iter.has_tag (italic_tag)) { return true; } if (!iter.forward_char ()) break; } return false; } private bool text_has_strikethrough_in_range (Gtk.TextIter start, Gtk.TextIter end) { var iter = start; while (iter.compare (end) < 0) { if (iter.has_tag (strikethrough_tag)) { return true; } if (!iter.forward_char ()) break; } return false; } private void on_selection_lost () { Gtk.TextIter start, end; if (!buffer.get_selection_bounds (out start, out end)) { format_popover.popdown (); } } private void on_cursor_moved () { Gtk.TextIter start, end; if (!buffer.get_selection_bounds (out start, out end)) { var cursor = buffer.get_insert (); Gtk.TextIter iter; buffer.get_iter_at_mark (out iter, cursor); if (!iter.has_tag (bold_tag) && !iter.has_tag (italic_tag) && !iter.has_tag (strikethrough_tag) && !iter.has_tag (code_tag) && !iter.has_tag (link_tag)) { return; } if (iter.get_line_offset () == 0 || iter.ends_line ()) { clear_cursor_formatting (); } } } private void handle_focus_in () { Services.EventBus.get_default ().disconnect_typing_accel (); if (showing_placeholder) { Gtk.TextIter start, end; buffer.get_bounds (out start, out end); var current_text = buffer.get_text (start, end, false); if (current_text == placeholder_text) { buffer.set_text ("", -1); } showing_placeholder = false; } text_view.grab_focus (); focus_in (); } private void handle_focus_out () { Services.EventBus.get_default ().connect_typing_accel (); update_placeholder_visibility (); focus_out (); } private bool on_key_pressed (uint keyval, uint keycode, Gdk.ModifierType state) { if (format_popover.visible) { format_popover.popdown (); } if (keyval == Gdk.Key.Escape) { escape_pressed (); return true; } if (keyval == Gdk.Key.Return || keyval == Gdk.Key.KP_Enter) { if (handle_list_enter ()) { return true; } clear_cursor_formatting (); return_pressed (); } if (keyval == Gdk.Key.space) { clear_cursor_formatting (); } if (keyval >= 32 && keyval <= 126) { clear_cursor_formatting (); } return false; } private void clear_cursor_formatting () { var cursor = buffer.get_insert (); Gtk.TextIter iter; buffer.get_iter_at_mark (out iter, cursor); if (iter.has_tag (bold_tag) || iter.has_tag (italic_tag) || iter.has_tag (strikethrough_tag) || iter.has_tag (code_tag) || iter.has_tag (link_tag)) { var next_iter = iter; next_iter.forward_char (); buffer.remove_tag (bold_tag, iter, next_iter); buffer.remove_tag (italic_tag, iter, next_iter); buffer.remove_tag (strikethrough_tag, iter, next_iter); buffer.remove_tag (code_tag, iter, next_iter); buffer.remove_tag (link_tag, iter, next_iter); } } private bool handle_list_enter () { var cursor = buffer.get_insert (); Gtk.TextIter iter; buffer.get_iter_at_mark (out iter, cursor); var line_num = iter.get_line (); Gtk.TextIter line_start, line_end; buffer.get_iter_at_line (out line_start, line_num); line_end = line_start; if (!line_end.ends_line ()) { line_end.forward_to_line_end (); } var line_text = buffer.get_text (line_start, line_end, false); if (line_text.has_prefix ("- ") || line_text.has_prefix ("• ")) { var content = line_text.substring (2).strip (); if (content == "") { buffer.delete (ref line_start, ref line_end); } else { buffer.insert_at_cursor ("\n- ", -1); } return true; } try { var regex = new GLib.Regex ("^(\\d+)\\. (.*)$"); GLib.MatchInfo match_info; if (regex.match (line_text, 0, out match_info)) { var number_str = match_info.fetch (1); var content = match_info.fetch (2).strip (); var number = int.parse (number_str); if (content == "") { buffer.delete (ref line_start, ref line_end); } else { var next_item = "\n%d. ".printf (number + 1); buffer.insert_at_cursor (next_item, -1); } return true; } } catch (GLib.RegexError e) { warning ("Error in list regex: %s", e.message); } return false; } private void update_placeholder_visibility () { var real_text = get_real_text ().strip (); if (!text_view.has_focus && real_text == "" && placeholder_text != "" && !showing_placeholder) { showing_placeholder = true; buffer.set_text (placeholder_text, -1); Gtk.TextIter start, end; buffer.get_bounds (out start, out end); buffer.apply_tag (placeholder_tag, start, end); } else if (showing_placeholder && (text_view.has_focus || real_text != "")) { showing_placeholder = false; if (text_view.has_focus) { buffer.set_text ("", -1); } } } private string get_real_text () { if (showing_placeholder) { return ""; } Gtk.TextIter start, end; buffer.get_bounds (out start, out end); return buffer.get_text (start, end, true); } private void on_buffer_changed () { if (!showing_placeholder && !updating_programmatically) { if (!text_mode) { apply_markdown_formatting (); } Gtk.TextIter start, end; buffer.get_bounds (out start, out end); text_changed (buffer.get_text (start, end, true)); } } private void update_mode () { if (text_mode) { Gtk.TextIter start, end; buffer.get_bounds (out start, out end); buffer.remove_all_tags (start, end); format_popover.set_sensitive (false); } else { format_popover.set_sensitive (true); apply_markdown_formatting (); } } private void apply_markdown_formatting () { Gtk.TextIter start, end; buffer.get_bounds (out start, out end); buffer.remove_all_tags (start, end); var text = buffer.get_text (start, end, true); try { var bold_italic_regex = new GLib.Regex ("\\*\\*\\*([^*]+)\\*\\*\\*"); GLib.MatchInfo match_info; if (bold_italic_regex.match (text, 0, out match_info)) { do { int start_pos, end_pos; match_info.fetch_pos (0, out start_pos, out end_pos); var start_chars = text.substring (0, start_pos).char_count (); var end_chars = text.substring (0, end_pos).char_count (); Gtk.TextIter bi_start, bi_end; buffer.get_iter_at_offset (out bi_start, start_chars); buffer.get_iter_at_offset (out bi_end, end_chars); Gtk.TextIter ast_end = bi_start; ast_end.forward_chars (3); buffer.apply_tag (invisible_tag, bi_start, ast_end); Gtk.TextIter text_start = bi_start; text_start.forward_chars (3); Gtk.TextIter text_end = bi_end; text_end.backward_chars (3); buffer.apply_tag (bold_tag, text_start, text_end); buffer.apply_tag (italic_tag, text_start, text_end); Gtk.TextIter last_ast_start = bi_end; last_ast_start.backward_chars (3); buffer.apply_tag (invisible_tag, last_ast_start, bi_end); } while (match_info.next ()); } var bold_regex = new GLib.Regex ("(? start_line) { end_line--; } var lines = new string[end_line - start_line + 1]; for (int i = start_line; i <= end_line; i++) { Gtk.TextIter line_start, line_end; buffer.get_iter_at_line (out line_start, i); line_end = line_start; if (!line_end.ends_line ()) { line_end.forward_to_line_end (); } lines[i - start_line] = buffer.get_text (line_start, line_end, false); } for (int i = 0; i < lines.length; i++) { var line = lines[i].strip (); if (ordered) { lines[i] = "%d. %s".printf (i + 1, line); } else { lines[i] = "- " + line; } } Gtk.TextIter full_start, full_end; buffer.get_iter_at_line (out full_start, start_line); buffer.get_iter_at_line (out full_end, end_line); if (!full_end.ends_line ()) { full_end.forward_to_line_end (); } var new_text = string.joinv ("\n", lines); buffer.delete (ref full_start, ref full_end); buffer.insert (ref full_start, new_text, -1); apply_markdown_formatting (); } private bool is_already_code (Gtk.TextIter start, Gtk.TextIter end) { return start.has_tag (code_tag); } private void add_code_format (Gtk.TextIter start, Gtk.TextIter end, string text) { var expanded = expand_selection_for_asterisks (start, end); var clean_text = get_clean_text_from_range (expanded.start, expanded.end); buffer.delete (ref expanded.start, ref expanded.end); buffer.insert (ref expanded.start, "`" + clean_text + "`", -1); apply_markdown_formatting (); } private void remove_code_format (Gtk.TextIter start, Gtk.TextIter end) { var expanded = expand_selection_for_asterisks (start, end); var clean_text = get_clean_text_from_range (expanded.start, expanded.end); buffer.delete (ref expanded.start, ref expanded.end); buffer.insert (ref expanded.start, clean_text, -1); apply_markdown_formatting (); } public void set_text (string text) { updating_programmatically = true; showing_placeholder = false; buffer.set_text (text, -1); update_placeholder_visibility (); updating_programmatically = false; if (!text_mode) { apply_markdown_formatting (); } } public string get_text () { var text = get_real_text (); text = text.replace ("• ", "- "); return text; } public string get_plain_text () { Gtk.TextIter start, end; buffer.get_bounds (out start, out end); var text = buffer.get_text (start, end, true); try { var regex = new GLib.Regex ("\\*+"); return regex.replace (text, -1, 0, ""); } catch (GLib.RegexError e) { return text; } } public void clear () { buffer.set_text ("", -1); } public void focus () { text_view.grab_focus (); } public void cleanup () { if (format_popover != null) { if (format_popover.get_parent () != null) { format_popover.popdown (); format_popover.unparent (); } format_popover = null; } if (link_popover != null) { if (link_popover.get_parent () != null) { link_popover.popdown (); link_popover.unparent (); } link_popover = null; } } private void create_link_popover () { link_entry = new Gtk.Entry () { placeholder_text = "https://example.com", width_request = 320 }; link_apply_button = new Gtk.Button.from_icon_name ("checkmark-small-symbolic") { tooltip_text = _("Apply") }; link_apply_button.add_css_class ("suggested-action"); link_remove_button = new Gtk.Button.from_icon_name ("user-trash-symbolic") { tooltip_text = _("Remove link") }; link_remove_button.add_css_class ("destructive-action"); var link_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_start = 6, margin_end = 6, margin_top = 6, margin_bottom = 6 }; link_box.append (link_entry); link_box.append (link_apply_button); link_popover = new Gtk.Popover () { has_arrow = false, autohide = true, child = link_box }; link_apply_button.clicked.connect (on_link_apply_clicked); link_remove_button.clicked.connect (on_link_remove_clicked); link_entry.activate.connect (on_link_apply_clicked); link_entry.changed.connect (on_link_entry_changed); } private bool is_already_link (Gtk.TextIter start, Gtk.TextIter end) { return start.has_tag (link_tag); } private void show_add_link_popover (Gtk.TextIter iter) { editing_existing_link = false; link_entry.text = ""; var link_box = (Gtk.Box) link_popover.child; if (link_box.get_last_child () == link_remove_button) { link_box.remove (link_remove_button); } if (link_box.get_last_child () != link_apply_button) { link_box.append (link_apply_button); } show_link_popover_at_iter (iter); } private void show_edit_link_popover (Gtk.TextIter iter) { editing_existing_link = true; var url = extract_url_from_link (iter); link_entry.text = url; var link_box = (Gtk.Box) link_popover.child; if (link_box.get_last_child () == link_apply_button) { link_box.remove (link_apply_button); } if (link_box.get_last_child () != link_remove_button) { link_box.append (link_remove_button); } show_link_popover_at_iter (iter); } private void show_link_popover_at_iter (Gtk.TextIter iter) { Gdk.Rectangle rect; text_view.get_iter_location (iter, out rect); int x, y; text_view.buffer_to_window_coords (Gtk.TextWindowType.TEXT, rect.x, rect.y, out x, out y); rect.x = x; rect.y = y - 12; link_popover.set_parent (text_view); link_popover.set_pointing_to (rect); link_popover.popup (); link_entry.grab_focus (); } private void on_link_apply_clicked () { var url = link_entry.text.strip (); if (url != "") { apply_link_format (url); } link_popover.popdown (); } private void on_link_remove_clicked () { remove_link_format (); link_popover.popdown (); } private void on_link_entry_changed () { if (editing_existing_link) { var url = link_entry.text.strip (); if (url != "") { var cursor = buffer.get_insert (); Gtk.TextIter iter; buffer.get_iter_at_mark (out iter, cursor); if (iter.has_tag (link_tag)) { replace_link_url_at_cursor (iter, url); } } } } private void apply_link_format (string url) { Gtk.TextIter start, end; if (buffer.get_selection_bounds (out start, out end)) { var expanded = expand_selection_for_asterisks (start, end); var clean_text = selected_link_text; buffer.delete (ref expanded.start, ref expanded.end); buffer.insert (ref expanded.start, "[" + clean_text + "](" + url + ")", -1); apply_markdown_formatting (); } else { var cursor = buffer.get_insert (); Gtk.TextIter iter; buffer.get_iter_at_mark (out iter, cursor); if (iter.has_tag (link_tag)) { replace_link_url_at_cursor (iter, url); } } } private void remove_link_format () { Gtk.TextIter start, end; if (buffer.get_selection_bounds (out start, out end)) { var expanded = expand_selection_for_asterisks (start, end); var clean_text = get_clean_text_from_range (expanded.start, expanded.end); buffer.delete (ref expanded.start, ref expanded.end); buffer.insert (ref expanded.start, clean_text, -1); apply_markdown_formatting (); } else { var cursor = buffer.get_insert (); Gtk.TextIter iter; buffer.get_iter_at_mark (out iter, cursor); if (iter.has_tag (link_tag)) { remove_link_at_cursor (iter); } } } private string extract_url_from_link (Gtk.TextIter iter) { Gtk.TextIter start, end; buffer.get_bounds (out start, out end); var text = buffer.get_text (start, end, true); var cursor_offset = iter.get_offset (); try { var regex = new GLib.Regex ("\\[([^\\]]+)\\]\\(([^\\)]+)\\)"); GLib.MatchInfo match_info; if (regex.match (text, 0, out match_info)) { do { int start_pos, end_pos; match_info.fetch_pos (1, out start_pos, out end_pos); var start_chars = text.substring (0, start_pos).char_count (); var end_chars = text.substring (0, end_pos).char_count (); if (cursor_offset >= start_chars && cursor_offset <= end_chars) { return match_info.fetch (2); } } while (match_info.next ()); } var plain_url_regex = new GLib.Regex ("\\b[a-zA-Z][a-zA-Z0-9+.-]*://[^\\s)]+"); if (plain_url_regex.match (text, 0, out match_info)) { do { int start_pos, end_pos; match_info.fetch_pos (0, out start_pos, out end_pos); var start_chars = text.substring (0, start_pos).char_count (); var end_chars = text.substring (0, end_pos).char_count (); if (cursor_offset >= start_chars && cursor_offset <= end_chars) { return match_info.fetch (0); } } while (match_info.next ()); } } catch (GLib.RegexError e) { warning ("Error in regex: %s", e.message); } return ""; } private void replace_link_url_at_cursor (Gtk.TextIter iter, string new_url) { Gtk.TextIter start, end; buffer.get_bounds (out start, out end); var text = buffer.get_text (start, end, true); var cursor_offset = iter.get_offset (); try { var regex = new GLib.Regex ("\\[([^\\]]+)\\]\\(([^\\)]+)\\)"); GLib.MatchInfo match_info; if (regex.match (text, 0, out match_info)) { do { int text_start_pos, text_end_pos; match_info.fetch_pos (1, out text_start_pos, out text_end_pos); var text_start_chars = text.substring (0, text_start_pos).char_count (); var text_end_chars = text.substring (0, text_end_pos).char_count (); if (cursor_offset >= text_start_chars && cursor_offset <= text_end_chars) { int full_start_pos, full_end_pos; match_info.fetch_pos (0, out full_start_pos, out full_end_pos); var full_start_chars = text.substring (0, full_start_pos).char_count (); var full_end_chars = text.substring (0, full_end_pos).char_count (); Gtk.TextIter link_start, link_end; buffer.get_iter_at_offset (out link_start, full_start_chars); buffer.get_iter_at_offset (out link_end, full_end_chars); var link_text = match_info.fetch (1); buffer.delete (ref link_start, ref link_end); buffer.insert (ref link_start, "[" + link_text + "](" + new_url + ")", -1); apply_markdown_formatting (); return; } } while (match_info.next ()); } } catch (GLib.RegexError e) { warning ("Error in regex: %s", e.message); } } private void remove_link_at_cursor (Gtk.TextIter iter) { Gtk.TextIter start, end; buffer.get_bounds (out start, out end); var text = buffer.get_text (start, end, true); var cursor_offset = iter.get_offset (); try { var regex = new GLib.Regex ("\\[([^\\]]+)\\]\\(([^\\)]+)\\)"); GLib.MatchInfo match_info; if (regex.match (text, 0, out match_info)) { do { int text_start_pos, text_end_pos; match_info.fetch_pos (1, out text_start_pos, out text_end_pos); var text_start_chars = text.substring (0, text_start_pos).char_count (); var text_end_chars = text.substring (0, text_end_pos).char_count (); if (cursor_offset >= text_start_chars && cursor_offset <= text_end_chars) { int full_start_pos, full_end_pos; match_info.fetch_pos (0, out full_start_pos, out full_end_pos); var full_start_chars = text.substring (0, full_start_pos).char_count (); var full_end_chars = text.substring (0, full_end_pos).char_count (); Gtk.TextIter link_start, link_end; buffer.get_iter_at_offset (out link_start, full_start_chars); buffer.get_iter_at_offset (out link_end, full_end_chars); var link_text = match_info.fetch (1); buffer.delete (ref link_start, ref link_end); buffer.insert (ref link_start, link_text, -1); apply_markdown_formatting (); return; } } while (match_info.next ()); } } catch (GLib.RegexError e) { warning ("Error in regex: %s", e.message); } } private void on_text_clicked (int n_press, double x, double y) { if (text_mode) return; int buffer_x, buffer_y; text_view.window_to_buffer_coords (Gtk.TextWindowType.TEXT, (int)x, (int)y, out buffer_x, out buffer_y); Gtk.TextIter iter; text_view.get_iter_at_location (out iter, buffer_x, buffer_y); if (iter.has_tag (link_tag)) { var current_state = gesture_click.get_current_event_state (); if ((current_state & Gdk.ModifierType.CONTROL_MASK) != 0) { open_link_at_iter (iter); } else { buffer.place_cursor (iter); show_edit_link_popover (iter); } } } private string normalize_url (string url) { var trimmed_url = url.strip (); if (trimmed_url.contains ("://")) { return trimmed_url; } if (trimmed_url.contains (".") && !trimmed_url.contains (" ")) { return "https://" + trimmed_url; } return trimmed_url; } private void open_link_at_iter (Gtk.TextIter iter) { var url = extract_url_from_link (iter); if (url != "") { var normalized_url = normalize_url (url); try { AppInfo.launch_default_for_uri (normalized_url, null); } catch (Error e) { Services.EventBus.get_default ().send_toast ( Util.get_default ().create_toast (e.message) ); } } } public void view_focus () { text_view.grab_focus (); } } alainm23-planify-69962f8/core/Widgets/PinButton.vala000066400000000000000000000040121517337276100222150ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.PinButton : Gtk.Button { private Gtk.Image pinned_image; public bool no_padding { set { if (value) { add_css_class ("no-padding"); } else { remove_css_class ("no-padding"); } } } public signal void changed (); public PinButton () { Object ( valign: Gtk.Align.CENTER, halign: Gtk.Align.CENTER, tooltip_text: _("Pin") ); } ~PinButton () { debug ("Destroying - Widgets.PinButton\n"); } construct { add_css_class ("flat"); pinned_image = new Gtk.Image.from_icon_name ("pin-symbolic"); child = pinned_image; clicked.connect (() => { changed (); }); } public void update_from_item (Objects.Item item) { update_request (item.pinned); } public void update_request (bool pinned) { if (pinned) { pinned_image.add_css_class ("pinboard-color"); } else { pinned_image.remove_css_class ("pinboard-color"); } } public void reset () { pinned_image.css_classes = {}; } } alainm23-planify-69962f8/core/Widgets/PriorityButton.vala000066400000000000000000000163671517337276100233300ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.PriorityButton : Adw.Bin { public bool is_board { get; construct; } private Gtk.Image priority_image; private Gtk.Label priority_label; private Gtk.MenuButton button; private Gtk.Popover priority_picker; public signal void changed (int priority); public signal void picker_opened (bool active); private Gee.HashMap signal_map = new Gee.HashMap (); public PriorityButton () { Object ( is_board: false, valign: Gtk.Align.CENTER, halign: Gtk.Align.CENTER, tooltip_text: _("Set The Priority") ); } public PriorityButton.for_board () { Object ( is_board: true, tooltip_text: _("Set The Priority") ); } ~PriorityButton () { debug ("Destroying - Widgets.PriorityButton\n"); } construct { priority_picker = build_popover (); if (is_board) { build_card_ui (); } else { build_ui (); } signal_map[priority_picker.closed.connect (() => { picker_opened (false); })] = priority_picker; signal_map[priority_picker.show.connect (() => { picker_opened (true); })] = priority_picker; } private void build_ui () { priority_image = new Gtk.Image.from_icon_name ("flag-outline-thick-symbolic"); button = new Gtk.MenuButton () { css_classes = { "flat" }, valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, child = priority_image, popover = priority_picker }; child = button; } private void build_card_ui () { priority_image = new Gtk.Image.from_icon_name ("flag-outline-thick-symbolic"); var title_label = new Gtk.Label (_("Priority")) { halign = START, css_classes = { "title-4", "caption", "font-bold" } }; priority_label = new Gtk.Label (_("Priority 4: None")) { xalign = 0, use_markup = true, halign = START, css_classes = { "caption" } }; var card_grid = new Gtk.Grid () { column_spacing = 12, margin_start = 12, margin_end = 6, margin_top = 6, margin_bottom = 6, vexpand = true, hexpand = true }; card_grid.attach (priority_image, 0, 0, 1, 2); card_grid.attach (title_label, 1, 0, 1, 1); card_grid.attach (priority_label, 1, 1, 1, 1); button = new Gtk.MenuButton () { popover = priority_picker, child = card_grid, css_classes = { "flat", "card", "activatable", "menu-button-no-padding", "transition" }, hexpand = true }; child = button; } public Gtk.Popover build_popover () { var priority_1_item = new Widgets.ContextMenu.MenuItem (_("Priority 1: High"), "flag-outline-thick-symbolic"); priority_1_item.add_css_class ("priority-1-button"); var priority_2_item = new Widgets.ContextMenu.MenuItem (_("Priority 2: Medium"), "flag-outline-thick-symbolic"); priority_2_item.add_css_class ("priority-2-button"); var priority_3_item = new Widgets.ContextMenu.MenuItem (_("Priority 3: Low"), "flag-outline-thick-symbolic"); priority_3_item.add_css_class ("priority-3-button"); var priority_4_item = new Widgets.ContextMenu.MenuItem (_("Priority 4: None"), "flag-outline-thick-symbolic"); var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; menu_box.append (priority_1_item); menu_box.append (priority_2_item); menu_box.append (priority_3_item); menu_box.append (priority_4_item); var popover = new Gtk.Popover () { has_arrow = false, child = menu_box, position = Gtk.PositionType.BOTTOM }; signal_map[priority_1_item.clicked.connect (() => { popover.popdown (); changed (Constants.PRIORITY_1); })] = priority_1_item; signal_map[priority_2_item.clicked.connect (() => { popover.popdown (); changed (Constants.PRIORITY_2); })] = priority_2_item; signal_map[priority_3_item.clicked.connect (() => { popover.popdown (); changed (Constants.PRIORITY_3); })] = priority_3_item; signal_map[priority_4_item.clicked.connect (() => { popover.popdown (); changed (Constants.PRIORITY_4); })] =priority_4_item; return popover; } public void update_from_item (Objects.Item item) { set_priority (item.priority); } public void set_priority (int priority) { if (priority == Constants.PRIORITY_1) { priority_image.css_classes = { "priority-1-icon" }; if (is_board) { priority_label.label = _("Priority 1: High"); } } else if (priority == Constants.PRIORITY_2) { priority_image.css_classes = { "priority-2-icon" }; if (is_board) { priority_label.label = _("Priority 1: Medium"); } } else if (priority == Constants.PRIORITY_3) { priority_image.css_classes = { "priority-3-icon" }; if (is_board) { priority_label.label = _("Priority 1: Low"); } } else { priority_image.css_classes = {}; if (is_board) { priority_label.label = _("Priority 4: None"); } } Util.get_default ().set_widget_color (((ItemPriority) priority).get_color (), button); } public void reset () { priority_image.icon_name = "flag-outline-thick-symbolic"; } public void animation () { button.remove_css_class ("priority-pulse-animation"); Idle.add (() => { button.add_css_class ("priority-pulse-animation"); Timeout.add (700, () => { button.remove_css_class ("priority-pulse-animation"); return GLib.Source.REMOVE; }); return GLib.Source.REMOVE; }); } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } } alainm23-planify-69962f8/core/Widgets/ProjectPicker/000077500000000000000000000000001517337276100221755ustar00rootroot00000000000000alainm23-planify-69962f8/core/Widgets/ProjectPicker/ProjectPickerButton.vala000066400000000000000000000316631517337276100270130ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ProjectPicker.ProjectPickerButton : Adw.Bin { private Objects.Project _project; public Objects.Project project { set { _project = value; update_project_request (); add_sections (project); } get { return _project; } } private Objects.Section _section; public Objects.Section section { set { _section = value; section_label.label = _section.name; } } private Widgets.IconColorProject icon_project; private Gtk.Label name_label; private Gtk.Label section_label; private Gtk.Popover sections_popover; private Gtk.Revealer section_box_revealer; private Gtk.MenuButton project_button; private Widgets.ProjectPicker.ProjectPickerPopover project_picker_popover; private Gtk.ListBox sections_listbox; private Gtk.Revealer add_section_revealer; private Gtk.Label placeholder_message_label; private Gtk.Revealer spinner_revealer; public signal void project_change (Objects.Project project); public signal void section_change (Objects.Section ? section); public signal void picker_opened (bool active); public Gee.HashMap sections_map = new Gee.HashMap (); private Gee.HashMap signal_map = new Gee.HashMap (); private string PLACEHOLDER_MESSAGE = _("Your list of section will show up here."); // vala-lint=naming-convention private string PLACEHOLDER_CREATE_MESSAGE = _("Create '%s'"); // vala-lint=naming-convention ~ProjectPickerButton () { debug ("Destroying - Widgets.ProjectPicker.ProjectPickerButton\n"); } construct { // Project Button icon_project = new Widgets.IconColorProject (18); name_label = new Gtk.Label (null) { valign = Gtk.Align.CENTER, ellipsize = Pango.EllipsizeMode.END }; var project_box = new Gtk.Box (HORIZONTAL, 6) { valign = CENTER }; project_box.append (icon_project); project_box.append (name_label); project_picker_popover = new Widgets.ProjectPicker.ProjectPickerPopover (); project_button = new Gtk.MenuButton () { popover = project_picker_popover, child = project_box, css_classes = { "flat" } }; // Section Button section_label = new Gtk.Label (_("No Section")) { valign = Gtk.Align.CENTER, ellipsize = Pango.EllipsizeMode.END, max_width_chars = 16 }; sections_popover = build_sections_popover (); var arrow_label = new Gtk.Label ("→"); var section_button = new Gtk.MenuButton () { popover = sections_popover, child = section_label, css_classes = { "flat" } }; var section_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6); section_box.append (arrow_label); section_box.append (section_button); section_box_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_RIGHT, reveal_child = true, child = section_box }; var box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6); box.append (project_button); box.append (section_box_revealer); child = box; signal_map[project_picker_popover.selected.connect ((_project) => { project = _project; update_project_request (); add_sections (_project); project_change (_project); section_label.label = _("No Section"); section_change (null); })] = project_picker_popover; signal_map[project_picker_popover.closed.connect (() => { picker_opened (false); })] = project_picker_popover; signal_map[project_picker_popover.show.connect (() => { picker_opened (true); if (_project != null) { project_picker_popover.set_selected_project (_project); } })] = project_picker_popover; signal_map[sections_popover.closed.connect (() => { picker_opened (false); })] = sections_popover; signal_map[sections_popover.show.connect (() => { picker_opened (true); })] = sections_popover; } public void update_project_request () { name_label.label = project.is_inbox_project ? _("Inbox") : project.name; icon_project.project = project; icon_project.update_request (); section_box_revealer.reveal_child = project.sections.size > 0 && project.source_type != SourceType.CALDAV; } private Gtk.Popover build_sections_popover () { var search_entry = new Gtk.SearchEntry () { margin_top = 9, margin_start = 9, margin_end = 9, margin_bottom = 9 }; sections_listbox = new Gtk.ListBox () { hexpand = true, vexpand = true, css_classes = { "listbox-background" }, margin_start = 9, margin_end = 9, margin_bottom = 9 }; sections_listbox.set_placeholder (get_section_placeholder ()); var scrolled_window = new Gtk.ScrolledWindow () { hscrollbar_policy = Gtk.PolicyType.NEVER, hexpand = true, vexpand = true, child = sections_listbox }; var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (search_entry); toolbar_view.content = scrolled_window; var popover = new Gtk.Popover () { has_arrow = false, position = Gtk.PositionType.BOTTOM, child = toolbar_view, height_request = 225, width_request = 255, css_classes = { "popover-contents" } }; signal_map[sections_listbox.row_activated.connect ((row) => { sections_popover.popdown (); Objects.Section section = ((Widgets.SectionPicker.SectionPickerRow) row).section; section_label.label = section.name; section_change (section.id == "" ? null : section); })] = sections_listbox; signal_map[search_entry.search_changed.connect (() => { int size = 0; sections_listbox.set_filter_func ((row) => { Objects.Section section = ((Widgets.SectionPicker.SectionPickerRow) row).section; var return_value = search_entry.text.down () in section.name.down (); if (return_value) { size++; } return return_value; }); add_section_revealer.reveal_child = size <= 0; placeholder_message_label.label = size <= 0 ? PLACEHOLDER_CREATE_MESSAGE.printf (search_entry.text) : PLACEHOLDER_MESSAGE; })] = search_entry; var search_entry_ctrl_key = new Gtk.EventControllerKey (); search_entry.add_controller (search_entry_ctrl_key); signal_map[search_entry_ctrl_key.key_pressed.connect ((keyval, keycode, state) => { if (keyval == Gdk.Key.Escape) { popover.popdown (); } return false; })] = search_entry_ctrl_key; signal_map[search_entry.activate.connect (() => { if (search_entry.text.length <= 0) { return; } add_assign_section (search_entry.text); })] = search_entry; var listbox_controller_key = new Gtk.EventControllerKey (); sections_listbox.add_controller (listbox_controller_key); signal_map[listbox_controller_key.key_pressed.connect ((keyval, keycode, state) => { var key = Gdk.keyval_name (keyval).replace ("KP_", ""); if (key == "Up" || key == "Down") { } else if (key == "Enter" || key == "Return" || key == "KP_Enter") { } else { if (!search_entry.has_focus) { search_entry.grab_focus (); if (search_entry.cursor_position < search_entry.text.length) { search_entry.set_position (search_entry.text.length); } } } return false; })] = listbox_controller_key; return popover; } private void add_assign_section (string name) { var section = new Objects.Section (); section.name = name; section.project_id = project.id; if (section.project.source_type == SourceType.LOCAL) { section.id = Util.get_default ().generate_id (section); section.project.add_section_if_not_exists (section); _add_assign_section (section); return; } if (section.project.source_type == SourceType.TODOIST) { spinner_revealer.reveal_child = true; Services.Todoist.get_default ().add.begin (section, (obj, res) => { spinner_revealer.reveal_child = false; HttpResponse response = Services.Todoist.get_default ().add.end (res); if (response.status) { section.id = response.data; section.project.add_section_if_not_exists (section); _add_assign_section (section); } else { Services.EventBus.get_default ().send_error_toast (response.error_code, response.error); } }); } } private void _add_assign_section (Objects.Section section) { section_label.label = section.name; section_change (section); sections_map[section.id] = new Widgets.SectionPicker.SectionPickerRow (section); sections_listbox.append (sections_map[section.id]); sections_popover.popdown (); } private void add_sections (Objects.Project project) { foreach (Widgets.SectionPicker.SectionPickerRow row in sections_map.values) { sections_listbox.remove (row); } sections_map.clear (); sections_map["no-section"] = new Widgets.SectionPicker.SectionPickerRow.for_no_section (); sections_listbox.append (sections_map["no-section"]); foreach (Objects.Section section in project.sections) { sections_map[section.id] = new Widgets.SectionPicker.SectionPickerRow (section); sections_listbox.append (sections_map[section.id]); } } private Gtk.Widget get_section_placeholder () { var add_icon = new Gtk.Image.from_icon_name ("tab-new-symbolic") { pixel_size = 24, margin_bottom = 12 }; add_section_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_UP, child = add_icon }; placeholder_message_label = new Gtk.Label (null) { wrap = true, justify = Gtk.Justification.CENTER, css_classes = { "dimmed" } }; var spinner = new Adw.Spinner () { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, height_request = 24, width_request = 24, margin_top = 12, css_classes = { "text-color" } }; spinner_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_UP, child = spinner }; var box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { valign = CENTER, margin_start = 24, margin_end = 24, margin_bottom = 24 }; box.append (add_section_revealer); box.append (placeholder_message_label); box.append (spinner_revealer); return box; } public void open_picker () { project_button.active = true; } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); if (project_picker_popover != null) { project_picker_popover.clean_up (); } } } alainm23-planify-69962f8/core/Widgets/ProjectPicker/ProjectPickerCore.vala000066400000000000000000000236611517337276100264270ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ProjectPickerCore : Adw.Bin { public Objects.Source ? source { get; construct; } private Gtk.ListBox listbox; private Gtk.Revealer search_entry_revealer; private Objects.Project _selected_project; private Gee.HashMap signal_map = new Gee.HashMap (); public signal void selected (Objects.Project project); public signal void close (); public ProjectPickerCore (Objects.Source ? source = null) { Object ( source: source ); } ~ProjectPickerCore () { debug ("Destroying - Widgets.ProjectPicker.ProjectPickerPopover\n"); } construct { var search_entry = new Gtk.SearchEntry () { placeholder_text = _("Type a search"), margin_top = 12, margin_start = 12, margin_end = 12, margin_bottom = 12 }; search_entry_revealer = new Gtk.Revealer () { child = search_entry, reveal_child = true }; listbox = new Gtk.ListBox () { hexpand = true, valign = Gtk.Align.START, css_classes = { "listbox-background" }, margin_start = 12, margin_end = 12, margin_bottom = 12 }; listbox.set_sort_func (sort_source_function); if (source == null) { listbox.set_header_func (header_project_function); } listbox.set_filter_func ((row) => { var project = ((Widgets.ProjectPicker.ProjectPickerRow) row).project; return search_entry.text.down () in project.name.down (); }); var scrolled_window = new Gtk.ScrolledWindow () { hscrollbar_policy = Gtk.PolicyType.NEVER, hexpand = true, vexpand = true, child = listbox }; var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (search_entry_revealer); toolbar_view.content = scrolled_window; child = toolbar_view; add_projects (); signal_map[search_entry.search_changed.connect (() => { scrolled_window.vadjustment.value = 0; listbox.invalidate_filter (); })] = search_entry; signal_map[listbox.row_activated.connect ((row) => { update_selected_project (((Widgets.ProjectPicker.ProjectPickerRow) row).project); selected (_selected_project); close (); })] = listbox; var listbox_controller_key = new Gtk.EventControllerKey (); listbox.add_controller (listbox_controller_key); signal_map[listbox_controller_key.key_pressed.connect ((keyval, keycode, state) => { var key = Gdk.keyval_name (keyval).replace ("KP_", ""); if (key == "Up") { var selected_row = listbox.get_selected_row (); if (selected_row != null) { Gtk.ListBoxRow first_visible_row = null; int index = 0; while (true) { var row = listbox.get_row_at_index (index); if (row == null) break; if (row.get_child_visible ()) { first_visible_row = row; break; } index++; } if (first_visible_row != null && selected_row == first_visible_row) { search_entry.grab_focus (); search_entry.set_position (search_entry.text.length); return true; } } } else if (key == "Down") { } else if (key == "Enter" || key == "Return" || key == "KP_Enter") { } else if (key == "BackSpace") { if (!search_entry.has_focus && search_entry.text.length > 0) { search_entry.grab_focus (); int pos = search_entry.text.length; search_entry.delete_text (pos - 1, pos); search_entry.set_position (pos - 1); return true; } } else { if (!search_entry.has_focus) { unichar c = Gdk.keyval_to_unicode (keyval); if (c.isprint ()) { search_entry.grab_focus (); int pos = search_entry.text.length; search_entry.insert_text (c.to_string (), -1, ref pos); search_entry.set_position (pos); return true; } } } return false; })] = listbox_controller_key; var search_entry_ctrl_key = new Gtk.EventControllerKey (); search_entry.add_controller (search_entry_ctrl_key); signal_map[search_entry_ctrl_key.key_pressed.connect ((keyval, keycode, state) => { var key = Gdk.keyval_name (keyval).replace ("KP_", ""); if (keyval == Gdk.Key.Escape) { close (); } else if (key == "Down") { listbox.get_row_at_index (0).grab_focus (); return true; } return false; })] = search_entry_ctrl_key; } private void add_projects () { Objects.Project inbox_project = Services.Store.instance ().get_project ( Services.Settings.get_default ().settings.get_string ("local-inbox-project-id") ); if (source == null) { listbox.append (build_project_row (inbox_project)); } foreach (Objects.Project project in Services.Store.instance ().projects) { if (source != null && source.id != project.source.id) { continue; } if (!project.source.is_visible || project.is_archived || project.id == inbox_project.id) { continue; } listbox.append (build_project_row (project)); } } private Gtk.Widget build_project_row (Objects.Project project) { var row = new Widgets.ProjectPicker.ProjectPickerRow (project); signal_map[row.selected.connect (() => { update_selected_project (row.project); selected (_selected_project); close (); })] = row; return row; } private int sort_source_function (Gtk.ListBoxRow row1, Gtk.ListBoxRow ? row2) { var project1 = ((Widgets.ProjectPicker.ProjectPickerRow) row1).project; var project2 = ((Widgets.ProjectPicker.ProjectPickerRow) row2).project; if (project1.is_inbox_project && !project2.is_inbox_project) { return -1; } if (!project1.is_inbox_project && project2.is_inbox_project) { return 1; } return project2.source.id.collate (project1.source.id); } private void header_project_function (Gtk.ListBoxRow lbrow, Gtk.ListBoxRow ? lbbefore) { if (!(lbrow is Widgets.ProjectPicker.ProjectPickerRow)) { return; } var row = (Widgets.ProjectPicker.ProjectPickerRow) lbrow; if (row.project.is_inbox_project) { row.margin_top = 6; row.margin_bottom = 6; row.set_header (null); return; } if (lbbefore != null && lbbefore is Widgets.ProjectPicker.ProjectPickerRow) { var before = (Widgets.ProjectPicker.ProjectPickerRow) lbbefore; if (row.project.source.id == before.project.source.id) { row.set_header (null); return; } } row.set_header (get_header_box (row.project.source.header_text)); } private Gtk.Widget get_header_box (string title) { var header_label = new Gtk.Label (title) { css_classes = { "heading" }, halign = START, margin_start = 3 }; var header_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 6) { margin_top = 12, margin_bottom = 6 }; header_box.append (header_label); return header_box; } private void update_selected_project (Objects.Project project) { _selected_project = project; foreach (unowned Gtk.Widget child in Util.get_default ().get_children (listbox)) { var row = (Widgets.ProjectPicker.ProjectPickerRow) child; row.is_selected = row.project.id == project.id; } } public void set_selected_project (Objects.Project project) { update_selected_project (project); } public void clean_up () { listbox.set_sort_func (null); listbox.set_header_func (null); listbox.set_filter_func (null); foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); foreach (unowned Gtk.Widget child in Util.get_default ().get_children (listbox)) { ((Widgets.ProjectPicker.ProjectPickerRow) child).clean_up (); } } } alainm23-planify-69962f8/core/Widgets/ProjectPicker/ProjectPickerPopover.vala000066400000000000000000000040521517337276100271620ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ProjectPicker.ProjectPickerPopover : Gtk.Popover { private Widgets.ProjectPickerCore project_picker_core; public signal void selected (Objects.Project project); public ProjectPickerPopover () { Object ( height_request: 300, width_request: 275, has_arrow: false, position: Gtk.PositionType.BOTTOM ); } ~ProjectPickerPopover () { debug ("Destroying - Widgets.ProjectPicker.ProjectPickerPopover\n"); } construct { project_picker_core = new Widgets.ProjectPickerCore (); child = project_picker_core; add_css_class ("popover-contents"); project_picker_core.selected.connect ((project) => { selected (project); }); project_picker_core.close.connect (() => { popdown (); }); destroy.connect (() => { project_picker_core.clean_up (); }); } public void set_selected_project (Objects.Project project) { project_picker_core.set_selected_project (project); } public void clean_up () { if (project_picker_core != null) { project_picker_core.clean_up (); } } } alainm23-planify-69962f8/core/Widgets/ProjectPicker/ProjectPickerRow.vala000066400000000000000000000075671517337276100263150ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ProjectPicker.ProjectPickerRow : Gtk.ListBoxRow { public Objects.Project project { get; construct; } public bool is_selected { get; set; default = false; } private Gtk.Label name_label; private Gtk.Revealer main_revealer; private Gtk.Revealer selected_revealer; private Widgets.IconColorProject icon_project; public signal void selected (); private Gee.HashMap signal_map = new Gee.HashMap (); public ProjectPickerRow (Objects.Project project) { Object ( project: project ); } ~ProjectPickerRow () { debug ("Destroying - Widgets.ProjectPicker.ProjectPickerRow\n"); } construct { css_classes = { "row", "no-padding" }; icon_project = new Widgets.IconColorProject (20); icon_project.project = project; name_label = new Gtk.Label (null); name_label.valign = Gtk.Align.CENTER; name_label.ellipsize = Pango.EllipsizeMode.END; var selected_icon = new Gtk.Image.from_icon_name ("checkmark-small-symbolic") { pixel_size = 16, hexpand = true, valign = Gtk.Align.CENTER, halign = Gtk.Align.END, margin_end = 3 }; selected_icon.add_css_class ("color-primary"); selected_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.CROSSFADE, child = selected_icon, reveal_child = false }; var content_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_start = 3, margin_end = 3, margin_top = 6, margin_bottom = 6 }; content_box.append (icon_project); content_box.append (name_label); content_box.append (selected_revealer); main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = content_box }; child = main_revealer; update_request (); Timeout.add (main_revealer.transition_duration, () => { main_revealer.reveal_child = true; return GLib.Source.REMOVE; }); var select_gesture = new Gtk.GestureClick (); add_controller (select_gesture); signal_map[select_gesture.pressed.connect (() => { selected (); })] =select_gesture ; signal_map[activate.connect (() => { selected (); })] = this; notify["is-selected"].connect (() => { selected_revealer.reveal_child = is_selected; }); } public void update_request () { name_label.label = project.inbox_project ? _("Inbox") : project.name; icon_project.update_request (); } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); if (icon_project != null) { icon_project.clean_up (); } } } alainm23-planify-69962f8/core/Widgets/ReminderPicker/000077500000000000000000000000001517337276100223345ustar00rootroot00000000000000alainm23-planify-69962f8/core/Widgets/ReminderPicker/ReminderButton.vala000066400000000000000000000161651517337276100261530ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ReminderPicker.ReminderButton : Adw.Bin { public bool is_board { get; construct; } public bool is_creating { get; construct; } private Gtk.Revealer indicator_revealer; private Gtk.Label value_label; private Widgets.ReminderPicker.ReminderPicker reminder_picker; private Gtk.MenuButton button; public signal void reminder_added (Objects.Reminder reminder); public signal void picker_opened (bool active); private Gee.HashMap signal_map = new Gee.HashMap (); public ReminderButton (bool is_creating = false) { Object ( is_board: false, is_creating: is_creating, valign: Gtk.Align.CENTER, halign: Gtk.Align.CENTER, tooltip_text: _("Add Reminders") ); } public ReminderButton.for_board () { Object ( is_board: true, is_creating: false, tooltip_text: _("Add Reminders") ); } ~ReminderButton () { debug ("Destroying - Widgets.ReminderPicker.ReminderButton\n"); } construct { reminder_picker = new Widgets.ReminderPicker.ReminderPicker (is_creating); if (is_board) { var title_label = new Gtk.Label (_("Reminders")) { halign = START, css_classes = { "title-4", "caption", "font-bold" } }; value_label = new Gtk.Label (_("Add Reminders")) { xalign = 0, use_markup = true, halign = START, ellipsize = Pango.EllipsizeMode.END, css_classes = { "caption" } }; var card_grid = new Gtk.Grid () { column_spacing = 12, margin_start = 12, margin_end = 6, margin_top = 6, margin_bottom = 6, vexpand = true, hexpand = true }; card_grid.attach (new Gtk.Image.from_icon_name ("alarm-symbolic"), 0, 0, 1, 2); card_grid.attach (title_label, 1, 0, 1, 1); card_grid.attach (value_label, 1, 1, 1, 1); button = new Gtk.MenuButton () { popover = reminder_picker, child = card_grid, css_classes = { "flat", "card", "activatable", "menu-button-no-padding" }, hexpand = true }; child = button; } else { var indicator_grid = new Gtk.Grid () { width_request = 9, height_request = 9, margin_top = 3, margin_end = 3, css_classes = { "indicator" } }; indicator_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.CROSSFADE, child = indicator_grid, halign = END, valign = START, sensitive = false, }; button = new Gtk.MenuButton () { icon_name = "alarm-symbolic", popover = reminder_picker, css_classes = { "flat" } }; var overlay = new Gtk.Overlay (); overlay.child = button; overlay.add_overlay (indicator_revealer); child = overlay; } signal_map[reminder_picker.reminder_added.connect ((reminder) => { reminder_added (reminder); if (is_creating) { reminder.id = Util.get_default ().generate_id (reminder); add_reminder (reminder, new Gee.ArrayList ()); } })] = reminder_picker; signal_map[reminder_picker.reminder_deleted.connect (() => { indicator_revealer.reveal_child = reminder_picker.has_reminders; })] = reminder_picker; signal_map[reminder_picker.show.connect (() => { picker_opened (true); })] = reminder_picker; signal_map[reminder_picker.closed.connect (() => { picker_opened (false); })] = reminder_picker; } public void set_reminders (Gee.ArrayList reminders) { if (is_board) { value_label.label = _("Add Reminders"); value_label.tooltip_text = null; } reminder_picker.set_reminders (reminders); if (reminders.size > 0) { build_value_label (reminders); } indicator_revealer.reveal_child = reminder_picker.has_reminders; } public void add_reminder (Objects.Reminder reminder, Gee.ArrayList reminders) { reminder_picker.add_reminder (reminder); if (reminders.size > 0 && is_board) { build_value_label (reminders); } indicator_revealer.reveal_child = reminder_picker.has_reminders; } public void delete_reminder (Objects.Reminder reminder, Gee.ArrayList reminders) { reminder_picker.delete_reminder (reminder); if (is_board) { value_label.label = _("Add Reminders"); value_label.tooltip_text = null; if (reminders.size > 0) { build_value_label (reminders); } } indicator_revealer.reveal_child = reminder_picker.has_reminders; } private void build_value_label (Gee.ArrayList reminders) { value_label.label = ""; for (int index = 0; index < reminders.size; index++) { string date = reminders[index].relative_text; if (index < reminders.size - 1) { value_label.label += date + ", "; } else { value_label.label += date; } } value_label.tooltip_text = value_label.label; } public Gee.ArrayList reminders () { return reminder_picker.reminders (); } public void open_picker (bool suggestions_view = false) { reminder_picker.suggestions_view = suggestions_view; button.active = true; } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); if (reminder_picker != null) { reminder_picker.clean_up (); } } } alainm23-planify-69962f8/core/Widgets/ReminderPicker/ReminderPicker.vala000066400000000000000000000260141517337276100261070ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ReminderPicker.ReminderPicker : Gtk.Popover { public bool is_creating { get; construct; } private Layouts.HeaderItem reminders_view; private Widgets.Calendar.Calendar calendar; private Widgets.DateTimePicker.TimePicker time_picker; private Adw.NavigationView navigation_view; private Widgets.LoadingButton submit_button; private Gee.HashMap reminders_map = new Gee.HashMap (); private Gee.HashMap pages_map = new Gee.HashMap (); private Gee.HashMap signal_map = new Gee.HashMap (); public signal void reminder_added (Objects.Reminder reminder); public signal void reminder_deleted (Objects.Reminder reminder); public bool suggestions_view { set { if (value) { navigation_view.push (build_page ("suggestions")); } else { navigation_view.push (build_page ("main")); } } } public bool has_reminders { get { return reminders_map.size > 0; } } public ReminderPicker (bool is_creating = false) { Object ( has_arrow: false, is_creating: is_creating, position: Gtk.PositionType.BOTTOM, width_request: 275 ); } ~ReminderPicker () { debug ("Destroying - Widgets.ReminderPicker.ReminderPicker\n"); } construct { calendar = new Widgets.Calendar.Calendar () { vexpand = true, hexpand = true }; time_picker = new Widgets.DateTimePicker.TimePicker () { hexpand = true, halign = Gtk.Align.END }; navigation_view = new Adw.NavigationView (); navigation_view.add (build_page ("main")); child = navigation_view; signal_map[closed.connect (() => { navigation_view.pop (); submit_button.is_loading = false; })] = this; } private Adw.NavigationPage build_page (string page) { if (pages_map.has_key (page)) { return pages_map[page]; } if (page == "main") { pages_map[page] = build_main_page (); } else if (page == "picker") { pages_map[page] = build_picker_page (); } else if (page == "suggestions") { pages_map[page] = build_suggestions_page (); } return pages_map[page]; } private Adw.NavigationPage build_main_page () { reminders_view = new Layouts.HeaderItem (_("Reminders")); reminders_view.reveal_child = true; reminders_view.placeholder_message = _("Your list of reminders will show up here. Add one by clicking the '+' button."); var add_button = new Gtk.Button.from_icon_name ("plus-large-symbolic") { valign = Gtk.Align.CENTER, css_classes = { "flat", "header-item-button" } }; reminders_view.add_widget_end (add_button); var scrolled_window = new Gtk.ScrolledWindow () { hexpand = true, vexpand = true, hscrollbar_policy = Gtk.PolicyType.NEVER, vscrollbar_policy = Gtk.PolicyType.NEVER, child = reminders_view }; signal_map[add_button.clicked.connect (() => { calendar.date = new GLib.DateTime.now_local (); time_picker.time = new GLib.DateTime.now_local ().add_hours (1); navigation_view.push (build_page ("picker")); })] = add_button; return new Adw.NavigationPage (scrolled_window, "listbox"); } private Adw.NavigationPage build_picker_page () { var time_icon = new Gtk.Image.from_icon_name ("clock-symbolic"); var time_label = new Gtk.Label (_("Time")) { css_classes = { "font-weight-500" } }; var time_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { hexpand = true, margin_top = 6, margin_start = 12 }; time_box.append (time_icon); time_box.append (time_label); time_box.append (time_picker); submit_button = new Widgets.LoadingButton (LoadingButtonType.LABEL, _("Add Reminder")) { margin_top = 12, margin_start = 3, margin_end = 3, margin_bottom = 6, css_classes = { "suggested-action" } }; var main_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); main_box.append (calendar); main_box.append (new Gtk.Separator (Gtk.Orientation.VERTICAL) { margin_start = 9, margin_end = 6, margin_top = 6, margin_bottom = 6 }); main_box.append (time_box); main_box.append (submit_button); var toolbar_view = new Adw.ToolbarView () { content = main_box }; toolbar_view.add_top_bar (new Adw.HeaderBar () { show_title = false, show_end_title_buttons = false, }); signal_map[submit_button.clicked.connect (insert_reminder)] = submit_button; signal_map[time_picker.activated.connect (insert_reminder)] = time_picker; return new Adw.NavigationPage (toolbar_view, "picker"); } private Adw.NavigationPage build_suggestions_page () { var 5_m_item = new Widgets.ContextMenu.MenuItem (_("In 5 minutes"), "delay-symbolic"); var 15_m_item = new Widgets.ContextMenu.MenuItem (_("In 15 minutes"), "delay-symbolic"); var 30_m_item = new Widgets.ContextMenu.MenuItem (_("In 30 minutes"), "delay-symbolic"); var 1_h_item = new Widgets.ContextMenu.MenuItem (_("In 1 hour"), "delay-symbolic"); var 3_h_item = new Widgets.ContextMenu.MenuItem (_("In 3 hours"), "delay-symbolic"); var 6_h_item = new Widgets.ContextMenu.MenuItem (_("In 6 hours"), "delay-symbolic"); var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; menu_box.append (5_m_item); menu_box.append (15_m_item); menu_box.append (30_m_item); menu_box.append (1_h_item); menu_box.append (3_h_item); menu_box.append (6_h_item); signal_map[5_m_item.clicked.connect (() => { var datetime = new GLib.DateTime.now_local ().add_minutes (5); _insert_reminder (datetime, datetime, true); })] = 5_m_item; signal_map[15_m_item.clicked.connect (() => { var datetime = new GLib.DateTime.now_local ().add_minutes (15); _insert_reminder (datetime, datetime, true); })] = 15_m_item; signal_map[30_m_item.clicked.connect (() => { var datetime = new GLib.DateTime.now_local ().add_minutes (30); _insert_reminder (datetime, datetime, true); })] = 30_m_item; signal_map[1_h_item.clicked.connect (() => { var datetime = new GLib.DateTime.now_local ().add_hours (1); _insert_reminder (datetime, datetime, true); })] = 1_h_item; signal_map[3_h_item.clicked.connect (() => { var datetime = new GLib.DateTime.now_local ().add_hours (3); _insert_reminder (datetime, datetime, true); })] = 3_h_item; signal_map[6_h_item.clicked.connect (() => { var datetime = new GLib.DateTime.now_local ().add_hours (6); _insert_reminder (datetime, datetime, true); })] = 6_h_item; return new Adw.NavigationPage (menu_box, "suggestions"); } private void insert_reminder () { if (calendar.date == null || time_picker.time == null) { return; } _insert_reminder (calendar.date, time_picker.time); } private void _insert_reminder (GLib.DateTime date, GLib.DateTime time, bool is_suggestion = false) { var reminder = new Objects.Reminder (); reminder.due.date = Utils.Datetime.get_todoist_datetime_format ( Utils.Datetime.get_datetime_no_seconds (date, time) ); reminder_added (reminder); if (is_suggestion) { popdown (); return; } navigation_view.pop (); submit_button.is_loading = false; } public void set_reminders (Gee.ArrayList reminders) { clear (); foreach (Objects.Reminder reminder in reminders) { add_reminder (reminder); } } public void clear () { reminders_view.clear (); reminders_map.clear (); } public void add_reminder (Objects.Reminder reminder) { if (!reminders_map.has_key (reminder.id)) { reminders_map[reminder.id] = new Widgets.ReminderPicker.ReminderRow (reminder); signal_map[reminders_map[reminder.id].deleted.connect (() => { if (!is_creating) { reminder.delete (); } else { delete_reminder (reminder); } reminder_deleted (reminder); })] = reminders_map[reminder.id]; reminders_view.add_child (reminders_map[reminder.id]); } } public void delete_reminder (Objects.Reminder reminder) { if (reminders_map.has_key (reminder.id)) { reminders_map[reminder.id].hide_destroy (); reminders_map.unset (reminder.id); } } public Gee.ArrayList reminders () { Gee.ArrayList return_value = new Gee.ArrayList (); foreach (Widgets.ReminderPicker.ReminderRow row in reminders_map.values) { return_value.add (row.reminder); } return return_value; } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); if (calendar != null) { calendar.clean_up (); } if (time_picker != null) { time_picker.clean_up (); } foreach (Gtk.ListBoxRow row in reminders_view.get_children ()) { (row as Widgets.ReminderPicker.ReminderRow).clean_up (); } } } alainm23-planify-69962f8/core/Widgets/ReminderPicker/ReminderRow.vala000066400000000000000000000065101517337276100254400ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ReminderPicker.ReminderRow : Gtk.ListBoxRow { public Objects.Reminder reminder { get; construct; } private Gtk.Revealer main_revealer; public signal void activated (); public signal void deleted (); private Gee.HashMap signal_map = new Gee.HashMap (); public ReminderRow (Objects.Reminder reminder) { Object ( reminder: reminder ); } public ReminderRow.new () { var reminder = new Objects.Reminder (); Object ( reminder: reminder ); } ~ReminderRow () { debug ("Destroying - Widgets.Widgets.ReminderPicker.ReminderRow\n"); } construct { add_css_class ("row"); var reminder_label = new Gtk.Label (reminder.relative_text); var remove_button = new Widgets.LoadingButton.with_icon ("cross-large-circle-filled-symbolic") { hexpand = true, margin_end = 6, halign = Gtk.Align.END }; remove_button.add_css_class ("flat"); remove_button.add_css_class ("no-padding"); var reminder_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_top = 3, margin_bottom = 3, margin_start = 3 }; reminder_box.append (new Gtk.Image.from_icon_name ("alarm-symbolic")); reminder_box.append (reminder_label); reminder_box.append (remove_button); main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = reminder_box }; child = main_revealer; Timeout.add (main_revealer.transition_duration, () => { main_revealer.reveal_child = true; return GLib.Source.REMOVE; }); signal_map[remove_button.clicked.connect (() => { deleted (); })] = remove_button; signal_map[reminder.loading_change.connect (() => { remove_button.is_loading = reminder.loading; })] = reminder; } public void hide_destroy () { main_revealer.reveal_child = false; clean_up (); Timeout.add (main_revealer.transition_duration, () => { ((Gtk.ListBox) parent).remove (this); return GLib.Source.REMOVE; }); } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } } alainm23-planify-69962f8/core/Widgets/SectionPicker/000077500000000000000000000000001517337276100221735ustar00rootroot00000000000000alainm23-planify-69962f8/core/Widgets/SectionPicker/SectionButton.vala000066400000000000000000000062561517337276100256510ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.SectionPicker.SectionButton : Adw.Bin { private Gtk.Label section_label; private Widgets.SectionPicker.SectionPicker picker; public signal void selected (Objects.Section section); public SectionButton () { Object ( tooltip_text: _("Set Section") ); } construct { var title_label = new Gtk.Label (_("Section")) { halign = START, css_classes = { "title-4", "caption", "font-bold" } }; section_label = new Gtk.Label (_("Select Section")) { xalign = 0, use_markup = true, halign = START, ellipsize = Pango.EllipsizeMode.END, css_classes = { "caption" } }; var card_grid = new Gtk.Grid () { column_spacing = 12, margin_start = 12, margin_end = 6, margin_top = 6, margin_bottom = 6, vexpand = true, hexpand = true }; card_grid.attach (new Gtk.Image.from_icon_name ("arrow3-right-symbolic"), 0, 0, 1, 2); card_grid.attach (title_label, 1, 0, 1, 1); card_grid.attach (section_label, 1, 1, 1, 1); picker = new Widgets.SectionPicker.SectionPicker (); var menu_button = new Gtk.MenuButton () { popover = picker, child = card_grid, css_classes = { "flat", "card", "activatable", "menu-button-no-padding" }, hexpand = true }; child = menu_button; // var click_gesture = new Gtk.GestureClick (); // card_grid.add_controller (click_gesture); // click_gesture.pressed.connect ((n_press, x, y) => { // picker.show (); // }); picker.selected.connect ((section) => { selected (section); }); } public void set_sections (Gee.ArrayList sections) { picker.set_sections (sections); } public void update_from_item (Objects.Item item) { section_label.label = _("No Section"); section_label.tooltip_text = null; if (item.parent_id != "") { return; } if (item.section_id != "") { section_label.label = item.section.name; section_label.tooltip_text = item.section.name; } picker.set_section (item.section_id); } } alainm23-planify-69962f8/core/Widgets/SectionPicker/SectionPicker.vala000066400000000000000000000104721517337276100256060ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.SectionPicker.SectionPicker : Gtk.Popover { private Gtk.SearchEntry search_entry; private Gtk.ListBox listbox; public signal void selected (Objects.Section section); public SectionPicker () { Object ( has_arrow: false, position: Gtk.PositionType.BOTTOM, width_request: 275, height_request: 300 ); } construct { search_entry = new Gtk.SearchEntry () { placeholder_text = _("Search"), valign = Gtk.Align.CENTER, hexpand = true, margin_top = 9, margin_start = 9, margin_end = 9, margin_bottom = 9 }; listbox = new Gtk.ListBox () { hexpand = true, valign = Gtk.Align.START, css_classes = { "listbox-separator-3", "listbox-background" } }; listbox.set_filter_func ((row) => { return search_entry.text.down () in ((Widgets.SectionPicker.SectionPickerRow) row).section.name.down (); }); var listbox_content = new Adw.Bin () { margin_start = 6, margin_end = 6, margin_bottom = 6, child = listbox, valign = Gtk.Align.START }; var listbox_scrolled = new Gtk.ScrolledWindow () { hscrollbar_policy = Gtk.PolicyType.NEVER, hexpand = true, vexpand = true, child = listbox_content }; var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (search_entry); toolbar_view.content = listbox_scrolled; child = toolbar_view; listbox.row_activated.connect (row_activated); var listbox_controller_key = new Gtk.EventControllerKey (); listbox.add_controller (listbox_controller_key); listbox_controller_key.key_pressed.connect (key_pressed); search_entry.search_changed.connect (() => { listbox.invalidate_filter (); }); } public void set_sections (Gee.ArrayList sections) { foreach (unowned Gtk.Widget child in Util.get_default ().get_children (listbox)) { listbox.remove (child); } var _section = new Objects.Section (); _section.name = _("No Section"); listbox.append (new Widgets.SectionPicker.SectionPickerRow (_section)); foreach (Objects.Section section in sections) { listbox.append (new Widgets.SectionPicker.SectionPickerRow (section)); } } public void set_section (string section_id) { Services.EventBus.get_default ().section_picker_changed (section_id); } private void row_activated (Gtk.ListBoxRow row) { var section = ((Widgets.SectionPicker.SectionPickerRow) row).section; selected (section); popdown (); } private bool key_pressed (uint keyval, uint keycode, Gdk.ModifierType state) { var key = Gdk.keyval_name (keyval).replace ("KP_", ""); if (key == "Up" || key == "Down") { } else if (key == "Enter" || key == "Return" || key == "KP_Enter") { row_activated (listbox.get_selected_row ()); } else { if (!search_entry.has_focus) { search_entry.grab_focus (); if (search_entry.cursor_position < search_entry.text.length) { search_entry.set_position (search_entry.text.length); } } } return false; } } alainm23-planify-69962f8/core/Widgets/SectionPicker/SectionPickerRow.vala000066400000000000000000000070071517337276100262760ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.SectionPicker.SectionPickerRow : Gtk.ListBoxRow { public Objects.Section section { get; construct; } private Gtk.Label name_label; public signal void update_section (); public SectionPickerRow (Objects.Section section) { Object ( section: section ); } public SectionPickerRow.for_no_section () { var no_section = new Objects.Section (); no_section.id = ""; no_section.name = _("No Section"); Object ( section: no_section ); } construct { add_css_class ("border-radius-6"); var color_grid = new Gtk.Grid () { width_request = 3, height_request = 16, margin_top = 0, valign = Gtk.Align.CENTER, css_classes = { "event-bar" } }; Util.get_default ().set_widget_color (Util.get_default ().get_color (section.color), color_grid); name_label = new Gtk.Label (section.name); name_label.valign = Gtk.Align.CENTER; name_label.ellipsize = Pango.EllipsizeMode.END; var selected_icon = new Gtk.Image.from_icon_name ("checkmark-small-symbolic") { pixel_size = 16, hexpand = true, valign = Gtk.Align.CENTER, halign = Gtk.Align.END, margin_end = 3 }; selected_icon.add_css_class ("color-primary"); var selected_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.CROSSFADE, child = selected_icon }; var hidded_switch = new Gtk.Switch () { css_classes = { "active-switch" }, active = section.id == "" ? !section.project.inbox_section_hidded : !section.hidded }; var order_icon = new Gtk.Image.from_icon_name ("list-drag-handle-symbolic") { css_classes = { "dimmed" }, pixel_size = 12 }; var content_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_top = 6, margin_start = 12, margin_end = 6, margin_bottom = 6 }; content_box.append (color_grid); content_box.append (name_label); content_box.append (selected_revealer); child = content_box; var select_gesture = new Gtk.GestureClick (); add_controller (select_gesture); select_gesture.pressed.connect (() => { Services.EventBus.get_default ().section_picker_changed (section.id); }); Services.EventBus.get_default ().section_picker_changed.connect ((type, id) => { selected_revealer.reveal_child = section.id == id; }); } } alainm23-planify-69962f8/core/Widgets/StatusButton.vala000066400000000000000000000071531517337276100227630ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.StatusButton : Adw.Bin { public bool is_board { get; construct; } private Gtk.Image status_image; private Gtk.Label value_label; public signal void changed (bool status); public StatusButton () { Object ( tooltip_text: _("Set The Status") ); } construct { status_image = new Gtk.Image.from_icon_name ("check-round-outline-symbolic"); var title_label = new Gtk.Label (_("Status")) { halign = START, css_classes = { "title-4", "caption", "font-bold" } }; value_label = new Gtk.Label (_("To Do")) { xalign = 0, use_markup = true, halign = START, css_classes = { "caption" } }; var card_grid = new Gtk.Grid () { column_spacing = 12, margin_start = 12, margin_end = 6, margin_top = 6, margin_bottom = 6, vexpand = true, hexpand = true }; card_grid.attach (status_image, 0, 0, 1, 2); card_grid.attach (title_label, 1, 0, 1, 1); card_grid.attach (value_label, 1, 1, 1, 1); var menu_button = new Gtk.MenuButton () { popover = build_popover (), child = card_grid, css_classes = { "flat", "card", "activatable", "menu-button-no-padding" }, hexpand = true }; child = menu_button; } public Gtk.Popover build_popover () { var todo_item = new Widgets.ContextMenu.MenuItem (_("To Do"), "check-round-outline-symbolic"); var complete_item = new Widgets.ContextMenu.MenuItem (_("Complete"), "check-round-outline-symbolic"); complete_item.add_css_class ("completed-color"); var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; menu_box.append (todo_item); menu_box.append (complete_item); var popover = new Gtk.Popover () { has_arrow = false, child = menu_box, position = Gtk.PositionType.BOTTOM }; todo_item.clicked.connect (() => { popover.popdown (); changed (false); }); complete_item.clicked.connect (() => { popover.popdown (); changed (true); }); return popover; } public void update_from_item (Objects.Item item) { set_status (item.completed); } public void set_status (bool active) { if (active) { status_image.add_css_class ("completed-image-color"); value_label.label = _("Complete"); } else { status_image.remove_css_class ("completed-image-color"); value_label.label = _("To Do"); } } } alainm23-planify-69962f8/core/Widgets/TextView.vala000066400000000000000000000070661517337276100220660ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.TextView : Gtk.TextView { private Gee.HashMap signal_map = new Gee.HashMap (); private bool showing_placeholder = false; public string placeholder_text { get; set; default = ""; } public signal void enter (); public signal void leave (); public bool event_focus { get; set; default = true; } construct { signal_map[realize.connect (() => { if (has_focus) { handle_focus_in (); } update_placeholder_visibility (); })] = this; signal_map[notify["has-focus"].connect (() => { if (has_focus) { handle_focus_in (); } else { update_on_leave (); } update_placeholder_visibility (); })] = this; var gesture = new Gtk.EventControllerFocus (); add_controller (gesture); signal_map[gesture.enter.connect (handle_focus_in)] = gesture; signal_map[gesture.leave.connect (() => { update_on_leave (); update_placeholder_visibility (); })] = gesture; destroy.connect (() => { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); }); update_placeholder_visibility (); } private void handle_focus_in () { if (event_focus) { Services.EventBus.get_default ().disconnect_typing_accel (); } if (showing_placeholder) { buffer.text = ""; opacity = 1; showing_placeholder = false; } enter (); } public void update_on_leave () { if (event_focus) { Services.EventBus.get_default ().connect_typing_accel (); } leave (); } private void update_placeholder_visibility () { if (!has_focus && buffer.text.strip () == "" && placeholder_text != "") { showing_placeholder = true; buffer.text = placeholder_text; opacity = 0.5; } else if (showing_placeholder && has_focus) { buffer.text = ""; opacity = 1; showing_placeholder = false; } } public string get_text () { if (showing_placeholder) { return ""; } Gtk.TextIter start; Gtk.TextIter end; buffer.get_start_iter (out start); buffer.get_end_iter (out end); return buffer.get_text (start, end, true).strip (); } public void set_text (string text) { buffer.text = text; showing_placeholder = false; opacity = 1; update_placeholder_visibility (); } } alainm23-planify-69962f8/core/meson.build000066400000000000000000000136201517337276100201670ustar00rootroot00000000000000core_files = files( 'Enum.vala', 'Constants.vala', 'QuickAddCore.vala', 'Utils/Util.vala', 'Utils/Datetime.vala', 'Utils/MarkdownProcessor.vala', 'Services/Settings.vala', 'Services/EventBus.vala', 'Services/Database.vala', 'Services/LogService.vala', 'Services/Store.vala', 'Services/Todoist.vala', 'Services/Backup.vala', 'Services/ColorSchemeSettings.vala', 'Services/CalDAV/Core.vala', 'Services/CalDAV/CalDAVClient.vala', 'Services/CalDAV/WebDAVClient.vala', 'Services/CalDAV/Providers/Nextcloud.vala', 'Services/Chrono/Chrono.vala', 'Services/Chrono/LanguageParser.vala', 'Services/Chrono/Parser.vala', 'Services/Chrono/ParseResult.vala', 'Services/Chrono/RecurrenceRule.vala', 'Services/Chrono/Common/ISOParser.vala', 'Services/Chrono/Common/SlashParser.vala', 'Services/Chrono/Common/TimeParser.vala', 'Services/Chrono/Locales/en/EnglishParser.vala', 'Services/Chrono/Locales/en/ENConstants.vala', 'Services/Chrono/Locales/en/ENDateTimeComboParser.vala', 'Services/Chrono/Locales/en/ENRecurrenceParser.vala', 'Services/Chrono/Locales/en/ENCasualDateParser.vala', 'Services/Chrono/Locales/en/ENCasualTimeParser.vala', 'Services/Chrono/Locales/en/ENMonthNameParser.vala', 'Services/Chrono/Locales/en/ENRelativeDateFormatParser.vala', 'Services/Chrono/Locales/en/ENTimeExpressionParser.vala', 'Services/Chrono/Locales/es/SpanishParser.vala', 'Services/Chrono/Locales/es/ESConstants.vala', 'Services/Chrono/Locales/es/ESCasualDateParser.vala', 'Services/Chrono/Locales/es/ESCasualTimeParser.vala', 'Services/Chrono/Locales/es/ESDateTimeComboParser.vala', 'Services/Chrono/Locales/es/ESMonthNameParser.vala', 'Services/Chrono/Locales/es/ESRelativeDateFormatParser.vala', 'Services/Chrono/Locales/es/ESTimeExpressionParser.vala', 'Layouts/HeaderItem.vala', 'Widgets/LoadingButton.vala', 'Widgets/TextView.vala', 'Widgets/IconColorProject.vala', 'Widgets/PinButton.vala', 'Widgets/PriorityButton.vala', 'Widgets/ItemLabels.vala', 'Widgets/ItemLabelChild.vala', 'Widgets/CircularProgressBar.vala', 'Widgets/StatusButton.vala', 'Widgets/MarkdownEditor.vala', 'Widgets/DeadlineButton.vala', 'Widgets/Calendar/Calendar.vala', 'Widgets/Calendar/CalendarDay.vala', 'Widgets/Calendar/CalendarHeader.vala', 'Widgets/Calendar/CalendarView.vala', 'Widgets/Calendar/CalendarWeek.vala', 'Widgets/Calendar/CalendarMonth.vala', 'Widgets/Calendar/CalendarScroll.vala', 'Widgets/ContextMenu/MenuItem.vala', 'Widgets/ContextMenu/MenuSeparator.vala', 'Widgets/ContextMenu/MenuPicker.vala', 'Widgets/ContextMenu/MenuCheckPicker.vala', 'Widgets/ContextMenu/MenuSwitch.vala', 'Widgets/DateTimePicker/ScheduleButton.vala', 'Widgets/DateTimePicker/DateTimePicker.vala', 'Widgets/DateTimePicker/TimePicker.vala', 'Widgets/DateTimePicker/RepeatConfig.vala', 'Widgets/LabelPicker/LabelPicker.vala', 'Widgets/LabelPicker/LabelRow.vala', 'Widgets/LabelPicker/LabelButton.vala', 'Widgets/LabelPicker/LabelsPickerCore.vala', 'Widgets/LabelPicker/LabelQuickPicker.vala', 'Widgets/ProjectPicker/ProjectPickerCore.vala', 'Widgets/ProjectPicker/ProjectPickerPopover.vala', 'Widgets/ProjectPicker/ProjectPickerRow.vala', 'Widgets/ProjectPicker/ProjectPickerButton.vala', 'Widgets/SectionPicker/SectionButton.vala', 'Widgets/SectionPicker/SectionPicker.vala', 'Widgets/SectionPicker/SectionPickerRow.vala', 'Widgets/ReminderPicker/ReminderButton.vala', 'Widgets/ReminderPicker/ReminderPicker.vala', 'Widgets/ReminderPicker/ReminderRow.vala', 'Objects/BaseObject.vala', 'Objects/Color.vala', 'Objects/DueDate.vala', 'Objects/Item.vala', 'Objects/Label.vala', 'Objects/Project.vala', 'Objects/Queue.vala', 'Objects/Reminder.vala', 'Objects/Section.vala', 'Objects/Promise.vala', 'Objects/Attachment.vala', 'Objects/ObjectEvent.vala', 'Objects/Source.vala', 'Objects/TranslationMetric.vala', 'Objects/Release.vala', 'Objects/Filters/Inbox.vala', 'Objects/Filters/Pinboard.vala', 'Objects/Filters/Scheduled.vala', 'Objects/Filters/Today.vala', 'Objects/Filters/Priority.vala', 'Objects/Filters/Completed.vala', 'Objects/Filters/Labels.vala', 'Objects/Filters/Tomorrow.vala', 'Objects/Filters/Anytime.vala', 'Objects/Filters/Repeating.vala', 'Objects/Filters/Unlabeled.vala', 'Objects/Filters/FilterItem.vala', 'Objects/Filters/AllItems.vala' ) if get_option('evolution') core_files += 'Services/CalendarEvents/CalendarEvents.vala' core_files += 'Services/CalendarEvents/DateIterator.vala' core_files += 'Services/CalendarEvents/DateRange.vala' core_files += 'Services/CalendarEvents/Util.vala' endif core_deps = [ gio_dep, glib_dep, gee_dep, gtk_dep, sqlite3_dep, libadwaita_dep, json_dep, libsoup_dep, libical_dep, libgxml_dep, libsecret_dep, libspelling, gtksourceview_dep ] if get_option('evolution') if libecal_dep.found() core_deps += libecal_dep core_deps += libedataserver_dep endif endif core_lib = shared_library( 'planify', core_files, dependencies: [ core_deps, m_dep ], install: true, install_dir: [true, join_paths(get_option('includedir'), 'planify'), true], soversion: '0', version: '0.1' ) core_dep = declare_dependency( link_with: core_lib, dependencies: core_deps, include_directories: include_directories('.') ) install_data( 'planify.deps', install_dir: join_paths(get_option('datadir'), 'vala', 'vapi') ) pkgconfig.generate( core_lib, filebase: 'planify', version: meson.project_version(), name: 'Planify', description: 'Extension endpoint to the Planify application', subdirs: 'planify', libraries: core_deps ) alainm23-planify-69962f8/core/planify.deps000066400000000000000000000002241517337276100203400ustar00rootroot00000000000000glib-2.0 gio-2.0 gee-0.8 gtk4 sqlite3 libadwaita-1 webkitgtk-6.0 json-glib-1.0 libecal-2.0 libedataserver-1.2 libical-glib gtksourceview-5 gxml-0.20alainm23-planify-69962f8/data/000077500000000000000000000000001517337276100160045ustar00rootroot00000000000000alainm23-planify-69962f8/data/icons/000077500000000000000000000000001517337276100171175ustar00rootroot00000000000000alainm23-planify-69962f8/data/icons/hicolor/000077500000000000000000000000001517337276100205565ustar00rootroot00000000000000alainm23-planify-69962f8/data/icons/hicolor/scalable/000077500000000000000000000000001517337276100223245ustar00rootroot00000000000000alainm23-planify-69962f8/data/icons/hicolor/scalable/apps/000077500000000000000000000000001517337276100232675ustar00rootroot00000000000000alainm23-planify-69962f8/data/icons/hicolor/scalable/apps/io.github.alainm23.planify.Devel.svg000066400000000000000000000226251517337276100320130ustar00rootroot00000000000000 alainm23-planify-69962f8/data/icons/hicolor/scalable/apps/io.github.alainm23.planify.svg000066400000000000000000000104051517337276100307460ustar00rootroot00000000000000 alainm23-planify-69962f8/data/icons/hicolor/symbolic/000077500000000000000000000000001517337276100223775ustar00rootroot00000000000000alainm23-planify-69962f8/data/icons/hicolor/symbolic/apps/000077500000000000000000000000001517337276100233425ustar00rootroot00000000000000alainm23-planify-69962f8/data/icons/hicolor/symbolic/apps/io.github.alainm23.planify-symbolic.svg000066400000000000000000000024601517337276100326420ustar00rootroot00000000000000 alainm23-planify-69962f8/data/icons/io.github.alainm23.planify.Source.svg000066400000000000000000000632261517337276100260460ustar00rootroot00000000000000 Adwaita Icon Template image/svg+xml GNOME Design Team Adwaita Icon Template Hicolor Symbolic alainm23-planify-69962f8/data/icons/meson.build000066400000000000000000000001171517337276100212600ustar00rootroot00000000000000install_subdir( 'hicolor', install_dir: get_option('datadir') / 'icons', ) alainm23-planify-69962f8/data/io.github.alainm23.planify.desktop.in.in000066400000000000000000000012741517337276100253530ustar00rootroot00000000000000[Desktop Entry] # Translators: Keep this string as `Planify` Name=Planify Comment=Forget about forgetting things Categories=Utility;Office;ProjectManagement;Calendar; Exec=@exec@ %u Icon=@icon@ Terminal=false Type=Application StartupNotify=true MimeType=x-scheme-handler/planify; X-GNOME-Gettext-Domain=planify X-GNOME-UsesNotifications=true # Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! Keywords=development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist; # Translators: Do NOT translate or transliterate this text (these are enum types)! X-Purism-FormFactor=Workstation;Mobile; alainm23-planify-69962f8/data/io.github.alainm23.planify.gresource.xml000066400000000000000000000657331517337276100254770ustar00rootroot00000000000000 resources/stylesheet/animations.css resources/stylesheet/calendar.css resources/stylesheet/stylesheet.css resources/stylesheet/variables.css resources/stylesheet/sidebar.css resources/stylesheet/typography.css resources/stylesheet/index.css resources/ui/shortcuts.ui io.github.alainm23.planify.metainfo.xml.in.in resources/sounds/success.ogg resources/icons/todoist.svg resources/icons/cloud.svg resources/images/light-mode.svg resources/images/dark-mode.svg resources/images/blue-mode.svg resources/icons/edit-find-symbolic.svg resources/icons/menu-large-symbolic.svg resources/icons/plus-large-symbolic.svg resources/icons/update-symbolic.svg resources/icons/star-outline-thick-symbolic.svg resources/icons/edit-symbolic.svg resources/icons/user-trash-symbolic.svg resources/icons/share-alt-symbolic.svg resources/icons/mail-symbolic.svg resources/icons/view-more-symbolic.svg resources/icons/dock-left-symbolic.svg resources/icons/dock-right-symbolic.svg resources/icons/view-sort-descending-rtl-symbolic.svg resources/icons/view-sort-ascending-rtl-symbolic.svg resources/icons/list-symbolic.svg resources/icons/view-columns-symbolic.svg resources/icons/view-list-ordered-symbolic.svg resources/icons/check-round-outline-whole-symbolic.svg resources/icons/check-round-outline-symbolic.svg resources/icons/month-symbolic.svg resources/icons/tabs-stack-symbolic.svg resources/icons/list-large-symbolic.svg resources/icons/cross-large-circle-filled-symbolic.svg resources/icons/arrow3-right-symbolic.svg resources/icons/arrow-circular-top-right-symbolic.svg resources/icons/clipboard-symbolic.svg resources/icons/today-calendar-symbolic.svg resources/icons/tag-outline-symbolic.svg resources/icons/pin-symbolic.svg resources/icons/alarm-symbolic.svg resources/icons/flag-outline-thick-symbolic.svg resources/icons/clock-symbolic.svg resources/icons/cloud-outline-thick-symbolic.svg resources/icons/settings-symbolic.svg resources/icons/color-symbolic.svg resources/icons/arrow3-down-symbolic.svg resources/icons/rescue-symbolic.svg resources/icons/chat-bubble-text-symbolic.svg resources/icons/navigate-symbolic.svg resources/icons/heart-outline-thick-symbolic.svg resources/icons/shield-safe-symbolic.svg resources/icons/text-justify-left-symbolic.svg resources/icons/tag-outline-add-symbolic.svg resources/icons/reaction-add2-symbolic.svg resources/icons/paper-symbolic.svg resources/icons/folder-download-symbolic.svg resources/icons/list-drag-handle-symbolic.svg resources/icons/mailbox-symbolic.svg resources/icons/checkmark-small-symbolic.svg resources/icons/work-week-symbolic.svg resources/icons/permissions-generic-symbolic.svg resources/icons/grid-large-symbolic.svg resources/icons/tag-outline-remove-symbolic.svg resources/icons/carousel-symbolic.svg resources/icons/step-out-symbolic.svg resources/icons/playlist-repeat-symbolic.svg resources/icons/vertical-arrows-long-symbolic.svg resources/icons/mail-attachment-symbolic.svg resources/icons/arrow-turn-down-right-symbolic.svg resources/icons/shoe-box-symbolic.svg resources/icons/eye-open-negative-filled-symbolic.svg resources/icons/expand-vertically-symbolic.svg resources/icons/collapse-vertically-symbolic.svg resources/icons/info-outline-symbolic.svg resources/icons/rotation-edit-symbolic.svg resources/icons/cross-large-circle-outline-symbolic.svg resources/icons/funnel-outline-symbolic.svg resources/icons/external-link-symbolic.svg resources/icons/delay-symbolic.svg resources/icons/go-up-symbolic.svg resources/icons/go-next-symbolic.svg resources/icons/process-error-symbolic.svg resources/icons/computer-symbolic.svg resources/icons/text-bold-symbolic.svg resources/icons/dialog-information-symbolic.svg resources/icons/go-home-symbolic.svg resources/icons/paper-plane-symbolic.svg resources/icons/text-italic-symbolic.svg resources/icons/text-strikethrough-symbolic.svg resources/icons/chain-link-loose-symbolic.svg resources/icons/view-list-symbolic.svg resources/icons/code-symbolic.svg resources/icons/lightbulb-symbolic.svg resources/icons/language-symbolic.svg resources/icons/down-small-symbolic.svg resources/icons/video-camera-symbolic.svg resources/icons/map-marker-symbolic.svg resources/icons/people-symbolic.svg resources/icons/delay-long-small-symbolic.svg resources/icons/tab-new-symbolic.svg resources/icons/key4-symbolic.svg resources/icons/four-arrows-pointing-outward-symbolic.svg resources/icons/edit-find-symbolic.svg resources/icons/menu-large-symbolic.svg resources/icons/plus-large-symbolic.svg resources/icons/update-symbolic.svg resources/icons/star-outline-thick-symbolic.svg resources/icons/edit-symbolic.svg resources/icons/user-trash-symbolic.svg resources/icons/share-alt-symbolic.svg resources/icons/mail-symbolic.svg resources/icons/view-more-symbolic.svg resources/icons/dock-left-symbolic.svg resources/icons/dock-right-symbolic.svg resources/icons/view-sort-descending-rtl-symbolic.svg resources/icons/view-sort-ascending-rtl-symbolic.svg resources/icons/list-symbolic.svg resources/icons/view-columns-symbolic.svg resources/icons/view-list-ordered-symbolic.svg resources/icons/check-round-outline-whole-symbolic.svg resources/icons/check-round-outline-symbolic.svg resources/icons/month-symbolic.svg resources/icons/tabs-stack-symbolic.svg resources/icons/list-large-symbolic.svg resources/icons/cross-large-circle-filled-symbolic.svg resources/icons/arrow3-right-symbolic.svg resources/icons/arrow-circular-top-right-symbolic.svg resources/icons/clipboard-symbolic.svg resources/icons/today-calendar-symbolic.svg resources/icons/tag-outline-symbolic.svg resources/icons/pin-symbolic.svg resources/icons/alarm-symbolic.svg resources/icons/flag-outline-thick-symbolic.svg resources/icons/clock-symbolic.svg resources/icons/cloud-outline-thick-symbolic.svg resources/icons/settings-symbolic.svg resources/icons/color-symbolic.svg resources/icons/arrow3-down-symbolic.svg resources/icons/rescue-symbolic.svg resources/icons/chat-bubble-text-symbolic.svg resources/icons/navigate-symbolic.svg resources/icons/heart-outline-thick-symbolic.svg resources/icons/shield-safe-symbolic.svg resources/icons/text-justify-left-symbolic.svg resources/icons/tag-outline-add-symbolic.svg resources/icons/reaction-add2-symbolic.svg resources/icons/paper-symbolic.svg resources/icons/folder-download-symbolic.svg resources/icons/list-drag-handle-symbolic.svg resources/icons/mailbox-symbolic.svg resources/icons/checkmark-small-symbolic.svg resources/icons/work-week-symbolic.svg resources/icons/permissions-generic-symbolic.svg resources/icons/grid-large-symbolic.svg resources/icons/tag-outline-remove-symbolic.svg resources/icons/carousel-symbolic.svg resources/icons/step-out-symbolic.svg resources/icons/playlist-repeat-symbolic.svg resources/icons/vertical-arrows-long-symbolic.svg resources/icons/mail-attachment-symbolic.svg resources/icons/arrow-turn-down-right-symbolic.svg resources/icons/shoe-box-symbolic.svg resources/icons/eye-open-negative-filled-symbolic.svg resources/icons/expand-vertically-symbolic.svg resources/icons/collapse-vertically-symbolic.svg resources/icons/info-outline-symbolic.svg resources/icons/rotation-edit-symbolic.svg resources/icons/cross-large-circle-outline-symbolic.svg resources/icons/funnel-outline-symbolic.svg resources/icons/external-link-symbolic.svg resources/icons/delay-symbolic.svg resources/icons/go-up-symbolic.svg resources/icons/go-next-symbolic.svg resources/icons/process-error-symbolic.svg resources/icons/computer-symbolic.svg resources/icons/text-bold-symbolic.svg resources/icons/dialog-information-symbolic.svg resources/icons/go-home-symbolic.svg resources/icons/paper-plane-symbolic.svg resources/icons/text-italic-symbolic.svg resources/icons/text-strikethrough-symbolic.svg resources/icons/chain-link-loose-symbolic.svg resources/icons/view-list-symbolic.svg resources/icons/code-symbolic.svg resources/icons/lightbulb-symbolic.svg resources/icons/language-symbolic.svg resources/icons/down-small-symbolic.svg resources/icons/video-camera-symbolic.svg resources/icons/map-marker-symbolic.svg resources/icons/people-symbolic.svg resources/icons/delay-long-small-symbolic.svg resources/icons/tab-new-symbolic.svg resources/icons/key4-symbolic.svg resources/icons/four-arrows-pointing-outward-symbolic.svg resources/icons/edit-find-symbolic.svg resources/icons/menu-large-symbolic.svg resources/icons/plus-large-symbolic.svg resources/icons/update-symbolic.svg resources/icons/star-outline-thick-symbolic.svg resources/icons/edit-symbolic.svg resources/icons/user-trash-symbolic.svg resources/icons/share-alt-symbolic.svg resources/icons/mail-symbolic.svg resources/icons/view-more-symbolic.svg resources/icons/dock-left-symbolic.svg resources/icons/dock-right-symbolic.svg resources/icons/view-sort-descending-rtl-symbolic.svg resources/icons/view-sort-ascending-rtl-symbolic.svg resources/icons/list-symbolic.svg resources/icons/view-columns-symbolic.svg resources/icons/view-list-ordered-symbolic.svg resources/icons/check-round-outline-whole-symbolic.svg resources/icons/check-round-outline-symbolic.svg resources/icons/month-symbolic.svg resources/icons/tabs-stack-symbolic.svg resources/icons/list-large-symbolic.svg resources/icons/cross-large-circle-filled-symbolic.svg resources/icons/arrow3-right-symbolic.svg resources/icons/arrow-circular-top-right-symbolic.svg resources/icons/clipboard-symbolic.svg resources/icons/today-calendar-symbolic.svg resources/icons/tag-outline-symbolic.svg resources/icons/pin-symbolic.svg resources/icons/alarm-symbolic.svg resources/icons/flag-outline-thick-symbolic.svg resources/icons/clock-symbolic.svg resources/icons/cloud-outline-thick-symbolic.svg resources/icons/settings-symbolic.svg resources/icons/color-symbolic.svg resources/icons/arrow3-down-symbolic.svg resources/icons/rescue-symbolic.svg resources/icons/chat-bubble-text-symbolic.svg resources/icons/navigate-symbolic.svg resources/icons/heart-outline-thick-symbolic.svg resources/icons/shield-safe-symbolic.svg resources/icons/text-justify-left-symbolic.svg resources/icons/tag-outline-add-symbolic.svg resources/icons/reaction-add2-symbolic.svg resources/icons/paper-symbolic.svg resources/icons/folder-download-symbolic.svg resources/icons/list-drag-handle-symbolic.svg resources/icons/mailbox-symbolic.svg resources/icons/checkmark-small-symbolic.svg resources/icons/work-week-symbolic.svg resources/icons/permissions-generic-symbolic.svg resources/icons/grid-large-symbolic.svg resources/icons/tag-outline-remove-symbolic.svg resources/icons/carousel-symbolic.svg resources/icons/step-out-symbolic.svg resources/icons/playlist-repeat-symbolic.svg resources/icons/vertical-arrows-long-symbolic.svg resources/icons/mail-attachment-symbolic.svg resources/icons/arrow-turn-down-right-symbolic.svg resources/icons/shoe-box-symbolic.svg resources/icons/eye-open-negative-filled-symbolic.svg resources/icons/expand-vertically-symbolic.svg resources/icons/collapse-vertically-symbolic.svg resources/icons/info-outline-symbolic.svg resources/icons/rotation-edit-symbolic.svg resources/icons/cross-large-circle-outline-symbolic.svg resources/icons/funnel-outline-symbolic.svg resources/icons/external-link-symbolic.svg resources/icons/delay-symbolic.svg resources/icons/go-up-symbolic.svg resources/icons/go-next-symbolic.svg resources/icons/process-error-symbolic.svg resources/icons/computer-symbolic.svg resources/icons/text-bold-symbolic.svg resources/icons/dialog-information-symbolic.svg resources/icons/go-home-symbolic.svg resources/icons/paper-plane-symbolic.svg resources/icons/text-italic-symbolic.svg resources/icons/text-strikethrough-symbolic.svg resources/icons/chain-link-loose-symbolic.svg resources/icons/view-list-symbolic.svg resources/icons/code-symbolic.svg resources/icons/lightbulb-symbolic.svg resources/icons/language-symbolic.svg resources/icons/down-small-symbolic.svg resources/icons/video-camera-symbolic.svg resources/icons/map-marker-symbolic.svg resources/icons/people-symbolic.svg resources/icons/delay-long-small-symbolic.svg resources/icons/tab-new-symbolic.svg resources/icons/key4-symbolic.svg resources/icons/four-arrows-pointing-outward-symbolic.svg alainm23-planify-69962f8/data/io.github.alainm23.planify.gschema.xml000066400000000000000000000410601517337276100250730ustar00rootroot00000000000000 "Bottom" Choose which items should be counted for the badge on the application icon Choose which items should be counted for the badge on the application icon "24h" "Custom sort order" "Descending" "Instantly" Task completion behavior Controls when tasks are marked as completed - instantly or with confirmation "Dark" Application appearance theme Sets the visual theme of the application (Light, Dark, or System) false Dark Mode. Dark Mode. true Follow system appearance Automatically switch between light and dark themes based on system settings "None" Default task priority Sets the default priority level for new tasks "Monday" First day of the week Sets which day should be considered the first day of the week in calendar views false Whether the window was maximized on last run Stores the maximized state of the main window to restore it when the application is reopened "" Last selected project in quick add Remembers the last project selected when using the quick add feature "" Last selected section in quick add Remembers the last section selected when using the quick add feature false Remember last project in quick add Automatically select the last used project when opening quick add dialog true Close quick add when losing focus Automatically close the quick add dialog when it loses focus false Keep quick add open after creating task Keep the quick add dialog open to create multiple tasks in succession 660 Most recent window height Stores the last window height in pixels to restore the window size when reopening the application 1024 Most recent window width Stores the last window width in pixels to restore the window size when reopening the application 225 Most recent pane position Stores the position of the sidebar pane divider in pixels to maintain the preferred layout "name" Today view sort order Controls how tasks are sorted in the Today view "name" Scheduled view sort order Controls how tasks are sorted in the Scheduled view true Underline completed tasks Add an underline decoration to completed tasks to make them visually distinct from pending tasks "" Inbox Project ID Stores the unique identifier of the local inbox project used for collecting unorganized tasks false Run Planify on startup Automatically launch Planify when the system starts up to ensure tasks and reminders are always available false Run in background Allow Planify to continue running in the background when the window is closed, enabling notifications and reminders 'inbox' Home Page Determines which view (inbox, today, scheduled, etc.) is displayed when the application starts false Show completed tasks in Today view Display completed tasks in the Today view alongside pending ones true Slim Mode Enable a more compact interface layout with reduced spacing and smaller elements to fit more content on screen true Show task description preview Display a preview of task descriptions in the task list '' Dismissed update notification version Stores the version number of the update notification that was dismissed by the user to prevent showing it again true Calendar enabled Enable calendar integration to display tasks with due dates in calendar views and sync with system calendar ['inbox', 'today', 'scheduled', 'labels'] Visible views and their order Controls which views are visible in the sidebar and their display order true Show Tasks Count Display the number of pending tasks next to each project and view in the sidebar for quick overview false Always Show Completed Sub-Tasks Keep completed subtasks visible in the task list instead of hiding them, providing a complete view of task progress false Only Show Labels From Active Projects Only show labels that have tasks in active (non-archived) projects false Hide Unused Labels in Picker Hide labels without tasks in active projects from the label picker true Play a sound when tasks are completed Play an audio notification sound when marking tasks as completed to provide satisfying feedback false Open Task In Sidebar View Open task details in a sidebar panel instead of a separate dialog for easier multitasking and navigation false Mobile Mode Optimize the interface for touch devices with larger buttons, simplified navigation, and mobile-friendly layouts true Request attention when one task remains Show notification or highlight when only one task remains in a project true Enable Markdown Formatting Allow markdown syntax in task descriptions and notes for rich text formatting like bold, italic, and links false Always Show Details Sidebar Keep the details panel always visible for easier navigation between tasks, avoiding the need to constantly open and close the panel. true Automatic Reminders Enabled Enable automatic reminder notifications for tasks with due dates to help stay on track with deadlines "At due time" Automatic Reminders Configure when automatic reminders are triggered - at due time, before due time, or custom intervals 1 Font scale Adjusts the scaling factor for the application’s font size. A value of 1 means the default font size, values greater than 1 increase the size, and values less than 1 make the text smaller. false List View for Filters Show filters in a simple list instead of a grid. true Enable Spell Checking Enable spell checking in task descriptions and notes to help catch spelling errors true Smart Date Recognition Automatically detect and parse natural language dates like "tomorrow" or "next week" when creating tasks false Keep task properties when adding multiple tasks When "Keep adding" is enabled, preserve date, labels, and pinned status for the next task 0 Daily task completion goal Number of tasks the user aims to complete each day. 0 means not configured. 0 Weekly task completion goal Number of tasks the user aims to complete each week. 0 means not configured. alainm23-planify-69962f8/data/io.github.alainm23.planify.metainfo.xml.in.in000066400000000000000000001506231517337276100263060ustar00rootroot00000000000000 @appid@ CC0 GPL-3.0+ Planify Forget about forgetting things #f9f06b #9141ac

Planify is your modern and powerful task manager that helps you keep your life organized. With a clean and intuitive interface, cloud synchronization, and advanced features, you'll never forget what matters again.

✨ Core Features:

  • Modern and clean interface designed with GTK4 and libadwaita
  • Drag and drop to organize tasks and projects effortlessly
  • Visual progress indicators for each project
  • Smart organization with sections and custom labels
  • Calendar integration to visualize your schedule
  • Multiple reminders per task to never miss a deadline
  • Dark mode with seamless system theme integration
  • Quick and powerful search to find anything instantly
  • Recurring tasks with flexible patterns
  • Attachments and links in your tasks

�� Cloud Synchronization:

  • Full synchronization with Todoist to access your tasks from anywhere
  • Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your data private
  • Offline mode: work without internet and sync when you're back online
  • Cross-platform synchronization to access from any device

* Planify is not created by, affiliated with, or supported by Doist

https://raw.githubusercontent.com/alainm23/planify/main/data/resources/screenshot/screenshot-01.png https://raw.githubusercontent.com/alainm23/planify/main/data/resources/screenshot/screenshot-02.png https://raw.githubusercontent.com/alainm23/planify/main/data/resources/screenshot/screenshot-03.png https://raw.githubusercontent.com/alainm23/planify/main/data/resources/screenshot/screenshot-04.png ModernToolkit HiDpiIcon SearchProvider Alain alainmh23@gmail.com https://useplanify.com/ https://github.com/alainm23/planify/issues https://github.com/alainm23/planify https://github.com/alainm23/planify/tree/main/po#readme https://useplanify.com/donate @appid@.desktop

Planify 4.19.1 is a maintenance release focused on bug fixes and improvements.

CalDAV Improvements:

  • Fixed task completion failing with 412 when modified on another device — now automatically re-fetches the fresh ETag and retries transparently.
  • Fixed sync for servers that don't support sync-token (Posteo and others) — now uses ETag-based sync to detect changes, deletions and completions.
  • Fixed creating and deleting projects on servers that don't allow it via CalDAV (Posteo) — now shows a friendly message instead of a raw error.
  • Fixed Deck task lists not disappearing after disabling them in Nextcloud.
  • Fixed subtasks not being reset when a recurring task advances to its next occurrence.

New Features:

  • Added expand button in task sidebar to open description in a full-size dialog.
  • Added backup export command to CLI — export all tasks and projects as JSON from the terminal.

Bug Fixes:

  • Fixed task completion sound not playing.
  • Fixed update button failing on desktops without GNOME Software (Cinnamon, XFCE, KDE) — now falls back to opening Flathub in the browser.
  • Fixed blue placeholder not disappearing when discarding a new task position on X11.
  • Fixed board view not removing strikethrough and dimmed styles after a recurring task resets.
CalDAV complete task fails with 412 CalDAV sync for servers without sync-token Deck task lists still showing after disabling Subtasks not reset when recurring task completes Expand description in full-size dialog CLI backup export command Update button fails without GNOME Software Placeholder stays after discarding new task position

Planify 4.19.0 is here! This release brings major CalDAV improvements, new productivity features, GNOME Shell search integration, and many bug fixes. Update now and enjoy a smoother experience.

New Features:

  • Added Summary & Productivity dialog with task stats, progress bars, and configurable daily/weekly goals.
  • Added PDF export for projects including tasks, sections, subtasks, priorities, and deadlines.
  • Added GNOME Shell search provider — search tasks and projects directly from the Super key.
  • Added per-project markdown rendering setting (Global Default / Enabled / Disabled).
  • Added "Copy to Clipboard" in multi-select toolbar with full task details.
  • Support asterisk prefix (`* `) for incompletable tasks (notes), compatible with Todoist.

CalDAV Improvements:

  • Added ETag and If-Match support to prevent silent data loss when multiple clients edit the same task.
  • Added fallback to full fetch when sync-collection REPORT is not supported (Posteo, Mailbox.org, Horde, KolabNow, Vikunja).
  • Fixed due date not clearing when removed from an external CalDAV client.
  • Fixed completed subtasks showing as incomplete when synced from external clients.
  • Fixed duplicate projects when re-adding a CalDAV account.
  • Fixed automatic sync not starting after adding a new CalDAV/Nextcloud account.
  • Fixed disabled accounts still being contacted during sync.
  • Fixed project creation failing on Vikunja (HTTP 200 instead of 201).
  • Added PUT+DELETE fallback when MOVE is not supported (Radicale with reverse proxy).
  • Skipped archived projects during sync for better performance.
  • Added typed sync error messages for HTTP 401 (auth expired) and HTTP 429 (rate limiting).

Bug Fixes:

  • Fixed date picker not visible on small screens (1366x768).
  • Fixed day change not detected after system suspend/resume.
  • Fixed date reset when using Keep Adding from Today View.
  • Fixed invalid Todoist API token being silently accepted.
  • Fixed calendar day alignment and improved CalendarMonth to show 3 weeks ahead.
  • Fixed inbox project radio button allowing deselection.

UI Improvements:

  • Redesigned CalDAV, Nextcloud, and Todoist token setup pages with consistent layout.
  • Replaced WebKitGTK with external browser for Todoist OAuth — removes WebKitGTK dependency.
  • Clarified Due Date vs Deadline labels with improved tooltips.
  • Filtered labels from archived projects in Labels view and Label Picker.
Clarify Due Date and Deadline labels Labels from archived projects visible in Label Picker Summary & Productivity dialog Productivity tracking PDF export for projects Calendar day alignment fix Calendar month view improvement Replace WebKitGTK with external browser Todoist OAuth via external browser Asterisk prefix for incompletable tasks Skip archived projects during CalDAV sync Date picker not visible on small screens CalDAV sync error handling Copy to clipboard for multi-select tasks Per-project markdown rendering Day change not detected after suspend Day change detection improvement Keep Adding date reset from Today View CalDAV incoming sync failing CalDAV sync with Vikunja CalDAV sync-collection fallback ETag and If-Match for CalDAV Due date not cleared from external client Project creation failing on Vikunja

🚀 Planify 4.18.3 introduces a new CLI interface, a redesigned date/time picker, calendar fixes, and multiple stability improvements.

  • Added initial CLI interface with support for add, list, list-projects, and update commands.
  • Complete redesign of the date/time picker with improved usability and instant updates.
  • Added preference to preserve task properties in "Keep Adding" mode.
  • Improved multi-day calendar event display in Scheduled view.
  • Fixed events not loading correctly in month view.
  • Fixed incorrect event overlap detection in date ranges.
  • Fixed crash when deleting multiple tasks using multiselect.
  • Fixed duplicate task submissions during async operations.
  • Restored keyboard shortcuts on startup.
  • Fixed project cache not updating when adding tasks via Quick Add.

This release focuses on performance improvements, stability, and bug fixes across the app. While there are no major visual changes, Planify should feel noticeably faster and more reliable, especially when working with large task lists and synced accounts.

  • Refactored Quick Find to use ListView, significantly improving search performance with large result sets, thanks to @byquanton.
  • Improved task rendering performance by lazily loading task details and batching ItemRow creation,reducing UI overhead and improving responsiveness, thanks to @byquanton.
  • Fixed a crash when typing dates with years below 1000 in the due date picker, thanks to @pgrit.
  • Optimized database operations by batching inserts when importing projects and batching deletes when removing them, improving overall performance, thanks to @byquanton.
  • Fixed Quick Find getting stuck in multi-select mode by improving Ctrl key detection during mouse events, thanks to @pgrit.
  • Added support for Todoist assignment filtering in the Today view, allowing filtering by assigned and unassigned tasks, thanks to @alyraffauf.
  • Added a mandatory Todoist API migration flow with a warning and re-login option to ensure continued sync support, thanks to @alainm23.
  • Improved Radicale CalDAV compatibility by accepting HTTP 201 responses for PUT requests, fixing sync issues when updating tasks, thanks to @mntmn.
  • Fixed filtering by labels in Today and other non-project views, thanks to @byquanton.
  • Fixed manual task ordering synchronization with CalDAV and Nextcloud, ensuring consistent ordering after drag and drop actions, thanks to @pgrit.
  • Fixed drag and drop not working correctly after using multi-selection, thanks to @pgrit.

🚀 Planify 4.17.0 introduces deadlines, better scheduling, and calendar integration, along with multiple bug fixes and UX improvements.

  • Added deadline support, separate from due dates, with visual indicators for overdue tasks.
  • Overdue tasks are now shown in the Scheduled view with quick reschedule actions.
  • Added multi-select support to move multiple tasks between projects.
  • Introduced calendar sync and event creation via Evolution Data Server (EDS).
  • Improved calendar range views and event date display.
  • Fixed task editing issues in Overdue view and projects without tasks.
  • Added support for custom URI schemes in the Markdown editor.

✨ Planify 4.16.1 is a maintenance release focused on fixing reported bugs and polishing the overall user experience.

  • Fixed an issue where opening the Quick Add dialog while the window was maximized caused the main window to resize.
  • Resolved a UX problem where selecting the Inbox project by clicking directly on the radio button did not trigger the project change.
  • Updated the design of the Donate page for improved readability and visual consistency.
  • Added Shift+Enter as a temporary "keep adding" shortcut. This restores the previous behavior where pressing Shift+Enter adds the task and keeps the dialog open, regardless of the state of the 'Keep adding' toggle. Fixes: #2077
  • Added support for Zoom meeting links in the calendar event details view.

✨ Planify 4.16.0 introduces natural language date parsing, improved backend consistency, better keyboard control, and several quality-of-life UI fixes.

  • Fixed tasks disappearing from the Today view when moving them to another project.
  • Resolved subtask duplication when moving tasks between different backends (e.g., LOCAL ↔ Todoist), ensuring subtasks are added only to their parent instead of both parent and project.
  • Reduced redundant toast notifications — now shows only one toast per move operation.
  • Fixed issue where Ctrl key events (Ctrl+C, Ctrl+V, Ctrl+A) unintentionally toggled the 'Keep adding' option.
  • Added new keyboard shortcut: 'Ctrl+K' to toggle the 'Keep adding' mode, and updated the keyboard shortcuts popover accordingly.
  • Added a new natural language date processor with support for ISO 8601 dates, slash/dot formats, time parsing, month names, and casual expressions like 'today', 'tomorrow', and 'now'.
  • Introduced full Spanish language support in the date parser, including expressions like 'hoy', 'mañana', 'próxima semana', 'mes pasado', and Spanish month names with or without accents.
  • Added 'Labels' item to the task’s context menu for quick label management.
  • Added event details popover with direct integration for Google Meet and Microsoft Teams meetings.
  • Fixed Quick Add window maximizing unintentionally on double-click, improving overall task creation UX.
  • General improvements to performance, design consistency, and overall stability.

✨ Planify 4.15.2 brings improved keyboard flows, smarter Quick Add, spell-check options, and a smoother backup experience.

  • Enhanced keyboard shortcut flow for project selection in both Quick Add and the Project Picker when moving tasks between projects.
  • Fixed project completion percentage for archived projects — now correctly includes all items instead of showing 0% when all tasks are archived.
  • Added spell-check support for task titles, improving writing accuracy and user experience.
  • Introduced new selection widgets for the Task Completion Mode and Automatic Reminders preferences, replacing the old Adw.ComboRow for better clarity and usability.
  • Improved backup handling — Planify now shows the location of your generated backup files and automatically restarts itself after a restore, eliminating the need for manual restarts.
  • Quick Add: Keeps task attributes (due date, pinned state, and labels) when using "Keep adding" mode, streamlining consecutive task creation.
  • Improved focus restoration — Planify now restores the focus to the previously active input (title or description) after closing popups or clicking buttons in Quick Add.
  • Added in-line label selection in Quick Add using the @ symbol.
  • Added optional spell-check setting for task descriptions and notes — now configurable in Preferences.
  • Fixed auto-scroll issue in Quick Add’s description field, ensuring the cursor remains visible when typing long text.
  • General design and usability improvements, plus several bug fixes reported by users.

✨ Planify 4.15.1 is here! Enjoy a new Markdown editor, smoother animations, Focus Mode, and smarter ways to organize your tasks.

  • Added a new lightweight Markdown editor, optimized for Planify. It features a cleaner design and a contextual popover for formatting when selecting text.
  • Added animations to circular progress bars for tasks and projects. Project completion now includes a smooth, satisfying animation.
  • Planify now uses Weblate to manage translations. You can help make Planify available in more languages by contributing directly through Weblate. A new translation progress bar and link were added in Preferences.
  • Introduced Focus Mode — simply click anywhere outside the focused task to close it. This long-requested feature improves the UX when working with focused tasks and is enabled by default for new installations.
  • Improved ESC key behavior. It now closes a focused task or exits multi-selection mode, making it more intuitive to navigate with the keyboard.
  • Improved keyboard navigation when selecting projects or labels in Quick Add, making the flow more intuitive and seamless.
  • Added multi-selection shortcut: hold Ctrl and click on tasks to perform batch operations such as completing, setting due dates, or priorities more easily.
  • Added new context menus in the sidebar and project views. You can now quickly create tasks, projects, or sections with a right-click.
  • Added the ability to select your default Inbox project — one of the most requested features. Planify now ensures that at least one source remains visible and prevents hiding the source linked to the default Inbox project.
  • Improved the behavior and validation of hidden sources across the app, ensuring consistency in Quick Add, Labels, and Project Picker views.
  • Enhanced smoothness and responsiveness when dragging tasks to the end of long project lists. The scroll speed now dynamically adjusts based on cursor position.

� Fixes:

  • Fixed a crash that occurred when reordering views in the sidebar.
  • Fixed an issue where Planify didn’t correctly read multiple CalDAV tasks.
  • Fixed a bug where labels from a source were not removed after deleting that source.
  • Fixed an issue with sidebar filters when using spaces in their names.
  • Fixed an issue where Planify didn’t update event data correctly when changes occurred.
  • Updated project colors for better readability depending on the selected theme.
  • Added support and fixed a crash when syncing accounts with more than 2,000 tasks. A progress counter was also added for large synchronizations.
  • Updated the placeholder for the completed tasks view.
  • Improved task creation flow when "Keep Adding" is enabled by disabling the animation and showing a quick notification instead.
  • Improved task description editing on small screens by adding a "See more" button for long texts. The input field now also loses focus automatically after 6 seconds to allow global keyboard shortcuts to work seamlessly.
  • Quick Add now remembers the last selected section when creating a task.
  • Quick Add now includes the "Pinned" button and removes the limitation of only 3 pinned tasks. Thanks to Adw.WrapBox, pinning is now unlimited.
  • Fixed a bug where tasks were not counted correctly when moved via drag and drop.
  • Fixed an issue where deleting a source did not remove its associated labels.
  • Fixed a bug where tasks did not sync correctly when using Radicale accounts, and another issue where task lists were renamed incorrectly.
  • Fixed a bug where manual task ordering did not always place the task in the correct position.
  • Rewritten CalDAV backend with support for Radicale, Baïkal, and other CalDAV servers — thanks to @byquanton.
  • Fixed memory leaks when completing or deleting tasks, and during CalDAV sync — thanks to @markochk.
  • Introduced a new view cache system to automatically free unused memory.
  • Added new customizable sidebar filters: Tomorrow, Someday, Recurring, No label, and All tasks.
  • Improved synchronization: Planify now respects task order from Nextcloud and Todoist, with a new reordering algorithm.
  • Work in progress to make WebKit and Evolution dependencies optional, paving the way for Windows and macOS support — thanks to @byquanton.
  • Spell checker support in task descriptions.
  • Fixed bug when moving tasks with subtasks in Nextcloud/CalDAV projects.
  • Updated themes (Light, Dark, Dark Blue) and refined task design for better readability.
  • Labels and indicators for notes, reminders, and subtasks are now aligned to the right of task titles.
  • Added a quick-add button to every task list.
  • New completion animation and updated sound when finishing tasks.
  • Completion notification added, so users can easily review completed tasks.
  • Fixed back button in right sidebar to hide when no parent task exists. Fixes #1590
  • Corrected Turkish translations, added missing entries, and improved consistency.
  • Show project title in HeaderBar once main title scrolls out of view. Fixes #1589
  • Refined Sources view and removed redundant popover button for improved clarity.
  • Replaced Gtk.ToggleButton with Adw.ToggleGroup for modernized view switching.
  • Simplified "Expand All" and "Collapse All" into a single toggle button.
  • Added "reminder" and "reminders" keywords to desktop file for easier app search.
  • Quick Add now retains the last used project for faster task creation.
  • Redesigned Appearance page and fixed related issues.
  • Improved drag-and-drop animations in Widgets.ReorderChild and fixed last-item reorder bug.
  • Fixed duplicate sync at startup by adjusting network monitor behavior.
  • Fixed drag-and-drop at the end of list by adding dedicated bottom drop area. Fixes #1522
  • Added font size selector for improved accessibility. Fixes #1403
  • Added weekday/weekend options for recurring tasks and refactored DateTimePicker. Fixes #1671
  • Added search entry to project selection dialog when moving tasks.
  • Introduced a "Today" section in the Scheduled view for better planning. Fixes #1550
  • Improved day change detection with periodic 5-minute checks for reliability.
  • Added fly-to-target animation for priority shortcuts in QuickAdd.
  • Improved handling of literal shortcut characters (@, !, p1–p4) in task titles. Fixes #1535
  • Improved Control key detection to reliably trigger "Create More". Fixes #1452
  • Added keyboard shortcuts help popover to task dialog.
  • Introduced MarkdownProcessor class for enhanced markdown rendering in task titles. Fixes #1547 #1556
  • Default label now auto-fills when creating tasks inside a label window. Fixes #1525
  • Fixed attachment opening issues with improved validation and error handling. Fixes #1485
  • Partial support for adaptive windows with small screen improvements.
  • Fixed all-day events detection to use local time instead of UTC. Fixes #1449
  • Updated Bulgarian translation.
  • Fixed project view destruction timing during transitions.
  • Only allow valid SSL certificates.
  • Added option to manually enter Todoist token. Fixes #1481 #1445
  • Disabled keyboard shortcuts when Entry regains focus after closing a dialog. Fixes #1543 #1539
  • Avoided resetting TextView content when clicking while editing. Fixes #1541
  • Limited description text area height and enabled scroll. Fixes #1473
  • Fixed placeholder behavior in TextView.
  • Simplified time label formatting logic. Fixes #1447
  • Added natural sort comparison for strings with numbers. Fixes #1080
  • Fixed duplication turning notes into tasks. Fixes #1472
  • Improved layout alignment for note-type tasks.
  • Fixed Pinboard not updating correctly.
  • Added Discord link.
  • Show completed tasks below pending tasks with pagination. Fixes #1614 #1565 #1415 #1417
  • Improved task handling in the Today view, including real-time updates and midnight refresh fixes - thanks to @igor-semenov.
  • Nextcloud login flow redesigned for better UX and stability - thanks to @byquanton.
  • Fixed crashes caused by UTF-8 character handling - thanks to @byquanton.
  • Russian translation added — thanks to @Heinrich-XIAO.
  • Refactored utility methods and internal cleanup.
  • Support for underlined text thanks to @Heinrich-XIAO
  • Bug fixes and performance improvements.
  • Added feature to verify database integrity
  • Bug fixes and performance improvements.
  • Bug fixes and performance improvements.
  • Added a button to view the sub tasks of a main task when in detail view.
  • Bug fixed: do not show task description.
  • Bug fixed: task position pinned when moving between projects thanks to @golamrabbiazad.
  • Fixed bug with the schedule button.
  • Fixed bug that opened multiple times Quick Add.
  • Spanish translation update thanks to @haggen88.
  • French translation update thanks to @rene-coty.
  • Added feature to collapse sections.
  • A task counter per section has been added.
  • Pinned tasks are now displayed at the start of each project.
  • Added an overdue tasks indicator to the today button.
  • New keyboard shortcuts were added to Quick Add, @ to add tags, # to select a project and ! to create a reminder.
  • A new view has been added to see completed tasks, sorted by date and the possibility to filter by Sections.
  • New task history log added, now it is possible to see when the task was completed, moved between projects or sections.
  • Fixed several bugs when doing Drag and Drop.
  • Quick Find now opens the task detail when selected.
  • Added a preference to enable or disable the use of Markdown in task detail.
  • Improved navigation using the keyboard.
  • In Quick Add, it is now possible to create a section if it does not exist.
  • Added a numerical indicator for the number of attachments.
  • Added preference to keep the task detail pane open, making navigation faster.
  • The option to repeat a task has been moved to the date and time selection widget, allowing you to create recurring tasks more quickly.
  • Fixed several bugs with Nextcloud synchronisation.
  • Several design and optimisation improvements, Planify now feels faster and consumes less resources.
  • Fixed bug on TLS certificate that didn't allow to sync with Nextcloud (#1405, #1306).
  • Support for syncing Nextcloud accounts that use a custom subpath (#1398).
  • Fixed a bug that crashed the application when completing tasks with subtasks (#1395).
  • Hindi translation update thanks to @Scrambled777.
  • German translation update thanks to @McBaumwolle.
  • Fixed bug that did not allow to see the completed tasks (#1386).
  • Support for syncing Nextcloud accounts that use a custom port (#1385).
  • Dutch translation update thanks to @Gert-dev.
  • German translation update thanks to @McBaumwolle.
  • Fixed bug that does not show synchronised accounts correctly #1380.
  • Support for multiple sync sources: Integrate more than two Todoist or Nextcloud accounts.
  • Fixed visual bug where dragging an element leaves an empty line.
  • Portuguese translation update thanks to @godinhoana54.
  • Hindi translation update thanks to @Scrambled777.
  • Spanish translation update thanks to @haggen88.
  • Added feature to switch between task and note.
  • Added a task change history feature.
  • Fixed bug when importing backup and not recovering labels.
  • Hindi translation update thanks to @Scrambled777.
  • Koren translation added thanks to @myunsyeya.
  • Spanish translation update thanks to @haggen88.
  • Planify now sends reminder notifications when you create a task with a specific time.
  • Fixed bug that removed the description of a task when changing a value in the side view.
  • Fixed bug when selecting weekly repeat changes the selected date and time.
  • Fixed bug when sorting completed tasks.
  • Hindi translation update thanks to @Scrambled777.
  • Dutch translation update thanks to @Gert-dev.
  • Fixed bug not showing overdue tasks.
  • Markdown Support in Task Descriptions.
  • Markdown Support in Task Titles.
  • New All Tasks View.
  • Expand or Collapse Tasks Functionality.
  • French translation update thanks to @rene-coty.
  • Spanish translation update thanks to @haggen88.
  • Chinese translations update thanks to @FlysoftBeta.
  • Hindi translation update thanks to @Scrambled777.
  • Fixed bug when editing a label
  • Fixed bug when downloading a backup
  • Updated Translations for Hindi
  • Support for Libadwaita 1.5 and Adaptive Dialogs
  • Design, Usability, and Performance Improvements
  • Updated Translations for Hindi and Chinese
  • Inbox as Independent Project: We've completely rebuilt the functionality of Inbox. Now, it's an independent project with the ability to move your tasks between different synchronized services. The Inbox is the default place to add new tasks, allowing you to quickly get your ideas out of your head and then plan them when you're ready.
  • Enhanced Task Duplication: When you duplicate a task now, all subtasks and labels are automatically duplicated, saving you time and effort in managing your projects.
  • Duplication of Sections and Projects: You can now easily duplicate entire sections and projects, making it easier to create new projects based on existing structures.
  • Improvements in Quick Add: We've improved the usability of Quick Add. Now, the "Create More" option is directly displayed in the user interface, making it easier to visualize and configure your new tasks.
  • Improvements on Small Screens: For those working on devices with small screens, we've enhanced the user experience to ensure smooth and efficient navigation.
  • Project Expiry Date: Your project's expiry date now clearly shows the remaining days, helping you keep track of your deadlines more effectively.
  • Archiving of Projects and Sections: You can now archive entire projects and sections! This feature helps you keep your workspace organized and clutter-free.
  • Added feat to filter to-dos within a project.
  • Added feat to attach attachments to a task.
  • Added feat to play a sound when completing a task (if you want to).
  • Fixed bug that duplicated projects when dragging into a sub-project (#1252).
  • Fixed a bug when dragging a subtask out of a section and dragging it back in, the subtask would disappear (#1253).
  • Hindi translation update thanks to @Scrambled777.
  • Bulgarian translation added thanks to @twlvnn.
  • Now you can sort tasks in the Today view.
  • We've added a new detailed task view on the sidebar when opening a task in Board view.
  • We've introduced the ability to delete completed tasks.
  • You can now use the Ctrl key when creating a task to continue adding.
  • We've fixed a bug when moving tasks between projects and sections.
  • We've addressed an animation bug when adding subtasks.
  • Brazilian Portuguese translation has been updated, thanks to @Penfore.
  • Spanish translation has been updated, thanks to @d0vi.
  • Fixed bug when syncing on Nextcloud.
  • Dutch translation update thanks to @Gert-dev.
  • Spanish translation update thanks to @haggen88.
  • German translation update thanks to @bestlinuxgamers.
  • Hindi translation update thanks to @Scrambled777.
  • Improved performance when using the Completed view.
  • Added the option to close an open task with the ESC key.
  • Added the option to delete a completed task from the context menu.
  • The sync keyboard shortcut also syncs your Nextcloud account.
  • Fixed error when viewing calendar event as a task in Nextcloud.
  • Hindu translations added thanks to Nitin.
  • Tomorrow, Untagged, Repeat and Anytime filter added from Quick Search.
  • Completed view added to the sidebar.
  • Dutch translations added thanks to @Gert-dev.
  • French translation update thanks to @rene-coty.
  • Fixed bug with translations not being displayed in Quick Add.
  • Fixed bug when syncing uncolored task list in Nextcloud.
  • Fixed bug that icons are not displayed in Quick Add.
  • A URL validation was added when syncing with Nextcloud
  • The Pinboard view can now be selected as the homepage
  • Fixed bug that broke the application when adding a task (#1196 #1148 #1129)
  • Fixed bug where the completion icon was not displayed
  • Fixed bug that did not update tasks in the Pinboard view
  • Fixed bug that displayed the incorrect date format in the Scheduled view
  • Improved design and new UI icons.
  • It is now possible to mark a task as Pinned from the context menu.
  • Fixed bug that improves CalDAV sync.
  • Spanish translations added thanks to @haggen88.
  • French translation update thanks to @rene-coty.
  • Fixed bug that improves CalDAV sync.
  • Fixed bug when moving tasks.
  • Fixed bug where task disappeared when dragging from Today views to a project.
  • Fixed adding description from Quick Add.

Planify 4.5 is here, design improvements and new features available.

What’s New

  • Nextcloud integration is available.
  • Snap support thanks to @soumyaDghosh
  • Option to migrate tasks from Planner
  • Redesigned date and time selection widget
  • It is now possible to move tasks by dragging them to the task list
  • Option to show completed subtasks always
  • Added option to hide sections.

Bug Fixed and Translations

  • German translation add thanks to @bestlinuxgamers
  • Russian translation update thanks to @hachikoharuno
  • Turkish translation update thanks to @sabriunal
  • Bugs fixed #1123, #1122, #1121, #1106, #1126, #1113

Planify 4.4 is here, design improvements and new features available.

What’s New

  • Improved drag-and-drop sorting: Added a new animation and a new way of sorting making it cleaner and easier.
  • Support for sub-projects: Create a sub-project just by dragging and dropping or by using the magic button and dropping into the parent project.
  • Magic Button: Just drag and drop to add tasks wherever you want and in the order you want.
  • Board View: Have an overview of your tasks without losing sight of the details.
  • Using Adw.OverlaySplitView to have a collapsible sidebar.
  • Sections are now created from a Dialog and support color and a description.
  • Parent and child tasks: It is now easier to create subtasks, just drag the child task to the parent task and drop it.
  • New preference to configure whether to add the task at the beginning or end of the list.
  • Quick Add now allows you to select the target section.
  • Improved integration with Todoist, now allows you to create tasks with strange character content.
  • The description of a project is now editable instead of using a Dialog.
  • The design of the reminder creation has been improved.

Bug Fixed and Translations

  • Portugués translations thanks to @godinhoana54.
  • Russian translation update thanks to @hachikoharuno.
  • Turkish translation update thanks to @sabriunal.
  • Bugs fixed #1089, #1081, #1099, #1087, #1009, #1008, #1007.
  • Fixed the functionality of adding tags.
  • Russian translations thanks to @hachikoharuno.
  • French translation update thanks to @rene-coty.

Planify 4.3 is here, design improvements and new features available.

What’s New

  • Quick Add Improvements: Now supports project selection, due date, priority, labels and pinned.
  • Sidebar filter settings: It is now possible to re-order, hide filters and the task cutter.
  • Backup support: It is now possible to create a backup copy and import it from somewhere else. Planify will import all your tasks and settings.
  • Offline support for Todoist: You were without internet, keep using Planify with Todoist, the tasks will be saved locally and synchronized when the connection returns.

Bug Fixed and Translations

  • Russian translations thanks to @hachikoharuno.
  • Fix typos in welcome project #1079 thanks to @Jaques22.
  • Fixed error when displaying color in calendar events.
  • Bugs fixed #1076, #1073.
  • French translation update thanks to @rene-coty.
  • Bugs fixed #1071.
  • Icon size update.
  • Custom decoration layout support.
  • Improved colors in light theme.
  • Sort to-dos by project available.
  • Ability to configure or decrease the size of the sidebar.
  • Available configuration to change the start day of the week in the calendar.
  • Added the functionality to select the home page.
  • Bugs fixed #1053, #1026, #1042, #1041, #1037, #1035, #1015, #1001, #995, #946, #1055.
  • Dark mode bug fix.
  • Design and UX changes.
  • Migration to libadwaita 1.4.
  • Bug fixes and performance improvement.
  • Bug #1019 fixed.
  • Chinese translations thanks to @Fr4nk1in-USTC.
  • French translation update thanks to @rene-coty.
  • Bug fixes and performance improvement.

Planify 4.1 here it is!

  • Planify has a new icon thanks to Tobias Bernard.
  • Quick Add is available, quickly add tasks from anywhere on your desktop with a simple keyboard shortcut, set it from Preferences → Quick Add
  • Preferences page redesigned.
  • The preferences to run in the background and run at startup are available.
  • The error that did not allow to see the calendar events was solved.
  • Added the preference to create tutorial project.
  • Bug fixes and performance improvement.

Initial release

mild #ffffff #000000 0
alainm23-planify-69962f8/data/io.github.alainm23.planify.png000066400000000000000000000371111517337276100234530ustar00rootroot00000000000000‰PNG  IHDR,,y}Žu pHYs"š"š¾Ýû*tEXtSoftwarewww.inkscape.org›î< IDATxœí�yœUÕ÷·ª{f2™ì+ ™l“QŒl¼H@@%®,²‰ ‚B aÏ\pÁGDA6QYd ‹‚ ¨7$ì  “„ ÉL2kwWWÕ½ï==]]]kWUW×Ìùú)œî¾uï�Iõ¯Î=uιL‚ ˆ$ Å=‚ ¯�`‘H°‚H $XA$,‚  A‰�‹ ˆÄ@‚EDb Á""1�`‘RqO€H«�“¡fÆÒ DZì‰yFÄ‚Q.!áÈê�.“–8 {C`ÙÐ"� `xOÒïpìã;bš-1Ì!Á"*yjI ] 'Aˆs,öy¶à v'Ð÷Žý{6‚#,¢œ�ü$ ®…ÀÂzëăì¬;ð¬\ÉCè“Á�`ÅÀqë¶·Ü¿hJÜó(cõ’°ôOœÑíîcwâè'þÑÄ0‡+BŽ[ y ­û@‰ãpÎØ¾ x€©ÒƒMrþ+À6€‰×Ø+’¤½ú®6ñ�µ‹¡Öl¢6ºü[0ìY“ñžƒÄî—ïÁ±¿ß^“1‰a VùJÿÔ´¦Ÿ°Ó1£Š.ò^Äk`ìUöJƒ¦½öë}&n {®xèðyàìÏf‡Þ·;* žÃ�èÓÁ©kr1Ì�H$X!²ä)4µŒé¾\0v€Ñ ±À«^À+‚K¯©L{í�‹'TZ°úc!ñ„ä¯ Jwàsz  “¨„+$>õ|χ8pX,_þ� â5ÎØ« ìèúk[Ù„õÎËJưúðÇÀpdí¦é™wÀØ]î"a„+>ùBïIâ6MqÏÅ@^ÿ‘XÁc:{•1ýµGOh¬>ül0vcÌsô¿qDú^òw$Xùä‹=_7 9iNÝ)è¯Ö»æCmùÿ6Îηcv¾£y&îy¹¡C°5`üNd¥ñ…'âžQ{H°°ôùžcÁp/’#V¶LÔw¢5¿ ­êf´)o~ÎoFƒÈÇ=5+º<‰Ý‰Ïýáòw�H°ªdé ý{úZÍqÏ%*d蘢u¢5¿mÊ[hÍoF«º ³ò[ÀP7×ÍfwCÈ?DZ�­�{2D´�`UÁ’§�jÛó/ì÷\â`4Ï ¸”œ›oÇìü;˜“ß„Ñ<öUÚ³â.hÚ½8aMgÜ“!‡« –¾Ø{.„¸>îyÔÆeeqIÙ¦¼Dz²äïjõ–>R÷:Â$X>9î›GeǼ`JÜsI)¡a¦Ö�9Ê;˜3h•ÍVÛ1M­Ù?ŠïF�`ùä¨zÎbÀMqÏ#éŒæÌVÛ1[Ù„9ùw�ˆ—• › ð+èüv|þOoD7I¬é–ØÀ\vRö¹gƺ�Ø´çâ~iÂ$-¬‰tæùLM 1¬þˆr$p¤„V8 !%t¤…êÍÉŸï”n ·عØþ2�Ûi×z€; ³Ÿã³Ol ñW "¤ž+ àóNp0L¡<›AîŸO¹vÒ´÷þ�ÆOŒb~D½#Ðù ðßÇ€M„nÕŠü] ¢‹8 À7̱kD‚Eøb`+ðÚÏ�MkœZ‘¿«Î©7Ášà‡¹5$Á"ªâ½€ç¾ä\ª8“¿«.©'Á:ÀCðøô�‹¨–\>‹õÏß� ÛÿŽYê0÷ïÀó¸)vù»â¥^ëã0Êë $XD.ð­·3x½§3óï–Å�-TÞÂx½Ûê4òwÅL=ÖAþb�`ÁQ¸Àoàõ�Jg|‹>€VmSY^å|åm4–‚`»Áð(ù»jKÜ‚5 ÀK(„-ø‚‹ƒnMà¼×û±CußÃ6·R{wãœü]5 NÁbþv+H°ˆ°x±WÕªXM 3Ô´)oc²Þµ% í÷9Ñ|Ýi‡�´.ÄiˆW°Npgµ'“`aòÝÿfðÌÎp÷ýÅsj³Èlì•[þ¨¢áeIðu@î…GïB¾¯*‰K°ÒÞ€Cœ•$XD˜lU8ÎZ×=ú¯ƒà±ÀóB°K)}ÝâL|}%@û6º�ŠiÜÏ#€XDØLo”ðÿ&¤ñÔŽÈwW“Ì`ó,¸.ã¹zz�þ) <¥÷ÿ~ñ¸·¢žH‰«Ræé1�K¶>©!ÎáÇ2àÁðm‰aÃÒ{Ö,}¾÷¨8'T�Ä!XÓQÈ $ˆºb¯1)ŒK±¸§Q@à0ñÛ¥/ö¬ùÔË;Þ÷tê…8kILã„# ÀûÇÄå%±Aà®Ëk—¾Ø{nÜS©âŽ}b“ <±[³÷¬h‚×õBÏí~é¸''qÖn1ŒIž˜ÙT—‚`Ài³±íW«Fð %Ž_|F c„'&¦ëćeƒÂ�iyúÑ7ñÀÇbõq±>%ˆƒš/ØUUma,¸NrMçîA3º®ƒk–…Û¢‚Fë"uÅš–ƒçí7°öþƒþÑ��QùŒ5ݸ±}‹"¸•¥äÐôŸ]›©mïƒ>Úµ’2Az„„+ºëÿziÎlà +0…õßjp„tŽ}|CŒS‹”»&ˆ$“57ªei¸­V€ñ7ñÀk±úˆe¸gÉ䘦$X‘DÃ_¤÷£]X¦�-ÃuH§7ã�ÃNþ.,‚H(¢±÷*‹�š4l)€ûÁº·âÁÃoÆêÃX}?Yp æ>¬;v¶ !fíGä²`/?ëÚŽ-ú ĘñA‡#F;8Û’qÏvlBÃÖõøÝ¸[ yÙ­Ä;îM¢¿«æO 'NœÊcžÍ ;ªÉµ]Óøñ�©Zá-Ï�M}qOÃŒ¡›7áe}ö–Ûýœ9× ,òcÃ=[Ú–lSbœ f€aòðà‘çaÕªH5%±‚Å+<Àp;b¢gK;…M‘«ßS1D&BˆaÑßÖà¡OìÕ ‰¬Ö@ŒL4ƒ…5WÞãLL0 ®=‹ÕG:æ UKb‹–ƒÄHƸ$lKm‹q&–ÌOâ¡�†^=±‚€T‹‘®CWJ~«ÝÙ{1ÎÆ–qàÒïqïÇç„Ùi¢‹´Š‰üW…«»:Z¥®x'TF™Kf2Râ¡0S}-XÞ|XäÇ"|Rçw=ãrpVº×c¥ßÆÓ!öîÏu]ÖïžhÁ¢!QêìâÒ O示«’òC§�Y LZ¾ýYÆï>ì‹ |á÷‚Šá4†4Ì•º Šð²BñjT iIjÐòR(VV¢‹–ƒD •'‚…þø§Ä̸$\(m¯ZH|žÝ/•ß¿”ÌÀ;nÛm�Výo] Ñ‚E)vK';A«�uÆÕ<¸VJÝÛMzÕ IõøóI�Át'8Ù‚E‘`¥F–í*�¨­3=“j?^Êa2ú '„çHŽ*—_�1€ƒÒë?�‰,²°ˆH°R·o¨UXgCî˜%÷’Òáǧåó(Î�Kà–§}ÿ{Hpy€|TDd8Ýí˜EQÑÀö¥]ÿCoY´gƒê™�¡†s¥�6�{$”;ºûø†rå�ÛR“M^®v´D –—¿7YY„oÌ�ù;évQ1'1³èÐCÿÅ·´lfèçùr§Ã\êçf®óÒ$Õœ¶#V°H�ˆ(^VÌü†­§òöUZgÅ¢}ƒí²N› ÅÊ€Š}£êBú”€éºJ¶`D$ˆ²ÿ+‡™~tµ¶¬û¶oo/fz. ¡ŠõIXȶ AýP9EåCï ‰�L––ègD½bÔ ÁqZéEa�⯠¦É4BsèÜË`ðar)*jÏ8 TN9±‚E5Á�à¸-¡Zgz¶Ò0[걘€‡>«¢z±Ó¹€¦—úœ*-‘hÁ" v–Ÿå�‹õT�ufŒÁš›Ú ĸtüî>PxÙ²UjJ¿dÜš V&“ eǪêng³9h�×v9e0x©*gºÇ¶.íí¬35[ ]ÀvXvëUHjõ1›/Û CÙ¹¥ùÕ]ôWsÁÚ¶­3%Bx¼'òyä3Y×vù®�”|àñˆ‘A�.®3=¨øº®(†'„q:ܽ�›×xÙr�1¶vÑÊû}iIH&*î§Ìâ+Z#k«ˆžÍ–¢/G«dUÇ= €…ü…Ê*zYŸŒñGƒö™hÁ"ˆš \ô©Ö–±BÃÌT?$a×YµïËøkd á ¸&ã¾ c$Z°hçg"œ\[Ç9z8ÌÖY•Ö–1%Çö ¡ ¡NŽ�XÅ^ézÙ“„¿ÍùÊï7�FÍkòäI~‚Glኂ®¦Q®íÆOœˆô¸±a IŒX^[ ¡Bâòõ7 š“uæc©i,Ú7OÞYjæSHjE&oÚ�Zbw…ÑoÍ«¥e4£=%£·Á=h¶¹y[F‡1$1Èq=¥7|/ï|Xg>–šZ®Ò°PêªAHƒÏþ ¿J¾ô¨U@䯩éûØU¢—„ aÄaY¶¯n©)4<_z¸¶Pò‘CÓ©lž›†–~7þü‡»Ãè;Á‚Å<ù°èI"á›0â°ü¶w3-SŠ¿'«˜,ªÝš¾hñDK&¯—�!I⎰úN°`‘Ñ †þS «øÁx’ž$ê¹Ò>„³ä¾ð6yþyOçªVR|&X笽ú~ï{n6$Z°"êa¹9»™©½mŸ6ý[µ5>!œ#÷>¯¿§äfg;“Ø}8dM(Ú€ –…55‡õºuÆ=WZÎZe´r6ÖT¹|É)Üô@ õËêz²&±‚E‘‘¯ÊÉ:³3.£Ü /²ÎПú×&ëñó‡Ê�OÙ³—=ø\�¹™I¶`Y,",D¤bdõA(bfÑÞ¸qê‚jr#½[³Â®8ZiÁØó¿~o¨©8f-Xd=‘P¼°< Žmñ?bfê_h*¸Z*Õ¼Ûáñ‚¯ÍM\ȪZyÝ+&B�l7“XÁ2§|Dè„°¼s3»n@3,ÇJ*&³¬CkÇ)øhì]섬,Z\2p¦F,j$±‚À[š©á»;aDi9vKMͰœ%Äî\7£h:8/™¢c�sÉ=£7Ñ‚EZDÔŒ(“ íRr™›êsè̉"çòåÊ*æ$ìð+3X‘hÁ"ˆH°ÚúÙáeq[Æ'„ó¤ÞÒ5»KÛ‹]E*�ÕåÀ›¤z!Ù‚å¡ÖYa„_ÊôŠÆ«Èô®bVÑÞ„•˜ Q¨ãn|Bhë s&Šë?£+3�~;ÿÜ»üffWE²ËÓ?^}­ý‰„!_ÌĬ޵}i¥(<¯:À˜À|¶Ó[™$Wu ç»�SMËAÞ®8n$Z°Èz""ÁîÂr E°lïß:Ó‹öASå<š¡×A¬ÂøçÈë†T`û¼Ìî�×j‰,‚ˆŸqXC¸´÷j�é¹Ò.9­²Û„>„,„;|N)/ƒ,�݇•+#KÅ1SsÁêîӸє<²9ŵ]OO/è®íúóˆòÉ ©½ñT=›�|g¶Ôºue’I_dT½ly*ôhSqÌ$V°ô¼ EÉ»¶ëííCNÔì@$œ>MDså5,�¬+¥�†rOmÊ|{øJæ5M7˜Ÿ ëç]~ÇÚHçe"ÑKBòaÕ7Š’Ã«/¯Ã¦M[!0eêìùþE?a\ÜS³Å7ÊÌØ¢µ%‡®”Šö-,{Bè…èÄ-kr¶K“ 7’-Xþ!IÔjç¿ÿíxäáÇ (¹²ÏR)r N:åx¤Ruzù‰²ÿ«„ù³ÁöVý[Á³™¡ »� ´¢Ï¢ƒ¨°G`pWœ2ç?—8¯I°¨‘:½bˆ¤Â¹ŽŸ\w3ž_û’å皦ãÏzï½×‰‹Vœ I’k\þ¦ƒ�ðÀê_ãø“ŽÁèÑNî˜Hi¼ê8,¯í�ÄÌèpŸ'÷Ûtâ‘Àß´ÂØ\(†B} ,%š]qÜ�â4 „ǃ¨ ¯¯[�ï]s]åß·�þ¬ý× ÑMª*6VË¿[íõÜÀÐÇóY�͹ÌÛ� G�œªÃødŸ1ü¶memRqÌ$V°ˆú¡³³ —¯X…|Þ=ÌÄÌÛoý7‚…„ö‡e{‡ÃCû¡¢}ƒíwª2j-$Õ1؇ƒÐ Ó‘Éëåï!º]qÜH´Ó�¶¡�Ÿ|>�+.¹��îþD+r‚k�Y�ØÐ™1'æ{ð…+4Œe&3¥,h4ŽƒÆ9òZ)œ�1öÞ‚5KÅ1“hÁ"âçÚïüëþýŸªÏŸ2urˆ³ “ßM ýÇË¢!N‚fu‚(¯á¾«œõ(PÝ´ÏåË7™`îDZ÷Ç–:’hÁòòJ~¬è¸÷îðøc ÔÇâ0¤Ù„Œgº£6Y´·;¡�C(Æ0G°8Ñe^¾q»L^+k§ë©š¦â˜I´`�yqÁѲ1 žýçZÜtãÏõ±×÷ÄÜys™P˜˜EÁOš�ÕJУ±5´$óäðsý’×uè†ÂWŒ±õ»]qëó1N)á‚EÄB{ûf¬ºòpΫîC–e|í¼³BœU„ø ]ð·5dl M)-0÷‡pC « UOF)/k#XíSqÌ$W°ÖÑ10�Á—¬B¿{cNúÂqØ}�…!Í*dÂ(q[<¯@p}è´ùR§ºa'1¸Ijé=ÎYmê¶;‘\Á"jçW¯¼ÿÛ¨Ÿ9s[qÊi'†4«(ŠJÐ@QÖ–1%gšœG3Ó¬V‹Ï›»¢jÆ:È`Oïqùm5OÅ1“hÁ¢°†ÚrÓ�·áûW >dYÆeW.GCCýfˆŠJ0ÛÖímÛšÚëÙRJάT6DÿUuý˜+3Èu`] ,¢vüáñ'qïÝîç”SO¨ß¥`+áaYÅkY¾°éÓ€®”b°lŸz j/‰áÄB*NY¡¾ŒÞÄcIÅ1“hÁ¢°†ÚðÆú ¸ö»? ÜOÛ‚y8ù‹'„0£)FžW±¼s3˜»4Wi0ì’3Op´ò¢~ò�Sµ²Õ ƒôènßZíæˆ¡’hÁ"¢gG×N\zñÊÀé²,cÅe"�NÈ%’3ÝØÞNЄàà†ºa ¥žCÜû5/xl©8frõXC>¬hÉçó¸lÅÿbû¶ÎÀ}�ú¥“°Ûî B˜U °ÌÍ1~îrÝùômq¥TÃ= �V–±èÄjžîMü¢qU+…«0ƶ.\ÔýDø#UG¢‹ˆ–~ÿ'�ÒnŠ,X؆“Nù|3Š ë€§ºb^V~lîʸœ™V áÄ�§N˺÷EVÕËÎa�bMÅ1“XÁrJ‚'‚sÏÝ«ñ»ß¿±¦Ói\~ÕEõ[Ù‚¢�e)®Ö“ëÌ(X­r6œ•ƒç/GùXYS°(gµÝÇ�ä\E�`EÃsÏ>�›o¼=”¾N;ãdÌ›?7”¾jÆà…e¹òó#f†ö–o ¶×sý(zúçÊÅð†Ú»;òº]–ƒ‚­ß}åOêª`Y¢+î\«áH{ûf¬¼âÛ�ÒnŠ,Ü­ ÇŸxL³Š ‡;¢¥¦8­Ú—,,�ùR›NTçÿ2[WB°ØSqÌ$Z°(¬!\ÂJ»ŠKÁ‹µÂ!˵]ñ#�Ö™ÐU­Tøp·6Nµ˜BåûÈieá ¼±Iª›§ƒEx5QVÚM‘3Îú"æÎ›J_5§Ê8,¯í�Ö™–+Å\�a:&1ÅâÔèWЦa(G`ì/ó/¿aSäû$Ñ‚EÖSxüô†[§Ýyßž{àó'J_±A–U{£Ã}×tÞ¦±‡1| ^I¶|ÏAȈgW7-XŒêa…Â÷ýêÁPújhhÀŠË.„$%x»€ õ°|¶7î’3;•‰Å/Ë…,ƒ;Uß–ª¢,r€›±€’×�}ðF©>ƒE�$V°âàå—^ÿÿ#Öÿç hšŽÆ¦F,Z´;ŽúÔ‘X°°-îéÙÂ9ÇM?¹ ï…ÖgSS#N?ë‹`–û´3ì|ðEXÙÿy3cüUšqÌFÆE€Âý;Rq ËAÆžšÿÍÔ]*Ž™š Öœ9­y÷Vîä²*¶oʹ¶›5k&ÆMh,Î~ô7âá){_É)xñ…—ñòK¯à”SOÄig|¡.¿À7þäV¼üÒk¡öyîùgcŸ}öµÏz`kŸˆ.û¾-·òëÆ•¡1Â}†¤BfV ŒÎ8ê›cð�Qµ²%¨ÄEÝ[WYXžøÁ÷~„Gó˜íçœ üâö»±}{–_²¬®b‘žx,œÝnŒì»ß‡±ôS µÏºÂgVí�§j¹ÌÐëY)¥¦›¦V¤â0ddÑîEõóͪ‚¢ËùÆï~û„£X•µ}ôq\qéÕÈçC1"óúºõøþw® µÏÑ-£qñ¥ç×¥% ÂáОç3CïÏ•ÝW •°ª�\^ôÓ^KBz¤^SqÌ$Z°¢F×uüìfbÿúô?ðõe—…RS*��]¸|ŪÐÅóÜe_ÁÔiSBí³îð*PNâäÒ^/>!@›œE!ŒÁÏáa|˃žŽú«{eG¢ËË¿O^yùßèìtðgØðòK¯â¼s–£«sGÀTG>ŸÇ—\]ÕÜ�ØÿöÅ'–jŸõˆ°‹ ÉÚš ®•bJýƒÁ›Á/+•sä¹n˜6ÛúþÅí¨ê‰¬¨ÙøöƪÏÝðæÛøêW.Ä–Íï†7!�|ÿ;×…švcÆ´`ù%ËBí³®ƒÂesXµ÷*hºa9ØÂ8&±¼7ãÈV--ÊIDATv>¬àópdóšÙR»·žSqÌ$[°˜äzx«™e�¦ûÿw4^›ïnéÀ9g]ˆ7Öo¨z~¹÷îðÄcO†Þïyœƒ)S&‡ÞoÝa¥ VÍœͶ_”–ƒƒÌ’óÞ—�¶Ö•wrªVöZN5ùóyÄL²+bvÙeºïsÌ—ÏÎ;±ì«Ëñâó/‡3)žýçZÜtãÏBï÷ÀÿwŽüøa¡÷›ÕÉBž\šscѾ´��Ñç’Ѓà©‡Î…ñ½×}ë[/…ø—ŠœD –Ûu4eqïí…¦¦Æò1«èg` ƒ‹.¸Yó×`r ½}3V]yM¨i70vÜX,_1‚–‚@¾* ¦”–„s¤¬�À¸ÌÃq^Ö~­U+{�Bý§â˜I´`EÍè–Ñøôç––½WíÃ|UU±òŠoá‘_ÿ.øÄLô÷÷ã²å+#y2yþ×ÏÁÄIBï·®q(_ óŠF¹^/�3žœåþŽÊé. ¨Zé.ôTCCÝmãåF¢«qX_:ã ˜Õºk(óåœãÚï^�_ÞÞ��sŽ«¯úÚÛ7‡Ög‘ƒ9=|Ièý& ßÖ–s{®)€¡hß| 8Ÿ3tø {(?M7”Af`’ôÔÂo~sK¸¬èI´`Õ‚Q£Fáß¾���î�=ò³[ïÀ¯½œ•Sà§7܆þã¹fUθñãpáòsCï7 T¬êB³¶ 9„˜Ì44KÞüTA`ÈiÅB}ƒ‚$"ÇL¢Ë÷Ò¾JæÍŸ‹¯-;«bì <üà#¸ê²o ì|â±ðv»1sáò¯aâĶ,"*_ 8¸©|X[c¶lépm›Ïçqù%«BÛíÆÌ×/>&Œ�¤ïDãÓWeypž/%:·ISK=�¦qU7îŠÃ:öÚü¡?†÷‡©-‰¬8˜ß6gíŒÐûݲ¥_ûÊ…ØðæÛŽíÂÞíÆÈáGŠ�,9(’¾…ß» Ç¶…”œÂZ/-ZåÂt¬[ù¿Ì©8B÷áþc“Šc&Ñ‚åÕ*›£�ý4>äÀÐûíêÜ�e_]ŽW^¶.¶wÏÝ«CÝíÆÈ¤Éi)XÄíâ©RÌŒOwIé�,(áû€¥ÿ+«•oÔÒ�õË0þDq‘hÁòf:GÃ%—_ˆ]føOÝq£¯¯œ{ ž~êoeï?÷ìó¸ùÆÛC¯È} cÇŽ‰¬ÿ¤Pø¢þgçD¯ÂÚâ†]rZSΠϪðm޼®†Î †20öê¢ï­LT*Ž™D VÖU‘––¬úæåH§Ã/Úªª*®ºü›øÝ£�(¤Ý¬¼âÛ¡§ÝùøQGàà�„o1&’Š‹¨\­ÊÿçOÌŒe‘gË! !Ö¼‚`È™–ƒXâRqÌP‰äì¾ÇBœyö—pÃõ·„Þ7çß»æ:tt¼‡§ž|:²‚€S¦LƹçŸåÞp$Q³�^!Båo”ô¬Ò‡eØÖ«MÊEºÈišñµÞ�jL\*Ž™D V””WŽ;þsxé…Wð·¿þ3ô¾…¸ãç¿ ½_#Ë/Y†–––HÇH,N˜•ÖÛ\×KA dÏú­ùžÓ4 òÁó$iÍnß]Yûâl!“è%!¬wåt„âé4†K¯¼Ó¸™èQK�Äþÿ³oÜÓ¨?‚>´\f‡>Í&3Õ—SÝ/¹²]јžŒ]qÜH´`ÅéÃ22vì¬üÆ¥�e¹F#gê´)éF„~/2³ÃÝð„pVª¸T æT·óqŽÂ®8¥O Z:‘©8f-XõÄžï_„3Î:5îix‚1†—^€Ñ-Áök®Ø:ÑX[Æ”œVY èTG¥ƒÞ ^9­¸çààÓAÈ¿YtÃÊxwE ‰D –×ÛZqâÉÇâÀƒö¯áˆÕñ©Ï|ûì·8îiÔ/ƒŽm>_Ö–ñ á\É%éÙÓa?…Œª–½NI,ѱWF-XÑ—åð9ưâò ëºöùô]¦áì¯}9îi$U°MP¶±Î¸akúy©\Y[ófžýZ‡¦ h:Gɺb{n^~‘ÿ˜H´`Õ“uUdüøq¸êêKêÒŸÅÃòËÐÜ<*î©Ô7|UVÖ™®æÀEak-&Œ! aÞ\ }dÕrëM@º7É©8fjÖ°yó–tÐZë (:z{Ý+dtt0 ô§ƒ胉“&âsÇ| «ï{¸¦ãºqø‘‡búŒéØ´)q…&kÆÎ,1x³q�Ã2aÓ^7XW“dŽÑLX4ö9– ¹be†â”ÒÒ°Y1–¦éL„ Xª¦C×Ý#¿5M‡¦ÕviŸøäǰnÝzüûÕu5ÛŠ)S'ã˜Ïš¦¹7Áhº`P°œ.S×8¬Æ”œY)݇ù»n]ƒ.ÊÎ{åC?¸2úíšjH‚—„Þ�“q I _ùêé?a\,ã¿’ÄpÆY§¢±±)–¹$+çTE—ÀqãÔÖTùÎ5^7“°ó•�\¾¼î•Ì’·+Ž ¬úôa;v ¾òÕ/C’jÿg6JõáGŠÝ÷XXó9$’!­*Ë4©|ù¶¸R i˜'ùØ8ÕG=,@1lü+À4Áù°5Ró%aCCZ„±$ä‚C–Ý… �N¡¡¡¶>,#øàûðÙ£—âÁÕ�Ä2þÔiSqüIÇÄú7H Ze`ÅÕÊ„ÓK”Ý.W Eû䜹±ìW Ц�‹AßXÁºzjï_‘øT35¬3vQÝ[¹“ÉjhÙàî�™6}&Mˆw)tîùç`ã7áùµ/Öt\Ib¸êW`þüy57ÉHÝ: ¶•Þðà«*{ÉÊßájB|­iÆ0»¸5}Èdóù²‰piøYW@—„õìÃ2"I W®ZQó I�;áhìõÁ=k:æ°Ã¯ÏÁô¹®”öÜEÒ!W¬(ƒoœª‹Ârpè=!õ¥š¨Á_§æ$Z°ê݇edâÄ ¸ê/©™?«µuWœþåSj2Ö°#„8¬b{Ýø„0]Ûª— zè(ù³rjyÝ+<²×÷/À0„«†|èÃĉ'ù8’Äpñe„ºùëˆ"„'ƒÅö<_ªÒ0[*–j7–0 ]V-ßÛ²‘ ¯Ø+#‰¬$rú™§`¯D»L;áäã"cDà÷NhÑΘC8?å¶i®ƒ@¹¥â YW¬cÏm þ\õï\ç$V°c“Ü�:ñc‘e+¯¾ãÆGŸ5{N+N;ýäHú)8mjZjärº ¡—öŽ\`Ò`»‘„C$EñÈjÅÚðƒû2éžá”Šc&±‚•d¦L�ŒË¯Z^Ý‘e—_µ<ô}GËAOb6Ø^7,[0Y28Æ G�ª %ÿUaIjLì&©^H´`9Þ‘ G=²ÿûàó'jŸ'�òy  Ÿ¾*+1Óó™!AÛEæÞœ®6Žu«#¯éÐ »âì彯¿pX¥â˜I´`%�³ÎþÞ¿×ûBékÎÜVœrê ¡ô5âñ(Pnb6T´O³S:ª©yåDδç Ì’¿+މ¬¤=%4#Ë2®\u ÆŒ ¶ D*•Â+WÐR0*ª°¶ ÊË"Ï‘-Ê";XOnµ°¸rªf|OcòðË4“hÁJJà¨Ó§OÅ¥W\ÈŸõ…/�…»µ…8«Žÿ‚ƒ˜qµ´3Î|¹(.îŽtûméºV4\”Þ“[³÷�/v©8f+X^ÝIà ƒÀÑÇ}ÆS[óï´p·6|�–‚ááæûô(f\S xÁª’P ið±´´¼0tdÕ|¹8 ËT3‰¬áÆ9_;è¾å–Ñ›2e2®ùÞ*¤R‰Þ^²nqÔ&Ëå`©Wú‡Äd¢ŒvNwÿA¤\ îŠSz¯¯)#‹]qÜH´`  (ø¡®þÖøÈ’ƒ<µŸ;o6~ð£k0ejýÖ�O,.$gAÓÕRÀèÌT©Æzµ. ãT²Z¾|<Æ~³×Ã3ÇLÂoÍõï£òCcc#¾ñí+±æÏOã®_Ü‹7ß|«¢ÍäÉ“ðÉÏ|'ž|,¥ÞD…@å¥åv÷3µ/†4@«¬Wµª囤 |øìŠãF¢Ë‹•$+«È’CÆ’CF{ûflxã-ìèÚ�–1-˜Õº+vßca]np1ìpºp¬´ÇÒ`Ü%GöS–ÚYØtΡ튀±-{϶©8f-XÃ�ÖÖ]ÑÚºkÜÓy˜Åʯµ®•ž¶¥4 ëÅœè,�Ý‹•+Ý77&$Z°’h= ħµ5”’ Å€ÙÒà¶ñ!PeCS¬áÎP:N‰¬(*7„9¤�Ù¾€¥˜ñ|i9¸KJ@‚p¿¹Ú6( ˜×5h¼ä`“€—ö½éÜa�Šc&Ñ‚E Å ‹•¿¬|QÖlèãÂY²Ѻ*_²�Šc&Ñ‚E‘âñÉàP³ÁŒOg§Ìî¥êÄKQ¨Ì0d]1M’H°’EÈåY€µPyx2Xĸqê<9ÿ•¢©ƒÃûb^|óù�;NÉ,Ow+5Â'BXøª\®£¢µÅ5pÃÒ­M.lœ”ì�`Ф‘‘Šc&Ñ‚5\ã°ˆ: âÂ1¼Q¡?¥�£u5Z¦0·­éÝÅŒ e(`@ßèœö�ë‰Ã�D A„ŽU*Žë“ÁÒ…X…×3e«“ýSélǯGJ*Ž™D YODø5®ŒpµÒÐÒ·Ë,X²À°.ƒìD¢‹üSD$8Ü +\Y&1Ú8À9ø^:çP¹¡!¶|xvïˆIÅ1SsÁâ<œ,�spÛ9ç¡�I 8çå‚å#-G0”¥äÌKùÉ!´&«)e¯%I¾g$¥â˜©¹`µ·on!ì ‘Í ôô¸íólÙ’E¶/ÑUtˆ²s@BYÕ%i9\U ô’5Ô– na™ë¶ƒ¥GT*Ž™ä. �ªBD-0]<_òƒOJ1ŒfÁ ¡¼®A¥>Ø‹ûÝzö+�:M8dzDHpCJήîþ©x:(aÄE¶›I®…5´ ¥3d„µÂ˜CØš vå ˆ2Á’ÓR’øU N‡5¬––Ñ^|å®H)/»Z�Ý„––ë2QS!(®í¬0:Üçô_)¦Èv0<9SqÌÔü›k`U¤âpÚÇ+‰,áñ ˆ(àe)9Þ­+�ëe©8`hß÷çç¯ snÙš/ s¹\(k4EÐ4w¿�¢(Èå«ËD�É罉O™`ù°°*ö¤T_Ô\°¶nÝ–!cP€þ~w!Ú¶­"G×á��¼,<Œ‚µÀÇBs*ŽHI´ô™á“j‹öYìŠóü~7�».ô cH°Â'eEû$x.ÚW‘ŠC‘í¾!Á"Ÿ—ƒ3=ú¯¬Rq´´J‚哚û°&L¯³rs£Få]ÛM˜Ð€Iã)‹ð†.sýÎm ‚5;í­ßœyW!þô??½h›ÿŽlj.XcÆ´è’ܰciŽÆFç ZZFcìX9ðxÄÈ /¯ÂM°ÊSr¼•”QLOSŒœíÕPó%¡¦idîu‹®»�ààZn襗¢}•»â°^&7=Rõ$G05,UUÝDLhæ´\˃OúR ˜�r¿ž+wÅÑ®8ÕQsÁ +p” ¢ ¯(ŽŸýWÓdo>s°(Ài9X%5¬��ÿ…¯ ¢Fô8>~‹ö™Sq°i¿Û/|ªê Žpj.XŠ¢diYHÔ#ªª¢/ãê7%Çl]1°»)§zj.XŒ±­½½½µ– \éééA·‹gɸ$œï!%ÇœŠƒ´D…ú‡`½ÑÝÝ�0ò ",8çèééÁÖû¯D¡h_ÉÇåö„МŠ#k)'qÖ¿t]Gwww­‡&[º»»¡ë:6¼gÿ•0ú¯F1`ºì,XæTЮ8�‰#ëxWW—§ò05š¦aÇŽàxe“ýW¸éÄÌç‡ÝV©8zƒö«à³ÙÔ\°.\¸À?9çØºuk­‡'ˆ ¶nÝ Î9ÞÜ–BOÆ^ˆ¸q—ëª"ü�”ŠœX’Ÿ%Iú9d2tvvÆ1‚tvv"“)8ÒŸ^ïœÂ¥+}C?Ïv©2jNÅ‘)'b¬Í›7ÿÀ;°cÇòg±ÐÝÝ�;vºú%üÕA°¸¦ nM_`~ÚÞªLÅ=Z÷oB˜òˆ'Á:ä�C4I’®.¾Þ¶mÛÐ…Cµ`ÇŽض­´B{à¹èÜ~9¨e»Ê^·9í«LÅ‘:äç+s6Í ÄV«­­ívÆØ3Å×���èèèçÞ ú„_8çèèè(sE¬{WÆ3ŽËAu ´)óDÙ¹hŸ9XTpAËÁ�ˆµ€ŸâC·¹¾¾>lܸýýîecÂ/Å뫯¯ä‹êË1ÜüçFÇóÔLWY…†yîV©8ûÿâü¿˜6a VÁZ¸páY–�0äÐ4 ï¾û.ÚÛÛÑßßO¦D „èëëC{{;:::ÊBi ¸þMèêwQJO{Ù[‹üW©8Lº‹RqÂ#ö�ŸçÏŸ¿fÆ 'pÎï0ªø~.—Ã»ï¾ Y–ÑÒÒ‚ææf455!�öX⑱¨ªŠ\.‡L&ƒþþ~ËWŠÜð§&¼þ®ó=[éÝ\Ý5Ùû¯²&ÁJ³¥â„Hì‚mmm¿yë­·ŽÒuý~“�ŸéºŽžžôôôc�eÙ<°c›»sËæQPû©âèp‡sÎ9t]wµÊ{³À�ÿ8ÊU¬´\ò}ï–½7/ Ì´q¸çu Ü0¶ <÷¡[ÏyÝã¯@x . ²´öBÜ-„8Ø®�… TóyUu,EaÈåH°ˆëÞ•ñÓ'÷´‡«äºÖüø§GÛW1§â&('dêF° ­­m3€�¼ùæ›§X%„h�yJÄ0¡³_ƒÏ5¸< ,ÀÕd¶¿^¶÷ ÌHKš¬ ü™Sq êiýž`³&ÌÔå6_ ,øEooo›$Ig0Æþ €bßp¬ßšÂ­iÄ…¿jò$VZn'2Ûþ Á+-©/�Q`׃9LP*NÔ•…edñâÅ*€ŸøÙÆ�§ëº~¤b_!ÄnŒ±©ÃøÆtªÅ­&±,cŒ²¬"˜¦‹´ªóF]GZç<­ë,Åü óêÉ6ôŸÊ� þ?³m[1?Š*¡;lí‘°á= ¯l’sËÎ:ò=›‘ïï€Õ/rè(û6Ø/s*¥âÔFaD>pòS»ª<ûa¾7ãêxnqFÍÍÐuUr0&I`rCá`–“ §›!¥GCJ7þÜ &…u¯P:¡ônªxXdNZàÿ&eÐhó i\GW¶ÛÅ zr¼w:E·‡ :K–<•š¼kç“‘=KÓóíÊëÓ¶h ;uk#ŒI2˜ÜIn´¬ÜarCAÀRÍ�…,5 `Þ¼\ËBÍtBØn+T05%pí„,&Éö^‰îÜÝXJ·ïwÛù§{šá ,"rþ~ê÷ç3)uRÒiïhòœ�Z ›4 [t†­0PÔ0) In“Sðº,Á ¥GAJ�‚”j*Xo’\è‡ëà<®f¡çûEªÈÌ”À5³˜$Ù‹U^×°3gÊÌâ�n¿€¢Û#€‹¨ ì_§]·„K8Ÿ c GHx[kÀ;ºŒ-ÃfØ®š4¸d mùç�}št,›ÅhƒM@ +Óg.ƒ¼q¿ÛÏŸGÑíÑ@‚EÄÂS§­j%�9Š3é Là(Kaà:4os›µl�è`�èÒ]c�+1|ql³ _0Ò£ Tl2‘bÒeûÜvÞ5QÍo¤C‚EÄÎßϾvª¬¥¿ ¸8QrjË¥¶ ›ÑŒw4í*°Ecè ø2NŽ­ã˜æF3÷ïD>‹µ\ÔX¿¤¥æìû˯vÙœF„‹¨+žýÊ�A' ÁOÀ»v @ƒœÆ¨tävòÞÐd¼­ÉxG•Юücy‡Ë{‚,°gƒÀM:j´�±2Ó—Ï"£VZ`)™]½Ï-ËVz솨,¢>a`Ï�~ý¡\ˆSð1Ö®©ÄšR h’ÓHË%—à=]F‡.£KœQ�Ç8æ¦4Œs¨ie½J¦ì‰àЀ·G©Ú^{ÝqрũDH�`uÏ?Žûá(iœt4€“!p(¶dGJ’Ð$7 )ÝÙcˆƒ]EŸ’-s°‘S™ÎÛ÷ç{ª8ŒÍôs.zvŸ$§®Ý÷–¯¾Õ wH°ˆ‘{öŒÿÛ"õ)!ľ€ØÀÔ²§�BôÊŒ­‡`/èŒ=Ñ�jzbñÍgfâ›4Q„‹ñÜrÖYéæö M"›£àÏú…‹ ˆÄP—5Ý ‚ ¬ Á""1�`‘H°‚H $XA$,‚  A‰�‹ ˆÄ@‚EDb Á""1üÊ�›�^B€IEND®B`‚alainm23-planify-69962f8/data/io.github.alainm23.planify.service.in000066400000000000000000000001141517337276100247250ustar00rootroot00000000000000[D-BUS Service] Name=@app_id@ Exec=@bindir@/@app_id@ --gapplication-service alainm23-planify-69962f8/data/meson.build000066400000000000000000000030261517337276100201470ustar00rootroot00000000000000# Desktop desktop_conf = configuration_data() desktop_conf.set('exec', application_id) desktop_conf.set('icon', application_id) desktop_file = i18n.merge_file( input: configure_file( input: files('io.github.alainm23.planify.desktop.in.in'), output: 'io.github.alainm23.planify.desktop.in', configuration: desktop_conf, ), output: '@0@.desktop'.format(application_id), type: 'desktop', po_dir: join_paths(meson.project_source_root(), 'po'), install: true, install_dir: get_option('datadir') / 'applications', ) desktop_utils = find_program('desktop-file-validate', required: false) if desktop_utils.found() test('Validate desktop file', desktop_utils, args: [desktop_file]) endif # AppStream appdata_conf = configuration_data() appdata_conf.set('appid', application_id) appstream_file = i18n.merge_file( input: configure_file( input: files('io.github.alainm23.planify.metainfo.xml.in.in'), output: 'io.github.alainm23.planify.metainfo.xml.in', configuration: appdata_conf ), output: '@0@.metainfo.xml'.format(application_id), po_dir: join_paths(meson.project_source_root(), 'po'), install: true, install_dir: get_option('datadir') / 'metainfo', ) install_data('io.github.alainm23.planify.gschema.xml', install_dir: get_option('datadir') / 'glib-2.0/schemas', ) compile_schemas = find_program('glib-compile-schemas', required: false) if compile_schemas.found() test('Validate schema file', compile_schemas, args: ['--strict', '--dry-run', meson.current_source_dir()] ) endif subdir('icons') alainm23-planify-69962f8/data/release.svg000066400000000000000000003124431517337276100201540ustar00rootroot00000000000000 image/svg+xmlPlanify 4.2December 10, 2023 - FlathubCustom decoration layout support.Improved colors in light theme.Sort to-dos by project available.Ability to configure or decrease the size of the sidebar..Available configuration to change the start day of the week in the calendar.Design improvements and performance enhancements.. alainm23-planify-69962f8/data/resources/000077500000000000000000000000001517337276100200165ustar00rootroot00000000000000alainm23-planify-69962f8/data/resources/icons/000077500000000000000000000000001517337276100211315ustar00rootroot00000000000000alainm23-planify-69962f8/data/resources/icons/alarm-symbolic.svg000066400000000000000000000034111517337276100245640ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/arrow-circular-top-right-symbolic.svg000066400000000000000000000021361517337276100303420ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/arrow-turn-down-right-symbolic.svg000066400000000000000000000014041517337276100276700ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/arrow3-down-symbolic.svg000066400000000000000000000015051517337276100256540ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/arrow3-right-symbolic.svg000066400000000000000000000015061517337276100260230ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/carousel-symbolic.svg000066400000000000000000000027521517337276100253140ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/chain-link-loose-symbolic.svg000066400000000000000000000016561517337276100266350ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/chat-bubble-text-symbolic.svg000066400000000000000000000011221517337276100266170ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/check-round-outline-symbolic.svg000066400000000000000000000062501517337276100273530ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/check-round-outline-whole-symbolic.svg000066400000000000000000000043001517337276100304610ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/checkmark-small-symbolic.svg000066400000000000000000000013451517337276100265320ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/clipboard-symbolic.svg000066400000000000000000000011441517337276100254300ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/clock-symbolic.svg000066400000000000000000000011371517337276100245660ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/cloud-outline-thick-symbolic.svg000066400000000000000000000024251517337276100273570ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/cloud.svg000066400000000000000000000366471517337276100230000ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/code-symbolic.svg000066400000000000000000000014061517337276100244040ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/collapse-vertically-symbolic.svg000066400000000000000000000025551517337276100274560ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/color-symbolic.svg000066400000000000000000000026161517337276100246140ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/computer-symbolic.svg000066400000000000000000000010371517337276100253300ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/cross-large-circle-filled-symbolic.svg000066400000000000000000000016201517337276100304050ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/cross-large-circle-outline-symbolic.svg000066400000000000000000000021331517337276100306250ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/delay-long-small-symbolic.svg000066400000000000000000000024431517337276100266350ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/delay-symbolic.svg000066400000000000000000000021671517337276100245750ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/dialog-information-symbolic.svg000066400000000000000000000025071517337276100272570ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/dock-left-symbolic.svg000066400000000000000000000042661517337276100253510ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/dock-right-symbolic.svg000066400000000000000000000042701517337276100255270ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/down-small-symbolic.svg000066400000000000000000000007441517337276100255530ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/edit-find-symbolic.svg000066400000000000000000000011161517337276100253330ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/edit-symbolic.svg000066400000000000000000000010761517337276100244220ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/expand-vertically-symbolic.svg000066400000000000000000000006511517337276100271260ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/external-link-symbolic.svg000066400000000000000000000024241517337276100262500ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/eye-open-negative-filled-symbolic.svg000066400000000000000000000012151517337276100302460ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/flag-outline-thick-symbolic.svg000066400000000000000000000012321517337276100271550ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/folder-download-symbolic.svg000066400000000000000000000011661517337276100265550ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/four-arrows-pointing-outward-symbolic.svg000066400000000000000000000030571517337276100312740ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/funnel-outline-symbolic.svg000066400000000000000000000013431517337276100264360ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/go-home-symbolic.svg000066400000000000000000000016411517337276100250260ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/go-next-symbolic.svg000066400000000000000000000011761517337276100250570ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/go-up-symbolic.svg000066400000000000000000000011211517337276100245130ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/grid-large-symbolic.svg000066400000000000000000000014761517337276100255160ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/heart-outline-thick-symbolic.svg000066400000000000000000000023261517337276100273540ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/info-outline-symbolic.svg000066400000000000000000000014551517337276100261060ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/key4-symbolic.svg000066400000000000000000000023321517337276100243450ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/language-symbolic.svg000066400000000000000000000014271517337276100252600ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/lightbulb-symbolic.svg000066400000000000000000000024701517337276100254500ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/list-drag-handle-symbolic.svg000066400000000000000000000017061517337276100266140ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/list-large-symbolic.svg000066400000000000000000000020211517337276100255270ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/list-symbolic.svg000066400000000000000000000037661517337276100244600ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/mail-attachment-symbolic.svg000066400000000000000000000031531517337276100265430ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/mail-symbolic.svg000066400000000000000000000011161517337276100244120ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/mailbox-symbolic.svg000066400000000000000000000016301517337276100251240ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/map-marker-symbolic.svg000066400000000000000000000017141517337276100255300ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/menu-large-symbolic.svg000066400000000000000000000004721517337276100255300ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/month-symbolic.svg000066400000000000000000000010261517337276100246150ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/navigate-symbolic.svg000066400000000000000000000011021517337276100252610ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/paper-plane-symbolic.svg000066400000000000000000000003231517337276100256730ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/paper-symbolic.svg000066400000000000000000000044131517337276100246020ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/people-symbolic.svg000066400000000000000000000015511517337276100247570ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/permissions-generic-symbolic.svg000066400000000000000000000020351517337276100274560ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/pin-symbolic.svg000066400000000000000000000012231517337276100242550ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/playlist-repeat-symbolic.svg000066400000000000000000000024061517337276100266120ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/plus-large-symbolic.svg000066400000000000000000000003441517337276100255450ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/process-error-symbolic.svg000066400000000000000000000037011517337276100262770ustar00rootroot00000000000000 image/svg+xml alainm23-planify-69962f8/data/resources/icons/reaction-add2-symbolic.svg000066400000000000000000000052441517337276100261120ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/rescue-symbolic.svg000066400000000000000000000062521517337276100247640ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/rotation-edit-symbolic.svg000066400000000000000000000047361517337276100262650ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/settings-symbolic.svg000066400000000000000000000036011517337276100253310ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/share-alt-symbolic.svg000066400000000000000000000016501517337276100253530ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/shield-safe-symbolic.svg000066400000000000000000000016771517337276100256700ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/shoe-box-symbolic.svg000066400000000000000000000011511517337276100252130ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/star-outline-thick-symbolic.svg000066400000000000000000000011421517337276100272150ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/step-out-symbolic.svg000066400000000000000000000014231517337276100252510ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/tab-new-symbolic.svg000066400000000000000000000010751517337276100250310ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/tabs-stack-symbolic.svg000066400000000000000000000012671517337276100255330ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/tag-outline-add-symbolic.svg000066400000000000000000000021201517337276100264420ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/tag-outline-remove-symbolic.svg000066400000000000000000000043051517337276100272160ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/tag-outline-symbolic.svg000066400000000000000000000017611517337276100257260ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/text-bold-symbolic.svg000066400000000000000000000015461517337276100254010ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/text-italic-symbolic.svg000066400000000000000000000016701517337276100257240ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/text-justify-left-symbolic.svg000066400000000000000000000011231517337276100270750ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/text-strikethrough-symbolic.svg000066400000000000000000000007661517337276100273660ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/today-calendar-symbolic.svg000066400000000000000000000007261517337276100263650ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/todoist.svg000066400000000000000000011536271517337276100233560ustar00rootroot00000000000000 image/svg+xml alainm23-planify-69962f8/data/resources/icons/update-symbolic.svg000066400000000000000000000046321517337276100247600ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/user-trash-symbolic.svg000066400000000000000000000020501517337276100255630ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/vertical-arrows-long-symbolic.svg000066400000000000000000000022601517337276100275520ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/video-camera-symbolic.svg000066400000000000000000000010331517337276100260220ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/view-columns-symbolic.svg000066400000000000000000000072201517337276100261220ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/view-list-ordered-symbolic.svg000066400000000000000000000036741517337276100270500ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/view-list-symbolic.svg000066400000000000000000000013121517337276100254110ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/view-more-symbolic.svg000066400000000000000000000007631517337276100254110ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/view-sort-ascending-rtl-symbolic.svg000066400000000000000000000033361517337276100301650ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/view-sort-descending-rtl-symbolic.svg000066400000000000000000000020101517337276100303210ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/icons/work-week-symbolic.svg000066400000000000000000000007011517337276100254020ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/images/000077500000000000000000000000001517337276100212635ustar00rootroot00000000000000alainm23-planify-69962f8/data/resources/images/blue-mode.svg000066400000000000000000000055421517337276100236630ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/images/dark-mode.svg000066400000000000000000000055421517337276100236550ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/images/light-mode.svg000066400000000000000000000055301517337276100240400ustar00rootroot00000000000000 alainm23-planify-69962f8/data/resources/screenshot/000077500000000000000000000000001517337276100221735ustar00rootroot00000000000000alainm23-planify-69962f8/data/resources/screenshot/screenshot-01.png000066400000000000000000003604721517337276100253100ustar00rootroot00000000000000‰PNG  IHDRܰå]i¿ IDATxœìÝy|Tõ½ÿñ÷™-“�•5lA°²ŠVÄŠ¬¶X¥€vÓ[‘j«u»Þª×¥÷¶ÕŠU{[[Ä^.*¿^nä‚ T*;Ö[eGAP•„„ìÉd–s~dédÈ$3É$3“¼ž�Ç<’œõ3‹ï|¾ß¯@B0â]@ãµ��ï’¡Qx¼6Í#�k¡R-^€Øèò!\Wšºòsè]2|ëJ¡SWz®‰¨Kp]!„ê Ï ™têà­³†Q�õyt6�.|ëlÁTg{>]E§ Þ:K@ÕYž@W—ôÁ[gª:ê9´ö>�á5�KkC­Ž Ã’:tKæ0¨=j�äšÉüš´F$X{„dI¼%cxËš›»V2¾6©¹@,–aYRoÉ*Å¢Þp×H¶× Ñ„ Æb˜%Mè–L!S[j%dèXí¾%Eè–,�S,,h�à ³‹uP–è 7´Z¢HñÚÚsØ*@¢éÈáž]"xKä`(Va[K׉ö>‰üš´‡hí–ŽÝß©B·D �ZSW4A[$×7Â|ЕYa¾�äø–öµ&@K¸Ð-ƒ¤¶†mm ÚŒ}M™ÕŠ®¶pû’>tK´p©­Ã;[³©­•÷èj" ¶ÌV\£­Ýn º%RˆÔ–°-Ú ­¹�-ÃYÛr-€ŽiðÕ–k©™ð-’û'eè–H�P4µ´6l ´E2 5‘^+€x°B¾6wL¨¦‚·X‡nnAb¶E´µÔѵP«¥`,šn¹Hƒ·¤ Ý!7ÐU4×¹ÖÜPR³™`­©n·Ö„n ÛåÖÑ¡QG‡mÍuµÙ›9/˜]Í#x�MKU ‰ã› Ï!Ûš Ö:]èæè¨E)’+Ò°­¹®¶úm¶fÎ�´€ÎÀŠ ë0šèT«ÿÙ ÚnobÒ¦îa…\ÓÚi £#ƒ¢Xv·µ6l³‡ü´ÙB¶7WKsµ$“h;ÅB‡�*hiSÁ›šév‹´Ó-iºÜ±Ã-’¡¤Mmo.l íj }ØBM°éL¬T º¢Ð,Ü|÷¶º�­>x³…„eö�Έ Ó-ô>¡Û#í„ëP¸Å2 Štn7… Û‚»Ø‚ƒ¶–»æî Й…vš…iVPX¼™uÛ‚C¸¦B7uP Ö!CP;*<Šô>­J:'[h÷š‚¾þjo"hsÖ‘Žºý¡×Žæù$»¦/0놈úë¾ ýõ�@ÝW3ä«B†Ÿ† Šª0Ç…Öi�Öî�[") §¹vEE¶Ù›ß$)E’kÍš5—N˜0á»Ý>Ú0ŒÌ0ÃK Ý•””¨OŸ>ñ.1 #`YVQ øèôéÓ[¶lÙ†{î¹ç3I^I5Amö ·@Pw[h§›BºÝlAç‡c ¹@BS:¢S+š{47wZ$ÝmÁÛBƒ7#¨c-4pK]³fÍe'Nü™¤’dYIñþèÄŠ‹‹Õ·oßx—-ª®®~㥗^zþž{î9"©º‰®6³‰Ž7+ègµ°àBèþ¦‚›¦VC §]ƒŸD ÜšNnÕѦºÛ‚çh þÙÞDw›CRÚÉ“'ëÖ­Û,B6‰„À @21 #pèСŸ�1b…¤ªº¡¦Á[ h¥R3$l3#ZÚÔrÁfXi" —ŒfeR… áB;ÜêÙÃt»¥/"lh˲ìgŸ}ö/?ÿüó¹’Òšh|ªÏcê…N®áª)ÑæHª½·X<Ñp/vs«’Ö³½¹öаíäÉ“�9ŽËÛb£W¯^÷íÝ»wN¡[hFS¯©°MfB­Õ®á\¢t¸E[GS/Jh"nN7›$×Ê•+'ÒÙ{çœsο=ùä“C%¹šÈeÔL~*Ú`,!²®önµ‹ôúá^Ðpéf¸¹ÛBJMNmuó¶e”——¯±,k@ž´+æp�̪««ßÈÊÊzTRyÝ|nfÈâ �0 (45—[èâ jfζHOh·.¬öLýÚ#Ìkja…¦V/ MGƒ‡’:—/_>¡~5RÄ^jjê·žxâ‰A’œ!CK›êrSÈ6µ°-Ú­-ÚìZûäšš·-tiSã��“&Mº¾ õ ×]wݤºÀ­©y÷Ã�blë\mq_¶&RÑFÃJ ÃÈlc}h�Ãá8§‰á¤¡]l--–m6�v çíqÑ(ÄâE‰$Í Þ¡³ ÃÕÔÔÈçó)È4k×°Ùl²Ûír:�JII‘Ýnoó½ Ãè”ŘMä5M A¬?¦-ÃÃ]»CÄ;p §¥6Áp“ç… ÙB·t)�@@UUUª©©ir¿iš2MS>ŸOUUUJIIQZZZ›‚7˲ìMä1á·¦‚¶à଩-®ÁZ8‰¸E"’±»¡‹(„; Óòx<ª¨¨ˆêœššÕÔÔ(==]n·»-·>h&à ݖpaZ$’mheK]njfÈhè" �^UUUÔa[°ŠŠ UUUµ¥„¦IÞn,çjëPíÑáé éÜk‘^3Òd@‚Ú½{·V¬X¡]»v©´´TÙÙÙ:ï¼ó4gÎ�=:Þ刣ùóçËf³éùçŸ�k[·nÕ‚ $I>ø .¹ä’¸ÖÓ�ÇÓÖ°Lª íl6[[:Ý"é`‹4ÿ±"jÚÜöÖ±ö ¢ ܽءA[hÒÙÔŠ¡+^ØC¾wÖ=2ËËË·[VRv$�R Ðï~÷;­X±"ì1sæÌÑO~ò“˜LÚ™,Š‹‹Õ·oßVŸïóùôüóÏkݺu*,,Œèœ^½ziÆŒš?¾œNg«ï�Èòóó%I}úô‰w)qÑÕŸ?H^ãÇ�—$íØ±#®uÌœ9S’¤ÜÜ\­\¹2®õ4'¨¸¸8¦×ÌÉɉúße.—ëIe’|u�@ÝnfÈ÷VÝÏõ¡�U÷0ƒ~V?[a³pÛ›Ó (çp‹6li!J\}Øæv»uýõ×kúôéêÕ«— ô—¿üE¯½öš–/_.Iºûî»ãRãĉ[uÞ¦M›b^K¤þøÇ?êÕW_�êœS§NiÉ’%2 C?úÑ�Z}ïo¼Qü±yä}ó›ßl´ïÖ[oÕ®]»ôßÿýß4hP«ïÑ�Ç#¿ß¯´´4Ùlµ¿·©ªªÒw¾óÙl6­]»¶­óP„õƒü@‡’êVzêÓ§�Æ�§[o½U½zõ’$M™2E©©©Z³fM»ÔДŽzþ‘¸âŠ+TVVÖì1YYYzë­·:¬¦Î&�mM]3##£-—ˆ$ÇQ”XÂÍõ–ˆ�[K¢Y,¡¥mâ¬~©ÛíÖüÇhĈ ûú÷ï¯o¼Q^x¡î¹ç-_¾\S§Nexi„Ö­['ÕµÞ8°aû£�>ö·‚{öìÑüùóõæ›o¶)p›:uª>þøcmÙ²¥QàVRR¢={ö(//¯]Ã6Izì±Ç´~ýz½òÊ+6l˜$Éív+//O6›M.—«]ï/I—]v™$iß¾}Z½zµöìÙ£W^y¥CîÝ”Ž~þÍ1Œäügú< 'žxB†aè�ˆw9a�°«‘¶EMMM[V.�4ÓIŠ•H›“ �[[ç„‹æ:Xý0Ò믿¾QØläÈ‘ºîºëôÒK/iåÊ•q ÜâÙ©ÖZ§N�’¤Fa[Kê_Ûús[kêÔ©Z¸p¡Þ{ï=ù|¾†á©[·n•išš6mZ›®ßZ6›M/¿ür‡Ýïá‡VVV–***4oÞ<=zT7nÔôéÓ;¬†`ýüš“¬�k&LЪU«â]F‹Z Û¾ñ�ohäÈ‘zôÑG•••%I*++Ó/ùKíÞ½»áøá®�––ÖÚÒZÊoâ2çZ¬%CàŠ` èDvíÚ%I-Ó¦MÓK/½¤�;wvPeh‹þýûkøðá:xð vîÜ©‹.ºH’´yóf©.�+..Ö /¼ ÷Þ{O§N�R÷îÝ5yòdÝvÛm ÝW¦ijÉ’%zë­·”ŸŸ¯¡C‡ê–[nÑðáÛ=÷‘GÑúõ륺á�v»][·n•ê†rº\®†¿@Ôßcݺu*((РAƒ4þ|M˜0¡áùL™2E“'OVjjªÞ}÷]™¦©Ù³gkþüù½éééš1c†-Z¤£G�ž±?’×"’"=&øùGrNUU•~ó›ßhëÖ­²Ùlºêª«´lÙ2}÷»ßÕ­·ÞÅ'àLÍ -eHiëù|¾f÷4HûöíÓý÷߯ 4tì9r¤Å_Ú·tíVj.DKø€-”-‚cÚC$+”¶õZm½.€PZZ*ÕMÖߜ޽{KuC‘¦N�*ÕuµI’×ëÕ{ï½§¡C‡jРAJIIÑæÍ›Õ¿M™2E�@@K—.mÔ�õÔSOiÑ¢Eòûýºì²ËT]]­´´´Ï�2eŠòòò$I³gÏÖ¼yóÂÖY‡Ã¡‹/¾XÔ½÷Þ{F¸»fÍmݺUC† QII‰^|ñEmÛ¶-â×Ãï÷Ka>둼‘ÖК:[:çg?û™þ÷ÿW=zôШQ£ôÚk¯µË|  kJ¶¡¥[·nÕÌ™35sæLmß¾=Þ儚ÝÿØc�©_¿~úì³Ïtÿý÷ëþûïב#GÔ§Oýò—¿lÓµ[Ð^9N,³¦6KÆ·–Ä+DÐ YYY*,,TAA�ú÷ïö¸úU€ê[�;Z2.šoS§NÕsÏ=§-[¶èî»ïÖû￯êêê† .--­Q+þ‰'ôío[Û·o×­·Þª‚‚­\¹RÔk¯½vÆœcÍ�;yòdmذAGŽÑœ9sæp •ŸŸ¯•+WjÈ�!Z¼x±‡V­Z¥Ç\¯½öšÆŽÛplFF†–-[&§Ó©%K–háÂ…úàƒuÂ5Å4M:tH«V­’ÓéÔ\pÆ1-½ÑÔК:›;çøñãÚ¼y³rssõòË/ËápèÏþ³žzê©fŸ7@¤’­ƒmÁ‚ ÿ>Y°`A®Rjšf³û{öì©'Ÿ|R?ýéOõÙgŸIu� ,hqEû–®Ý ¶ºÕI;�Xn•¶tM’Ę1côÎ;ïè/ù‹n¼ñưÇÕ3fLV‡¶0`€† ¦C‡5„6 ê|SÝ" Ë–-ÓÞ½{UZZ*˲º>,Ó45~üø&'øoîÜHßÃá¨ý#qÚ´izüñÇuäÈ‘FÇÚíö†¹èêçºki‰õ¯ýë�οçž{¶çGò|"©¡5u6wΧŸ~*Iºð ^£=z4{=€Öhjh)CJÛ—Ãáhôwm§ÓÙð÷Âv.¯in¸hG '�é}:c‡€$2gνóÎ;zíµ×tá…jäÈ‘g³wï^-]ºT†ahöìÙq©³+wªµÅÔ©SuèÐ!mÞ¼Y[¶liN*IÇ�×í·ß®þýûëá‡Ö�!C4kÖ¬†s+**$I–uæŸy-�©êêj)¤%ÞãñÈ0 ¥¦¦†=/Ò™&Mš¤nݺiàÀ�š4i’Üäq­y>‘ÔК•£BÏ©ŸŸ£[·nQ_ É2´4YV)µÙlÍv¢ë�ÐÑ£G~)|üøq=ðÀzòÉ'•““ÓìµÑ<7q5zôhÍ™3GË—/×=÷ܣ뮻NÓ§OWïÞ½•ŸŸ¯õë×kéÒ¥ª©©QvvvT+n"þ¦N�ªE‹iéÒ¥*,,Ô5×\Ó°o÷îÝòz½ºä’K4nÜ8™¦Ù(\«æ¶nݪ;ï¼³ÑoÞZ:Wu¿­SÝJKá 2D’´eËÝqÇr¹\Ú¾}»,Ë ; 5>ø`³Ã ëkŽäùÄËYg�%IÚ¶m›n¿ýv¹\.æoí"Y:Ù’e•R»ÝÞlàöðÃ7„mO>ù¤$é§?ý©Ž?®‡zH .löÚh^¢n±ˆ·“#"º°Ÿüä'’¤å˗륗^ÒK/½Ôh¿aÊÉÉQqq±îºë.ýö·¿mö·-HlVª�ᤠ�‚æbûè£�­v4|øp�þùúðÃuÓM7éâ‹/ÖáÇ5þüÏ•¤aÆiíÚµzæ™gtÙe—éæ›o>chj^^žÆ�¯;vè†nÐW¾òmܸQ.—K7ß|s{½,RÝðˆ/¿üR‹-ÒùçŸßâó‰—aÆé¼óÎÓîÝ»uÓM7iذa Ã�¸œNg³§<|ø°òòòôØc�5üûêÉ'ŸÔC=tÆô*M]»�b•÷$Æo©›�l=€¡oaÐ ØívÝ}÷ÝZ¸p¡¦M›¦^½zÉáp¨gÏžš:uª~ÿûßkñâÅÊËËÓgŸ}¦»îº«Å9©bmâĉ­zÄSýj˜ÇŽ‹øœÝ»wKA«ÂÆB}È6tèІn)ÕÍÇ7wî\9­Y³F}úôÑå—_ÞèÜ_ýêWºêª«TQQ¡åË—«¸¸X�'¢s¯½öZ͘1CùùùZ½zµŽ=Úd}�=ö˜fÍš¥êêjmÛ¶M£F�Ò /¼ÐîÝ”wÞy§zôè¡•+WÊív·ø|âéW¿ú•&Nœ¨üü|8p ¡¶dö’Ûøñã5~üø°?w´dY¥4%%¥ÙýëÖ­ÓÂ… 53äääháÂ…Z·n]›®#I�źØH¯g„| Þ¼Írœ-ä˜àŸë¿·}o«ëâ«Ø%e–——oO”¡:"W\\¬{î¹GGŽÑðáÃõ /tؽã±Jiqq±úöíÛêó.\¨%K–´êÜ›nºI·Ýv[«ï�ÎmÅŠZ°`�xà�VÍ��¹sçêÀ��¶�{î¹zùå—ãRÏÌ™3V)ÍÍÍMØUJ%©¼¼\5551½fJJŠ222¢:Çår]"©¬n%RÐìëR3ëöYAÛê¿W˜Ÿôsð1 Ù¦(:áºä¢ ‘„yI•vˆNNNŽ~ó›ßèþûïoq™êXKÆEæÏŸ/IZ»v­N�:Ñ9½{÷Ö•W^©yóæµsuH&~¿¿aN<ý÷0tèÐ8VºŠgžyFwÜq‡>,ÕÍõûÔSOÅ»¬¤�––óÀ----¦× ÉÑ„F,‘:ÜšÚÜáúPnÁ:Ü$µ¶v¸±²bÅ ½ñÆ5j”>¬?üP]t‘ž}öÙx—ºˆÓ§OëŸÿùŸ%IO?ý´ºwï·Z¶mÛÖ°Jéƒ>×á­‘ðx<ª¨¨ˆÉµÒÓÓåv»£>/·àG¸7+¤“-´ÃM!�\Ü:ÜÜ A¸!QlذA/¼ð‚>ÿüsuïÞ]_ûÚ×ô£ý¨=» €ªªªjóJóiii­þû_W Ü’iH)ˆƒ)S¦hÊ”)ñ.­”––&›ÍÖêN·Öv¶uen�œÛí–ÓéTUUUÄ󺥤¤(--Mv»½Ýëël⸱°@³ÛíÊÈÈhXLÁçó)È4kGfÚl6Ùív9�N¥¤¤t¦ ­Ã[èìn„{Aìv{"ÌÇÛ©3[Lj�Cn@ ¸1DàÄ�Cn@ ¸1DàÄ�Cn@ ¸1DàÄ�Cn@ ¸1äˆw�AµOªöYòú%¿iÅ»ĈÃfÈå�R�†R�±»nµåSµé•×òËobwaÄ�ðËe8”js)Ոᇒˆa²Ûí ²¬®��¸µ�×o©¤Ú’—̤Sò›–ü^©ÊkÉe—²S ¹F«¯ç5ý*1«äµü1­ñç·ò[U™5reÛÒä²ñ¿W]‡a:uê” Õ³gOõêÕ«K‡n )m¥jŸTPAØÖUxµïwµ¯uçW[>ÊÛº¯åWA LÕV+?,�„ ÃPaa¡$©°°P†Ñú†•΀À­¼~KE•f¼Ë@Ušòú£K车_Eþòv« ‰©È_.¯IÀ ]�[+”TwÝ–HDÿþ—˜UíV [Wxï_}õU=üðÃ*++;cßÛo¿­W_}5âkùý~y½ÞW�À-JÕ>1Œ´‹óñÐÒjËÇ0Ò.Ìkù»ÄÐÒ@  U«Vµù:ëׯײeËbRÄ�[”ª}t·!òÏAµI·NW×>&LÐ'Ÿ|¢ƒÆ»H,£%/ÍJˆâs@wºÂg 55UW_}µ–/_®ûî»OGÓ´X–¥ 6èý÷ßWee¥¬Ù³g«{÷îúë_ÿªwÞyG’´{÷n�?^sæÌQ ÐÚµkµsçNùý~�5JW_}µRRR:øY@äèp‹’ߤà ‘üã�»º®ò7nœ²³³µaưǼõÖ[Ú½{·n¼ñFÝ}÷Ýr8zî¹ç4yòdM�:UcÇŽÕ“O>©9sæH’V®\©‚‚Ý}÷ݺûî»UXX¨5kÖtà3€è¸bâšk®Ñ¦M›têÔ©3öùý~mܸQ×^{­úöí«=zèûßÿ¾jjj´oß¾&¯çñx´cÇ]qÅJOOWvv¶f̘¡½{÷vÀ³€ÖcH)�$Žz å´9ÔÏ‘ïR€&õêÕK'NÔŠ+ôÃþ°Ñ¾¢¢"™¦©4ls¹\4h�òóó›¼^aa¡,ËÒâÅ‹e†$É4MÕÔÔ´ó3€¶!p’Äò²¿ËmsêGݧĻ ¬)S¦è©§žÒÎ�;m÷ûý2MS¦iÊn·7lw8r:�M^ËívK’îºë.edd´så;nílÏ~-yÏ«‚r3ªódÛtË¥)ÒÃÁÑèìŽy‹ô¡ç˜ IWgŒÕg÷x—4ÉápèÚk¯ÕÒ¥K5vìØ†í={ö”$9rDÆ “êºÕŽ?®ñãÇ7ücλœœ¥¤¤hÿþýºøâ‹;ôy@[0‡[;{q{MÔa›$�(1õâ6†M¡Öò²¿Ë’%S–Þ(ÿ0Þåtze�V”ý],×üÏ_Öí_,Ño‹ÞÖ—þÒx—–Î>ûl 6L;vìhØ–’’¢‹/¾X¯¿þºŽ?®òòr½ñÆJOO×ðáÃ¥º€íÓO?Uqq±¼^¯ìv»&Mš¤7ß|S‡’iš*))щ'âøì et¸µ³âÊÚÕ,ÿë†ô¨Î»qI…NGÔ¡ó9æ-Òž£rY²ô·ª#š•q�ú;sâ]Z§uÂZ+Ê>Ð`gO�›Ò_‡½ùú¿êÏô©·P¿îû]9EçiK®¾új8p Ñ¶Y³fiÍš5Z¼x±�€†®ùóç7ÌÏ6nÜ88p@O=õ”òòò4oÞê÷×ÿl y’ìuGÝÃ.)³¼¼|»eY­z‚'J¢ Án\R!µ2pkÍyè8²[n=á;Õ5OùËõ¥¿D_Ô=NúJtÌwZ•f�fdŒ–ß4µ¾rŸÒmn t樯#[}YÊud©¿+[}ìYmxF¨gZ¦Š•êåÈhøùß ÞÐß)ý{ïÙÊsõŠêz­\\\¬¾}û¶ê\èH6›Mû÷ïoøyĈ2ÍÚ Åår]"©LR@’¿î¨{X’Ì‹MŽu IDAT�‡´]A??´_AÛ¬&¶…~Në¢&Ðá$�Þ/õbñ&™Vã`7ÍæÒUc°Lm®:¨ Ó£5_ê@Í—’$»aÓ�»OQŸT·X°¶†°M’d²ê¶ç:x�Í#pÈÄ´á²[†þX²Q¦ej´{€nΞ¨Žn2ê;Ÿï“Šüz¡x£ö×|!»aÓíݧê¢Ô!ñ.¿ÓÙ[sB;«�k�ç¸ ú§ìK”fsÅ»,@‚#pë õCD%iæy.]3¶ñ?Ú_ßéÕªÝÞ8T†Dsi·ar6-,þ«öxNè/•ûô½¬¬Ðh“¡w+4„mwtŸ¦ SǵæÎꃪ£Z_¹Oªë2,ôW(`™²¬7�À­ƒÔÏŶó„_oí÷�±ÿPA@÷NukLÿÚ·$8 C×sqÚPIÒïO¿£5å»43ãü†Îª²€G«ÊwJ’îì1]¸ŵÖÎ솜Kõýìñ:î;­%%[õfù.¥NÍʼ Þ¥mld_»Š«-½¹Ï§*Ÿ¥*¯¥5û¼*­²4¢/+âò\½%IÙö4¥Ù\ú ú¨vyŽ)ÓîV†Ý-Iììç*;?§aWž«—nÊùš$iO͉x—Hpt¸u0§ÝÐýÓSõÚû5Z½·véˆ\»~zEªœ¶X/‹dö…¿X’ä0lú÷‚•úÄ[ Iæê#§jÃÙÏ}Åênï×:;£jÓ'�åUNÐkû…¯D’”eK�ce€d@à9i†î¸Üï2�à>¯ x ý*T…2m©’aé�7ÿÇøK4ZâXeçôwϧúÏâMâì©öt�ô—踯X6æié#ã] Á¸%0Þº¶Ïë:ܺÙRteÆ}=}¤,IoWìÕ›å»UiÖèsßéx—Ù)õwæh|jžyóuÌW¤t›[cSÏÒUéc4<%7Þå�[;ëÙÍPa¥ÕªEä0Å^WVä¯ÐUcuUÆu³¥4lŸ™q¾®H¥¿TìÓ�š/ãZcg5ÄÙK?ê>%Þe’�[;»åR·þë½å—™2­ÈαÒY96Í›À°Ó®ìîžWÈm8›Üç6œº*c,ÃH@níìÜ\»žøVZ¼Ë@ ¶E{ èXŒYbˆÀ ˆ!7 †Ü€"pbˆUJ;À#««tì´©ÿ¸¶›rÒŒˆÎ¹õÿU(Ýeèékºµ{}Hw~¹TÅ�аû¯Î«ïd~µU×~¿úSý®h½fgŽÓœÌqm¨4‡À H 绪ܬ‘$}æ;¥Sþr}%¥¯2l©’¤Žîq®´„À H ss.køþÅâMz×ÿ‘®É¼P_Ié׺@äÜâàÖÿW¡ Ïr(Õièý£,KSÏqjöW£ãjÒï7z´ï‹€2S }c¤S“‡9ö›–´f¯W[�øU\eªo–]³ÏsjÌ€Ú·õ=úÛQ¿¾;.EWŽtª ÂÔ¿¾Q­L·ôØÌnJužQ’„i™Z]±K[+ét R}�9º&ó�qŸÕpLµéÓ«¥Û´³ú˜dXêïÈit�²€G+ÊÿO{ª?W±Y©L»[_MÍÓµYÉ)»É_®Ï|…z¸×Õ:§.ð[R¼Uë+÷é_{]­s h‹&ÄÉ–Ã~í<áW¿,C•5–Vîòj× £cÊ=– +L�ìgשrK‹·×èÃ�†ý¯ü­FþÐ+‡MÝÏ¡£§zfƒG LIÒ §¨[Š¡7vר´ÚÔ«óʰtË¥n¶$·¤t›þ§ô}9 ›F»訯PO®ÓÇ5_6ó\ñmªüXÙŽ4�ãê«O¼�®á²ÙõAõQõvf袴!2-Ko–ïÖ¥J’.NË“$í«ù¢áœ]5Ç•iwëWŸ{®$·8IszbVšî¿"Uל_ÛÙöQ~ Ñ1Ù©6=zešî¸Ü­y—¦H’ÞùÈ'I:]ié݃>õ϶é߯JÕ—»uÓŵǼ¹·v° ·¡ë.L‘Ç'ýú/í:á×Ôs]‘kïàg‹X:¨Ô_+¨¿3G?ï=Gwö˜®¹Ù_“$½Y±[’tÒ_ª«�ª‡=]?ï5[wö˜®ÊžÐè:néßö½^?íy¥nË™¬í}• Úí9.Iújjmà¶×s¢ášþ2�K"›Áÿ:‡!¥qb·I[튥g÷ª ÀÊ=V£c6Ku‡è«ƒìúÏ-Ò—¥µ¡Üñâ€LKÝÏ.»Q{ÐŃ�zi{�>/ýÇu¾6Ô¡íŸÚµ÷‹€údÚôÝó[Eò9î+’)Kç¹È^|�Oª‹7鄯X’ô¹¿öëHwÿ†c2lî3®uÈ›¯·+öê°·@å�,Yª°<’¤ÞŽLå9{é°ï”ªM_Cwq]×Ùå¼¹ZÝ>ü@ŽâbùsrTyþ*¾òªx—H´©$[ï‚·n´©Ý^®yëšá¦ÑpŒ/`É�”£æ¤ÕcI†Ñ8ÔCò©±j? ëï¥× È�!·Qûæ›Ví°âT#|ÀzÒ_ª_¬ÖqßiÝ’s¹žîû=9�ÆÝ�_MË“i™:Pó…vyŽ+ÝæÖ¹®Î?w[îÂg•µá9ŠkƒKGq±²6¼£Ü…ÏÆ»4@ pK`Þ@mˆ&I»¿È’Ô?«6<ë›UûÖí:áo8f×çµÇœ•ó�ÐdÏç~mþįœ4Cùå¦ÞØå‹ËsAìôsdK’vzŽÉ§Úäu—ç˜,Yèì)IêSwÌ.Ï1ù¬Úcª-o£ëòæË§€Æ¸jDJ?¥ÛܲÔ8�­VºÓsLÕ|© Swúá¤9o®–ûÈ‘&÷¹�QΛ«;¼&@raHi+óXztuµ÷°ëƒãµAÙŒ‘µó´ ȶit?‡ö|á×#õÇóÉi34ó¼Úª|–^ÜQ£L·¡Ÿ]™¦_®­Òšý^]<Ø¡�Ý;whÒ™ pv×yîÚí9¡‡O¾®Á®žú{õQ9 »fež/I:ËÙ]ÃSru°æ¤-X¡³œÝõ÷ê£�®ÓÇž)Iz·ò#IÒ§ÞSò×uÆÕëåÈÐWomªúXËlà:³n~Ðâ~†–šCê’À&w*ÝeèïÇ|ê•nÓ�“ÜÞûoÙí—»5y¸S5~K»Nøuv/»¹2U¹™µÇ,}¿FÅ•–¾sAŠrÒ ]ÿU·LSzqG�LF–&µ;ºO×äôså±|Úå9®³]½õ³^ßR®#«á˜»zL×8÷`�Tè3o¡nɹ\9ön û‡§äê[ÈnØ´©ò ºÛ34Î=øŒ{�O¢€eª›-E#RúuØsŒ—úa¤­Ý€Á1±¾žÑÂ÷ÁÛlAÛBõûë¶…< Iöº‡£îa—”Y^^¾Ý²Z—8�(1#8 ]Á€ì–óê¾ÓRK{Úå9¦§ ×é²´áúa÷Iñ.§Ý xìç͆jþœ�xèÑè®éìÞªZŠ‹‹Õ·oçŸ3@ò³ÙlÚ¿ÃÏ#FŒ�iÖf(.—ëIe’’üu�@ÝÃ’d†<¬ í ú9ø¡ ý Úf5±-ôûpbÖžD‡€f½_ý™$i\Ú™Ýo�Qåù´i?nÂò[¦Þ¯>"§ì�2 Þåtˆâ+¯’'¯é¹êô�2¯¾Z©\ ÀéÓ²ed(cÆŒ­ «?~¼$iÇŽq­cæÌ™*((�$åææjåÊ•zæpk¬ë´¬ÄˆÃfÈÏŸ]žÃYVí0ìò[�v¯‰ËaØã]B‡ùÁ~ C‡IuØöéÓGãÆ�Ó­·Þª^IÜyåñxä÷û•––&›­6h¯ªªÒw¾óÙl6­]»Vn·»Cj œ:%ï‘#2UïÚ¥¬k®‘ápÈp:•õ�ï¨è…:¤Í#p‹’Ë!ù½ñ®ñæŠð¿—á pëââ=·¬¬Lÿó?ÿ£Ë/¿\gŸ}v“Ç|òÉ'Ú¸q£¾ýío+33³Í÷¼ì²Ë$IûöíÓêÕ«µgϽòÊ+r¹\m¾v<<öØcZ¿~½^yå 6L’äv»•——'›ÍÖaÏË,+Sñ#«Ç_ªò�w”zÑErôî-W^ž,ŸOž]»dž<Ùªk—••iëÖ­*((�×ëÕ¨Q£† œ8qB›7o–ÇãQŸ>}4mÚ´¤}/:³x@O<ñ„ ÃÐ<ïrº<·(¥: UyépëêR�‘u¸¥Ú\ª2kÚ½$®T[|ƒ‰nݺ)++KëÖ­Ó7¾ñ�3B·O>ùDëÖ­Snn®ºuë“{>üðÃÊÊÊREE…æÍ›§£G�jãÆ�š>}zL®Ÿl6›^~ùå½gñ¯­>CËVQ¡üÅ‹Õ}ñbÉQûÇxÕ¦M²=§Ô^=å?yRŽÜܨ®}úôi�3FýúõSQQ‘–/_®~ýú©OŸ>Z¿~½®¹æeffjëÖ­úë_ÿª¯ýëíô,ÐZ&LЪU«â]ê¸E)Õ)¹ì’—¦¥.Ëe¯ýD"ÕpÊe8äµüí]�Ëp(ÕˆðÃÒNìv»¾õ­oé�7Þ8#t«Ûúôé£o}ë[²Ûc;ü5==]3fÌТE‹tôèQIÒ”)S4yòdåææjÕªUêׯŸžþyUWWë¹çžÓæÍ›UQQ¡±cÇêÞ{ïm˜ÃnÊ”)š5k–JKKµeËeffêúë¯×¬Y³¤ºùî^xá½÷Þ{:uꔺwï®É“'ë¶ÛnkèÆjêÞO<ñD³ç=òÈ#Z¿~½T7dÖn·këÖ­ ×s¹\Z·n�$É4M-Y²DëÖ­SAA� ¤ùóçk„ ¯I} ©©©z÷Ýweš¦fÏž­ùóç7ûZzöíS·�;eKO—Π¬ÊJ•¿õ–2¾ùMU¾óŽl¿ý­2/#óÈQ½ñ†²o½5ª÷jðàÁ ß÷èÑCyyy***’išêÝ»wCçãøñãõâ‹/ÊëõÒå4£åYßq†ìÔX¯5�díûŸmKk·Z�Øå½w:�š9s¦rssµnÝ:}òÉ'g„mNgûƒ~mØ<‡ÛÚµkõòË/+==]C‡•$=ôÐCúóŸÿ¬Ñ£Gë²Ë.ÓöíÛuß}÷5L²*IK—.Õþýûuá…*??_O<ñ„6mÚ$IJIIÑæÍ›Õ¿M™2E�@@K—.=£ -ôÞ-�7eÊåååI’fÏž­yóæ…}®O=õ”-Z$‡Ã¡‹/¾XÔ½÷Þ«�;w6:nÍš5Úºu«† ¢’’½øâ‹Ú¶m[³¯cùòå²õî)sÌH©à”Ü•ò¿ý¶<»wËZ»Z™YYRQ±l–%ëÿþ/â÷'œªª*egg+4¼‡ª pÝn·JKKÛ|ÄÖÖ­[5sæLÍœ9SÛ·o�w9]n­àrêÑÍPQ%+–v5=ºÙ"ž¿­žËæP#CEþòö* ¨‡##îó·s¹\š9s¦V­ZÕБU¶µG§’iš:tè�V­Z%§Ó© .¸ aŸÝn×¢E‹4räHIÒ¡C‡´mÛ6]zé¥úùÏ.Õ-T°aÃ?~\ƒ ’ê:¯^yå9­_¿^�<òˆþüç?kâĉJKKkÔ>âÄ }ûÛßÖöíÛukP·Wè½%5{ÞäÉ“µaÃ9rDsæÌi˜Ã-T~~¾V®\©!C†hñâÅr8Zµj•üq½öÚk;vlñZ¶l™œN§–,Y¢… êƒ>hÔ *P]­cûHîRJJŠÜéé TV¨êþûÕÓáPMŸÞ2ªªdädÉn3ä/,”£gϨß7I*,,TQQ‘¬êêj½óÎ;úüóÏ•““£]»v)Èãñ´êÚɬ~5Òh÷wÔê¥ ,hX¥tÁ‚¾J)Kœ &™T§Ô;ÝPIµÅðÒ.Àe¯íl‹6l«—j8ÕÛž©³Šá¥�œËp(Û––Pa[½úÐíÍ7ß”$]yå•í¶Ïïe·ÛuÏ=÷hàÀ� ÛºuëÖ(ðúì³Ï¤ºßÈ…þ%¥¬¬¬QýŽº9Ë.¿ür†¡cÇŽ5ìß³g�–-[¦½{÷ª´´T–e�щzïHÏkÉáÇeš¦Æ�ßPã´iÓôøã�ëÈ‘#�޵Ûí …£G�–ê†Ä6'÷ñÇeÕÔ¨æ£�ä9p@¾#G8~\>ÿI}~ú´Ìü|Y�€ Ë’eYøÃ‚Vn^¯Wo½õ–¦N�*›Í¦nݺé›ßü¦Þÿ}Ùl6�5J_|ñ…ÒÒ£{HT‰÷/Â$ârê�a¨Ú'Uû,yý’ßdA…ÎÂa« ØR�FÄs¶5Çes¨·-SÕ–OÕ¦W^ËÏ ¦�„ð×Î×fsÅ}ζ–¸\®†yÏÚˤI“Ô­[7 8P“&Mj4?XS²²²$I—^z©îºë®FûrÃLþ_]]-Õ=I:~ü¸n¿ývõïß_?ü°† Ñólíyáê þñß´Çã‘aJMM {^4óæ))r�#÷˜1gì³¼^™¥¥ò;&ÃnWÊðáQ?Ó4õÖ[oiذa�ÒhÀ€RÝáM›65¼g]I¸Nµú_wT'[8¬RšXÜb Õ¼j%ó»¡y©†S©öÄe€¶xðÁ£ d,›Í¦={ö(+++칕••ª¨¨Pzzºþö·¿É²¬† vïÞ-¯×«K.¹DãÆ�“i𲬖ÉyõkÁÝv¡† "IÚ²e‹î¸ã¹\.mß¾]–e…† ÓãQÑo~#£.`´™UU ”–*pú´ü2OŸ–éõ*ç{ß“;hk$,ËÒÛo¿­ôôt}õ«_m´½¬¬LYYY aÛ¹çžÛðš q°JibáoÌ€¸êÝ»·fÏž­×_]·Ür‹®¼òJ�û¬¶oß®mÛ¶iÔ¨QúÉO~Òhxfk.—ì#G)ë“O”Ú¯ŸTZ&M¹\úp�tþhiÿǪ޳_§VÏÙ×D}ý‘#Gž1·]½ï}ï{m®íoëÖ­Z°`�T7êä’K.‰wI]Z¬Ç?Fr=£…ق¶…>ê÷×ÿl y’ìuGÝÃ.)³¼¼|{$C� žŠ‹‹Õ·oßx—‘¦L™¢¬¬,­X±"Þ¥Ä�èôï~'÷Ç”}üK©{ŽT^.™–<Ù™:Ý€zÞÿ€Œ(æ…@Û%Ên3gÎlX¥477·ÃW)µÙlÚ¿ÃÏ#FŒ�išRíÜË—H*“�ä¯{ê–$3äamWÐÏÁíWÐ6«‰m¡ß‡³°ÈÁ1 Î »]=î¹Gþñ_SQjJí¯•Î _n/gwW¯$lCJH"Y×\£ª³ÎRÍGÉi³©&;[=¦O—lü âÝÙV�UJ �I&í¢‹¤‹.R@RJ¼‹@B`•ÒÄBàHx6lˆw 1ÆŸ1D‡[ ø=ùª x L1_üÍ’%»Ý&»Ë.gª]w '"¯öHÕÕ’×+ËïçÓ’ä,I†Ã!¹\Rjª”êŽwI€8#pk¿7 O©W¦ï«Æ¶u† ™Kfµ_¾j¿lNCî,—®Öo–×+•”ÊðzƒîƒdgH’ß_û¨ª’årIÙY2\®x—ˆ†”¶’ßPe¡§Q؆ÎËôYª,ôÈï ´îÕ©àT£° �“áõJ§jßs@—DàÖ ~o@•§=t³u1† UžöÈï�.t³¼^YEE|ZºC’UTTÛÕèrÜZÁSê%lë¢ ò”F¢””òié‚ Õ¾÷€®‡À-J~O€a¤]œé³"ZZíaifx½ -€.ˆE¢ä«nå^èT|Õ�ÈV.­®îˆr�Ȫ«;õʥǎ‹w b쬳Ίw I�À-J�(çïBçñç€î6tòÏÀ™R¥@ÀŒw H‘~,¿¿ÝkAbã3]�[”X,ŠâsÀ§| ëaHi{ýG[tÍs_‹zºëÃÝò?»Pò…é�r8d¿ó6ÙÎÛÑ¥€f¸u3`iÿªÏtô½SR]°Κþ¦Aã{kÄÕƒd³ÓÓ¥’šºjš2,>#$†”v€}ÿ{T¿ý¹<¥-Ožî)õêã·Nhÿÿí�Ú�¸Œ±çÉ~ËMa÷ÛçÝ ã‚1ZhnàØŽ‚¨Ï9º£@£f n—zºªšrŸŽlúR_ì>­Ê‚jÙœ6õš©Q³+£Oj¼Ëk’Ñ«gø�=šÙ‡˜±Ž—¹t™Ì}äøí¯etωwI€GàÖ"él‹Å9h^Ù—UÚ¿æ˜r¦«×ð,�þ´\_ì,RÉÑ }ýßÇÉæLÀ†Ïìì°»Œì¬-¥«±NËüŸå2·½'™¬N ˆ�ºŒgg꿸HÝz¤H’,ÓÒ†'w©äh…J?¯TÎàŒx—؈uºX�g†ÝXø¼ìÿ|WíÄ|õO2ßÿ»lçž#³°H:Uï’I‚À­Eºis‹* õl6£!l“j%0¬Úíé½lH©Ï¯ÀÓ¿“uìDØC¬c'xúwrüÛC’“ÿ”cÍvÍ,Ù¾1MÆða²~±@�[\•x+TðÈkùeYñ®F2 Ée8ÔÍîV¶+=ÞåH0ü+½ƒÕ‡i×<÷µ°ß£}åT¢“{N«à@±*‹j4ú;yr¦%Ö æ_ß•uìx‹ÇYÇŽË|w“lÓ§tH]]‰Ñ¿o¼K€$ŸP�§X5¦?Þ¥4bYR�åW�YövçÈiØã]€‘€“VíëäÎ"}²á •}Y-ÃnSua�¬@bÍÑený[äÇnÛÑ®µñ”ˆa[¨Ó¯Oq¼Ë�@«­§ î` ÷=Úטï ÕèkóTz¢B;—ÑÁ¿œ�#Õ¦s¯<+Þ¥5°¾ø<òcOD~,Ð^ÊÊÊTUU%ŸÏ'+̘OÃ0ät:•––¦ÌÌ̯Yâ­Hø°­^�éW‰·‚á¥$·ŽÇ0ÒÄ`sÊœ¡±ß?[ÿPùûK*psþçâ]¿ß¯ÂÂBy½-¯¬lY–¼^¯¼^¯ªªªÔ³gO9áÿª xb\mûª x”-7nèB|¿5¦ÜY®†m'«$I)®fÎL ¾Ü"Ir¾òB¼KÔ‡mN§SÙÙÙr»Ý2 £Éc-Ë’ÇãQII‰¼^¯ •››öÚ^+9ºÛê%[½Ú�[pg¹ä)õªèHY‹ÃH‹—I’R³SÎØ‡¶ùbg‘þþÊ'Ê”®´œ•çW«ô‹JÙl†ÎžÄù@´ÊÊʶÜÜܰA[=Ã0”šš*·Û­“'OÊëõª¬¬,ìðÒDX�4-ÕûÈ#�hýúõ’$›Í¦~ýúiذaš7ožÎ>ûì˜Ôðýï_3fÌÐ 7ÜÐä~¯×«‰'êõ×_WÿþýcrÏŽËçàõzeš¦Ünwö–^ÃD¼G8×^{­Nœ¿Úõ²eËtÖYÍwwÏ�;WsæÌÑÕW_Ýt^n`ÐøÞúø­z÷×»£:±•Ù¯›\ØK§—ªäx…\Ýœê;ª»†_Ñ_=ÏΊwy@Ò©ªªíÍÎÎn1l f†²³³uêÔ)UUUE4Ÿ[°Û>ø�N{KeZ–мåê•R{þ¥=Fé®a³#¾N¾§X?Ýó‚þ뢉êþm1gÎýøÇ?–ÏçÓ±cÇ´víZÍ�;W�>ú¨¦OŸÞæë_~ùå:çœsbRkWðòË/ëĉúÅ/~Ѱ-Ö¯aGÜ#œ%K–È4kúÓŸþ¤÷ß_O?ýtÃþ´´´v¯ «"pë#®$I:º£@žÒæç9JÍNÑ ñ½uîU‰3ŸXg‘sVº¾:wx¼Ë@rŸO’uîDªþœúkDcÑwJu�ÙOvþ^ËÆ?õ5âÅår)=½vž·œœ�3F¹¹¹zæ™g4~üxedd´éú·Ýv[Œ*íº:â5ì¨÷)8PKII‘Ýnoøü }¸u›ÝШYƒ5jÖàx—‚$fŸ33Þ%�Ô¯FMw[½ús­hÚ•\wÝuúÓŸþ¤Í›7ëÊ+¯”ÏçÓ¢E‹ôÎ;都¦F'NÔ]wÝÕ(<ùÓŸþ¤•+WêôéÓ=z´î»ï>õíÛ÷Œá�@@üãõöÛo«²²R—^zi£{Gr¯z¦iê•W^ÑêÕ«URR¢óÎ;¯á¾ªz8iÒ$mܸQŸ~ú©  ûî»OcÆŒ9ãžøÃ´eË�:uJ½{÷ÖÍ7߬3f4ùú´õ9lß¾]üãõé§ŸªG�š:uª~üãëÕW_ÕâÅ‹%I6lЬY³ô/ÿò/g¼†Í=¯–žK¤÷hËkkY–æÎ�«±cÇêî»ïŽê³'Ißüæ7õoÿöoºè¢‹$I}ô‘~øÃjÓ¦M­:~îܹš8q¢6mÚ¤£G�jÈ�!úéOª?üPo¼ñ†òóóuá…êÁTNNNÔõ$ 7 IØf¸‘Ø[ö™~ÿÉ*•ú*Ô+%Kÿ<üÛ”V;LÿÃ’CúÃ'«TezÕË•ÝpN¡·L�xMÇ« å·üºvÀåú§³¦èá}‹5±ç(]ÑçBIÒ�¬VÏ”lÍé»Õ¥].—†ªcÇŽI’ž~úi饗þ?{÷U™6~ü;gJfÒ˜„�"„^H¯¢ "¸ðª "`±­¢øŠHY±,îŠ È+ʺ ® –EEl«êOV¤H‚ „’�iL’ÉdÊ9¿?&Ò3 iÂý¹®¹ÌœóœçÜÏ9gÆknžòn·› ðúë¯3k–wèëÚµkÙ´iÏ=÷áááìÛ·«ÕZaÝ+V¬`Ïž=,Z´ˆàà`Þyç�Rû«;WIo¾ù&;vì`áÂ…X,–/_ÎÃ?̺uë0�ìÞ½›Ù³gÓ¢E V®\ɼyóøì³Ï|ûŒF#W\q‹-Âl6³yóf,X@·nÝ*œOìbÚ`³Ù˜={6�?þ8×]wp÷Ýw“ŸŸ_n¸gEªjWUmñ÷{m[´hQé3ÐöìÙüyóhÞ¼9Ë–-cÊ”)ÜqÇ,]º·ÛÍìÙ³ùûßÿμyó;T!„Bˆz£4vB!D]Éu0ÿç·™ße ˜Ç�Ñýxö�7A“ë²ó\âžï6™÷ûÏe|« I³0cs;ßÉǃæóvßY¬Kùž4G7FõåûsæßÜ–ñ3##¯ªó¸[´hANNùùùlذ�iÓ¦Nddd©ÞC�‡·ß~›Ù³gÓ¹sg"##¹á†°X,åêt:�|ôÑGÌ�;—:ÃO<áÛ_ݹÊÖõþûï3gÎÚµkGll,Ï<ó v»�mÛ¶ùÊ�3†N�:ÎäÉ“ÉÌ̬pÒþñãÇGll,“'O&&&†C‡Õy222p»Ý <˜ÐÐPâââèÒ¥K�ïOUíò·-•©‹k»xñb¦L™RãvÕ—Ñ£GÓ¡CÂÃù뮻Ð4�»îº‹˜˜®¸â ÆŽËþýû;L!„Bˆz%=Ü„B\2~>ŸLûàXZZ"ÝŸ·’¿&ÓiãHn ƒ[ùöu nå;N¯Óc÷8Xsb g ³Ñ£�Qxž�á]Yvt=v�ƒ”‚LZZZÐÌTçqŸ;wŽ¡C‡ròäITUeîܹ¾}�‡üü|NŸ>�Ýn÷+i”ššŠªª•NÎ_ݹJ:}ú4n·»T]‹…îÝ»sâĉ ë�‰‰Áb±ø×();;›Í›7sàÀrrrÈÎÎöõ<«Ë6´iÓ†>}ú0iÒ$† ¸qã|C!k«l»ümKeêúÚ65mÛ¶…¢Äb±6mÚPPPЈQ !„BÔ?I¸ !„¸d¸T7A† ‹8x4•BÕ…Q§§°Ì¾’~ÉMaÉ‘�x¢ã® Œ$Ý‘ €AQÑ�]™Iü–—Ê�Ñ—¬©ˆÓéä·ß~ãÞ{ïõ-š°zõjÂÃÃË•ÍË˃¢9¿ôz}•õº\.TUEUU¥|‡öêÎU6FUUñx<¥ê2™L˜L¦J�«h~?»ÝδiÓ1bÓ¦M#**ªÒ¹Ç.¶ Š¢°|ùröîÝË_|Áœ9sèÓ§‹-ª²½Õ)nWMÚR™º¼¶¿¿çØ…B!ü%CJ…B\2º7kËÞœ_9–ŸÀöŒƒ´Œ$ÔD÷fmøoöQß¾Sös¾ãŽå§f ¡cQ¯·ÌB›o_ñ°ÒÿfeHó®uó‡~Hll,ýû÷'::šÀÀ@¶oß^aÙØØXTUåðáÃÕÖÛª•·-ûöí«pu窮.UUIJJ¢]»vÕ_ÒáDZÙlLŸ>�¶mÛXi¦®ÚлwoæÏŸÏªU«HHHàìÙ³¾}n·»Fñצ-U�£.¯mm˜ÍfŽ?^oå…B!.W’pâwHËÊFËÊnì0ÄeîbV½˜N«n aN§;y>q-“÷,æËô=<Ûõn"L¡<Õévž9ôS÷¼ÌwûP¼½‡EÄcֹ뇙sð-š™.¬ÒÙ9´5'òÏÐ!¤Fåâ:†»\. ÈËË#11‘¥K—²nÝ:æÎ�‹N§Ã`0pÏ=÷ø PU•3gÎ�””@³f͸æškX¼x1'OžôÍóUÑÐÂÀÀ@ÆŒÃK/½Dbb"YYY¼õÖ[¾ýÕ�«l]cÇŽeÑ¢E$%%‘••ÅÒ¥K cÀ€5ºäåå±~ýz²³³Ù´iG�­°ìŶÁf³ñùçŸsöìY{÷îÅb±øˆŠŠbß¾}¤¥¥Õjˆ£?m©îuqmçÎ�ËÚµkk?@Ïž=Ù°aiii¤§§óÙgŸ•ÚoµZIMMõ}f«+/„B!¼dHip9<üúŸTR~@Ï^ê_gñ¤þ”ÁérSkºþ¡üŠpõGmÎy¹rÿùy´“§¼oš‡£téŒ2áftaVp8ðÌú3šŒ+–ACŽJrÝÿ„„`\º°~à'uÏ�x^ý;Ê-ãÐß*+°þ�FœN'‡£ÂIû«âp8|uÔV”9Œuç—Û>¸y7¯x޳«#â¹:"¾Üö`ƒ™ç»N®ô\1–p®�ì]ëX‹}òÉ'|òÉ'�FÚ´iCÏž=yï½÷hÖ¬™¯Ì”)S`É’%œ9s†°°0î½÷^ß¼móæÍã•W^áÁÄårÑ¡CÚ·oO```¹ó=ùä“,[¶Œ™3gb43fŒ¯G•?ç*iæÌ™¼öÚkÌž=·ÛMÿþýY¶lY�“¦­[·fúôé¬ZµŠ7Þxƒ~ýúU™Xº˜6äååñÝwß±bÅ òòò¸òÊ+ùÛßþæª9zôhvîÜÉ]wÝEïÞ½yùå—ë¼-þœãb®­ªª¤¦¦Ò¢E‹Å^lúôé¼ð Lš4‰ˆˆÆŽ[j(ëĉY¸p!ÉÉɼôÒKÕ–B!„^u=‰†?õéªù»ä6¥Ä¶²¯âýÅï•2/ /zŠ^z 477wWmzdØN×l‚bMÕØ¾ügçlÄÚ*{v!yg y¤+Qݪ<^nMWhlù·å¤¤Ö¸Þâ„›®wOï†_“Ñl6t±1è_x�^�û¹AÃ3s½I9?H­µjY«Ã²³³‰‰‰©ópêŠÍf#''£ÑHtt´ß‰MÓHOOÇåraµZ ­°Ü±üô:ޏvrœy<°÷>ð4J5mŒ Šn°¸„B!„hJE!11Ñ÷¾k×®¨ª Þùi6À¸‹^ž¢—¨e^Z‰í”x_òE‰ý”ئU°­ìß•©]²¨ÒížåœÊçìá"Ú‡2ü‰¾T¡ÛéAo”½¢r†û§Bp0Øí¸ŸítÚ�ûÐ ì‡á/nìð„ 44»ÝŽÓé$==«ÕŠÙl®4ñ¦i‡ƒœœ\.&“©Òd€Nµü·‘:µåìO ‹ˆ¯6Ù&óÀ !„B!ŠI­ždàqª¨n¥(Éf0]X]NS5~ù&…S?œ£ »�ÐØ ºüá ¢ºx{¿©n•}þFÊÞ Ðéhwu4]nºÐKÌíôðóg'H?�‰³ÀCD»PzÞGP„w5>—ÃÍ��’I?˜…„Æ”î™åÌw³ñÉÝ„· áÚ§¼½ªötŒ_¿=Í ‡ºÛ³y¹v]ì9E ¢2í£OÑN{'{wÝÿ�Þ!¥Eï•~}ÀlFÛó#¨ÊÈá(·þOéº<Ëß@ý9]hÊèQ(#®¾°_Uñ|þ%ÚŽв2ÑÅÄ¢?]Ï¢!x¶\<Ÿþí`"dç …† ôïƒ2átEC‹cÑE4Gý~´h�aþl((À³ö_hû ¡¡´Œm¨+(êQDD8�NÎ�;çÇ^&“‰ˆˆˆªËè jµŸÐ¾®Lh5̯r&�ü/U!„Bá%]¬êYX›`ô&…ì“ylzî¿üäx¹a©ûþuŒCÿ>�êшŽÇ]èÁ`¾��sÙݤÊ&46g®‹ÄÏO’~ð„ùÿoÕaŽ}ŸFxÛPb{4'=1‡�o$¡©Þ®!{Þ:Âñ�g0[hÞ®™Çl\¬Æ8çeÍíðÎáV uÛNÔ}еŒAËËÃóéF´ýKÊÍCËÈ@éÖí\ž¾‹¶w¿o·çÝP?ú J|w´'p¿üh¿Mn2yËG¶€~}Щ*ê—ß ýû‹Ò±ìØ�çß_x“…WxçZrÿ}jÂv°6CéÔõ×ßêð‰Æb0ˆŽŽÆjµb2™ªVªÓé0™LX­V¢££1ªNPéÍõqýù½Å+„B!„¨?òÏñõÌb `ðŸºrà“dΧäsdK Gþ“Â}[Ðó¶8T·Fòöt‚#-\?¿7Š¡ü�US �žé�bTHúâ$‰ŸŸäÜÑ¢ãÃ8Ÿ’OúÏÙDLJÑZ'ÜN7©{3É;ë@§@ÚÁ,Ã1»:½Bòötö¾÷k­ÛÔç¼l©*ÚÉ´­ÛÀ`@×¥såe-½à-·ñ+<ë>AMú}Ï Äë¬Í0<;Ýö]xþ±Ï¾Ãл'ZV6êw[ѵŒÅð—ù ×£û~žÕïàùòk �:€9Ãÿ-öÕ§�9‹{ÖŸQD™pó…XÃӳѵkë-—~í§Ð<Ã_žöÖýmž¾[ON4´ÐÐÐ*‡‡Ö†ÕL¾ÇA¡Úø½Üª °š‚; !„B!D! ·ÙÙÊuó®âLb6'~8GêOœÚãzuå€H4U#ª«µÂd€Î ø†¢†· ÀYàíñdKóö–K?˜Í'Ú^ê8§Ý…ÃæòÆÐÅŠNï­Ãtq·½1Îy9rýéñ oýÝÑEGV~€^E=†tÚy·åæ–*¢�¾EtúÂÊ·|ÃT9•ªŠ®Gwo]€2°?žÕï ¥¤]¨ã诨ß|‹úÛ1oýš†–—_:‹Ù—lÐR½Ç+ݺúê&$¨WE\n"Íaœud7é¤[€b Ò\õ8B!„BˆË‹dAŠ¢º…Õ-Œsƒ£HXv�Œ£6bz”Ÿ­Êj”ÒI9SˆwÞ¬èø0zŒ�+µ/¨¹™´Y¥†¨V¦x8huêòœ¢rJß« 0¢Z ôí�.¶sžù±r©Îéôþ×à½OZ¡w¾A<yÑœ… Ó¡3›¼ïÓÏàyq DF ¿o ºV±¸ªúxŠ“%r'jƨÓÓÒAŽ3�|�§æn )ètÞ9Û‚ôféÙ&„B!„(GnõLukœ?�OXë ?ÈÔ¢„†9Ä@H¤7‘þs6ê­UðWh´�¢#ë·\‚�åz’G]¨?þ Å Ãåð”*c0) ƒÜ´T—7Õ]Á/Ú¢_¹uqNQ=ý´ÉÞUJëRa!šË…ÎhD;p4 ]lKt±1¨ûö£Lï-³ÿgo™¢yØ´£¿¡¹\(=ãQºvUõkÑd]T´÷øýàŽ `4@AAݶM\Ò¬¦`¬HbK!„Bñû ·z–~(‹]o$anf"$Ê‚«ÐÃùSÞáwq×ÄbmLD‡P2ŽÚøÏÂ}Du Ö’O—±­iWý|Hkqâùmkß-ÚÏ•#±gâv¸é?­3ÍZѾ¿žç?/þD³–A¤íÏ*U‡bT°¶&çDß¾´³ÕÄÙÄœReBŒäg88´áohuÑç�Ä–‹gþ_ M´@sºV-ÑõèŽvàg«ºŽÐÿÏ@¯ &ì„ð0”>½ü:·~ÆŸPúôBËʆã§Ðß7µÊUW…B!„Bˆß«Šgé¯ßútÕü]r›Rb[ÙWñþâ÷J™—н E/=š››»K«å$@¶ÓöZ'.=¡±�ÕJImˆPDSתe­ËÎÎ&&&¦ÎÃB!„Bˆº¦( ‰‰‰¾÷]»vEU½�‰L&Ó ÀxwÑËSôÒµÌK+±�ïK¾(±ŸÛ´ ¶•ý»2u6c´ôpB!„B!„¢IÂM!„B!„Bˆ:$‹&!„hòrœyä{857µœ Nét`ÒÒ›±šdõT!„B!Di’p«! ]�O}'~o4?‡ukõ0Q¢ø}‘gàâ¸4gÙªÕ¯†Û�4 57…ª7ièÓ7vXB!„Bˆ&B†”Ö�^/—Løÿè ’Ó¾ÜÉ3pqšb²­¬BÕÍYGvc‡!„B!„hBä—` éMzÔ‚¦ýãOÔ?½ÉÏž,&¸åy¹¬™L�Aƒ°ÙlØív\.•­­Óé0�Zm�9μ&Ÿl+V¨ºÉqæÉðR!„B!H­æŒ=.I¸]öŒ?n ØíõŽhÊ,–ÆŽ ^¹Ýn222p:�Õ–Õ4 §Ó‰ÓéÄn·�¡Š€ùGG[¿ò=¬HÂM!„B! ·3˜õ(Fª« ÌÚ-…bÔa0û›p3£™LèüHFˆK�f2¡³˜;ŒzUœl3�X­VÌf3:]ųÖiš†Ãá ''§ÓIFFÑÑÑ•ÖíÔ~_ÿ¸ñ{‹W!„BQdB²Z073ù=i¾¸´hh˜›Õpˆ µ™<-—! ソ”Ùl6_²-::‹ÅRi²�¢!¥‹…èèhŒF#N§›ÍViù¦°iMøï·ß~ËO<Á¸qã1b“'Oæ³Ï>«ïðJq:� 8�ÔÔTî¼óNÞ}÷Ý:­ßá¨}ÅŠŽŸ:u*7n¬ƒè*>_ÉëÑX.öº5 y=ëòÙ­É3VÓ66•{[öz5ôgM!„¸œH·Z0˜ô…›ÉÏrÈŠ¥— � p3ço+¢3™ ys´ÌLyZ. kÞü’Ÿ¿Í^4\ÚjµV™h+K§ÓaµZ9wîv»Ý¯ùÜJzhï«d9Ï£j™Î\Zx�Ò¼;3:Üâw=gÙœN�:ÕY}ÿüç?IIIaÁ‚�rüïÕåÚî‹Q×Ïn}i*÷¶ìõj*q !„—"I¸Õ’Á¬'(ÂŒã¼S†—^£s³€'Û|,fˆl�–s^†—^â4“ÉÛ³íO¶¸\.Ìæš›->¦¸Žšx£÷cP”0{tßk¬8¿Æu4†o¾ù†½{÷²víÚR ¶:4j\=ôPc‡ D­È³[3r½„Bˆ†# ·‹`0é naÁíðà*ðàqzðxTéõv ÐÐÐëô&=F‹Þÿ9Ûª 3™ ²8  œN4·[ž–ß9 Ð Þ›ÅrÉÏÙVRñj¤5éÝV¬ø˜ÊV4½­ZµŠûÊÞlªª²fÍ>ÿüsrrrèÑ£O>ù$111~íŸ:u*·ß~;_~ù%‡báÂ…ôïß�ÇÃÊ•+ùæ›oÈÏÏgÈ�!¥Î;uêTn½õVÆŽë{Í5×°uëV’““iÕªO>ù$={öÄårñú믳}ûvÎ�;Gdd$üã=z4k×®åí·ß†¢á³7ß|3³fÍÂårñÆoðŸÿü‡ÂÂB®¾újf̘A```©X*;àÇäÓO?-EÉ[ꪽÕÕ5uêTF�ÍæÍ›ùí·ßhÓ¦ ³fÍ¢K—.Õ^ŸÊîÓ‘#G*l÷M7ÝÄsÏ=G¿~ý8|ø0<ð UÞs¯‡¿ñVö<øs=kz®ŠÚSÕöâgwþüùðôÓOûê{÷ÝwILLdÁ‚Õž»*Uµ±¾>»víbåÊ•$''Ó¼ysFŽÉÃ?\*®gŸ}UU}=ÔœN'ÿó?ÿÃèÑ£yì1ï?Npýõ׳nÝ:þüç?û®Wm?keïiem¨ê~,\¸Ð¯ÏYÙ{¾aÃÌfs©:׬YÃÁƒY´h‘_ß‘U=Ë5ùB!ª# ·:`0×MBF\&,fï $Ùv �{Øôül;Îk¿nà¼+�͘Ùñ6® Œà§œ£¼þë쪓&«ï˜ §�¿&½Ç){nÍÍ„Vù»õž>ô6WGt熨¾¬<ö9Vnm9´F19RRRˆ��¯²Ü›o¾ÉŽ;X¸p!‹…åË—óðónÝ:ŒFcµû^yåf̘ÁŒ3hÕª+V¬`Ïž=,Z´ˆàà`Þyç�jcÞ½{7³gϦE‹¬\¹’yóæñÙgŸa4¹âŠ+X´hf³™Í›7³`ÁºuëFëÖ­¹ûî»ÉÏÏ/7LmÉ’%dffòÖ[oáv»} �âøÅ*; 55•Y³fU.&ë÷çzøSׯ�yê©§ˆŠŠâ½÷ÞãÑGåÓO?%$$¤ÊëS¬ì}êß¿¥í®NE÷ÜßëQÝýôçyð÷ùò÷\µ§ªíÅ®¿þz^|ñETUEQ¼Ó'$$0qâD¿Ï]™ªÚXŸ ›ÍÆìÙ³yüñǹîºëÈÈÈ °°°\\C‡å•W^ñ½ß¿?.—‹„„_Âmß¾}´lÙ’ØØØRÇÖö³VRUm¨ê~Twle÷úè#æÎ�K‡ˆ‰‰á‰'ž¨6æ1cÆÐ©S'ÂÃÙ™öÁ±´´D0&º?o%M¦ÓÆ‘Ü:·òíë|¡‡Œ^§Çîq°æÄÎf£G!£ð<û²ìèzì)™´´´ ™±æ 4oÞŠo•-qúôiÜnw© Í- Ý»wçĉÄÅÅU¹¿X@@@©zSSSQUõ¢&–�‰‰Áb±øÊÈÎÎfóæÍ8p€œœ²³³+ì}SìäÉ“¨ªÊܹs}Û<ùùùuSMê¯îzÔ&VEQèÑ£‡ï>øs}ÊÞ§‹Q¶®š¶¡¦÷³äµ¯éóu1צºkf4>|8 ÄÇdz}ûv†êKÎÕ´�Åüic]&Ú´iCŸ>}˜4iC† aܸq¾aÅ%sÕUWñã�?Ò¶m[víÚÅË/¿ÌáÇٹs'wÜq{öìaƌն³2e?ÿþ¶¡ªû‘””ä×3Zöž0tèP¶oßN÷îÝÙ¹s'ýû÷'((ˆãÇ�ûõYYÛêã{J!ÄåMnB!..ÕM�áBÏ�¦R¨º0êô–ÙWÒ/¹),9òOtœÀ•�‘¤;²0( C#º+¸è¨ IDAT³+3‰ßòR¹1ºü^X­VÂÃÃÙ½{w…½T(êE£ª*�Ç7T Àd2a2™ªÝ_é5q¹PUµÔ¬Ú(žwÏn·3mÚ4FŒÁ´iÓˆŠŠâñǯòØ��V¯^Mxxx­c¨,¦šÔ_Ýõ¨m¬Š¢`6›ku}êZMÚPÛx‹¯}Mž¯†¸6£F�bÉ’%<òÈ#lݺ•[n¹å¢Ï]]ëã3¡( Ë—/gïÞ½|ñÅÌ™3‡>}ú°hÑ¢re¯¾új~üñG† †¦i´lÙ’«¯¾š¯¾úŠQ£F‘––F¯^½üjke*š«ÓŸç¬²ûq1ß #GŽdåÊ•<ôÐClݺ•#F€ߡյ­¾¾§„B\¾dH©BˆKF÷fmÙ›ó+ÇòÓØžq�Ö�‘„ƒèÞ¬ ÿÍ>êÛwÊ~Îwܱü4ÂL!t,êõ–Yhóí+Vúßì£ iÞµÖ±Mš4‰5kÖpúôé ÷ÏIµoß>ß6UUIJJ¢]»vÕî¯LEÇ]ŒÃ‡c³Ù˜>}:mÛ¶%00°Âãn·Û÷wtt4���lß¾Ýïó”<¾:5©¿ºëáo]e{½$&&ç÷õ©LÙv›ÍfŽ?î÷ñ5i5¸Ÿ•©Éóu±çòGŸ>}ÈÍÍåÈ‘#>|˜\ô¹«kc}~&z÷îÍüùóYµj œ={¶\™¡C‡òÓO?±k×.ßðÙ¡C‡rðàA¶oßN¿~ý0*ÿ7öš|ÖJò§ •Ý�Ú|'† ~|‡ÖE{„Bˆš�„›BˆZ¹˜•F/f…Óª„›B˜ÓéNžO\Ëä=‹ù2}Ïv½€S(Ouº�g½ÃÔ=/ó]Æ>ï�Ðañ˜õFîúáEæ|‹f¦ +Òum͉ü3ti…Q©}Çð‰'Ò¹sg&OžÌÇ̱cÇ8uê›6mbÛ¶m2vìX-ZDRRYYY,]º”°°0 PíþÊ2fÌ^zé%ÉÊÊâ­·Þªu;"""ÈËËcýúõdgg³iÓ&Ž=ZªLTTûöí#--�‚‚ ÷Üs�oâyUU9sæ IIIž£ìñÕ©IýÕ]ëzóÍ7Ù¶mÙÙÙ¼ùæ›píµ×úu}*SQ»{öìɆ HKK#==�Ï>û¬N¯ÇÅÄK Ÿ¯‹=—?EaĈ,^¼˜Áƒûz6ùsn«Õê›o±&m¬�Ï„ÍfãóÏ?çìÙ³8öîÝ‹Åb©pȘ˜"""øàƒ| ·àà`âããY½zu•ó·Õô³V’?ÏYe÷£¦ß %™L&† ÆÒ¥KéÕ«ÁÁÁPtŸjóY“ö!„5!CJ…BÔŠÑhÄétâp8°X,5:Öápøê¨­(sëÎ/·}pó. n^ñ°Í«#â¹:¢üJ¡Á3Ïw�\é¹b,á\Ù»Ö±Rôcîµ×^ã£�>bË–-¼ñÆ(ŠBÛ¶m¹ù曘9s&¯½ö³gÏÆívÓ¿–-[æKLV·¿2O>ù$Ë–-cæÌ™�FÆŒSá*�þhݺ5Ó§OgÕªU¼ñÆôëׯÜ�ÙÑ£G³sçNîºë.z÷îÍË/¿Ì”)S`É’%œ9s†°°0î½÷Þ ‡ØVt|ujRu×ߺúõëÇòåËÉÌÌ$>>ž+V`4ýº>•©¨ÝÓ§Oç…^`Ò¤IDDD0vìØ*‡ÇÕôz\L¼þ^Ϻ<—?F�ÅG}Ä´iÓjtî‰'²páB’““y饗ünc}|&òòòøî»ïX±byyy\yå•üío«ôÞ6ŒO>ù„=zø¶]sÍ5¼ôÒKU^ãÚ|ÖJòç9«è~ø{leFŽÉSO=ųÏ>[j{m¿#ë"&!„¢¬ºíZà_}ºjþ.¹M)±­ì«xñ{¥ÌKè‹^†¢—ÍÍÍÝU›BÑ�²³³‰‰‰iì0*e³ÙÈÉÉÁh4í÷MÓHOOÇåraµZ+]DàX~zG\;9Î<Øû x¥š6ÆE7X\¢ñL�:•[o½•±cÇ6v(B\–N�:Å�wÞÉ×_íëá&„¢ñ)Šâ[I k×®¨ª ÞʃàÜE/OÑKÔ2/­ÄvJ¼/ù¢Ä~JlÓ*ØVöïÊÔY²H†” !„¨•ÐÐPL&.—‹ôôt ª^ªi¾d›Édª4ÙPÇ£MkmËÙŸ_m²­©Ä+„—º­[·Ò¯_?I¶ !„hÒdHip;¸ xÜN<w�w Oôzzƒ C€ƒ©â• kCçÊg:·<®:«W4"½Í`S0š1¨±£iPdddàt:9wîœGx™L&"""ª.£3P¨Õn2ïº4¡Õ0¿Ê™tò¿T!„h›7oæÖ[omì0„Bˆ*ɯƒ‹àq9qäÛPÝNß6I¶]t€êq£zܸ í(æ PôÆêçÍ©”Û�ΞáM´‰K‹Ç…Îã‚Â\0˜Ñ#ÀPwIÚ¦Ì`0�ÍfÃn·ãr¹*íå¦Óé0�VÙ³­X�ÞL¡šWQ×� ýåqÏ…¢1¥¤¤pôèQßê¤B!DS%s¸Õ’ÛéÀnË’ÛeDCÃkÕÛMçÊG—›V/q‰¦I ‰¹èÞnM}·†�Z�A¡Úø½Üª hi©ºÇžB!„—2™Ã­4™Ã­<.§$Û.C:ÀnËÂãrúQº·C’m—!]nHoÆ‹i#@iÚ�±‘æ°ÆC!„BÑ„H­ù6I¶]¦tE÷¿FÇØ3ê-Ѵɽ¿xF�ž––Â�Á(†&³0�NçM´…ƒii‰À¨Ó7vHB!„Bˆ&¤iwh‚ÜNG©9ÛÄåGu;q;~ -Õ¹òeζ˘ÎíWþe·�B}°š‚±"«Ñ !„B!~¤‡[ ¹ %y"jð8?¾‹z"Ï€B!„B\v$áVCéÝ&jðHï6!Ï€B!„B\~$áVCOÓ_-OÔ?¿Ÿ�«¾CM�<B!„BqÙ‘„[ 5‘ùºE#“ç@!„B!„•‘E@^Ö’þMÆÉ#¸�†—Lf¢âºÑ}äm˜,2¸(OÉ<‚!q=úÓÿEÉKÕƒÚ OË~¸»ŽG oߨ! !„B!„¢ I¸Õ³¼¬3l{o îB{¹}n§ƒÔÃ?’›qš�·?F@`H£Ä(š �“€/cHZšZj—’} %ûÆCëpŒZЧÍðF S!„B!„åI­ž%%üw¡�ȶÝè9j"æà0ß>»-‹=ëÿŽ-#�Ýë^•¤›ðò81ñ(úÓ{@oÂÕuîŽ7¡†·@Éüï_¢?¹ÌÍÐ9s1þ'4Å„ãæ·;z!„B!„â²' ·z–qò=GMäøOÛ8¶÷{âz_Cçaã gàí�±{Ý«’t«C¶³)Úú'sýƒ/`± º]ýa3©‰?àȳaiÆÝÒ~À ètMgV¶€/£?½-8 Çèå¨ÍKU#»âŒì ƒŸÕ…ùóé(gQ[ti´˜/5:G6†Ÿ?Âpü{tçO�!5º'Î�¢ZÛ4vxB!„B!š8I¸Õ³â9ÛÌÁa$ïÝŠÇå$ù§:@@`ƒî˜ÁνŠ-ã4;?\ÆàÛgÚÈ‘ÿþäfsxûç¤&þ€¦iåöÿüÝǜؿƒ�ˆXb;öâLr"‡·oDSU:Ý(1—¥dñ#Õ›*L¶•¢il]àMÎFàõrC†zIS²~Åôã?P#:£¶ì‹rægôÉßa>—„ýÎÏ@oj웛͆ÝnÇårUøùÐét�F •ï8!„B!Ä¥KV)m@m{Ç`  mïÒsn™,Á ¾ã1B"bÉË:ÃÎuÿGaž­Ñâü½JüöRý?Â[µ'°YóRû4M#%q�! ¿g6½ÆÜËÀ ��qò—FЏ‡N§“œœÒÓÓq»Ý «B!„B4éáÖ€:çëÙV–ÉÌ Ûõ /ýáÓ7z×LtоÁãü½ê8ä&Úö½–ð–íØñÁ+ØÏgúöé£ÉŒÓa§Ðž‹9ÄŠ¦zkÙ¶£.Mzîcª,g8üƽ«AQ(ùjDçŠð2¡èÑBb/¼×y{¢èѬW6fdMNFFN§£ÑˆÕjÅl6W:D[Ó4‡/9—‘‘AtttƒÇ,„B!„õMz¸Õ3“% Tò§2�! ¼ý1‚¬äœ9ɹ“Ò“¦&B"boÙ®â�:WÄBõ¸IXó‰[?å‡OÿAóVí‰ë3¢¡C­”bKð-�`þl*–OîBW�å+£?¹ƒ€„¿P8ìÏxÚ Çòñ$,ëïn¤¨/]úS»1í|˺ÛP²�áü$šIæX,f³Ù|ɶèèh,K•ó!êt:, ÑÑÑ�FœN'6›½y¿ýö[žxâ Æ�Lj#˜ÞØQ_rô'¶b<ð>Jv2šbD—›ª ƒ,f·Û°Z­5ZxD§ÓaµZKÕQ• °|ùr®¿þz^}õUþñ�pÛm·Ñ¬Y³‹ˆ^TåŸÿü'ýë_ä\ǧS§Nµ.ß�± !„Bá/RZϺ¿…œ´d¿V!-´ç²{Ý«äçd`�jMÄ•þÿUÓT•ÖÿÛÙº�¼½ÑÈo?lá—�_�}úŠæskljH,JÎq”¬_Q#»áý*æ�¡dýŠyãƒèçѹòqw¼ gß? Ëú  ôHQ'œCgãô¿(™GؾãþwÑLA¸úÜߨ¡5 .— ³Ù\ãc‹�)®£2ß|ó {÷îeíÚµ]HŽwèСÆçMÓC=T¯å…B!„h ÒížÍÝ1ƒ�ˆXliìüpY… "8 òصn9¶Œ4‚ãèwëC(:¹=uå܉$ÎO¢e×¾´½êjZwÄð{çÅÙãIäçd4vˆxZõÀpôK4K8Žqÿ@mÞ%ë7tö <1}(>Šz—õ´ì׈‘_Âô&ÔÈî^=ÏûöԮƎ¨É(^ ¡&½ÛŠSÕ" «V­â¾ûî+•l«È�?þÈÿøG®½öZî¹çöïßïÛçr¹X¾|97ß|3£G�æÅ_,׳îÃ?dâĉÜpà ̜9“´´´rçÈËËãÎ;ïdõêÕåöM�:•uëÖqÿý÷3bÄþøÇ?’””ä;ÿ²e˘0aÇç¶Ûn㫯¾*uü®]»˜:u*×\s ãÇ�gÅŠ~í«ê¼ªªòÎ;ïpÛm·qýõ×—kÛÔ©SùꫯxôÑG1b?üðk×®åí·ßfË–- 2„Å‹—Šuþüù¼ð ¥¶½ûî»Ì™3ǯ¶VtíJ1õx<üýïç–[ná†nàÅ_¬´|E±>ýôÓåâ[³f O=õT•q!„BQ—$£Óª[…ÔY�ÇνJnÆi‚ãtÇ ÌA¡�ó¥ÆS´¢#ï¼o›¢7 S”¢¿›Æâî®@§Ã˜ø JÖQ4sŽ?¼�ÙÕ›ø½ô&”Ì_0&®�‚»ëøFŽþÒ¡så£Ë?Wj›’� EIPÑ0)))ÄÇÇW[655•Y³fñÉ'ŸÐ­[7æÍ›çë=·dÉNž<É[o½Å;ï¼ÃéÓ§yýõ×}Ç®]»–/¾ø‚çž{޵k×2jÔ(ß�×b�‡?ÿùÏtèÐ�iÓ¦UÃÆ�yì±ÇøðÉ��çÑG%77£ÑÈW\Á¢E‹øàƒøÃþÀ‚ 8yò$Í…7{ölÆŽˆ X¼x1×^{mµûª;/À›o¾É·ß~ËÂ… yç�w0™L<üðÃ¥z¾òÊ+Üxã�¬\¹’=zp÷Ýw3eÊ®»î:vìØÁ¬Y³J�ïúë¯gÇŽ¨ªêÛ–��Àu×]Wm[ý±bÅ víÚÅ¢E‹xç�w¨´lE±Ž9’�;w–‹oĈ¦3_§B!„¸ôI­�T–t“d[ȸ¢#æà0Îüö3ß¾ùû¾^ËÖw’›‘Fd\7,!a�"jx{\]o�ó�^HºYÂ)¸u-·¾ë›´_Éüó—��êÂÕývÔ°¸FŽþÒ¡?ö�ï�Ʋþ^6ÏÆ²î¾}=îîw4vx—�ÔÔT4M+—üªÈ¸qãèÒ¥ áááLž<™ÌÌLRRRÈÏÏgÆ L›6�ððp"##yà�HHH€¢DÚÛo¿ÍìÙ³éܹ3‘‘‘Üpà X,_Ýš¦±dÉòóóyúé§+�áöÛo'>>žÈÈHf̘�ÕjeË–-Œ?ž¸¸8bcc™}»Ý^.‰UÒÆ�9|ø0ëׯÇd2ùƒ¢(ôèу'N���ÍæÍ›9pà999dggSXX@›6mèÓ§“&MbÈ�!Œ7Ž~ýúU»¯ºóž>}·Û]j�‹ÅB÷îÝ}qUö «ˆÑhdøðá$$$ÏöíÛ:t¨/YWU[«“ššŠªª5ZD¡¬€€†ÊöíÛéÞ½;;wî¤ÿþÕKB!„¢.I­�†0ðöÇØýñëØÎ¦ÙŠ�‘d[rgùT�5‚^cîm”xjÄ€cÌrL»–b<ô1ƃb<øaùrŠ‚+~¢7Ù¦#ÒK–Ú¢ …#_𣤨OV«•ððpvïÞ]eB¬"ÅsÄ…„x¿WW¯^MxxùáÀyyyP4×™¾’¡å}ûöåäÉ“¬[·ŽGñ�EQ0›ÍØív¦M›Æˆ#˜6mQQQ<þøã¥Ê-_¾œ½{÷òÅ_0gÎúôéâE‹ªÜWÝy�N'ªªâñxP” ÚM&“߉ÃÊŒ5Š%K–ðÈ#�°uëVn¹å(Zu¶ª¶VÇår¡ª*ªª–й¦FŽÉÊ•+y衇غu« 'B!„ N†”6‚€À†Ýõ$}ÇM£ï¸i »ëII¶‰Òô&œCçPpÛ¿pÅ߉Þô&´€PÔæíqÅßIÁ„áò”$ÛÄ%mÒ¤I¬Y³†Ó§O×êøèèhÙ¾}{…ûcccQU•ÇWZGll,Ï?ÿ<ï½÷[·n­´\q¯¹b‰‰‰ÄÅÅqøðal6Ó§O§mÛ¶V¸ÐDïÞ½™?>«V­"!!�³gÏúµ¯²ó¶jÕ €}ûöùö©ªJRRíÚµ«´ÅÜEs_V¤OŸ>äææräÈ>Ì€ünke*ŠÙecN*„B!œ$܉¢7Óñ*b:^…¢—ކ¢bjx;œCfQpû:òïß�}ê÷ܶç�Y¨áÕÿ`¢>ù»ÒhEü]átâĉtîܙɓ'óñÇsìØ1N�:ŦM›JÍCVƒÁÀ=÷ÜÊ+سgªªræÌßJžÍš5ãšk®añâŜȸqãxÿý÷9þ|…õ\uÕUÌž=»Â6÷ë×�åË—3aÂ~þùgV¬X�Ñh¤uëÖLŸ>�U«VqÇw���P*á•——Çwß}Ç”)S¸á†ø÷¿ÿÍßþö7L&S•ûª;/ÀÌ™34h³gÏæî»ï&//�eË–U›è=z4ñññÜu×]ÌŸ?¿Â2£F�âàÁƒ\wÝu¾mÕµ•¢$ê¦M›˜3gN…õ>ùä“ôéÓ‡™3g2eÊ(Ñó­&±Ž9’={öÈpR!„BÑ(üçQwõéªù»ä6¥Ä¶²¯âýÅï•2/ /zŠ^z 477wWmzdäfÔnX“¸ô„DÄV[FÉúµAbM›Þ¾VÇeggSçñÔ›ÍFNNF£‘èèh¿‡jšFzz:.— «ÕZ£šª©S§rë­·2vìØË⼿§N�âÎ;ïä믿–nB!„ @QßJñ]»vEUUðŽ@Øà.zyŠ^ –yi%¶Sâ}É%öSb›VÁ¶²W¦vÉ¢ H7!„µŠÉdÂår‘žžNAAA•ÃK5M£  À—l3™L—D²M4M[·n¥_¿~’lB!„�B&BQkdddàt:9wîœßÇ™L&"""ê56qyÛ¼y3·Þzkc‡!„B!.S’pBQkƒ�èèhl6v»—ËUi/7�N‡Ñh$00Pz¶‰z•’’ÂÑ£GeuR!„BÑhd·ªÍn[ß]ˆíl £y “%¨ÆÇõ311òþ¿ÔøØ’uL\ÿ§¿ÕºQZ}Ïáf8ò%†£_¢dg>Zh+ÜíGáºjj­ë¬ �«‡‚Ñ‚ýÞÍþàv SÝhÆ@ÐÕ~»áØøfξâêû`­ëi —ênB!„BQLæp+Mz¸ ÑÔ¨ÌßÌD<Œ_²FÉ<ú»\„!àûç1üº‰‚Û>DmÞ±±ÃB!„B!ê�$Ü„hbŒû× ?ž€§õP G,@37óîÐTp6vxB!„B!„¨†$Ü™³ �_v|ɹã‰8òlݱ]†ŽE1}åÜN'ÿݸšsÇB»¾#¹²çß~�ËIÒ¶ œùíN‡ƒæ­âè>â6›5¯ð¼éG÷st÷×äf�Á`!$<š>cÿX«!¯¢©L{W¡ƒ(¼ö/’màŽi´•S1îû'†£_¢Ë;ƒÖgßñ´ê+¸z(ž¸h†@ Éß‚¢ÇÕí6†>í§Rå ¿|Ž>e'jX[tùç0ý¿×¼‰/w!ZP ”¬_ Ø<E�iÏß1þ¸ w§q˿ƣd'£ä$£6ïä=&°9æ¢ÙÉ IDAT>ðÖûÛ7lžƒñÐ:Vº°^ŠÞ[&²;F(µR¨�’�ŒÎq¾Ä1¾zÝm®!@§CÉ>^q,ÙÉÞCNl#è�Þ¥ö•ª³¦Ç9²¼1·à‹…’Ãk…B!„Bˆ&Ln�,?û,;×-'ÈA¯QwÖ̯ò�Ë€NïM¤˜,ÁDÆu§Û5·”*[Qï5ƒÉÌð)ó8óÛAÒ=@Ú/?±÷‹·1š‰lÛµ['jJµ¶EAÉ:‚’ù+jóöåÊè\Þ?4Ï…�nèt ·T^¹RÁǽ(W™âsis…ûµoÌså0œƒþ·t[Bb+­·ºã '¼åL2ÌY!„B!Äï�ÌáÖȲS“QÝ.Z´éBóÖ1Y‚ÑÐÊ•s;�¨no¢íì‰$Ð4BšÇ�NQÈN;†ÉLpx”ï¥è/$Y4M+þ4�èö=èuãÝtt#¶³© ÓhQ9C®îAU øvJÎÉÒûUjX[oÑ ¾¹×ô§v€¦¡Ft¼ø\ùèœyÞzSv{ë /“ø+z–Ôð8o‚ðÌ4sªµ�ï…Þä-[”èÓ^èñVÝqªõJïùOn¿0¿œ«|oM!„B!„¢)’n hß×kPôVmÕ¥/�aœ<¸ €ógN¡y<åŽuä‘°vÍ"[‘þëAâúŽÀbåÊC9¾/�íï/áŠný)°eãr:èS4§›)0ûùLoßHd›®ü÷ó·ˆn�) �S‡¼«F†Å¶i€« ªãê÷'ôi?¡œK²î6ÔˆŽhÍP²Žâ¹b…×<ƒçŠAèOíÂòñ�¨]0ÿô&\}î»èóëç12 5²úã[A§ÃÕëÞ ÌaèrS1ýð:®«¦àê2ã¡u˜?�‚»ãM(yéàÌ£ðú…Eó¶}�iÇb¤x>s5²û¿Ž«ãŸÈ‹n�!ý'Œ©ûñ†Ö"/î:r{ÎÃÓ| —ó×ÍbZ“Ý9Þ°z•ï?$ _hmL?}Œ/´9w.ÀÝÒ_îºq">[MLߘvWç)¸:þñ×�ö-Øò_0ÛüÿöÜ-�çš»0œMÆtèß3~]¿­´ûr{>C^ýî2“1¦"·ÛøªEUúùDDDDDDD.6C´g(åëÂ׌…®�{”œÏ9 @PþaÊ?‚€Ð³gÏ~êŸ^YNgÓNVè>¹òÔˆ,y�²Æ3ß_’XÅöZ±ã²©ªC¹¢œ7%·ŒÒÓÓ‰‹‹ x<""""""�f49pà€ÿ¼yóæx½^,Ë�€È<ùG^þá¼ç¾B×)t^ø P9…®ùйvî×%©X²¨šR*""•æp8p:�¸ÝnJúƒ†Á`Àl6c³Ù ½ä1Šˆˆˆˆˆ\*J¸‰ˆH…y<ÒÒÒp¹\¥Öõù|¸\.\.N§“ÈÈHL&ý‘+�>鈈H…$ÛÌf3v»��� †âWðù|äää�‘‘�Ëå"--�ØØØK³ˆˆˆˆˆÈŦMÊ)`“yå7íJýwà� õۤ̇?Ù‹Õj-1ÙFþ”R«ÕJll,f³—Ë…Ãá¸`3fÌ S§NtêÔ‰.]ºÐ¿^|ñÅ2�¨+«‘#G²qãÆRëy½^æÏŸÏwÜÁ Aƒ8zô(#GŽdóæÍþ:ƒæõ×_Xß.—‹œœœ2·'"""""—�p+§  Þ—-[Fbb¢ÿ™EDDDDä·A ·r 2Y”p‚L–2Õó™B0(ávUó™Bª:„‹ÆíþõßvHHùŸ±àž‚6.Äl6cµZ±Z­téÒ…{ï½—„„„ D\9Ç�§Y³fDFF–Xgܸq—4&¹0Ö¬Yãß8¡ÿþœ={–êÕ9èr¹xã�7˜6m�5">>ž™3gât:Ù¹sg©å|>óçÏ'++‹¿þõ¯‰;77—uëÖñøã�Ó¤IâââxôÑGϫ׷o_š5kFDDÇçôéÓ$&&ÛfZZ�‡›nº‰ÐÐP6lH³fͯˆˆˆˆˆŽF¸U@�Ù‚-4§ã åŸH%¿U>ÀA�¹lë·ù™BðÕˆÃp¶ø)lreòÕˆƒ+xý¶Ké¾ûîcâĉ�¿QÃÆ�ùÃþÀ¢E‹ÇãñÙ¨ÀjµÒ²eKŽ;FÆ /X^`ãÆ�:tˆ·ß~‹¥œÿÇKpòäI¼^o¹6Qˆ‹‹Ãjµú7¤8Wýúõi×®÷ß?�;w¦oß¾´oß> ñŠˆˆˆˆHàh„[™,!T ‹ÄXÆÅóå·Íh²P-,²ÌSIÏå3WÃZûŠ^@_~å3…üú½ÖTÒ‹Âf³ñûßÿžV­Z±}ûv\.^¯—¼¼¼"õ, ‹¥Ôò7Üp6›�µk×,V�ǃ×ëÅëõ–ë¾ ­‰g4Y¸p!Ï>û,‹…iÓ¦ñØc� Z $%Ü*!Èl¡š=khæ`Æ “¦š^!|€1È„9؆54‚jöÈò�l;—)_hm|5âð×€ sn’ß„ 3¾à¿~oCkkdÛ%ŽÕj¥víÚìÛ·Ï_æõz9xð �5*µ¼@||<³fÍbõêÕlß¾= 1ÖªUë¼¾+Âã9gì¶mÛ2cÆ ^yåvìØÁ©S§*Õ‡ˆˆˆˆˆ–¦”€ÉRá‘Orõñ™«�¹š’³ò›g0ðù|ø|¾rïTZžN=.ׯÕäää°wï^öîÝËèÑ£±ÙlôéÓ‡yóæñ·¿ý�˜˜–.]Jxx8;vÄ`0\°¼°N�:ñÐC1{öì"ɺ ‰ŒŒä§Ÿ~Âëõb4ý–Íf£wïÞÌ�;—Y³f[ît111¬_¿ž¤¤$ìv;n·›;vСCBCCùòË/±Z­Øíörµ+"""""—F¸‰ˆH…ìð™“Sþ]x î)¼KhIÖ­[G×®]éÚµ+÷Þ{/ëÖ­cîܹ4iÒ€I“&qã�72uêT†Jff& ,ð'óJ+/lĈ\ýõL�:µLÏ5hÐ ¶nÝÊ´iÓŠ-Ÿ}š»ï¾›íÛ·+I&""""W£ÑÈ�üçÍ›7÷¯gl±Xn@àÉ?òòà=çðºN¡óÂ…Ê)tÍW̵s¿.IÀ’Eá&""ŠÅbÁív“œœLvv6úc†Ïç#;;ÛŸl³X,WU² à»ï¾£V­ZJ¶‰ˆˆˆˆ\á´†›ˆˆTXdd$iii¸\.RSSË|ŸÅb!22ò¢Æv98vìÇŽ£mÛ¶œ9s†Å‹3tèЪKDDDDD.2%ÜDD¤ÂL&±±±8œN'n·»ÄQnƒ³ÙŒÍf»jF¶�={–eË–1sæL¢¢¢8p ýúõ«ê°DDDDDä"SÂMDD*-44ôªI¢•GË–-Y¶lYU‡!"""""—˜Öp %ÜDDDDDDDDDH 7‘RÂMDDDDDDDD$€”p %ÜDDDDDDDDDH 7‘RÂMDDDDDDDD$€”p %ÜDDDDDDDDDH 7‘2Uurqœ:u €èèèªED®‡§Ó‰ÛíÆçó[Ç`0`6›±Ùl„††^òEDDDDD.%Ü*iÔ¨Q|ÿý÷Å–íØ±ã’Ç���Í�!C0�üûßÿ&$$„œœòòò°Z­�Ø("�áñxHKKÃår•Z×çóár¹p¹\8�N"##1™ôkHDDDDD®<ú¤ �:u"$$¤ªÃ 88˜ `4±X,Ì�;—�>úˆ¥K—Ò¸qãªQD®É6³ÙŒÝn'$$ƒÁPl]ŸÏGNN¸\.ÒÒÒˆ��½ä1‹ˆˆˆˆˆ\lJ¸È”)SˆŠŠªê00�,Y²¤ªÃ‘+œÃáð'ÛbccKL´0 X­VBBBHNNÆåráp8.8½tÆŒlÙ²ò¶ÅÇÇÓ¤IF�°? <˜^½z1lذbË].]»vå­·Þ¢V­Zéób9r$  OŸ>ºßåráõzËõ‡¤Êö)""""r%QÂí"ÊÈÈ`Ù²eìÙ³‡ÔÔTÂÃÃéÖ­>ø ‹…‡zˆÃ‡³páBÚ´iÀ‚ xûí·™?>íÚµcõêÕlÙ²…S§NQ·n]F�E§N�ü}Üyç�ÜrË-ÄÄİiÓ&âããyñŹóÎ;±X,lذ�Y³fñÑGAþØ   >þøcÈŸ~úÊ+¯°k×.233iݺ5úÓŸˆ‹‹`çÎ�¼þúë?~œjÕªQ¿~}ž|òI­¿$"8�Nìv{©É¶Â v»�ÔÔTœNg©?O Àøñãq»Ý?~œ÷Þ{�‘#G2sæLn¿ýöJ?Ç-·ÜBÓ¦M+ÝΕdÙ²e$&&2{öìªEDDDDä7I ·yî¹çŠŒèÚµ+�:u"!!� ТE ¾üòKÖ¬YƒÅbáÁä¶ÛnãðáÃìٳǟpûì³Ï§]»v,X°€õë×Ó¸qcÚ·oOBB�=öX‘À|@½zõhذáy±uëÖ�£G�òã�?rÏ=÷é/{â‰'øÏþC�=0™Llݺ•éÓ§óÚk¯‘œœÌÌ™3 §ÿþäææræÌ%ÛD·Û P¡éô÷´q!‹…êÕ«N›6mˆ��å¹çž£S§NÔ¨Q£Üý6nܸJÝ/"""""r.%Üd×®]EÎkÕªE÷îÝyë­·ü×2dŸþ9>ø =zô`ñâÅìÙ³‡|�ÄÄDNž<É€HKKcÆ 4hЀ%K–`2™Ø´ióæÍcÍš5EnAAA,\¸�æÍ›Û-·ÜÂ'Ÿ|âO¸LÃúþûïùì³Ï¸ñÆ™9s&999|òÉ'$&&’’’B^^ 4àž{îñ�z!M6òG¬•WÁ=%íhZšû￟5kÖ°sçNz÷î�Ûíæå—_æ£�>"77—®]»òÈ#�`³Ùü÷¬Y³†õë×sæÌZµjÅäÉ“‰‹‹;o*d^^K–,áÃ?$++‹Î�;é»,}ðz½¬\¹’M›6‘‘‘AëÖ­ýý’? ³[·nlß¾�£G�R»vm&Ož\äg|AŸ‹-"!!�ÔÔT¢££5j½zõ*ñíÝ»—wÞy§Øv/תU«X¾|9Û¶m£_¿~L™2¥\Ï-""""rµSÂ-@Þzë­b×pûöÛoyë­·8pà¿üò >Ÿ‡Ã@TTmÚ´á›o¾áìÙ³|öÙgÜzë­üøã�x½^:tèàßÅïÖ[oeÞ¼yüôÓOEú¨V­Z‰É¶ 9~ü8Ÿ~ú)]»v-Ræp8hÙ²% 4`Ïž=üþ÷¿§Aƒ<ðÀÜvÛmåîKD$�, �5òÿ›?>§OŸféÒ¥x<fϞ͢E‹˜2e «V­âƒ>àÉ'Ÿ$""‚}ûöa·Û‹m»à!óæÍ£zõê¬X±¢Hyi}öꫯ²k×.æÌ™ƒÕjeáÂ…Œ?žµk×b6›!dóÔ©S‰ŠŠbÉ’%LŸ>�õë×ûËÌf3uêÔaÞ¼y„„„°eËfÏžM‹-¨[·n±ÏqâÄ ¦L™BLLÌyí^(®¡C‡’••uÞ”Òò<·ˆˆˆˆÈÕÎXÕ\É™8q"?þø#Ó¦MãÍ7ßôïZàÖ[oÅëõ²wï^>ûì3bbbhÙ²%ÙÙÙ�?Ò¢@NNŽÑñ@(˜zã�7²zõê"Ç5×\ƒÕjeÙ²e<ýôÓôîÝ›””þö·¿ñù矤‘ÊˆŠŠ"##ƒ¬¬,6lØÀèÑ£‰ˆˆ ::š1cưcÇÈÿ9º|ùr¦N�ʵ×^Ktt4={ö,ög©Ëåâ_ÿú�?þ8Mš4!..ŽG}Ô_^Z_ç¶õÆo0mÚ45jD||<3gÎÄét²sçN½Þ½{Ó´iS""">|8§OŸ&11ñ¼öHÆ ‰��gøðáÄÅűÿþßOß¾}iÖ¬Ùyí–5®ÂÊóÜ"""""¢nÕ·ß~‹Ëå¢cÇŽ\ýõx½Þó¦OuïÞ� ���À¾}ûøÝï~‡Á` ~ýúìÞ½›qãÆa±XøüóÏñù|4jԨܱŒ’;{ö¬ÿZ½zõ0�ìß¿Ÿ°°°óÖf+ˆµK—.téÒ…zõêñÒK/ñÃ?бcÇ ½‘@IMM¥K—.?~¯×Ëã�?î/ËËË#++ €“'Oât:iÖ¬Y©mž8q¯×[â& ¥õUØÉ“'ñx>€M›6pøðáó å†n`ëÖ­x½^ÿtÍ СCþóŸÿðàƒrÍ5×°sçN, Ç/w,�7æƒ>àïÿ;7ÝtÇ'**Š{wÞy‡‡~˜;””œN'O<ñßÿ=S§N¥sç΄††òþûïThúªˆH ¹\.~øá† æß4áµ×^#""⼺™™™�¿nYPPÐÛu»Ýx½^¼^/FãùƒÀKëëܽ^/yyyEÚ²X,ç�v.¬¸5ñœN'£G�¦G�Œ=š˜˜&NœxÁþKj·"q•ç¹EDDDDDSJ/ªÖ­[3lØ0L&ï½÷ÑÑÑÜ|óÍçÕ»ýöÛñz½Ô­[׿¡Àßþö7úöí‹Óéä³Ï>£E‹¼ôÒKÔ®]»Ü±ôïßߟP{÷ÝwýëýéObìØ±˜L&V¯^ÍÁƒ Áçóáõz©_¿>;vìàŸÿü'!!!Lš4‰ë®»®’oFD¤rÖ¬YC||<:t 66›ÍFBBB±uãããñz½:t¨Ôv ~¾îÛ·¯ØòÒú*­-¯×ËÁƒË=RùСC8&L˜@ƒ °ÙlÚ¬¢|>_¹“?åÙáÔív“��M^^Ç�çý÷ßgÛ¶m<ÿüó L&<ð‹/&..ŽvíÚ‘ššÊ™3ghÖ¬aaatëÖ�gžy†ÿ÷ÿþ‘‘‘ìÝ»—víÚ�·Ã¦Íf£wïÞÌ�;—Y³fËÚµkýå¥õun[}úôaÞ¼yüío#&&†¥K—^îiù‘‘‘dffòöÛoÓ½{wþóŸÿpäÈ‘ îRZ’²ÄÃúõëIJJÂn·cµZK}n»ÝΉ'*ôïADDDDäJ£„›ˆˆTˆÙlÆår‘““SîÍ\rrrüm”æ­·Þâ­·ÞÂl6S¿~}Ú´iÃêÕ« ó×1bÁÁÁÌŸ?Ÿ””ÂÃÃ6l˜?4}útžþyÆŽ‹Ûí¦I“&4nÜø¼„ÀäÉ“Y°`“&MÂl6Ó»wï"#‹Kë«°I“&ñâ‹/2uêT<:t`Á‚åNHÕ­[— &ðÊ+¯ðòË/Ó¾}ûJ­¥YZ\½zõb÷îÝ 2„¶mÛòì³Ï–úÜ÷ÝwsæÌáèÑ£Ì�;·Â±‰ˆˆˆˆ\ ý'è²´g(åëÂ׌…®�{”œÏ9 @PþaÊ?‚€Ð³gÏ~zîæ""—›ôôtâââª:Œ92220›ÍÄÆÆ–9‰äóùHNNÆívc·ÛÏÛ°EDDDDD~{ŒF#ðŸ7oÞ¯× ¿Îº»py€'ÿÈË?|€÷œÃWè:…Î *§Ð5_1×Îýº$Ki 7©�ÐÐP, n·›ääd²³³ÏÛ‰¹0ŸÏGvv¶?Ùf±X”l‘+’¦”ŠˆH…EFF’––†Ëå"55µÌ÷Y,"##/jl""""""UE 7©0“ÉDll,‡§Ó‰Ûí.q”›Á`Àl6c³Ù4²MDDDDD®hJ¸‰ˆH¥…††*‰&"""""’Ok¸‰ˆˆˆˆˆˆˆˆ�n"""""""""¤„›ˆˆˆˆˆˆˆˆH)á&""""""""@J¸‰ˆˆˆˆˆˆˆˆ�n"""""""""¤„›ˆˆˆˆˆˆˆˆH)á&""""""""@J¸‰ˆˆˆˆˆˆˆˆ�n"""""""""¤„Û%çÅàuVu""""""""r‘˜ª:€«APö×øÎ쀰±¦ÎÇè:JvèýxâþTÕ¡‰ˆ„ÃáÀétâv»ñù|ÅÖ1 ˜Ífl6¡¡¡—ÿ6šÿ~gÅ™åâtR:^·ò²*Üæ?üÀ§Ÿ~ZlÙªU«*í¯^ýuæÎ�[äZ—.]¸æšk*Üfeï¹Ô’’’ø×¿þÅŠ+X»v-IIIUÒeÅápø“m±±±X­V C‰õ V«•ØØXÒÍáp\°�3fЩS':uêD—.]èß¿?/¾øb™FÔ•ÕÈ‘#Ù¸qcÀꕤ¸?d\¬>+Ò—ˆˆˆˆˆŽæò\DF×OeíåÇÿî"9ÍÌǟנa­`îºçBšüƒµv…ÛgÕªUÜtÓME®'&&²oß>jÔ¨€'(ꡇªÒûE.µ>ø€^½zÃáÇٺu+<ð@U‡uÙp:ÝÆn·_0Ñv.ƒÁ€Ýn'55§ÓYêznd„ äææòí·ß2{öl&L˜PÉ'ÅŶj IDAT¸´–-[Fbb¢?þ+¥/9ŸF¸]AY_`;ö Õ~ü=!)séÜê8ƒï>ÓL¢c‡jØZ=Q©d@¯^½HLLÊÚµk©^½z©ý¼ùæ›lÙ²…¿üå/DDDðÍ7ß`·Û1›ÍÔªU‹§žzŠàà`¶mÛÆÓO?M³fͨS§N…ŸK¤ú¨ÔûòòòX¹r%“&M¢iÓ¦DEEqë­·bµZ!ÿÙ4h@||Üg*?ªzõêôë×�Õ«Wãp8xÿý÷4hP¥Û­(£ÑHË–-ùùçŸK­›””„ÓéäÚk¯-¶<##ƒuëÖñä“Oòç?ÿ™ôôt-.—”ÇãaݺuôìÙ“áÇS·n]Ö®]KnnnU‡vÕY³f�ã„þýûsöìYÿ(Z—ËÅo¼Á´iÓhÔ¨ñññÌœ9§ÓÉÎ�;K-/àóù˜?>YYYEFy�«oß¾4kÖŒˆˆ†ÎéÓ§ILL,s?…eee±aÃF�MDDÑÑÑŒ3†;v”úNÒÒÒðx<ÜtÓM„††Ò°aCš5kvÁ{HÆ ‰��gøðáÄÅűÿ~nºé&²³³9pàgΜá»ï¾ãæ›o.59Ÿ¦”ˆåÌjðyüç‘á®m˜ÃŠ·#é}Ë/tl“EÆÙ ¬Õ‚ Ê}�\o70–í£Âî½÷^ŒÉd¢k×®DFFVúY*Ãh4\j½ÌÌLÈŸ‚T¤,;;›qãÆÑ­[7FŒALL “'O¾h1‹'11‘š5kÀõ×_ÏÏ?ÿLbb¢Fº]b÷Ýw'N„ü�6nÜÈþð-ZDxx8�‡¦M›úë[­VZ¶lɱcÇhذáË lܸ‘C‡ñöÛoc±XÊW\\V«§ÓÉÉ“'ËÔOaÇ�Çëõòøã�û¯ååå‘•UúÖõë×§]»vÜÿýtîÜ™¾}ûÒ¾}û Þ“žžÎ–-[øæ›oÈÈÈ ==ÝŸ@¦K—.$$$вeKvïÞM‡¨V­Z™Þ…ˆˆˆˆˆ¥náÅ”YtDÂWl<8(�:q.ÞÝÆþ#V®mø¿Z–ìO I™SéžÃÃÃéÝ»7[¶láþûï/±žÕjå§Ÿ~*WÛ�§Ô:»8tè 6,õ¾øøx¼^/‡>¯ìðáÃ8Æ�Gýúõ±Z­Z¬^.9›ÍFJJ §N�‚ü$qjj*aaaUÚUÍf³ñûßÿžV­Z±}ûv\.^¯—¼¼¼"õ, ‹¥Ôò7Üp6›�µk×–+ž‚ŸMeí§°‚éÿ¯½öï¼óï¼ó6l`Û¶m¥ök4Y¸p!Ï>û,‹…iÓ¦ñØc�•Xßét2zôhN�:ÅèÑ£™7o�7.RçÖ[oõ�®Û¾}»¦“ŠˆˆˆˆT‚n`Ès`ðfúÏ]n+××äØI Õ¬^úÞšÁ¶ÏjpîÚàæ_ÞØûc¥û1b/¼ðµk—¼ói«V­Ø¼y3ÉÉɤ¤¤°qãÆ"åaaaœŠT~ŽÕjõÿÜÛ·oŸ¿ÌëõrðàA5jTjy�øøxfÍšÅêÕ«Ù¾}{¹ã)k?…ÿ�‹Íf#!!¡ÜýhÛ¶-3fÌà•W^aÇŽþñ¹}:t‡ÃÁ„ hР6›í¼?dÜtÓM$''sôèQöíÛ§é¤"""""• „[ø Ö"³s-f·wvðÚ¿"9‘b&aouêÆ»8�–� œÊoêß%¯$?ü0‘‘‘ >œG}”¸¸¸"£. ÄÖ­[ýkÝqÇ´hÑ‚#F0kÖ¬Ûm×®/½ôƒfÿþý¼ð ˜ÍæbÛ<×Ô©Siذ!&L`àÀ�üóŸÿä—_~¡N�:<üðÃ,[¶Œ¡C‡²sçÎR§J‰\ Í›7gÈ�!Œ1‚ûï¿¿ÈtA©ÜN£åÙáÔãñàr¹p¹\8>þøcöîÝK�=°ÙlôéÓ‡yóæqðàAΜ9ÃsÏ=Gxx8;v,µ¼°N�:ñÐC1{ölËõàÈ‘#EÚ´X,Ü|óÍ<÷Üs\wÝueÚmZDDDDDŠèyzeiÏPÊ×…¯ ];÷((/87žs€ üÔ¡gÏžý´"/Äzr:&ÇÖ"×ö°±}Ou®k–M§ë2 ¶œß§³îòl×4–Ke̘1ÜsÏ=Üu×]UŠÈ)==�¸¸¸ª£DÉÉɸ\.¢¢¢ü; —Uvv6©©©X,bccK¬7cÆ ¶lÙâ? £qãÆŒ=š¶mÛBþtÎ_|‘O>ù�ÇC‡øóŸÿìŸþ[ZùÈ‘#0`}úôÁçóñØc�qòäI^{í5BBþ·ÎfázzôèÁÂ… iÑ¢E©ýäææ2cÆ ¾øâ Ú¶m˳Ï>‹ÏçãÍ7ßdÆ ¤¤¤ΰaÃèׯŸþ9sæÌášk®aîܹþ~Ož<Éüùó9xð ™™™Ô«W�ñãÇsã�7–Ø×ªU«X½z5yyy´o߯×KÇŽý}‘¿3éc�=ÆOC®ðûp…߀Áëoί WC>cu0˜«:L‘€‰ŒŒ$-- —ËEjjj™ï³X,Ú€â2´eË PÕaˆˆˆˆˆüæ)ávùŒ60Úª:Œ‹fÉ’%U‚ˆT1“ÉDll,‡§Ó‰Ûí.qƒÁ€ÙlÆf³idÛe(11‘#GŽhwR‘PÂMDD*-44TI´ß¸Úµk³{÷îªCDDDDäŠ`,C)#%ÜDDDDDDDDDH 7‘RÂMDDDDDDDD$€”p %ÜDDDDDDDDDH 7‘RÂMDDDDDDDD$€”p %ÜDDDDDDDDDH 7‘2Uu""òÛçp8p:�¸Ýn|>_±u f³›ÍFhhè%�QDDDDDäRQÂí¢ñ�φ_ú¼^ F (‘+‹Çã!-- —ËUj]ŸÏ‡ËåÂårát:‰ŒŒÄdÒ¯!¹òè“Nø|>~øê ~9•BýfͨU݃ə^^Kuv}~�=;vc ¥Ã]÷pMû«:d‘€(H¶™Ífìv;!!! †bëú|>rrrÈÈÈÀår‘––Fllì%�YDDDDDäbSÂ-v¿³–¯¶¼€1µ5õo¾Þ_”ë N˜�]ÙN\ÙN>yãu]ßž �ê‘ß8‡ÃáO¶ÅÆÆ–˜h+`0°Z­„„„�œœŒËåÂáp”:½Ôëõ²råJvîÜÉ�?þH|||8ëÖ­ÃëõúëŒ3†Í›7WªŸÂ†ÎêÕ«ýç^¯—^x�>}ú0tèP~úé§€õ%"¿ N§»Ý^j²­0ƒÁ€Ýn/ÒFIÜn7ãÇ�çã�?fÔ¨Q¬ZµŠ±cDzoß>†Ê©S§*ù•wË-·Ð´iÓªã<Ë–-ã©§žªê0DDDDD®Jf…?gÖ¨Q4áöóîÝ8ÓÓi\;‚}‡œ€cPP¥ûìׯcÇŽ%;;›={öð /���Í`ÀúôéÃÚµkyá…м#¯×Ë»ï¾KDDn·›—_~™�>úˆÜÜ\ºvíÊ#�øàž|òI"""Ø·ov»½Ì露w]Þç¹Ri ·hrC'Æ>ÿ·ôHLd8�?4ˆùËߦeÿñ|’–Ë�?�Å{?¤ú ¹Î<†Ó§OS³fÍbGߘÍfjÕªÅSO=ÅŠ+èÕ«O?ý´ÿg�ÿüç?Lš4‰5kÖмysfΜYìt¯É“'sß}÷qç�wòñdztéRºwïΧŸ~Zd¹„„ºwïðg “ÉD£F�غu+©©©$$$жm[222°Ûí?~œwß}—Í›7“””TÕ!_U’““!�¸âØl6BCCIKKó_3f wÝu�7&$$„ÜÜ\Ö­[Çã�?N“&Mˆ‹‹ãÑG-ÒÎÀ�iذ!ñññ >œ¸¸8öïß_¤NïÞ½iÚ´) >œÓ§O“˜˜xÁø7oÞÌ?üÀŸþô'²²²Ø°a£G�&""‚èèhƌÎ;JlcРA´jÕŠèèhyäìv;[·n­P[…ååå±|ùr¦N�ʵ×^Ktt4={öôÿ)Ë;9÷]W6&‘+‰F¸H�Ù‚Ë^Sv9Žt~:‘Âõ×6ä»c'ÈÍó‘õÝA2““ÈLN¢N�� 0¹ø Fò‚Ã*Üo^^?þø#¯¼ò ƒ.±^ÿþýý_:”Í›7sðàAêÔ©ã¿~Çwø×i2d6làĉÔ¯_¿Ô8:uêDNN¤E‹¤§§säÈ:wî\ág¹:uêĺuëØ°a‘‘‘4jÔ€ììl222HMM¥{÷¥±yóf† ¢i¥—Hdd$)))Å®ér¹ÈÌ̤V­ZþkçN==yò$^¯÷‚›¤§§³e˾ùæ222HOO'77·ÄúqqqX­Ö nøpæÌ^xá¦L™âß…õøñãx½^üq½¼¼<²²²Jl§0£ÑHëÖ­9vìX¥Û:yò$N§Ó?=õ\ey'ç¾ëÊÆ$""""r%QÂ-€|FÞ +Öà,žì!ŒF#F£�   \Õªùëy2Ò;ñ>cθöêkíÚµ¬]»ƒÁ@\\ƒ ¢_¿~%ÖÏÈÈ`ëÖ­|ûí·üòË/¤§§“““Sbý²| ,,88˜›nº‰Ý»wÓ¢E >ýôSn¸á­Û#—5�ÇúuëèÙ³'5kÖä¿ÿý/k×®eРAc2™èСuêÔ!""‚”””2%¡¥òìv;aaaìÛ·�Æ�ŸW¾ÿ~ŒFc‘?œËãñàõzñz½�çêv:�Œ=š=z0zôhbbb˜8qb©±•¶nÝóÏ?O«V­¸ýöÛý× ’†¯½öšŠiy�FBBB*ÝVff&äï8tÎF>}'�x>‘+…¦”˜/ÙgÎpôÝÍûh+?ïØNNz:y¹.juèHìu×Ѹ1îêq8cÛâ3VlÇÒ~ýúñÞ{ï±eËÖ¬YÀŠý0IþH�qãÆ‘––ƈ#xúé§ý£x.ø,å\k®{÷îìÚµ €�;wj:©\ö©Y³&111˜L&®¿þzÂÂÂHLL$,,Œììì"Ó¤ƒƒƒKü&Çï~÷;V­ZuÞ()¯×Ë«¯¾Ê½÷Þ{Á]R F¿íÛ·¯ØòC‡áp8˜0a 4Àf³UhˆÂصk×yë–ÅÆÆb³ÙHHH(s[ç>÷�hذa™Ûòx<Å^���ÇëõrèСóÊ*úN*ò|"""""W*}r °’’’ÈÎÎ.ÒnXXݺuã™gžáøñã8�Nvî܉Óé¬ð;©È󉈈ˆˆ\©4¥4ÀòBìX‚NÐøÎ;Éõc5çfÇc�ÀäL|ø ÙVVaaaœÍÝwßÍöíÛË”°«*#GŽdÀ€ôéÓ§ªC)•ÑhäÀ�þóæÍ›û—è±X,7 ðäyù‡ðžsø ]§ÐyáƒBåºæ+æÚ¹_—$`É"�p ´‚DžÁXd}¶999dddøG^êdÀwß}G­Zµ.ëd›ˆˆˆˆˆü¶)á`Þ“‡pç:1…†`(4ŠÎàóâ ‹Ãßgl¸ÈSJ«ÊÎ�;i×®�¦“Š\%"##IKKÃår‘ššZæû,‹êîÅvìØ1Ž;FÛ¶m9sæ ‹/fèС—¤o¹:)á`yÖš8�™‡7 ãØq AFÌqí0†Ø nË"ã¯4}ô÷ÜsOU‡!"—ˆÉd"66‡Ã�ÓéÄív—¸‰‚Á`Àl6c³Ù.éȶ³gϲlÙ2fΜITT¤_¿~—¬¹úh ·‹Ìçqý:½*¨bëµý–$&&2tèPÞyçÂÃë:‘ß¼Ë} 7‘Zí(�p»È ¦«g� ÚµkóÉ'ŸTu""""""""Uªâ+÷‹ˆˆˆˆˆˆˆˆÈy”p %ÜDDDDDDDDDH 7‘RÂMDDDDDDDD$€”p %ÜDDDDDDDDDH 7‘ô” IDATRÂMDDDDDDDD$€”p SU ""¿}‡§Ó‰ÛíÆçó[Ç`0`6›±Ùl„††^òEDDDDD.%ÜDD¤Â<iii¸\®Rëú|>\..— §ÓIdd$&“~ ‰ˆˆˆˆÈ•GŸtDD¤Â ’mf³»ÝNHHƒ¡Øº>Ÿ�œœ222p¹\¤¥¥{Éc¹Ø”p‘ q8þd[lll‰‰¶ƒ«ÕJHHÉÉɸ\.ǧ—Θ1ƒ-[¶øï�ŠŠ¢S§N<üðć‡ä9\.^¯—���€´'"""""¢MDD¤BœN'v»½Ôd[aƒ»Ý^¤� 0`[·nåý÷ßgöìÙúè#rsséÚµ+�<ò6› €‘#GÒ­[7¶oßÎÑ£G©]»6“'O¦M›6¬ZµŠåË—°mÛ6úõëÇ”)Sü}¹Ýn-ZDBB©©©DGG3jÔ(zõêUb|kÖ¬aýúõœ9s†V­Z1yòd"##KmgäÈ‘ 4ˆwß}—ýû÷3gÎ:tèPî÷#"""""UO 7ùMðù|$%%±xñbú÷ï�Åb`þüùœ>}š¥K—âñx˜={6‹-*’8ûì³Ï˜:u*QQQ,Y²„éÓ§³~ýz†ýÿìÝ{\ÔUþÇñ×30¨ˆxIò®kº™wÂÛ®¦æ-3ïá¥ÌöçvY-ËÍlײԬ¬ÍJ3Í´´Ì\Ӳ좂bÚEÝ5É[Ѝ( 4â ÎÀÌï�`”Ë€£˜½Ÿ�Ç÷ñ˜ï9gÎ÷óýN`óá\FqþüyRRR˜9sæ%×4�Ô­[—9sæÀ¦M›˜9s&-Z´ ^½z—´_¾|9Ÿ}öO=õ¡¡¡ìÞ½›àà`�ûyñÅyðÁyðÁ©S§Î{–"""""reiJ©ˆˆ\ÓV®\I‡èر#wÜq­Zµr'ÓΟ?Ϻuë?~<¡¡¡„‡‡3a¶nÝZ¤�>}úФIBCC‰‹‹###ƒ””�®?xð`n¼ñF¢¢¢ˆ‹‹#22’}ûö]Ò.//�¥K—2uêTš6mJxx8={öÄl6{ÜÏ„ èÛ·/ 6Ô&"""""¿aá&""×´;3x§ÓɈ#ŠLaMNNÆétòøã�»ËòòòJ]ß-22³Ùìц ™™™lÚ´‰½{÷’••Eff&.\¸¤ÝÉ“'±Z­4kÖ¬Âýøûû{“ˆˆˆˆˆ\Û”p‘kšŸŸŸ{úèÝwßÍ‚ 6lUªT¡Zµj,^¼˜ÐÐP�ûôtÝ9«ÕÊøñãéÞ½;ãÇ�§V­Z<ôÐCŶÍÎÎÀétâëë[á~DDDDDä·OSJEDä7£OŸ>øûûóÁA`` —Õonnn±åIIIX,&MšDtt4���%&뢢¢p:�$%%]V?"""""òÛ§„›ˆˆTÈåì4ZÑNM&#FŒàÝwßÅjµâççÇèÑ£Y°`»víÂétrúôiöïßïqŸµjÕb÷îÝœ:u ›ÍV¤.,,ŒììlÖ¬YCff&Ÿ}ö,¶ŸêÕ«ÓµkWæÎ�Krr2V«•øøx¬Vk¹ú‘ß>%ÜDD¤BŒF#999å~oÁ{ ú(�°zõjÆŒÃÝwßͼyóèÑ£÷ß??ýô“ÇýõîÝ›–-[2räH¦OŸ^¤®^½zLš4‰E‹1tèP¶nÝJûöíKìkÚ´i4hЀûî»�þýûóî»ïòË/¿”»ùmóö|Oú3”ñºp™O¡²‹�‚ú‚sŸ‹à›øå¾@йsç+2"CDäjÊÌÌ$22²²Ã(‘Åb!++ £ÑHDD„Ç£Õ\.©©©8‚ƒƒ ºâ±ŠˆˆˆˆÈ•åããÃ�?þè>oÞ¼9N§~�©Ò°y@nþ‘—¸çE‡«P9…Î ª§P™«˜²‹_—ÄkÉ"�pû8sæ gΜ©ì0D~Ó,XÀ‚ *;ŒkJPP&“ ‡ÃAjj*6›­Ôé¥.— ›ÍæN¶™L&%ÛDDDDD交]J½ //�wß}—;vpäÈjÔ¨AÓ¦M?~|…G§ <˜´´´ëG�Å„ ¸í¶Û`íڵŶ³ÙlŒ9þýïPîX>ÿüs6mÚÄáDZZ­DEEÑ£GFŽYî¾®¦œœòòò0›Íøø(·,r%„……‘žžŽÝn/õwÖÅL&aaaW46‘Ê¢„Ûe²Ùl<øàƒ$%%Q½zuš4i±cÇøüóÏIHHà™gž¡M›6åî·cÇŽX,~úé'N�:EëÖ­  ::Ú£~üýý‰ŽŽÆÇÇ“ÉT®òòòxâ‰'ضmf³™o¼€Ã‡säÈ‘rßÓÕ6{öl¾üòKÞzë-6lXÙáˆ\—üüüˆˆˆÀb±`µZq8%Žr3 �F5²MDDDDD®kJ¸]¦eË–‘””Ä­·ÞÊ“O>‰¿¿?.—‹7ß|“wÞy‡¹sç²lÙ²r'»¦L™â~=gÎÖ¯_ÏøñãiÕªU¹úñññaáÂ…åzO�U«V±mÛ6:tèÀO<áþ‚ìt:¹páB…ú‘ëSPP�’h""""""ù”p» v»�÷ߟ€€yäüýý!ǽ÷ÞËÎ�;ùé§ŸHHH {÷îÜvÛmtéÒ³ÙÌ–-[p:� 0€qãÆ]V¹¹¹¼øâ‹lÞ¼ƒÁÀ€;v¬»þ¶ÛnÃd2±nÝ:âããY¶lÉÉÉT©R…úõëóÔSOù²œ——ÇÛo¿M•*Uøûßÿ^¤ÎÇdz٠ùÉ·+V°iÓ&Μ9C½zõ7n:t(rýØØXÌf3[·nÅÇLJAƒÃ+¯¼Âþýû çá‡v'o»í6ú÷ïÏ/¿üÂöíÛ bèСôïßòk¿ýöÛiÑ¢¯½öÿú׿xÿý÷™5k_~ù%_~ù%ãÆ�Ã××—¯¿þòG%.Z´ˆmÛ¶‘��ÍM7ÝÄ<àžþ[ð9ÕªU‹õë×Å¿þõ¯ËúŒDDDDDDDä÷C []†'Nàp8hܸ±{ªga±±±=zÔ]öé§Ÿ’˜˜Htt4¿üò K—.eÇŽ—‡ÅbaÇŽÜxã�dee±dÉ‹m{òäIž|òI2224h]ºt¡Zµj—ŒLIIIÁf³Ñ´iSªW¯^âµ_zé%-Z„ŸŸmÛ¶åàÁƒ<úè£ìÙ³§H»�7²sçNêׯOFF .dܸqØívÂÂÂ8rä3fÌÀn·»ß³råJ’’’¸ùæ›9}ú4Ï?ÿ< =“®]»º§À0€1cƸëf̘Áš5khÑ¢�;wæ›o¾aÚ´iîÝS>ûì3–-[FµjÕÜýˆˆˆˆˆˆˆˆxB#Ü.ÃÉ“' )¶¾V­Z�¿Kh�jÕª±|ùrŒF#+V¬à�7Þ`÷îÝEF„•WPPï¼ó&“‰%K–°dÉöìÙCÇŽ/i{âÄ òòòˆŽŽfÀ€%nê�’’âî»$gΜaݺuDGG³páBüüüX¿~=sæÌaåÊ•E¦¿Ü·¯¯/‹/æí·ß¦wïÞ<òÈ#Ü}÷Ý=z”ääd÷zk¡¡¡,^¼???¾úê+žzê)>úè#bbbÊ|&]ºtaóæÍ9r„¸û>>:tˆ#GŽ{6› ò×{+�““ƒÁ`p¯ñæiŒeÅ�““ùI¸Â _Û#ö:vìȤI“ŠÔ]üùÉïSI#Õ F¶i$›ˆˆˆˆˆˆ”E#Ü.ƒÙl¦OŸ>8æÌ™ãN@üûßÿæÛo¿¥AƒÅNí¬,.— òGŒ=öØcÄÅÅpøðá"íüýý|8&“‰&Mš�””Äĉ©Q£»ví*òþ† òÙgŸñòË/Ó©S'âââ¨Y³& à£�>âþûï§W¯^œ>}«ÕÊŒ3.;f‘k'ô›o¾Éˆ#¨U«ÿùÏ0 Ü~ûí,]ºôš[ÌétR¿~}¶nÝʪU«`òäÉ´nÝú’¶f³™×_�‰'Ò´iSŽ?NRRQQQ´lÙ€þóŸôïß«ÕÊŽ;hÑ¢¯½öuêÔ¹ìXƒ‚‚ˆŠŠ">>žÈÈHž{î9÷ZoÓ¦M£Y³fœùä÷úm<ð÷Ýw~~~¬X±‚ýû÷àý'"""""""r9 •П¡Œ×…Ë| •]|Ôœû\tßüÃ/ÿð‚Î�;—¨äʵí¶Ûn£zõê¬Zµª²C�JZÃ-33³Ä�„EDDDDD®%>>>üøã�îóæÍ›ãt:á×Yj �äæyù‡ p^t¸ •Sè¼ðA¡z •¹Š)»øuI¼–,Ò7/Òn""Ðî¤""""""â)%ÜDDä²Y,¬V+‡£Äõ F£‘ÀÀ@‚‚‚®zŒ""""""W‹nrM*Ø=UD®m¹¹¹¤§§c·ÛËlër¹°ÛíØív¬V+aaaøùéŸ!¹þ蛎ˆˆTXA²Íh4L@@Cñûç¸\.rrrÈÊÊÂn·“žžNDDÄU�YDDDDDäJÓ¦ ""R!‹Å�l‹ˆˆÀl6—˜l#J©Ùl&""£ÑˆÝnÇb±xt­/¿ü’‡~˜þýûÓ­[7† ÆK/½„Õjõèýv»�œœœ ×_-cÇŽåã�?.¶nøðá,[¶ìªÇ$"""""å§n""R!É®àààRm3 “––†Õj-u=7—ËÅôéÓ9pà÷Þ{/�7Æd2‘’’ÂîÝ» ðèšK–,!%%…™3gV¨þZÐ¥Kš4iRÙaˆˆˆˆˆˆ”p‘ q8'½ +xOA%ùè£�8tèË—/Çd2¹Ë###iÛ¶m¹¯û[6qâÄÊADDDDD<¤)¥""R!»‘–gt[�‚÷”´£i�¥K—2a„"ɶâ8^yåHïÞ½yöÙgÝ#ð–/_ÎÒ¥Kùâ‹/èܹ3sçÎ-òÞ’êÇŽ˧Ÿ~Ê_ÿúWºwïÎÎ�;q8¼ôÒKÜyç�téÒ…!C†ðé§Ÿºûš>}:O?ýt‘þ—-[Æc�=Vfœe¹xºéرcyûí·7nݺucôèÑìÙ³Ç]Ÿ˜˜ÈرcéÚµ+ƒfÁ‚}û²k×.÷yRR±±±Eú.ï½{ÀÊ•+6l={ödòäÉœ:u겟�ˆˆˆˆÈµF#ÜDDäšd±X8sæ Íš5+³í¼yóÈÈÈà­·Þ"77—™3gòꫯòÈ#�0jÔ(Ο?_â”ÑÒê_|ñE|ðA|ðAêÔ©ƒÑh¤nݺ̙3‡€€6mÚÄÌ™3iÑ¢õêÕãÏþ3Ï>û,N§Ÿ_ÿ¦µuëV† Vfœ±cǦN�JÍš5Y¸p!Ó¦McíÚµØl6¦N�ÊC=ÄŸþô'ÒÓÓ¹páB¹ú.ï½—“Ñhdùòå|öÙg<õÔS„††²{÷n‚ƒƒ¯È³©Lá&""פ´´4¸hÊê›o¾I‡ÜǬY³8þ<ëÖ­cüøñ„††΄ غuëeÇ0aÂúöíKÆ Ýq <˜o¼‘¨¨(ââ∌Œdß¾}tìØ‘ÜÜ\÷yFFGŽ!&&æŠÄÙ§Oš4iBhh(qqqddd�’’Bzz:¹¹¹têÔ‰   n¼ñF�——sïeÅ”——ÇÒ¥K™:u*M›6%<<œž={b6›¯èg(""""R4­œŽ?^Ù!ˆÈoXݺu+;„ߌÈÈHRRR àî»ï.2Z 99§ÓÉã�?î~o^^çÏŸ¿ìüýý/)ËÌÌdÓ¦MìÝ»—¬¬,233ݣnjF#]ºtaëÖ­´lÙ’„„bbb`ÿþýW,NòŸ—ÙlÆjµÒ¬Y3Ú´iÈ#èܹ3ýû÷/÷šwå½÷²b:yò¤;¶‹]ÉÏPDDDD¤2(áVNú²,"ruIBB-[¶Àd2¹×s3�T«V €Å‹zEc²Z­Œ?žîÝ»3~üxjÕªÅC=T¤M¯^½˜7oÿ÷ÿÇ–-[4hÐU‹³`m<^yå¾ÿþ{6lØÀc�=F›6m˜3gN…ûöäÞK‹);;§Ó‰¯¯o‘6Wó3¹4¥TDD®YcÆŒaÕªU;v¬Ä6’��Pj_¹¹¹—UOþæ‹…I“&M``à%›F´iÓ†sçÎqàÀ’’’hß¾}¹âô¦›o¾™éÓ§³hÑ"¶nÝÊ™3g šîÑ£GËÕ—'÷^š¨¨(œN'III—ÔUƳ¹’”p‘ ñt§ÑâxºÃi¿~ýh×®cÇŽåý÷ßçðáÜ:uŠ/¿ü’~ø�ÀÀ@üüü=z4 ,`×®]8�NNŸ>ÍþýûÝýÔªU‹Ý»wsêÔ)l6Û%×)«¾@XXÙÙÙ¬Y³†ÌÌL>ûì3=¹÷ÒT¯^�®]»2wî\’““±Z­ÄÇÇcµZ=z6"""""¿%šR*""b4±Ûíäää`6›ËõÞœœw¥ñññaΜ9üûßÿfÓ¦M¼ùæ›øùùqà 70nÜ8zõêù#áüýý™7o§OŸ&$$„»ï¾Û½^XïÞ½Ù¾};#GŽäæ›oæùçŸ/r�²ê Ô«W�I“&±hÑ"^ýuÚ¶mëÁVX¯^½øàƒ?~|‘ò²â6lÏ=÷?ÿü3³gÏ.×3-,;;›¯¿þš ���Í 7ÜÀ¬Y³ÜÉ¿I“&ñôÓO3bÄÂÂÂèׯŸ»®$žÞ{i¦M›Æ‹/¾È}÷݇Ãá Q£F4lØ�ÀÀÀ2Ÿ�ˆˆˆˆÈo‰çsA¼×Ÿ¡Œ×…Ë| •]|Ôœû\tßüÃ/ÿð‚Î�;—x¹£DD®´ÌÌL÷Æ×"‹ÅBVVF£‘ˆˆ�§º\.RSSq8tÅc‘+ËÇLJüÑ}Þ¼ysœN'üºsGÀä¹ùG^þᜮBå:/|P¨žBe®bÊ.~]¯%‹4¥TDD*$((“É„Ãá 55›ÍVêTH—Ë…Ífs'ÛL&“’m"""""r]Ò”R©°°°0ÒÓÓ±Ûí¤¥¥yü>“ÉDXXØ�MDDDDD¤²(á&""æççGDD‹«ÕŠÃá(q”›Á`Àh4¨‘m"""""r]SÂMDD.[PP�’h""""""ù´†›ˆˆˆˆˆˆˆˆˆ)á&""""""""âEJ¸‰ˆˆˆˆˆˆˆˆx‘n"""""""""^¤„›ˆˆˆˆˆˆˆˆˆ)á&""""""""âEJ¸‰ˆˆˆˆˆˆˆˆx‘n•È•—¹¹•†ˆˆˆˆˆˆˆˆx‘_ep}sáãã‹Óéü_‘3[âWän�Ǻg¶ Â_yŸÀˆˆÊ TDDDDDDDD¼D ·+ÈÏψÉdÂjµp6=ßžÀxÎŽ#ë$y¿dpÚÕ3Ò•p¹NhJé”››‹ÕjÅår±7ù4ÛÒsÈsúaIù9Y§ÈsBºÝHÕºõÊÕï?þñÆŽ‹Ëå*¶þàÁƒÄÆÆ²gÏ/Ý ØívrrrJ�)66–ØØXºwïN\\«W¯.2ºo„ lذÁk1ÅÅűbÅ ÷¹Óédþüùôë×�Q£FqôèQ¯]KDDDDDDDÄSáv…å9�$Há¼¹*ö<‰õšÓúÇ À‰sܦ-Æ  r÷{øðaéÔ©Ó%uË—/÷Rôÿ³lÙ2Nœ8ÁŒ3Jl3pà@î»ï>l6»víbþüùØl6F�íõxbbbhܸ±û|Æ üðÃ,]ºªU«vE®+×§ÌÌL1›ÍtëÖ —ËÅ?üÀ�°ÙlT«V�>}úXÙá^s, V«‡ÃQâ F£‘ÀÀ@‚*ð{ODDDDDä·B 7/2�8Èÿb™›—Çæ¤ã8‚‚©–“�õä\mcÙ›k§þïqê|�GU,ÂòåË/I¸¥¤¤°{÷îJI6™L&ªT©B•*UèÝ»7ÙÙÙ¼óÎ;W,ávï½÷9OII¡I“&Ô¨QãŠ\O®_;vìàØ±c„‡‡)ÿæ›oÈÉÉáÎ;ïÄÏÏ�ÌÌLÌfs¥Åy-ÊÍÍ%==»Ý^f[—Ë…ÝnÇn·cµZ ÃÏOÿ ‰ˆˆˆˆÈõGßt¼¨ ÙFþȶM{ã ­Éùô |ŸÈ¦„üùÖTmy+ërèZŇð+t­Þ½{óÉ'Ÿ°gÏZµjå._±bƒfÍš5—Äöæ›oòÕW_a·Û‰‰‰aÒ¤IîäAiõï½÷ï¼ó›7o¦ÿþ<üðÃeÆØ²eK²²²°Ùl—$)o¼ñÛ·o'--�ððpâââèÙ³§»Í„ ˆ��%>>ž£G�R»vmzè!nºé&wý€èÛ·/Ï?ÿ<ü1Ÿþ9ÑÑÑÔ«W�€€{ì1wŸï¾û.ÿýï™5kV…ž»\Ÿ5jDûöí9räÉÉÉ�?�úàÁƒŒ1___ÈOtKQÉ6£ÑHpp0 †bÛº\.rrrÈÊÊÂn·“žžN„Ö¯‘ë�n^d?–Ì…ƒÉ9t„ïC#øÞX•º6v[¡5B ð7Q#´»�#Ïl¦Ï¸»*|-† ÂòåËÝ ·´´4âããyï½÷.I¸ÍŸ?ŸŒŒ .\Hnn.Ï>û,¯¿þº;qVZýðáÃ9þ|™SJ/–‘‘A�5Šd4©]»6Ï<ó þþþ|õÕWÌš5‹fÍšQ·n]w»�;w2yòdjÖ¬ÉâÅ‹yòÉ'ùàƒ0�Eú›2e UªT!++‹Ç€-[¶ð /àt:ññùu¹Â„„ T®g-׿âFEfeeLrr2û÷ïÇårqóÍ7Y)1^‹,‹;ÙQb¢­€Á`Àl6@jj*v»‹ÅRêôÒéÓ§³iÓ&üüü¨Y³&=zô`„ ˜L&¯ßÓ•0vìXî¸ãúõëWÙ¡ˆˆˆˆˆÈU¢M¼$óÃ�ønè0›J†õ¤ÕŽÆf¿@ö¹lœ.†Ð(î¹÷^Nä9~&�GßF5sÀe]sРAìÛ·�C‡°jÕ*úôésÉtR«ÕÊúõë3f !!!Ô¬Y“qãÆïQ}yåååqðàA-ZÄðáÃK�?::š¨¨(F�Edd$û÷ï/Ò¦W¯^4nܘ��FŽÉÙ³g9qâ„GqtèÐ�œœwŸ™™™}ºûKqÁªžÔ{êý÷ßçý÷ßÇ`0É]wÝÅÀ�KlŸ••Å_|Áÿû_~ùå233KÝ 522³Ùìq\þþþtêÔ‰íÛ·Ó¢E ¹å–[´à½xÄßß???Úµk@ݺu åôéÓÔ¯_¿²Ã»&L£(ÿ ÞSx*~IŒF#f³³ÙLLL C† !!!¡‹ˆˆˆˆˆ\J¸yÁñ„­d8r0 „µmKr㦘¾ÙÎ-«—óí�£8��\[‡N¥ò@ÿtjÖòG‚]®!C†0|øpüüüˆ��%,,ì’6U«Và�7Þ(v ª²ê=U°K©Ñh,sª—ÍfcâĉtíÚ•1cÆP«V-¦L™Ræ5Ê3Š [·n¼õÖ[Ü{ï½ÄÇÇ»wŸ)KõêÕ±ÙlE¦$ûûû»_ îÝHËûsYø=%íhZjÖ¬é>ïÛ·/O=õmÛ¶ ))‰ &°uëVžxâ xâ‰'ÜíßyçþóŸÿ0gΜ"ý:^ýu¾üòK.\¸@ll,>ø ���¼ùæ›lÞ¼™·ß~___¬V+Æ ã¾ûî£oß¾¬\¹’µk×röìYZ¶lÉ”)SÜS�¿ûî;>úè#~þùgêԩÔ)ShÕª‡ƒW_}•„„÷z–ãÆ�£wïÞî¸ÆŽK×®]Ù²eË%ï'ÿß’7ÞxƒÏ?ÿ›ÍF×®]ùþûïy饗¨]»v©÷Uœ’ç\ç]wÝÅ'Ÿ|¾}ûxî¹çh×®]‰åeÅUÖ}—뫯¾êñg.""""r¥è›£Ü4o1¯½Aì‚'i>¥%»wQÿí×I©[ÿú É8›ÉÁowð·>1Ä´häÕk‡„„ЧO6mÚĈ#ŠmA`` Û¶m«P}�ÜÜÜRë v)õd]¥Ÿ~ú ‹ÅÂĉ©_¿>f³¹B_ÚËÒ¡CRSS9zô({÷îÕtRñ˜Ùl&22’ï¿ÿ€sçΑžžN­Zµ*;´ßµS§N±~ýzú÷ïïQû=z°}ûvœN§»lëÖ­tïÞý’¶óæÍ#99™·Þz‹·ß~›“'OòꫯGnn.|ð .¤aÆîdÛòåËÙ°aO=õË—/§W¯^îi³'Nœà‘GáÃ?¤E‹L›6 ‡Ã�Ñh¤nݺ̙3‡÷Þ{�Ûo¿�™3gº7ï(°cǦN�zÉû^}õUvìØÁܹsYºt)ƒ�ãÇ�{t_+ë>Êòâ‹/rÛm·±páB÷7%•{Wi÷]R¬åùÌEDDDD®%ܼÁ` ü–&D4øŽÀ$+7Äoåç *œèÞ›ïwî ÊwÛr|?í[6‡üÑÞ4fÌæÏŸO�:uŠ­÷óócĈ,\¸�ï¾û§ÓÉ™3gHJJò¨ <<œ½{÷’ššZá5¬ªW¯ÎÉ“'q¹\Ô¨QƒììlÖ®]ëžZZ°�7™L&:wîÌË/¿ÌM7ÝD•*U¼~ ¹~uïÞ�´´4Þyç6nÜÈŸþô'üýý+;¬ß�•+WÒ¡C:tèÀ Aƒ8wîœ{dnY:uê„ÍfãÇàìÙ³8p€[o½µH»óçϳnÝ:Æ�Ohh(áááEFo�F{ì1-ZĶmÛØ¸q£{ƒ–¼¼<–.]ÊÔ©SiÚ´)áááôìٳȆ1ýû÷§Y³f„††GFF)))�¿FÝ�7ÞHTTqqqDFF²oß¾"ñõéÓ‡&Mš\òþ .°zõjüq5jDdd$ûÛß<¾¯Â<¹�²L˜0�¾}ûÒ°aÃ"S�/.÷4®’î»´X=ýÌEDDDD®$M)õŸìO± eÿìckPƒÖ;Ñ õ<�?ZJ°¯ ¿æM1\¡©hAAAE¦ØgôèÑøûû3þ|NŸ>MHH#FŒ iÓ¦Õ÷êÕ‹;v0fÌZ·nÍsÏ=Wî8ïºë.žþyŽ=Ê3Ï<Ãý÷ßÏ’%KxóÍ7iÓ¦�{š’·uëÖ�iÓ¦™^$Rœ РA÷¹¿¿‘©}R9† ÆC=ù›,|üñÇüßÿý¯¾ú*üãK}¯¿¿?111$$$ð‡?ü�íÛ·Ó®]»K’ïkY$ÑÈO@�?Þ}Þºukþüç?óÈ#�0}út÷´Ö“'ObµZiÖ¬™G÷sñz”™™™lÚ´‰½{÷’••Eff&.\ðèý'OžÄétÒ¤I“bÛzr_Ê{Å))!}qyyâ*pñ}—«§Ÿ¹ˆˆˆˆÈ•¤„›W¸ðËû™¬43†Î�èöXÈý‘oVn§�5 €-*Êݺð4—Š˜1cF™mÖ®][äÜ`00tèP†Zlû²êýýý™5kÖeÅÔ¶m[V­Zå>>|x©»˜· áÆ�K¬¿ÿþû‹í§~ýúøùùi:©Èu 00�¡C‡òÕW_±eË–2näO+]¸p!'NdË–-ÅN-,ØÝyñâÅ„††–ØW�:up:�EFoeggCþïv___�î£` ½ÕjeüøñtïÞ�ñãÇS«V-wrÑ“÷çææât:‹¬5X‘ûªè}TTyâ*¬à¾ËŠÕ“Ï\DDDDäJÒ”R/0äì…ÜTjtÌ ý#QàãàÁƒ>Å_GüõéÓ‡Ù³góã�?röìYÞzë-�ï«°²î£¬ç\剫8eÅêÉg.""""r%iJ©7Œ¿âòýßÔ˜jÝ»Ò䆷jܸRÃû=KIIáСCÄÄÄTv("ףшÝn'''§\ ëäää¸û(ËêÕ«Y½z5ä'Z6lÈìÙ³iÔè×]Ÿ'MšÄÓO?͈# £_¿~—ì–Ü£G}ôÑR§¿�3æÍ›ç^Ëòî»ï¦Y³f¼ûî»X­V÷4øÉ“'3bÄzõêÅ-·Ü´iÓxñŹï¾ûp84jÔˆ† Xê½Õ«W�I“&±hÑ"^ýuÚ¶mKûöí=x‚ÿ3eÊ^zé%&OžŒ¯¯/={ö„Bô”v_+í>>>î�âš7oî^ÃÞd2u,@�›äå.ÀyÑá*TN¡óÂ…ê)Tæ*¦ìâ×%ñZ²HSJED¤B‚‚‚0™L8RSS±Ùl¥N/u¹\Øl6w²Íd2]•dÀ–-[hÛ¶íï"ñràÀj×®ý»N¶ñ;ûÌEDDDäÚ£)¥""Raaaa¤§§c·ÛIKKóø}&“‰°°°+[a›6mâŽ;î¸j×»šŽ;ƱcǸùæ›9{ö, ,`Ô¨Q•V¥»ž?s¹ö)á&""æççGDD‹«ÕŠÃá(q”›Á`Àh4xÕF¶‘¿–ãÁƒ¯Û�*Ï�;Ç’%KxòÉ'©Y³&ƒfàÀ�•V¥ºÞ?s¹öi 7‘kÔµ¾†›ˆˆˆˆˆH­áV”Öpñ"%ÜDDDDDDDDD¼H 7/RÂMDDDDDDDDÄ‹”pñ"%ÜDDDDDDDDD¼H 7/RÂMDDDDDDDDÄ‹”pñ"%Ü*‘+/rs+; ñ"¿ÊàúæÂÇǧÓù¿"g¶Ä¯ÈÝ�uÏ6l„¿ò>�•¨ˆˆˆˆˆˆˆˆx‰nW�ŸŸ“É„Õjàlz¾/<�ñœGÖIò~Éà´ªg¤+á&"¿i‹«ÕŠÃáÀårÛÆ`0`4 $((èªÇ("""""rµhJé”››‹ÕjÅår±7ù4ÛÒsÈsúaIù9Y§ÈsBºÝHÕºõÊÕï?þñÆŽ[â—ڃ˞={¼t'`·ÛÉÉÉ)5¦ØØXbccéÞ½;qqq¬^½ºÈè¾ &°aïÅÇŠ+ÜçN§“ùóçÓ¯_?F�ÅÑ£G½v-)^nn.©©©deea·ÛKü½àr¹°Ûídee‘ššJ®¦Ô‹ˆˆˆˆÈuJ#Ü®°<§“„)œ7WÅžç ±^sZÿ˜€8q‚Û´ÅX�‘‡&11‘N�:]R·|ùr/Eÿ?Ë–-ãĉ̘1£Ä6ä¾ûîÃf³±k×.æÏŸ�ÍfcôèÑ^� &&†Æ�»Ï7lØÀ?üÀÒ¥Kñññ¡ZµjWäºr}ËÌÌ$11³ÙL·nÝJ,“_¥§§c·Û1�€Á`(¶­Ëå"''Ç�œKOO'B£{EDDDDä:¤n^d4ݯ yN'›“Žc«Z�j®“Gpµ�eïŸÆð‹!€Sç¡Ñ¨Š%£BBBŠM¬¥¤¤°{÷îJI6™L&ªT©BXX½{÷füøñ|ðÁWìz÷Þ{/mÛ¶uŸ§¤¤Ð¤IjÔ¨AHH~~Ê'KùìØ±ƒÏ?ÿ³Ù\j™üÊb±¸“m˜Íæ“mäÿ^4›ÍDDD`4±ÛíX,–R¯1}út:tè@‡ˆ‰‰aøðá¬ZµªèÚ˜e(k„®\ûÆŽËÇ\i×>|8Ë–-«´ë¸ø9”÷¹ègADDDäêQF‹‡ûužÓɦ½‡q…Öä|z¾OdSÂþ|kª¶¼•u9t­âCx‡ŽºVïÞ½ùä“Oسg­Zµr—¯X±‚Áƒ³fÍšKb{óÍ7ùꫯ°ÛíÄÄÄ0iÒ$w¡´ú÷Þ{�wÞy€Í›7Ó¿~øá2clÙ²%YYYØl¶K’‡ƒ7ÞxƒíÛ·“––Fxx8qqqôìÙÓÝf„ ÄÆÆÏÑ£G©]»6=ô7Ýt“»~À€ôíÛ—çŸÞý¥ãóÏ?'::šzõêÀc�=æîóÝwßå¿ÿý/³fͪÐs—ë[£F�hß¾=GŽ!99¹Ä2ùUÁú”ÁÁÁ¥&Ú.f0&-- «ÕZæznwÜqùË_°Ùlìܹ“yóæa³Ù3fŒG×[²d )))Ìœ9ÓãE ëÒ¥ Mš4©ì0.›~DDDD®%ܼÈ~,™ ’sè߇Fð½±*umì¶Bk„ào¢Fh v=FžÙLŸqwUøZþþþ 2„åË—»niiiÄÇÇóÞ{ï]’p›?>,\¸�ÜÜ\ž}öY^ýuw⬴úáÇsþüù2§”^,##ƒ5j;2Èh4R»vmžyæüýýùꫯ˜5kÍš5£nݺîv;wîdòäÉÔ¬Y“Å‹óä“OòÁM0eʪT©BVV�?þ8[¶lá…^Àétâãóë`΄„ T®g-¿5jÔð¨L~UðG†€€€r¿·à=…ÿPQ“ÉDÕªU©Zµ*}ûöåܹs,]ºÔã„›Èåš8qbe‡ """"¿1šRê%™~ÄwC‡‘øØT6¬'­v46û²Ïeãt¹0„FqϽ÷r"ÏÈñ3i<2ø6ª™Ëÿ%µ°Aƒ±oß>:ÀªU«èÓ§Ï%ÓI­V+ëׯg̘1„„„P³fMÆ�G||¼Gõå•——ÇÁƒY´hÇ/5þèèh¢¢¢5j‘‘‘ìß¿¿H›^½zѸqcBBB9r$gÏžåĉÅÑ¡CrrrÜ}fffrðàA:wî\¡û‘¢ 6H(Ïè¶ï)m“…’´jÕŠ¬¬,÷»¾}û²k×.w}RR±±±�¿¦åÒ¥Kùâ‹/èܹ3sçν¤?‡ÃÁ+¯¼ÂÀ�éÝ»7Ï>û¬»oò§í-Y²„±cÇÒ½{wÆ�ÏO?ýÄÊ•+>|8Ý»wçÑG%33³\}~úé§üõ¯¥{÷îìܹò.X°€�Ò«W/ž}öY† âþ½çI¿o¿ý6ãÆ�£[·nŒ=ú’ tV®\ɰaÃèÙ³'“'OæÔ©S<ñÄ<ýôÓEÚ½óÎ;<ú裗<¯²®QÚçQÑç °mÛ6† F÷îÝùë_ÿÊñãÇ/ûy'&&2vìXºvíÊàÁƒY°`Á%÷K S9ËzÎ3fÌ`úôéîs»ÝNïÞ½yùå—Ýe6›�˜˜’““y饗¸óÎ;éÒ¥ C† áÓO?-6ž’”ö<ùYïQÂÍ 2׬eïœÙœ²[Évæb¿¥#þU«f6s:3§Ë…՞ˮÃ)|{àôïN£¨p|}}/ëºU«VeàÀ�¬X±‹ÅÂÆ�¹ë®KGÍ%''ãt:™>}:C‡eèС̘1Ãý?áeÕ{êý÷ßwïR:}útú÷ïÏ�wÞYbû¬¬,V¯^ÍSO=ÅÃ?Lfff©kËDFFb6›=ŽËßߟN�:±}ûvÈÿbuË-·X®û‘kKzz:aaaý,�5Š1cÆð§?ý‰mÛ¶ñÈ#�\ÒfÞ¼y$''óÖ[oñöÛosòäI^}õÕ"mvíÚÅ´iÓX½z5µk×f̘1¤¦¦ò /ðöÛo“’’Âk¯½V®>_|ñEn»í6.\èž*ÿꫯ²cÇæÎ�ËÒ¥K1 EKžô»cǦN�ʇ~H‹-˜6mš{$áòåËÙ°aO=õË—/§W¯^Ó£G¶oß^dm¼­[·Ò½{÷bŸki×ðDyŸ'À™3gxæ™gX±b¡¡¡Üÿýî3*ò¼- S§N¥_¿~¬[·Ž¹sç–kSOžALL ß}÷�û|Ïž=8¶nÝê.Û½{7µkצ^½zÔ­[—9sæðÞ{ïqûí·3sæÌrMe/í9xò³ """"Þ£„›OØJ†#ƒÁ@ÍvíÈmܾÙÎ-ÿšMÈ/™œÈHççãÇÙ{èôëN§f !$Ãå2d‰‰‰¼òÊ+ÄÆÆvI›ªU«ðÆo°jÕ*V­ZŇ~ÈÆ�=ª÷ÔÀ�ùôÓOÙ´i+W®äŽ;îpO弘Ífcâĉ¤§§3fÌfÍšEƒ ʼFyGÒtëÖ�mÛ¶¯&E~Ãòòò8p௽ö#GŽôJŸçÏŸgݺuŒ?žÐÐPÂÃÙ0aB‘„ùëf6jÔˆÐÐPFމËåbäÈ‘DFFR·n]úõëçáäiŸ&L oß¾4lØ�€€.\¸ÀêÕ«yüñÇiÔ¨‘‘‘üío+w¬}úô¡I“&„††GFF)))äåå±téR¦N�JÓ¦M §gÏž˜Íf:uê„ÍfãÇàìÙ³8p€[o½µØçVÒ5¹:´†›Ü4o;wâËI¨‘™E»¨—Ï‘¦Íñ¯ß�ŒÃ‡9³o“ïE‡�¼zí��úôéÚ5kŠÝµ ""‚ÀÀ@¶mÛÆí·ß^îú¹¹¹¥ÆR°K©'~úé',K‘uq*2-­,:t`Ö¬Y=z”½{÷òÄOxý"re­\¹’•+Wb0ˆŒŒdĈÜqÇ^é»`„oÁÚ�ä'öΟ?_â{¢££!z`�úõëc³ÙÊÕ§¿¿‘ó“'Oât:K\œ¿"±|òäI¬Vk±I%bbbHHHàøÛ·o§]»výN/ïèã‹•õ<‹c2™hÕªG�­ðó®_¿>mÚ´aĈtîÜ™þýûÙùº~~~Ú�TÄË .— —ËUîN—³ÃéÅZµjźu눉‰Á`0\òû¯V­Z¬]»–S§N\d„®ŸŸ£G�fÁ‚DFFÒ¦MÒÒÒ8{öl¹Öó*¬¢}Ò§OfÏžÍ?þñ"""xÿý÷½kõêÕéÚµ+sçÎåé§Ÿ&,,Œï¾ûŽ6mÚˆÉdâÖ[oå…^ uëÖîõ=Ë«¬Ï£¢Þ{ï=7nLxx8Ë—/ÇétÒµk× ?‹ÅÂÖ­[i×®AAA|ÿý÷˜Íf‚ƒƒ½o�ÈÈHÂÂÂxï½÷ÜÓ=«V­JË–-Y¼x1ãÇ� ,,ŒììlÖ¬YC·nÝØ¹s'¤wïÞƒƒ9qâ„ûg®ð¹'Ï¡´Ÿñ.%ܼÀ�³rS©Ñ1ˆ°NQ8�‡É ù UÏ=‚ øÅÏ@ƒ;Wv˜¿[ñññ´iÓFÓIE¼Ìh4b·ÛÉÉÉ)÷÷‚Ý%�FãeÇ1iÒ$ž~úiFŒAXXýúõ+2®wïÞlß¾�‘#GróÍ7óüóÏyÿ˜1cð÷÷gÞ¼yœ>}š��î¾ûî 'Ü.§Ï)S¦ðÒK/1yòd|}}ÝÓì ¦˜^n¬Ó¦MãÅ_ä¾ûîÃápШQ#6lèÞñµG�<úè£ý¥$e}Õ¦M¦N�ŠÕj¥uëÖ,X°?¿_ÿ7¦"Ï%;;›¯¿þš ���Í 7ÜÀ¬Y³¼>màÖ[oåÃ?tïF еkWfÏžMûöí¨W¯“&MbÑ¢E¼þúë´mÛÖ]W`ذa<÷ÜsüüóÏÌž=û’ó²žCY? """"â=Þ^¥Þ“þ e¼.\æS¨ì⣠¾àÜç¢Ãøæ~ù‡/tîܹÄÂSS.›Ë‘ä`pžÇe¬°lú’ŸfÌ êŸ3¨ý§?{ïzR.÷Üs  _¿~•ŠH¹dffYÙa”Èb±�••…Ñh$""ÂãÑj.—‹ÔÔTÁÁÁ]ñX«222¸ýöÛÙ²eËI]ìøñã >œ�7Vx„›ˆˆˆˆü>ùøø¸w½hÞ¼¹{†ŸÉdêX€< 7ÿÈË?\€ó¢ÃU¨œBç… ÕS¨ÌULÙůKâµd‘F¸yƒÁøëA .ßÿ-T\­{WšÜðA�Wjx¿g)))ŒâïÉ IDAT:tȽnŽˆxOPPV«»ÝNjj*ÁÁÁ”˜xs¹\äää�••…ÃáÀd2)ÙV†P»ví«’lزe mÛ¶U²MDDDDä2)áv|}•l«duêÔaóæÍ•†Èu+,,Œôôtìv;iii¿Ïd2vEcû-:vìÇŽãæ›oæìÙ³,X°€Q£F]µëoÚ´‰;î¸ãª]ODDDDäz¥„›ˆˆT˜ŸŸX,¬V+‡ƒ’¦ì ŒF#���ÙV‚sçαdÉž|òIjÖ¬ÉàÁƒ8pàU¹vJJ ¬ðî¤"""""ò?ZÃMDäu­¯á&"""""R@k¸åãAñ�n"""""""""^¤„›ˆˆˆˆˆˆˆˆˆ)á&""""""""âEJ¸‰ˆˆˆˆˆˆˆˆx‘n"""""""""^¤„›ˆˆˆˆˆˆˆˆˆ)á&""""""""âEJ¸‰ˆˆˆˆˆˆˆˆx‘n"""""""""^¤„›ˆˆˆˆˆˆˆˆˆùUv""òÛg±X°Z­8\.W±m F£‘ÀÀ@‚‚‚®zŒ""""""W‹n""Ra¹¹¹¤§§c·ÛËlër¹°ÛíØív¬V+aaaøùéŸ!¹þ蛎ˆˆTXA²Íh4L@@ƒ¡Ø¶.—‹œœ²²²°Ûí¤§§qÕc–òqæ:8{ô'.X2 #´~ >Z‘BDDDD¤4J¸‰ˆüNX,ªT©‚¯¯¯×ú+H¶EDD”˜h+`00›Í�ššŠÝnÇb±”:½túôélÚ´éÿÙ»ó°(Ëõ�ãߘ�A@@dq4ŵÜmQÒŽ¹¤šå’kY§åèIÍ¥cY–•eZ¦™·Ò¤\2ÓÔJÓÜÊ£•@¹# « 03¼óû#˜ 0Ãâr®ë½.æ]žç~Þyg„ÛgÀÕÕ•† 2xð`}ôQÔU�ô7n 8°Òe•eøðáôë×�Ñ£G`2™Pww÷j«³ªäfèùí³×‰>ù'Š‹%'›Fw´äþ© ÐèjÕtxB!„Bܰ$á&„·‰ 6P»vm~øa4M¥Ë3�øøøØM¶¥R©ðññ!99£Ñhw>·ˆˆž}öYrrr8zô( , ''‡±cÇVº ×CÏž=iÑ¢…íõªU«ˆ��gîܹ5WIV«•ü¼\(òV&žù£ws}oZ�yÆlö®xŸìô<‹$<Õ®ZÔU”ÈB!„âV 7!„¸MôìÙ“�;w²eË~øa´Zm¥Ê3›ÍNõÔ*¼¦°ŒòhµZ<==ñôôdÀ€dff²zõê›&áöÌ3ÏÔtù}Ë b£Ö—z,êÀÖb¯¿{åh±×µ5£ÏìeJ¼ !„Bq+“„›BÜ&š5kFß¾}Ù¹s'ß|óM¥“n…«‘:“d)¼¦¬MËÓ¾}{2220�h4–,YÂ�HNN& €ñãÇÓ¯_¿b×DFF²eËÒÒÒhÛ¶-S§N%88¸Ø9YYY<õÔS<ðÀL˜0¡Ø±C‡±|ùrΟ?O�:uèÝ»7Ï>û, `Μ9tîÜ€ØØX&NœÈþýû¡Ä°Õµkײzõj¾ÿþ{Ì´iÓÊŒÑßßßnûÊ‹Íl6³lÙ2öîÝK^^=zô`Ò¤Ixxx\s_/üMLB:Tü-ÁÇCoS®n7þ0Y!„B!®I¸ !Äm¤ª“n5!%%[Ò¨aÆ̟?wwwvïÞÍܹsiݺ5�5`íÚµìÚµ‹9sæàççlj'ðññ)Vf~~>/¿ü2Í›7¿&Ùf0˜>}:“'Oæ� %%…¼¼<§b5jÙÙÙ× )-+F�FSnûìŶ`ÁRSSY¹r%‹…¹sç²dÉ[’¯¨¬«Wq"ÿ €ÉlÆ”k”„›B!„d™1!„¸Í&Ý’’’رcGM‡ã°üü|þúë/>þøcFŽiÛ?dÈBBB¨W¯cÆŒ!88˜S§NÙ®Y½z5Ó§O§eË–ЧOt:�íz«ÕÊ‚ ÈÎÎæ?ÿùÏ5õ¦¤¤`±X¸ûî»ñöö&$$„°°°*mWy1–×¾òbËÎÎfëÖ­L˜0???Šõ¼+)++Ëé6X­VŒÙÙN_/„B!Ä­Fz¸ !„¸¡EFF‰J¥"88˜#Fa;žžžÎîÝ»ùí·ßÈÈÈ ==ÝÖËëÊ•+�ÆrdÛ¶m#66–Í›7—ÚÛ¯I“&tìØ‘#FpÏ=÷0hÐ ÛðѪ`/ÆòÚW^lqqq(ŠÂÌ™3meåçç“]Fb,%Í€››†¼<ûó꣣…¿\B!„B€$Ü„âösæÌvîÜIPPýû÷¯épì*\¥T«Õ^“3�L˜0�^½z1a™œ3fðí·ßÞ0¤•vÿ¯×½âz¨êd[eV­Ì §Eùûû“••ÅæÍ›IOOg×®]œ>}Úv¼víÚ„‡‡óî»ï‡Ñhä§Ÿ~Âh4+§[·n<õÔSÌ�;—øøøbÇ Û·oG¯×“››ËñãÇÑét¶…Ú·oÏÖ­[IHH 11‘-[¶”s`` 'Nœ !!�œœœrc´×¾òbsuuå‰'ž`éÒ¥;v EQHJJ"&&¦Ô¸T**Ôõp¡±·+õÜ!HkÅßU!(È‹†�žx«ó ÐZ r³Ò°–ŠÆµ]ñÔþ*qc|— !„Bq#�!¥7777š6mŠZ­¾!{�¼óÎ;ìÝ»—•+WÒ¬Y3»û233ùàƒøî»ï ¥eË–ôìÙ½^Ï©S§xë­·øæ›o˜7ožCCžªÓ�~ÿ…¨¬}ûöÄÃ?ŒF£©ty�“ÉDnnn±EQ˜Ô®l�5âùçŸçÓO?eÙ²etîÜ™®]»;gÖ¬Y,\¸�§Ÿ~³ÙLóæÍiÖ¬™m•ÓBcÇŽ%::šéÓ§³bÅ ÜÝÿ^q3++‹~ø�¥K—’••EãÆ�™7oží{âùçŸç�7Þ`Ĉøûû3pàÀr¿CúõëÇÏ?ÿÌÈ‘#éСï½÷^™1ÚkŸ½ØÆŽ‹›› , )) ___F�]ê|qe%?U*ø|õA+è\U¨ËÌ‘V.y*„B!Ä­¤ª;v¤<•�Ÿ‹îSÙWr+<^øZ]bS.›kÁæxgffº^½ªúöí‹»»»Ý7z¯½öZ©‰µ²ö¼úê«9r„矞ûƒÎjµ²}ûv,X@·nÝxûí·«5~g\¯{+DiÒÓÓ ®²ò µjÕ*s.3gÊËÈÈ@£Ñäpo5«ÕJbb"f³¼½½«$Q9‹Æ$#ñ²Ó×?óQ$A!wTiLB!„âæ¡V«‰ŽŽ¶½nÕª•m$œV«í€|ÀR°ålV@)±Y‹ì§Èë¢EŽSdŸµ”}%.K•%‹¤‡[%ddd°jÕ*Ž;Frr2¾¾¾„‡‡óä“O–Ú»Á‘óûöí‹V«eëÖ­¶×={öD§Ó±oß>Eáá‡füøñÅʶX,,\¸�ü•JÅÃ?̸qã à�â‡zˆÖ­[óñÇðÑGñÕW_1oÞ<î½÷^»õ&ÕÆ��‹‹ ?üðC™û<È?üÀäÉ“y衇øá‡X½z5)))„‡‡³}ûv¦L™ÂСCùꫯ8vì˜mu½œœ>üðC~þùgÔj5ýû÷gÓ¦M :”'Ÿ|Òvozôè�N§cÿþý¨Õjyäî½÷^/^LLL üûßÿ¦}ûöNÝ{EaݺuìÙ³‡¤¤$BBB7n�;w¶Û½{7z½žF�1~üxºuëf»¾¢m¢2ª:±åíí�ÑhÄd2‘˜˜ˆ��îîîe&Þ¬V+¹¹¹ddd`6›Ñjµ’l»�˜uždZ,¸8�8Uü¿—P¬Vò¬ îÞµ¯C”B!„BÜd·JpssãÀ�Ô«W�ððpòó󉌌ä³Ï>«’ó }ûí·:tˆ¦M›rõêUV¯^ÍáÇ‹�c08|ø0!!!¶ÄÒ¡C‡*Ôžòê '$$€‡~˜±cÇ–» **Š 0xð`Nž<É«¯¾Š››C‡eïÞ½X­Vjժţ�> “ƒzýõ×‰ŠŠ¢N�:´nÝšÈÈÈkæ\عs'G�¥I“&¤¦¦²|ùrÆ��ÉdÂßߟsçÎñꫯb2™œ¾ÿåY´hŸ~ú)‹…{î¹§ØÐºÂc®®®tîܙӧOóÒK/qòäI§Û Ä�Æßß­V‹Ùl&99™K—.WêvéÒ%’““mÉ6ÿš_áß 1™ f³Ý-Íl"Íl"ÝlâªÅŒ»�^>ujº B!„BÜ0¤‡[%èt:6mÚd{ÏÈ‘#9r䈭VeÎ/äååÅÚµkÑh4¬[·ŽO>ù„'Në)åííÍ矎V«eÕªU¬ZµŠ“'OÒ½{w‡ÛS^=={öäÇäܹs<üðö¡£eí¸pá-Z´@­Vóå—_ð¯ý‹6mÚ R©X¹r%àááÁ¹sçl÷åàÁƒ²|ùr\]]Ù¼y3‹-*3fV¬XÁš5kèׯÓ¦M`ôèÑ\¸p�¸¸8š5kæÔý/Krr2[·n¥aƬZµªX¯F½^ÏÖ­[iÚ´©­ Û·ogþüùDFFë­VÑ6q#quu%((ƒÁ€ÑhÄl6—¹ˆ‚J¥B£Ñàáá!=Ûn@£¦¼FÄÓSœºVëæŽ‹«üJ!„B!D!ùí¸’þøã6mÚDtt4W¯^Åjµb0ªì|ÛÄâmÚ´�‚¹�Šruuµ%|Z·n ½Þ*‘ze2™¸rå ½zõàâÅ‹¨T*î¸ãïù} cõðð@¥RQ«V-[ϰ .бcG\ þ€«S§ôž...¶ù¨ZµjãÆ ………qá®^½ NÞÿ²œ;wEQèÒ¥Ë5Cˆ‹+lCïÞ½™?¾­}ζAÔŒ¥K—ðì³ÏÖt(7$oooI¢Ýä4Z7jûÕ­é0„B!„¸%H­âãã™}šÔÔTÔj5>>>´lÙ’V­Z¡V«Ù´iz½žþóŸ5®B!„BˆÛ”ÌáV üñ&“‰®]»r×]wQ»víR“/…û=¿ªNb~ñâEÛ<`ÎÌVØS+33Óî~•JE£F�ˆ‹‹ k×®|øá‡¬ZµÊ6´óâÅ‹lÞ¼«ÕJïÞ½hذ!‡¶ÅYÚümåìý/zÎ?üÀ�ŠÅyèСkîg“&MøùçŸmÇŽ9‚Õj%44´Òm¹egg³iÓ&8@RR‹“É„^¯gÿþýlÞ¼£ÑHRRRM‡*„B!„â6'=Ü*¡°GÖöíÛøóÏ?m½³ Õ®]›„„>ýôSî¼óN»çW­VK‹-ˆ��å™gž¡N�:;v¬Âå4kÖŒ]»vñá‡r÷Ýw3fÌ´Zm™û[¶lITT.\`ôèÑ$''sðàARRRø÷¿ÿ͆ ˜3g*•Šýë_ÛêiÛ¶-¿ÿþ;'N$44”ƒVú>8ò~•TôýëÑ£¯¾ú*6l yóæÜyç�œ8q‚‰'Ò¹sgÎ�;ǸqãhÓ¦ ]ºtáèÑ£<ùä“ÜqÇüôÓOhµZÆŒSé¶ÜnòóóÙ¾};©©©øøøÐ½{w‚‚‚°Z­$$$pèÐ!ôz=;vì¨éP…B!„BéáVíÚµcôèѸººòí·ßÀ}÷ÝWìœgŸ}???¶mÛ†›››Ýó«Ë¬Y³ ãÊ•+äää0yòä —ñÈ#�ðàƒ’””ÄŽ;l½×ÊÚ?fÌÜÜÜxÿý÷øÏþ÷ß~ËgŸ}Fÿþýùä“Oøä“Oøæ›o2dH±ºæÎ�˽÷ÞKRRþù§í>©T*§ï�#ïWIEß?ƒÁ@³fÍ ÃÏÏÏgÿþýÉÌÌdË–-¤§§“——+­4£ÑÈáÇiݺ5ü1 4pº ·«?þøƒÔÔTj×®Í�!ChÚ´):�BCC2d^^^èõúšU!„B!„Àùì…óå©ìü\tŸºÈ¾’[áñÂ×ê› p)Ø\ 6À;33óÐõÊ)þîMöÞ{ïÄĉiÙ²%þþþèõzÎ�;G�=*ç›o¾aÁ‚L�:•AƒU{ÜâÆ²aÃ’““éÓ§Ï5+µnÚ´éša¤*•ªÊçp«‰EÒÓÓm=?…B!„âF¦V«‰ŽŽ¶½nÕªŠ¢Àß#ïº °lù›PJlÖ"û)òºèF‘ãÙg-e_ÉŸËReÉ"R*ªÕC=DÓ¦M™?>sæÌ)v, €{ï½·Ô,‹mn8À6oZHHÈuˆZÜh WË­_¿~±ýV«µÊçl+L¬Uô¸¬^*„B!„¢�$ÜDµkݺ5kÖ¬!==�³gÏ’••E`` -Z´(s5Ô¨¨(¶oßNëÖ­9wî'Nœ S§N´iÓæºÇ/jÞĉKݯR©$Ñ%„B!„â†# 7qÝøúúÒ©S'‡Î­]»6f³™¨¨(üüü2dH™Iqks´G™ÑhdõêÕ¸»»3~üx§ë++�WCJ…B!„BÜœ$á&nHááᄇ‡×tâUÚ¼fñññP�ØB!„B!j’$Ü„7 ooo†Š»»{±ý¹¹¹;v €ÐÐЊN!„B!„ø[éh !Ä ¦nݺ 6mÚÄÙ³g1™L˜L&Î�;ǦM›¸zõ*uêÔ¡uëÖ5ªB!„BˆÛœôp«„�7’““ƒ¢(äääP«V-š4iÂ}÷Ýçp9™™™DEEñøã�—{žÑhäË/¿dĈ¸¹¹U:~!n& **ŠäädvíÚuÍñºuë2`À\\\j$¾Û�Á`Àh4b6›±ZK_I[¥R¡ÑhðððÀÛÛûºÇ(„B!„׋$Ü*aèСP�0Û²e O<ñDµÖ§ÓéèÝ»·ÝdÛ¡C‡hÛ¶-žžžÕ�×Kpp0DDDpêÔ)þúë/ÒÓÓQZ´hAXX˜$Ûj€Åb!%%“Éd÷\«Õjë™h4ñ÷÷ÇÕUþB!„BÜzä/�›ˆJ¥¢Q£FvÏ»|ù2-Z´¸.1 QÝŠ® êââB»víh×®]�Æ!þ_a²M£Ñàã・»;*•ªÔs­V+¹¹¹ddd`2™HII!((èºÇ,„B!„ÕMæp«F lܸ‘uëÖ±eËÒÓÓmÇâããùꫯX·n{÷îuè:«ÕÊòåËP…}ûö±nÝ:Ö¯_ÏáÇ8qâiiiìܹ“ï¿ÿþº¶Wq{1 ¶d[PP:�®Ìdÿi Óé B£Ñ`2™0 åÖ1{ölºuëF·nݸ÷Þ{>|8_~ù%Š¢Ø�oøðá|öÙg·Çd2‘››[æñqãÆ±mÛ6‡Ë«.&“‰nݺqùòep¢�·³ÒÞãŠÜ¿Ê<öž¯êTò™©èñÛUeîË�ò}QSn÷ö !„H·ê“——Ç®]»xä‘G¨]»6111|÷Ýw<öØcäææ²{÷n"""¨]»6çÎ�ãèÑ£v¯+*..ŽôôtFŽ @~~>wÞy'gΜ¡W¯^øùùÕ@Ë…· £Ñ€��O¹‰¶’T*>>>$''c4íÎçÁ³Ï>KNNG�eÁ‚äää0vìØr¯ëÙ³g…zû®ZµŠøøxæÎ�ëð57‚жóvVÚ{|½îßÍú| !„BçH­š$&&R§Nj×® @XXG�Åh4’œœŒ¿¿¿íXݺuºN§ÓÙÎóóóãêÕ«ìÛ·�ÐÐP4hpÝÛ(„¸½™ÍfÜÝÝ+|má5…e”G«Õâé鉧§' 33“Õ«WÛM¸=óÌ3Žëft»´³ºÈýB!„ÕAnÕ$??¿ØâV«•üü|Ôj5‹¥Ì…Ê»®(oooFŽÉùóç9yò$Ç�gРAÕØ"!„(®p5ÒŠôn+TxMY+š–§}ûöddd`4ñðð`ܸq 6Œ;vpêÔ)Þ~ûmºté¸q㈈ˆ`àÀ�P0Ä)<<œ}ûöqþüy4hÀÔ©Siß¾=k×®eõêÕ|ÿý÷ <˜iÓ¦]S÷ÁƒY·nz½žÖ­[óÒK/ѰaC(êÿù石}ûv222h×®S§N%88³ÙÌ’%K8pàÉÉÉ0~üxúõëg+»¬väçç³|ùr¾ûî;²³³¹çž{ŠÅT‘vRðïÌ'Ÿ|Âwß}GNNááá?~œE‹Q¿~ýkÊîׯ»wïæìÙ³4iÒ„iÓ¦æP›:ÄòåË9þ|˜éÓ§³iÓ&Z·nͬY³0›ÍŒ5бcÇòÀpðàÁR“mz½ž7ß|“uëÖáççÇ?ÿùOÛ¼\ÿýïùþûïyûí·Y³f Z­–gŸ}³ÙŒF£¡aÆ̟?Ÿõë×óÐC1wî\ââ⊕_Z;–.]Ê¡C‡˜?>kÖ¬±»RuyíX²d ‡æÝwßeõêÕ¨T*.]ºTfYÛ¶mã_ÿú‘‘‘´mÛ–^x�ÌÌL»m2 LŸ>��²uëVÞ}÷]î¿ÿ~»Ç,X@\\+W®dÍš5\¹r…%K–8tmY}�×®]KTTsæÌaíÚµ<øàƒøøø;'??Ÿ—_~™æÍ›3a»1—V·³ípäY²÷Ì8òL•ö,:û¾\�÷ÛÑÏXyŸ�Š~ÖÊúlº|ù2Ó¦M+µ®ò¾/‰µ¼{VšòÊrıcǘ5k7n¤~ýúŒ;–ÄÄDÞÿ}Ö¬YC||<üq±kÊû¾t$þ’Ï ³Ÿ!„¢¦H­šxxxлwovïÞMdd$±±±ôéÓÇvìþûïg×®]|ùå—œ9sWWW»×•ššj»~×®]Üwß}¶#wÞy'GŽáÛo¿½Î­Bˆê“ŸŸÏ_ýÅÇl›¿²Ðĉ0`Íš5+wˆkÿþýiÑ¢~~~Œ3†ÔÔTâããŽá‘G!44”àà`^~ùeT*{÷îÅd2ñÅ_0cÆ BCC©W¯¯¼ò F£‘Ÿ~ú €!C†B½zõ3f ÁÁÁœ:uªÜv˜L&6lØÀÌ™3iÞ¼9ÁÁÁ¼øâ‹vã,«�yyylܸ±Bå 6Œ¶mÛÀ¤I“ðññaÏž=vÛ”’’‚Åbáî»ïÆÛÛ›��[ïŸòŽegg³uëV&L˜€ŸŸÅzÛ”wmeåçç³zõj¦OŸNË–-  OŸ>Ŧt°Z­,X°€ììlþóŸÿ8si*ÓŽògÆÑgªä³X™÷åz½ßŽ|ÆÊúl8óY+ï³0hÐ ÂÂÂJ­ËÞ÷Ey±:ó¼U²à¢m IDATö»¯_¿~4oÞ???FމÕjeäȑӰaCÈÉ“'‹]SÖ÷¥£ñ—|«ó³/„BTRZ¼¼¼xâ‰'®Ù߸qc7n\ê5!!!„„„”z¬¬ëT*'N 88˜Áƒ—z}ýúõyôÑG+Ø !„¸1EFF‰J¥"88˜#FQìGz}•ŒN§³-þPQZ­–öíÛsá®\¹‚Åb)6ù¾N§£M›6\¼x€ôôtvïÞÍo¿ýFFFéééäåå•ÛŽË—/£(J¥&õ/ÚÎ+W®Tª<µZM»víjS“&MèØ±##FŒàž{îaРA¶!kå‹‹‹CQfΜi«7??Ÿììl»×VÖ•+W0�åþ¿mÛ6bccÙ¼y3Z­Ö¡˜KS™v”wßí=3Ž>S%ŸÅʼ/×ëývä3VTÑÏFe?k%?åÕåÈ÷Ey×;ó¼•U–3š6m ÉÛBMš4!''§ÌkŠ~_:Ég°:?ûB!Du�„›BˆZá*¥Z­Ö–à¨*ÎÌ?W”F£A«Õb2™Påš97 c6�L˜0�^½z1a™ÎÔUôûÂGÜÝݹpáB•”UTYß—•�ßÙϾBq½IÂM!„S*³ÒheV8­.���œ8q‚„„„2‡F­_¿žØØXÒÒÒX¼x1Š¢އ‡dþüùÄÄÄ�––Æûï¿�¯¯/]»vÅßߟ¬¬,6oÞLzz:»víâôéÓvcòðð ÿþ¼óÎ;DGG“––ÆÊ•+�n£3åý÷¿ÿå§Ÿ~"==�ÿþ÷¿äääpÿý÷Ûm“Á``ûöíèõzrss9~ü8:�Ÿr�¹ººòÄO°téRŽ;†¢($%%c·\€þóŸ,_¾¼Ô¶Ø{�k×®Mxx8ï¾û.qqq¶9µJ½ëÖ­O=õsçÎ%>>ÞnÌ¥Õíl;ìÝw{ï±³ÏTeÞ—ê|¿½/öTågѺÊû¾°Ç‘ç­"Ú·oÏÖ­[IHH 11‘-[¶8UNIe}_:¿£Ï‚Bq£�!¥B!œ¢Ñh0™Läææ›TÞ…+Õi4šjŠ®âúõëÇÏ?ÿÌÈ‘#éСï½÷Þ5çtìØ‘éÓ§c4¹óÎ;Yºt©mÑ›)S¦ðÑG1}út, ]ºtaÑ¢E¨T*5jÄóÏ?ϧŸ~ʲeËèܹ³CXL�:•E‹1eÊ4 ýû÷·õ�qFÑò\\\l ó”5Œ®sçÎ,^¼˜ÔÔTÚ¶mËÒ¥KÑh4vÛ”••Å?üÀÒ¥KÉÊÊ¢qãÆÌ›7­VKJJJ™ÇÆŽ‹›› , )) ___F�MXXX¹åRðGy�:uJm‹#ïñ¬Y³X¸p!O?ý´m5ðfÍš[·0Æèèh¦OŸÎŠ+Ê�¹´º_|ñE§Úáȳdï™qö™rö}©Î÷»"÷ÅžŠÞ—²>Ž(ïûÂöž·Šxþùçyã�71bþþþ 8°Jz—÷}éLüŽ> B!Ä�¢ª»8RžÊÎÏE÷©‹ì+¹/|­.±©—‚͵`s¼3339Ó#C!®§ôôt‚ƒƒk:Œ2 222Ðh49ü‡¢Õj%11³ÙŒ��ÞÞÞÕ«([jj*=ôûöí»æ×qãÆÁÀ�k,¾ŠêÓ§o¾ùæM?™ú­ÒŽ[ÕÍøÙB!ª›Z­&::ÚöºU«V(ŠOÓ0ù€¥`Ë/ج€Rb³ÙO‘×E7ЧÈ>k)ûJþ\–*KÉ�R!„NñööF«Õb6›ILL$''§Üá¥V«•œœ[²M«ÕJ²íð×_Q¿~ý[¢—HBBf³™öíÛ×t(•r«´C!„âv&CJ…B8Íßߟ””L&ÉÉÉ_§Õjñ÷÷¯ÖØDé.^¼ÈÅ‹éСiii,]º”Q£FÕtXUÂÝÝ�÷ßÿ¦OÞ*íB!„¸�IÂM!„Ó\]] Â`0`41›ÍeörS©Th4<<<¤g[ ÊÌÌdÕªU¼òÊ+Ô­[—!C†0xðàš«Jøúúâëë[ÓaTÚ­Ò!„BˆÛ™ÌáVA—.]rê:!„hذ¡ÃçÞès¸ !„B!D!™Ã­8éáVAùcY!„B!„BÜ~dÑ!„B!„B!ª�$Ü„B!„B!„¨B’pB!„B!„¢ IÂM!„B!„Bˆ*$ 7!„B!„B!ª�$Ü„B!„B!„¨B’pB!„B!„¢ ¹ÖtB!„=&“³Ù‚ÕjÅjµÖt8ŨT*T*�+Z­¦¦ÃB!„BÜ$á&„↥(VrrrQ¥¦C)Sa0/Ï„ÙlA§sG­VÕtXB!„Bˆ$CJ…Bܰnôd[IŠ¢�““[Óa!„B!j˜ôpBQiƒ£ÑˆÙl.sÈçßÃ.5xxxàíím·L“É|S%Û )Š‚Éd–á¥B!„BÜÆ$á&„Âi‹…””L&“Ýs­V+&“ “É„ÑhÄßßWײÿ2›-Uíõc6[$á&„B!ÄmLnB!œV˜lÓh4øøøàîîŽJUúüeV«•ÜÜ\2220™L¤¤¤TfÙ7Úâq3Ç.„B!„¨<™ÃM!„S ƒ-Ù„N§+3ÙFÁ�R�NGPP�“É„Á`(óü›9ie/öÙ³gÓ­[·k¶Y³f0nÜ8¶mÛf;øðá|öÙg×_òú’L&¹¹2לB!„ÕEz¸U½^OZZYYY˜Íf4 žžžøùùPÓ! !D¥�F|||ÊM´•¤R©ðññ!99£ÑèÐ|n%……µàñLJóê«sŠÅÓµkg~ÿýT…Ë+ÍéÓ§™3çêÖ `Ñ¢ˆ‹‹ãµ×æpâÄÿÈÊÊfôèѼüòœ.?""‚gŸ}¶Ø¾²†ØöìÙ“-Z8]WI«V­">>ž¹sçVº,EQ0 üyú, )éúÈáó'NœHTTT…êBˆ›Áë¯Ïåƒ> --­ØþŒŒ ÆŽͲeŸðË/¿òøãÃ?~,#FŒdË–¯mçîØEDDD…ê=uê111üãÎ'Ü6mÚÄý÷ß_l+ì…Vž¼¼<6nÜÈÌ™3iÞ¼9ÁÁÁ¼øâ‹×œ7hÐ ÂÂÂðóóc̘1¤¦¦o·|• öü©çÉõ¿ò̆ã4sç‹ßÎ1eÃQÞÝõ;Ú”sÄÿÍ€FZú5rÏ:ÌV¨3Ó®QOßC»zµ�¾/B!„BÜ ¤‡[%ÅÅÅAAÏ6‡¯óññ!44”³gÏ'ó¹ !„üýýyá…˜3çUÞ~ûÛþ#GŽÐ¦Mš6ý»ñˆ#yë­y$%%Ñ«W/^zi*W¯^åìÙ3´nÝ___‡ëÌÊÊâé§ŸbáÂEh4§cüñÇ™thàK·&uö÷Å××¼¼¼œZ(C!„BˆÛ‰$Ü*!++ ooo»ç–¥ðÚ²œuôèQ¦L™Bdd$­Zµâ•W^Ál6ÛŽ'''3gÎV­Z…¯¯//¼ð¹¹¹P�TûñÇ™;w.Ÿ~ú)Z­–É“'c6›5j‹…Í›7°bÅ BCCéׯ_¥âBÜü*³ÒheV8-MË–-0`€íu@@‹/aâÄ'¹÷Þ»Y¿þ –/ÿ¯íxhh3²²²èÑã>\\\ªcíÚÏÙ¸q#{öì¡S§ŽtêÔ‘Ç{´Jâ/ÉÇLJ˗/—zo=<<èß¿?ï¼óÑÑѤ¥¥±råÊ •ȉ'HHH¸fá!„B!DåÉ�ÒJ(Lh¹»»;]FáµE“cÎxðÁ¹ãŽ;9r$[·nåòåË4iÒ &Ï.\ uúôé<þøãüøã�ôêÕ‹/¿ü’?üÐv|Ö¬Y 6ŒƒΔ)S˜1c 4à»ï¾«ðvBˆ[“F£Ád2‘››‹N§«Ðµ… gç@‹‰ùóš}³g¿ÊìÙ¯Ú^÷éÓ§ÜUDwìØi·ž�1pà F�ÃèÑcœŠ·¢üqÞ~ûmΟ?Ï;ï¼sÍñ©S§²hÑ"¦L™‚‹‹‹­�Ž1íׯ?ÿü3#GޤC‡¼÷Þ{åžo6›9wþ�>C’>™à  7jHãÆ ñòôt²•B!„Bܺ$áv ²79¶V«¥]»v\¼x‘„„,‹-Y ÓéhÕª•mAˆöíÛÓ»wofΜɬY³dRl!ô´2™Ldddàîîîpo5«ÕJFF†­ŒÛÑܹsË=ÞµkW¾þúÿWR]µjU±ãîîî̘1ƒ3f�ššÊúõë©S§N©ç|ÿý÷¶ŸÝÜܘ?¾Ý8�û•C‡�ò×鳨ÕjêÖÁÅÅ…óç/ò˯ÿ#IŸL×ÎèpW{ÅJ@@]‚ƒ*>§©B!„·I¸UBezwªl/�²ØûÃW£ÑØâW…üüüb=#´Z-Z­Ööº~ýú(Š‚››[•Æ)„¸yy{{c41™L$&&âããSnâÍjµ’››KFFf³­V[î�|•JåÔpÕÁõžã쯿þ¢~ýúž·«B§wR·NþˆŽ!:æOÎ_¸H~~>ÁA�4iÜ€w¶!Û˜Ãá#ÇhÙ¢9M›4ªÒú…B!„¸YI­<==IKKÃ`08�p3 ¶²ªSÑ?Z­V+111Ü}÷Ý4hЀß~û�Ž;BÁÄà±±± 8€¸¸8Ö­[ÇsÏ=ÇÂ… 騱cµÇ+„¸9øûû“’’‚Éd"99Ùáë´Z­ÝÞ²’p+ÛÅ‹¹xñ":t --�¥K—2jÔ¨*¯ÇÅÅ…��&„„4aÐCý0�èõÉ$$&qþüÒÒ¯Ò´ �:Þåô¿ƒB!„BÜŠ$áV ~~~¤¥¥¡×ë tn�^¯·•U�6lØ@óæÍ `ýúõ(ŠÂ}÷݇««+ àý÷ßgöìÙ²fÍ|}}éܹ3Š¢ðÖ[o1bÄ{ì1Nœ8Á’%K˜>}zµÆ+„¸9¸ºº„Á`Àh4b6›ËL’©T*4 -6£Ñ¸’—gª†¨«ŸFS½ÿ¼fff²jÕ*^yåêÖ­Ë�!Cu‘}%·Âã…¯Õ%6àR°¹l.€wff桪¦¤×ë9sæ ­ZµÂÇÇÇ¡ë222ˆŽŽ Y³fÕžpBÜ|ÒÓÓ ®é0j”¢XÉÉɽi’njµ�εúúÎá&„B!DMS«Õ¶<9’ÂßãµZmwÀä–‚-¿`³J‰ÍZd?E^Ý(rœ"û¬¥ì+ùsYªlNµçˆr@tt4IIIv¯IJJ²=„AAA’lBˆ2¨Õ*jÕÒáæ¦E­V_÷Å¡R©P«Õ¸¹i©UK'É6!„B!„ )­ !!!$&&röìYôz=x{{ãîî«‘ ôz=™™™P�l+¼V!DÙ´Z� _B!„BÜ4$áVEBBBðôô´ÍéV˜T+�V«¥Q£FÒ³M!„B!„â$ ·*@@@z½ž´´4²²²0›Íh4<==ñóó“D›B!„B!Ä-LnÕ 0ñ&„B!„B!n?²h‚B!„B!„UHnB!„B!„BT!R*„â†g2™1›-X­V¬VkM‡S*•J…J¥B£q•U…B!„¸ÍIÂM!Ä KQ¬äää¢(JM‡bWa20/Ï„ÙlA§sG­VÕtXB!„Bˆ CJ…Bܰn–d[IŠ¢�““[Óa!„B!jˆôpBQiƒ£ÑˆÙl.sÈçßÃ-5xxxàíím·L“É|S&Û )Š‚Éd–á¥B!„B܆$á&„Âi‹…””L&“Ýs­V+&“ “É„ÑhÄßßWײÿ2›-Uíõg6[$á&„B!ÄmHnB!œV˜lÓh4øøøàîîŽJUú¼eV«•ÜÜ\2220™L¤¤¤TfÙ7êâq+´áft95—z~ne>‹B!„BT7™ÃM!„S ƒ-Ù„N§+7Á¡R©Ðét¡Ñh0™L †2Ï¿’UöÚ0{ölºuëF·nÝèÞ½;ƒ bÞ¼y¤§§;\‡Éd"7÷úϧ( ,àÁdذaœ?žqãÆe;gøðá|öÙg—9nÜ8¶mÛVæqGÛ:û‹hÖí�w¸^!„B!ªš$Ü„B8Åh4àããS¡žD*• ŸbeTTXX ^{mÎ5ñ´mÛÚ©òJŠ‹‹c„ñtìx-ZÜÁ›o¾a;¦( ‹-äÞ{ï¦eË<øà?HJJrº®ˆˆöìÙÃÎ�;™;w.111¼òÊ+_¿jÕ*Þ|óM§ëwÖ¶mÛøõ×_Y·nË–-£aÆלӳgOZ´hQeu:ÚÖÚ0eå\Зý|åšó«,.!„B!J’„›B§˜ÍfÜÝÝ+|má5…e8#**Š˜˜§¯/Oll,&<É/¿gË–oøì³5ìÝ»€7ߜ˥K—ؽ{/11±,^¼„ºuë:]—V«ÅÓÓ“ÚµkÓ¾}{^|ñE~ùå²³³«°EU/..ް°0üýýñóó+u>¾gžy†®]»^÷Øh_—¬\ Í;Äʃç¯éi˜gQèµd?Ù¦›ž@!„Bqc’9ܪÁ¦ÓWØ—ÌïÉ’Œyz¸Ñ¶®7½ÕeHóz5¢BTZaÙy² ¯©Ì°ÑyóÞbêÔÙ¾}G•ÏÕÕ§OÛÏaaaôëן˜˜hºtéÂ×_Í¡CGpssàŽ;î¨Òº çÁÓhþ^lÁl6³lÙ2öîÝK^^=zô`Ò¤Ixxx°víZV¯^ À÷ßÏàÁƒ™6m `Μ9tîÜ ˆ'NdÿþýP0tsذaìØ±ƒS§NñöÛoÓ¥KÆ�Gxx8ûöíãüùó4hЀ©S§Ò¾}ûb1¾ýöÛ|óÍ7ìܹ“��>ÿüókÚ2nÜ8"""8p ùùù|òÉ'|÷ÝwäääÎñãÇY´hõë×à×_å믿¾¦þ²ÚZÈ¢(¬ûåñF3Œ<^‹;<µ¤\¸L´�OOOÜÝÝÑh4|tðVEÁC+¿ !„Bˆê!¿iV¡M§¯°è׳\ɾv~™+Ù¹\ÉÎe×=‹~=Ë䎡’xBˆJ¸ï¾ûؼy_|±Ž‘#G]süèѣ̞ý2©©iÔ«Ì‚ iÞ¼9ãÆ�¥_¿~ ö¯¿þõë7`„ eÖ¥×'ѧOΜ9Mhh3¾ÿ~/k×®EQò™4éßtëÖ­Òí±Z­$$$°téRyä´Z- , 55••+Wb±X˜;w.K–,aÚ´iŒ5Šììlâãã™;wn…ê[¸p!“&MbÒ¤I4hÐÀ¶ÿðáÃLŸ>�ºuë²|ùrf͚Ŗ-[l @€3fP«V-222˜={¶Ãu.Y²„_~ù…wß}OOOÖ¬YÃ¥K—Š�sùòe¦M›F```±úíµÕU­fL—ƶ×999ÿíÒ32ˆO4£sËÀCçŽV£áÑf:†5÷àâ… xyyáååe»ßB!„BTRZEæüËKûOq%;—»jóÆ=aìzŽ{€?Ç=Àž¡÷ðÆ=aÜP›+Ù¹¼´ÿs~Ž­é°…â¦öúësùàƒHKK+¶?##ƒ±cG³lÙ'üò˯<þøpÆ� Àˆ#Ù²åkÛ¹;vDQf§N�"&&†ü£z}2gΜæäÉ“|ðÁLœø4#FŸB\b2çã¯�˜œBJj*/Æqä—_I˸Zé6 !„BQHz¸U�9?ÇòyÌßÿCÿÆ=a oÙàšsšÖö im†·lÀúØxþs0ÆvÍœ»[^÷˜…âVàïïÏ /¼Àœ9¯òöÛïØö9r„6mÚдi$ÙÞzkIIIôêÕ‹—^šÊÕ«W9{ö ­[·Á××·Ôò³²²xúé§X¸p�???t:Ó§Ï@¥Rqÿý½ ãØ±côíÛש6 :”ýë_(ŠÂˆ#Š ��‹‹CQfΜiÛ—ŸŸ_%ó»‰-Opp0:�ÎéÅ-ŠØO« IDATºrå Š¢Th…ŠÖÿÆ®Zz‘`ÈåRFé³8ŸNRf••æþµ¸ÓÇ̤nAääå¡Ì3^¸„‹‹ ]:v(u.:!„B!*J~«¬¤M§¯Øg«ûvà¾úu0å+¬ÿó2ßœIà¯ô,îðõdp³`oQŸá-ÐÀKÇØ�Çù<æmëzWhxék¯½Æ… X¹re©ó�>}š &°xñâkæÝBˆ[ͨQOðå—‘:tȶÏl6áååm{�ŸŸO^^�"""øöÛüñÇŒ1²Ôr- '>É#�D~?M›6%55•üü|[bÆÛÛ»ØpËŠruuµ g=z4K—.åñǧV­Zxyy°bÅ üüüœ®£2ªj~<‹Å‚¢((Š‚ZíxûŠÔߥ±;c’кª©[KKû»0¢•7qÑÿÚ•Î]íÚræÜjû„‘xú mÂZrüÄIîíО:uü*—B!„å‘ß,+iѯg¡ gÛ}õë�˜�KĶ£¼~(–“ÉWɱä“cÉçdòU^;Ë�mGIÌÎå¾úuxãž°beTÄÙ³g‹ýqYÔÚµk+Ù*!n?éééìØ±ƒ~øÁ¶Ïjµrüøq"##Yµj7n¬’ž>¢j©T*Þ{ï}^~ùÿ{�uéÒ•~":: †�6kÖÌ–´1b$›7oâÈ‘#„‡‡_S¦¢(<÷Ü?iРS¦Lµí÷÷÷§K—®,\ø>ô@ûý÷ß騱c•´¥ÿþ¸¹¹±a‚‚ðððàÀ�å^g±_mÓÝÝ� .TILU¥pQ„'NTªœ’m-ªOË@Þ¤olôÞ-Ù±!Ãîn͘Á}éо-¡!MxdÐê× ¦ï?zÓ A}P©1™-Ô­[WnB!„¢ÊÈo–•°éôÛœmÃ[6À”¯ðäîĤf–yMtj&Oí>�)_ax˶9Ý6�¾R¡º}}}KM¬ÅÇÇsâÄ [¯!„}‡æ»ï¾C§ÓÛäÈ C‡eܸqôîÝûšsng•Yi´2+œ–¦eË– 0Àö: €Å‹—0qâ“Ü{ïݬ_ÿË—ÿ×v<4´YYYôèq...×”·víçlܸ‘={öЩSG:uêÈc�= ÀâÅqòäI:t¸“1cFóÉ'ŸâããS%íÐjµŒ1‚/¾ø£Ñˆ««+O<ñK—.娱c(ŠBRR111¶k9qâ äääо}{¶nÝJBB‰‰‰lÙ²¥Jâ³Çßߟ . (Ê5Ç<<<èß¿?ï¼óÑÑѤ¥¥±råÊ •_Z[Q×ߟÞ÷‡Ó´Iê[ aЀ¾´kÛºBq!„Ba�$Ü*ao\2€m8èú?/—›l+�šÉ—ý{wÞd•ÿÿÿ™4I›] @[)»,Š"¢((KY‹,#"P@ÜÀÅíã0‚ ¢¨ã‚"¢ ‹Ëðc‘úqA@Eeq”"eßZZh)%-Išüþ É4ÐÒ´ ”åõ¸®ûº’û>çÜï;(%ï¾Ï9}úzÆòW||<`Ë–->ççÏŸOÿþýÏšÞäp8xûí·8p }ûö套^*Õ—‘ËY£F�4huëÖõž³ÛíìØ±ƒ[n¹Å;u0222` ¢Ë�ç¼³wf.‰§OY§bnÛ¶ý¬5Èžyæ9~ÿýïû®]»òÃëùá‡õ|òÉBŸ�8¾ü2‰gžy®Èñ‡ ÎÑ£™üöÛf~ùåW~ùåW-:]uÁ¼yóùí·Í|óÍ·tèСLÏPœ¾}ûðÙgŸ�˜˜È°aÃxå•W¸ýöÛyà�ؾ}»·}||<-[¶dÈ�!ÞCÇ�GõêÕ¹ûî»yðÁ‰��½ »p4ˆÕ«WóÄOyý±Ç£uëÖL˜0�aÆa·Ûü®,+êYÏÅáp�‘q”­¿ÿ—o¾ýž-[ÿ˱cÇ8q¢äŸÕ"""""åèoŽþŒg(áuásÆBçÎ<<×=ï�g ¨à0A@؉'6”¥"ãL·,\Ë¡“y¬Ð�¸ðPî\ú[Ò³ýêÛªF8Ÿ÷¾‘ÝÇmÜñÙ:b+…°ö®[üêûüóÏS·n]L&[·n套^ ==�#F°`Á†ÊóÏ?ï]Ãíå—_æèÑ£<þøã8�N¦N�J�:uxôÑGËñ ˆ\^vîÜɾ}ûèÔ©GŽñ.¼¿mÛ6Ün7×_=111,žÌÌÌ z¿ÒÊÎÎ&++ ³ÙLtt´ßÉH·ÛMjj*‡ƒˆˆŠlwâDù7¸T©R©¢C¸h=z”^½zñÝwß4!øÛæ-9’ÎÉ“'9yÒFXXeòòN‘›—GÊÎݤÉ ²j$õ®ªKÜUuiÚ´1õ®ªëÇÈ""""R£Ñè]Ò Y³fÞ™‹¥=� ä΂#¿àp®3w¡óz_ø Ðu �sqîÌ×Å)²¨€*ÜÊ!Ív €:UNO1Û‘éÿ—ÿŽåøôõŒUýúõã�?þ %%€E‹Ñ£G�³¦“Úl6–/_Nbb"‘‘‘T¯^�‘#G²víÚRßSäJ‘››KVVééétêÔ‰k®¹†+V¨2´�°°0, ‡ƒÔÔTrssÏ9½Ôív“››ëM¶Y,–b“mpºiEºžá|ú믿¨U«VÀ«ï®mÙ‚Æ�Ò²EsªT©Âšo×±zÍ÷lüe¹¹yÔ¯_�Ȉpþú+…=ûöc4èŸC""""XÚ¥´‚ð¬råÊ$$$0þ|}ôQ’’’øðÃÏj·oß>\.Ï<óŒ÷ËŸÓéÔâï"çŒÉdâÆo N�:T­Z•´´4êÕ«WÑá]4¢¢¢ÈÈÈÀn·“žîÿÔx‹ÅBTTÔ9Û †2­w1QÂÍ×Þ½{Ù»w/×_=ÇŽã­·Þâž{î ø}‚‚‚¨wúÿÓÆ�Ò­Kg¶ÿ•ÂÛ’ùóÏd<ÌMíndÔˆ¡T/á¿C‘²P­j†sèdûOäJ£ÈJ~O)mY€ý'r½c•ÅÀ�KõêÕéß¿? çý¾¡¡¡\×ê®ku ¬íVÖõEDDD¤hn·Ûû ù¨¨¨Kþ—çå¥oåвz‡NæñãácÄ…‡’Ð0Öï„[BÃÓë2ýxø˜w¬²ˆŒŒ¤G�|ñÅEîZ Mhh(ëÖ­£W¯^eº�È•ÆjµÃo¿ýÆ 7ÜÀ‰'ÈÈÈ fÍšÚE),,̯$ZiX,fg‘;^^ ŒF#‹’:…µhÑ‚9sæTtJ¶‰ˆˆˆœn·›êÕ«M~~þŸpS©F9Ü^·:Ÿï8À]MjѬZ•zA³jUø[ãZ>}=c•Ebb"3gΓÉÄÝwßͬY³øõ×_q¹\9r„äää2ßSäJйsgÒÓÓùøã�IJJâŽ;î8kgL9¿¬Ö�K²ªÐh4bµ†Tt"""""”ÛíÆét^ñÉ6TáV>ýÅòÚ¯;Ùtä8 ’0¸imÞëÒŠûVmæÏ£'ŠìÓ¬ZÞëÒ K�‘ÉØtä8±•Bèß(¶Ìq„……yw#-ÎСC fæÌ™¤¥¥ÉÝwßMÓ¦MË|_‘ËMƒ hР�÷}pp0ñññÓ•Îh4P©’»Ý�Ãqú÷ÅúÃÛ`0L›5©²MDDDDä èÕœýÏPÂëÂ猅Î�yx®{ÞÏ8 @PÁa*8‚€°'NlÔ¶ÏwâñïÿàÃî×sK­jØó],úë KR{w#mRµ2}Æð·Æµ°Y{ð(‰I¿0½cór%ÜDäò”™™ILLLE‡!"""""R.‹¥=� ä΂#¿àp®3w¡óz_ø Ðu �sqîÌ×Å Øo÷•p €ÿ[ŸÌÇÛöð¯W3¸iÑS;=$àéuÛzuþï&U™‰ÈÙ”p‘ËÁ•˜pÓ”Òð$Ì>Þ¶Ÿ§×mãó‡èß(–v1U©SÅ »‘þxøŸï8Ħ#ÇAÉ6‘Ë’nò75¥eõ0ïšnž¤ZQb+…ðHëšF*"""""""rRÂ-€ú7Š¥£X>ßqˆ¯÷¥ó{z6i¶SÔ ¦eõ0n¯[]‰6‘˘nç�'ñ&""""""""W£mDDDDDDDDDÄOJ¸‰ˆˆˆˆˆˆˆˆ�n"""""""""¤„›ˆˆˆˆˆˆˆˆH)á&""""""""@J¸‰ˆˆˆˆˆˆˆˆ�n"""""""""¤„›ˆˆˆˆˆˆˆˆH)á&""""""""@¦Š@DDD.]îûpo\¶\ ›`hÓŒú}žˆˆˆˆ\Ùô/b)×Ê%ÍøÁ¿,Çôó ÿ7ǤGpçæVth""""WœuëÖѧOúôéÆ *:œ+žn"""å”––FZZZE‡qA¹wþ…iÅÇYOËçg�N²¹·üFþÜY�ˆˆˆÈ…Ó®];ÚµkWÑa0mÚ4Ž9‘#G˜6mZE‡sÅÓ”Ò Î…Á•‡ÛZÑ�ˆˆÔСCÙ±cF£‘š5kÒºukî¿ÿ~ªW¯@çÎ�±Z­¬X±¢‚£-½Ï>ûŒO>ù›ÍF�=x衇°Ùl 4£ÑÈÊ•+ ñk¼¼¼<œN'¡¡¡+x fYbq}÷5&“GZ6Ž#ÙÞkîïVÃè5µTDDDD®Xú—ð”»ãÁ70æüB¥ÝC¨¼£3¦Ã¯WtX"rÈÎÎföìÙ¤¤¤Û&%%…Ù³g“��]l›Ò¸å–[èС§N�bùòåŒ7»Ý�±+ÊÚµkyùå—1›ÍÜzë­ÔªUË{-$$„úõëS¿~},‹ßc¾ð ÜqÇìܹó‘Í©=G9µ;û¡Lßk¶“àt–9žcÇŽ±|ùr¾þúkï9§ÓɪU«˜;w. .äðáÃe_DDDärôÄOP£F jÖ¬ÉO|˜åË—3|øðR%9EDDD.g7ÝtK—.­è0¤€*Ü.ÁV Aɶ¼\;'3Rp�Ü]¦ÑžþyFŒ�Ûí.òúŽ;èØ±#[¶lñ{ÌÑ£GûLñ²Ûíäååù´>|8óçÏ/ó˜¥í/"åDß¾}‰ŽŽ&))ɧÒÍ“l«Y³&}ûö%((( ÷®\¹2ñññìÝ»÷¬ë™™™¼ôÒK 0€[o½•~ýúñúë¯ûTù\.>üðCLçÎ�¹ï¾ûøé§ŸÈÍÍeÆŒôë×�.]ºð�üçêé»ï¾#11‘N�:Ñ»wo|ðAŽ?~Vž{Üu×]tîÜ™#F°~ýzïõ‰'²páBxàÚµkÇ�?þè3FçÎ�éÞ½»ÏûÉ“'óòË/Ó«W/zôèÁ{ï½ç½þÌ3ϰjÕ*(˜ŠÛ¡Cïµ’žË3ö{ï½GïÞ½¹ÿþûËõyœ+–s1Þ±µ‹¸`Ä4t”_c¥qãÆ <˜«®ºÊ{În·³k×.Ú´i@LL µjÕòNa¹Ø(áv:Þ�Ÿþ[ƒßÿ²b;içèáL\ŽlÈ?Yæ1wîÜYì®#óæÍ+G´§}ôÑGg-²xóÍ7Ó¸qã2�YÞþ"ÚáÇùôÓO™;w.‹/¾d§°™Ífúôéã“t;3Ùf6›Ï˽�Ó =k¸ÌÚµk©U«�;w&??ŸO>ùħZìå—_æ�wÞÁétrË-·�››Khèé50Ÿzê)>ûì3Z¶lÉ-·Ü† xì±Çp¹\:tˆI“&qôèQú÷ïÏm·ÝFXXááágÅṇÉd¢mÛ¶üõ×_Œ?žÍ›7pÇwЬY3úôéý÷ÞK�:uJ|ö+V°nÝ:âââÈÊÊböìÙÞD^çÎ�©_¿>ýúõcÔ¨ÿ%¨Îõ\+W®dΜ9T®\™ ”ëó8W,çb Å<í Œ7Þ& S ó“ÿÄÐÖ¿¤]Q¢¢¢0 >ç²²²ˆˆˆÀdú_a~LL ÇŽ+ó}DDDD.7Ú¥ôâ¢)¥ç‘Ѿ‡ “¿²ë÷u¤f˜ùæ§*Ô¯LϾÝiô k•~ŠŒŒdÞ¼yÜtÓM>ç8ÀæÍ›©R¥JžÀ×}÷ÝW¡ýE.´¯¾úŠøøxjÖ¬ÉöíÛY½z5C‡­è°ÊÄb±Ð§O–.]JRR€7Ùv>¦ä¹\.vìØÁÒ¥K1›Í\ýõgµ õ)y?pàdÆ Üÿý9r„%K–P§NæÏŸïçŽ;X¿~=:tàŸÿü',ü¿fÍöïßOjj*ùùùÄÅÅÑ¿bbŠžÃŸ––Æ’%Kˆ‹‹ãÃ?Äd2±téR¦L™ÂüùóiÕª]ºtaË–-üùçŸôíÛ—æÍ›ûõT©R…Å‹c6›ùè£�xë­·øí·ß¸é¦›èÔ©kÖ¬a×®]Üyç�4jÔȯçòT}ñÎ;ïxc)ÏçQ\,þ0DUÇôüt>ýfßlþƒ·¹ �ÿ]^nn.ÁÁÁ>ç¬V+¿—ˆˆˆHqJÚ‰´¸ëgÎŽ8_<»”z^/Y²ä‚ÜWЦ„Ûytò‚3Þ!(÷wÀM‡–‚Z¹q¹ l?KhËçpÊ·Ki||<_~ù%[¶láÚk¯õžŸ?>ýû÷ç‹/¾ðiŸ��À3Ïþøc¾ýö[úôéã�>ÊèÑ£éÛ·/={ö„‚)£]»võ~Q»êª«xôÑGiÚ´i‘1ŸÙàÓO?eÙ²e;vŒæÍ›óÈ#�Å»ï¾ËúõëIOO§F� >œ®]»–ë3) §Ó‰Óé$""€«®ºŠ�7VtXåâIº}ùå—ôèÑã¼$Ûºuëæ}Ä£�>ZlEØï¿ÿÎâÅ‹ùïÿËñãÇq»ÝÞiŸ;wîÄårÑ®]»³âܳgüïÌØdggÓ²eKâââøùçŸéׯqqq$&&úÄvæ=<ÕSwÜqS¦La×®]åú‚‚‚¼•ƒ-[¶„‚i´çRÒsyTªTÉ'ñ¨Ï£¬Â¢jwê¼$Û(¨† ,`ÕªU<õÔST­Z•­[·�Ùl¦V­Z¼ð ³fͦL™ÂÕW_í×4.‘@0™L4hЀիWsã�7²eË–"«´.5‹…„„„óz�Ûn»�J•*Q§Nn»í6êÕ«Wd»ýû÷3vìXjÕªÅÓO?M\\œOl999E®Wé™Ú¡C~øaŸkÑÑÑX,æÏŸÏ?üÀ÷ßÏš5kxî¹ç £}ûöÞ¶¹¹¹äçç{Ïåååa0°Z­åþ,<ü]¯¤ç*k??�²ªBíªÕÊ=Nq"""8vìN§Ó›=räˆ~&ˆˆˆÈU\¥šçžª’­8O<ñ/¾ø"ƒA»”^”p KÆl,G?Àå‚7>ªÁÉ<#éÇLüµ;„‘2ˆ®îàԾϠê°D•ë~ýúõcÁ‚¤¤¤Ð°aC-ZD�=ÎËtÒâôïߟ-Z0vìX6lØÀ×_Mß¾}ÏÙ/??Ÿ�?þ˜—^z‰&Mšpûí·{¯÷ë×Ïûúž{îaÅŠlÛ¶M_®ä‚j×®Ÿ}öK—.%**Ê»V–œÛ“O>YäZižÚÖ­[±Ûí´oßžÖ­[ãr¹|’kžé“ë֭㡇ò©r«W¯F£‘ßÿ�ððð³îç§cÇŽtìØ‘zõêñæ›o’’’â“`Š‹‹à‡~`ܸqX,6lØ€Ûí.ÕÔʲð$Ž W®•ô\Å)ïçQT,“��êÕ«ÇO?ýD‡HOOçÀ�têÔ©¢C¹hh—Ò‹‹nb<µ“à£xßÍ2‘²/˜ûþ–ΞÁ?Ä’UŒ¹;�  7¹Ç~ÁÝýœc–¤råÊ$$$0þ|}ôQ’’’øðÃð4ec4iÑ¢û÷ï/±íáDZÙlÅN?ÍÊÊbõêÕÞif™™™gM'9ŸœN'Ÿ}ö]»v¥ZµjÞ©�ƒ :k-)ñ_xx8‡æ�wÞáºë®ðþ£ 99‡ÃámÛ¸qc®»î:6mÚDbb"mÛ¶eçÎ�Üwß}´lÙ’~ýúñùçŸsï½÷Ò£GRSS±ÙlLž<™;v0aÂn¾ùfÂÃýÓhÏ\­~ýúÞ]G‡ FÓ¦Mùî»ï°X,Œ9ò¼~�5båʕ̘1ƒ[n¹…‘#GR£F�s>WqJêWÒçQT,çcºqytîܙիW3wî\¬V+={öôÙDADDDDäb¢]JÄrl>¸�Þ÷Q‘NšÖÏcîQT²ºèzs6·µ;€µR0•O­WùHžÆßxã :vìHTTùªæÊËh4ú•ŒðL+¼ëžGnn.cÆŒ!##ƒÄÄD¦L™¢Ê"¹à8@µjÕ¨Y³&&“‰ë®»Žððp8PÑ¡]Òzè!ªU«Æ’%K aĈ˜L&V¬XAÍš5¹õÖ[}ÚO�:•^½z‘““Ã_|á“|?~<ÿûß1™L|ôÑGüñÇ„„„àv»q¹\Ô«W�o¿ý–O>ù„àà`&NœXä´à^x�„„rssY¿~=-Z´àý÷ß?ïµ >>ž´´4–/_ÎÞ½{K|®s)ÏçQ\,þ 2bð£]i4lØÐ§òÙb±Ð£G†ΠAƒ¨Q£F€ï("""riÓ.¥ýj8 \˜r¾÷9³éÏPî”ÁÛŸTçËïÂ1àö›þ7UÇ’»CÚ‹äÅü_¹îI�=øâ‹/˜7o^±í¬V+{öìñnšà§ÓYb›Íæó>99Ù¯]cccq¹\lß¾Ý;%Õcûöídgg3fÌï9ƒ!Ð_åDÎ-44”´´4Ž9B�5ÈÉÉ!==Ýï)~W"Ïf+çÒ©S'Ÿi€×^{-÷ß±í#""xúé¢×¼ bذa 6ì¬kM›6å�7Þð+îJ•*•¸ÆÅc�=Æc�=Vìõ5kÖœóý5×\sÖš‹¥Èu2Ïõ\E�íO¿’>�âbñWµÊVªX/®Š8‘+�v)½¸¨Â- ùÙ\9Þ÷v‡��—Tcï! •¬.úܞŚ«pfq‚ùøJŒ§Ê· @bb"3gΤvíÚŶiÙ²%+V¬ 55•´´4–-[æs=<<œC‡y+(jÔ¨ÁÖ­[IMMõ.*^”9sæ°nÝ:²²²˜3g6›�Ž;9faaaatìØ‘W_}•ýû÷“››ËºuëÈÍÍ¥Zµjäää°dÉïÔÒ”””r|B"¥W£F Ú¶m˪U«øðÃYºt)7ß|s…W‘Š\Œ"CCˆ¬¸M&DDDDD.uªp ·ÁZðQÚ°˜Ýté�ÍìO£°»8rÌDÝX;gi¹ ÊÛ†+¸~¹îæÝ©´8<ðS§NeøðáDEEÑ£GŸõy ÄË/¿Ìž={xá…èÖ­?þø#‰‰‰´jÕŠ_|±Èq[·nÍÛo¿ÍÑ£GiÞ¼93gÎÄl69æ™&NœÈ믿θqãp84lØ� P§NxàæÌ™Ãûï¿OëÖ­iÓ¦M¹>#‘²h͚֬5«è0D.zaÖ`Ôˆ¨è0DDDD*DEïNê¡]J/.�ž§çÏx†^>g,tîÌÃsÝóÞxÆa‚ SÁ„�8qbCIká”–õÐ$LÙ«}Îmþ3”ï6V¦ÕÕ¹´k•C°åì{ÚêÎ"?´U@c¹PF�Mß¾}éÙ³gE‡"rYÊÌÌ$&&¦¢Ã)‹ÅÒÈògÁ‘_p¸×‡»Ðy ½/|Pè:…ι‹8wæëâ,Y¤ ·É«þ(¡§vb<µÛ{®iƒ<êÆÚ©QÔZh쑃ȷž»2MDDDDDDDD.-J¸ˆÛ\[½¹˜³–`ÊùcÞBBNìI¶ÀhÁeŠ&ßÚ GD/%ÛDDDDDDDD.CJ¸�Û‚=ò.ì‘w`pÙÀ•wºÂÑ„ÛX æŠSDDDDDDDDÎ#%ÜÎ#·1Œ¡Æy3kÖ¬ŠADDDDDDDä¢cô£�ˆˆˆˆˆˆˆˆˆ=È܆ IDATøI 7‘RÂMDDDDDDDD$€”p mš ""e¶oß¾ŠADDDDD¬nݺÂ%O 7)3ý 9›¦”Šˆˆˆˆˆˆˆˆ�n"""""""""¤„›ˆˆˆˆˆˆˆˆH)á&""""""""@J¸‰ˆˆˆˆˆˆˆˆ�n"""""""""dªè.Gæ]I˜mÀx4cn.k®jMqƶÇQ¿{E‡(""""""""ç‰ndÞ•„å÷9mGκf´Áh;‚iÿ÷X~Ÿƒ½å%ÞDDDDDDDD.CJ¸Hð/3±ìX@~TsqÝȯy®Ê1s”¶ óî¯Êøƒ�Ÿ¦a<¶�S7<\Á‘‹ˆˆˆˆˆˆˆH )á…“mymÆãhØû¬6®*µqU©�£aoÌ)ËÙ8ÃÛGI7‘ˇnådÞ•äMœåvšŽ3º äÛ±ì\ŽiÏjŒY»pEÄá¬×{ƒž8öÆ]9ë7�cÙ±WÕ&¥š^úüóÏóõ×_`2™¨S§½{÷æÎ;ïÄh Ì>v»—ËEHHÈE—ˆˆˆˆˆˆˆÈÅN ·r²ü> *ÛœÑm0ØÒ ý~ÆÌŸvAG·ttæ]_bë8gtòÚŒ?]éöûœR¯ç–��Àý÷ßOnn.7ndæÌ™äææ2tèЀ<×G}ÄÁƒyî¹ç.ª¸D.¤o¿ý–ýû÷{ß;¬V+ƒ®Ð¸.FÙÙÙØl6n·»È6ƒ³ÙLhh(aaaïüñG,K…Ås1r:�ddd`·ÛKlëv»±ÛíØívl6QQQ˜Lú1$"""""—Íó+Ó¡ 8âº`Ù¹üœÉ6cf –]_úôõŒUV-[¶$++‹ÜÜ\(¨4ûõ×_½×·oßÎwÜá}?zôhæÍ›Çý÷ßO·nÝ9r$[·n`Á‚|üñǬY³†N�:ñꫯàr¹˜7oC† ¡gÏžLœ8‘Ç—*®Ñ£GóÿþßÿcüøñtïÞ�_~ù¥Ìc‹\H.—‹¿þú‹«¯¾º¢C¹¨x’mf³™êÕ«S§NêÖ­[äQ§NªW¯ŽÙlÆn·“‘‘QÑወˆˆˆˆœJ¸•ƒñh2ù5¯À´g•ß}M»WùôõŒUVG�¥ZµjX­V¿ûüüóÏL˜0�… Ò¬Y3ž}öYƒfèСtîÜ™o¾ù†G}€9sæðí·ß2yòdÞ{ï=, �<ò‡£Tq½þúëtéÒ…ÿûß´hÑ¢Ìc‹\H»ví¢fÍš¥úìr—��íM¶EGGcµZ1 Ŷ7 X­V¢££½I·ìììï“‘‘A§N�нþøã�ó�üã¬ó3gΤG�Øl6Ÿóû÷ï禛n";;›#F°lÙ²c8Ÿìv;yyyWÌýív;íÚµãàÁƒk;xð`>úè#¿cð÷Ͻ´ãz 0€víÚ{ìÛ·/`1ŠˆˆˆÈÅI ·r0æž®ÎpUŽ9ýþø^ÿûßíÛ7·l•ùùùìØ±ƒ÷Þ{¯ÔëJuëÖ�Æ�É�!C8vìX±_jìv;‹-â±Ç£~ýúÄÆÆ2iÒ$l6ëÖ­+U\#GŽ$>>ž Rê±E*Âÿû_š7o^Ña\T<‰¬ˆˆˆs&ÚÎd0ˆˆˆð£(»wïf̘1äççS»vmvïÞͨQ£8zô¨O»víÚ±yóf\.—Ïùo¿ý–œœ~úé'Ÿó¿þú+M›6½hÖ‘›3g/¼ðÂ{ÿ@¸õÖ[iÒ¤ÉE3îG}ÄêÕ«Y½z5÷Þ{/×^{­÷ýêÕ«©]»vÀc‘‹‹Ï©(¥ørZ”Å‹³xñb 111 4ˆ„„„2�ƒÕj-öËïáÇq:�4nÜØ{ÎjµÒ¬Y3ŸßÔûWppp™Æ©(YYYØl6}I>ƒ§µ4»{xúœ«Šõª«®âoûÓ¦M#''‡7ÞxƒÄÄDªV­êÓ®]»vLŸ>��;wÒ¨Q#öíÛÇ©S§ˆ��ç‡~ð©�ûõ×_i×®]©c–‹×˜1c.ªqCCC½¯ƒƒƒ ¢råÊŒLDDDD.vªp+—5 cÎ鵯\áWùß7¬žoß‚±ü•��ÀÊ•+Yµj .äÎ;ïÄh,ßç¹*Tìv;.—‹üü|Ÿó‹Ågù²ÄåïØ"åR®nËÎÎföìÙ¤¤¿¾dJJ ³gÏökzgažÝHKSÝæáéSÜŽ¦ž6AAA¸ÝnÜn7AAA„‡‡Ÿu¿ØØXêÔ©Ão¿ýæ=·aÃÚ·oÏ­·ÞÊúõë}ªß~ýõWÚ¶mëó~äÈ‘têÔ‰¡C‡²eËï5‡ÃÁo¼ABBñññL�:Õç#FŒ`åÊ•<øàƒtîÜ™ŸþÙ¯~óæÍãÃ?dõêÕtèÐ�—^z Ö œ;w.¤K—.L˜0¡Øu-Ïu/‡ÃÁk¯½Æ€¸õÖ[8p +W®,ñþ…Ç>WÏg0wîÜb?Ãüü|Þ~ûmúõëG×®]™:uj‘ÏáOÛâ>ï3§_–Sa999 <˜Ù³gŸu­<ã–¤gÏžlܸÑû>99™Ž;–¹ýˆ#˜3g#FŒ sçÎŒ5ŠíÛ·³páBLçÎ�yüñÇÉÌÌ,S¼""""R:J¸•ƒ«ZS‚Ò6à¬×Õï¾Î¸.>}=cù˳hq )«ÕÊž={J5æY1:�ÞמÊÏÆ |!LNN¦~ýú~ÇUÇ©N§“”””ó2]íB¨T©ááá$%%™tKII!))‰ððp*UªT!1'99™>ø€Çœ°°0FŒÁäɓϚR жm[6mÚä}ïI¸Ýpà äååñçŸBÁ4ÕS§Ny×�8xð ÿøÇ?øüóÏiÞ¼9“&MòVÞ½òÊ+ìÛ·�>ø€¹sçrèÐ!þýïûÜûÕW_¥{÷îÌš5‹k®¹Æï~÷Üs‰‰‰ÜqǬ[·Î»Ýûï¿Ïš5kxñÅ™;w.‹…¿ÿýïEVžë^f³™:uê0}út,X@¯^½˜÷=z4={ö¤aÆ„„„øÝ¯8v»�O>ù„'žx‚ ˳Ï>‹ÍfcíÚµ>mý¹Wÿþý½ëc>œ˜˜þøã¿ÿüéߣGš4irÖgh·ÛùôÓOyòÉ'iÔ¨111Œ?¾Øçö§í™ŸwqŠ‹ÉÃívóÊ+¯pòäIž~úi¿?�’Æ­Hñññ4jÔˆªU«2dÈÜn7C† !&&†:uêлwï2W䉈ˆˆHéh ·rpÔïŽå÷9eü�9eކ½±uœBè÷“0f=}ËÙ[Ç)`4cNYFPƸBkà¨ß= ±=ðÀL�:•áÇE�=JUuÖ­[7~üñGiÕª/¾ø"?ü0ï¼óO=õN§“6mÚðòË/—i:Ù™ÎçØ"åÑ´iSš6-]êÅÆl6Ó§O–.]JRRÝ»Ÿþû¦p²Íl6Wt˜E2�DFF²bÅ (H ¥uëÖØl6öìÙCjj*Mš4¡J•*ÜrË-,\¸�1cÆ”¸~[áõ,÷íÛ‡ËåâÉ'Ÿô^ÏÏÏçäÉ“>}άÂò·_q:„Óéô©ª´Z­´hÑ‚½{}7çñç^™™™¬ZµŠ­[·’••Eff&§N�ò+–²ô/üÎzwœ®l3š1¥n$dã ï¥ñÜsÏ•Ø&22’éÓ§ûœ2dˆ÷õ¬Y³Îê“””ä}Ì”)S|®[,zè!zè¡2ÇUÔ}ý[DÊÇb±ø$Ýo²íb_+Ñ`0`µZÏÙÆjµríµ×òÛo¿±wï^nºé&ïµ:ð /pøða~ûí·ÿžñ$ú= »Ù³gŸµQù”µŸGáu- ¯�YÔº–%ÝËf³1jÔ(ïš^5kÖä‘Gñ;–²ö÷|†‡—Ë…Ëå*q=ÏÒ´-‹3�sà 7°oß>/^ÌØ±c6îÅìRŠUDDDäR§)¥åä¨ß{£Ó»pZ¿ysÊ20š±7JÀÖõßä ü’œ�_bëòæév•mÖoÀÞ(!àÕm""Eñ$Ýj×®MíÚµ/‰d[ix¦•nذ�:xÏGDDвeK>øàˆ��õk¼èèhBCC½ÓQýU–~E­™¹yófï9—ËŶmÛhРA©î•œœLvv6ãÆ�#..ŽÐÐÐ"“.…ï_–þÅ)êYÑ6bccyþùç™?>ß}÷ݹga!!!¥Zkµ´íEDDD¤b)á§nxØ›t Ù8ƒÐUã0§,Ãxâ¸óÁ��ñÄÌ)Ë]5î•m�8uÃýˆ\I, $$$”;ÙæÏN£Å)ϧÅiÛ¶-ëׯÇn·ŸµáÊ-·ÜŠ+|v'-‰ÉdbèС¼õÖ[lܸ—ËEZZÛ¶m h¿š5k²yóf>Lnn.¡¡¡ôîÝ›éÓ§³mÛ6Ž;ÆŒ3ˆŒŒ<+þ’îENN_|ñ™™™|õÕWìØ±ãœ÷/ÌŸþçJ�=˜6mþù'ÇŽãƒ>(wÛ@i×®÷Ýw“'O¾àë°]{íµ,]º”Ç“ššÊ’%K|®GDDpðàAïÿ+%µ‘‹‹¦”È©ÆUµ‰wM· Œâ¤v…ÖÀÞr„*ÛDä’f6›±Ûíäåå•8åóLyyyÞ1¥Q£F„††Ò¾ýÙ›ÐtìØ‘7ß|óœë·%11‘àà`^yåÒÒÒˆŒŒdذa\}õÕëÏúõë2d×_=/¿ü2&LàÍ7ßdâĉ8�Nn¼ñF^{íµ"”çºWݺu7nï½÷ï¼ómÚ´9+iWÔý=üé_’Ç{Œ×^{� &`6›éÑ£‡·š­}ú0zôhúöíKÏž=þÌÅyþùç©V­ãÆ�»`÷‘+‹Óé$##»Ý^b[·Û�ÝnÇn·c³ÙˆŠŠÂdÒ�=9ÿôÍ£œ,¿Ï�‚Ê6gt ¶tB¿Ÿ„13ŧ]ÐÑm݆y×—Ø:NÁ݆¼6ãOWºý>§Ô ·©S§²yófF�ÅØ±cq8üõ×_TªT) Ï'"§“<‹-¢M›64nܸ¢Ã¹¢y’mf³™ˆˆBBB0 E¶u»Ýäåå‘••…Ýn'##ƒèèè ³ˆˆˆˆˆ\y”p+ó®$Œ¶#§×lkØòíE&Û 3f¦úý$Nvù÷éé¥kº™w%ù�tûúë¯Ù´i~ø!¡¡¡Þó 6 Ès‰ˆ¯Ÿ~ú —ËUÑa\ñ²³³½É¶èèèbmƒ«ÕJHH©©©Øív²³³‹�^:`À8Pìx‹/¦nݺå~ŽóaðàÁÄÇÇ3lذR÷}æ™g¨V­�<òÈY×ÚµkÇìÙ³iÞ¼y€"-›ò<ŸˆˆˆˆHEP­L‡6àˆë€eçòs&Û<Œ™)Xv}‰½Qޏneü�éпn|ð#GŽôI¶�‹ÃáàÝwßeýúõ¤§§S£F †N×®]½mF�Í€HJJâÏ?ÿä_ÿú7Üp.—‹O>ù„•+W’••E‹-xä‘Gˆ‰‰)ñ¾£G�¦cÇŽ¬]»–={öP«V-y䮹æ(HbÌž=›={öP­Z5:uêÄèÑ£HHHà™gž¡uëÖlß¾�±cDzzõêbã½öÚkýzÎsÅðé§Ÿ²lÙ2Ž;FóæÍ½Ïëp8xÿý÷Y³f v»�›o¾™qãÆaµZýús�KSjj*Ç�§^½zÊÏf³Qb²­0ƒÁ@DDéééØl¶bn}ô‘7±ºpáB6nÜÈ+¯¼â½îïß¹áÖ[o¥I“&Æys¹?Ÿˆˆˆˆ\~”p+ãÑdòk^€iÏ*¿ûšv¯ÂÞ(ÁÛ×3VIòòò8pà@©ª Ìf3µjÕâ…^ 88˜5kÖ0eÊ®¾újêÔ©ãm÷úë¯3vìXÆŽK­Zµ˜3g6l`òäÉ„„„ðöÛoóÈ#�0oÞ<Ìfs‰÷þù矙0aÕ«WgöìÙ<ûì³|úé§äååñÔSO1nÜ8n¿ýv2228uê”ßÏTT¼þ>gq1™Íf,XÀªU«xê©§¨Zµ*[·n%""€™3grôèQfÍš…ÓédêÔ©¼óÎ;<ú裥Š[.N§“~ø�îÝ»³iÓ¦ŠçŠçp8 )u_OÏE)œP &((ˆÊ•+—)Ö m̘1Âyu¹?Ÿˆˆˆˆ\~ŒÀ¥Ì˜›€«òéj/ãñ½þ÷=¾Û·oÁX%9tèn·Û›òW¿~ýˆ‹‹#66–{˜˜¶mÛæÓfäÈ‘ÄÇÇÓ ABBB°Ûí,Z´ˆÇ{ŒúõëˤI“°Ùl¬[·Î¯ûvëÖ�Æ�É�!C8vì$##§ÓIûöí©R¥ qqq4mÚ´TÏtf¼þ>gq1åççóñÇ3aš4iBõêÕ¹ýöÛ±Z­Øl6–/_Nbb"‘‘‘T¯^�‘#G²víÚRÅ,—–�7Ò´iS*W®\ìN˜ráxþ JSÝæáéSž?G‡ÃÁk¯½Æ€¸õÖ[8p +W®ôi“ŸŸÏÛo¿M¿~ýèÖ­S§NåÎ;ïäàÁƒôìÙ“�7zÛ'''Ó±cGŸ{¼ñÆ$$$ÏÔ©S½•}#FŒ`åÊ•<øàƒtîÜ™ŸþÙ{~Ù²e~ÇYV.—‹¹sç2pà@ºté„ 8|ø°O|sçÎeäÈ‘têÔ‰¡C‡²eË–Rõ/éùüGDDDD¤¢©Â­¢”á #@µjÕ8xð`©TYYY¬^½šÿþ÷¿?~œÌÌLòòò|Úû¼?|ø0N§Óg‘x«ÕJ³fÍØ·o_©c�‰‰ñ&¯š6mÊõ×_ÏðáÃiß¾=½zõòNõ×™ñúûœÅÅtøðaolgÚ·o.—‹gžyÆûÅÝétú|–ËKZZiii´oß¾¢C‘‹„Ùl¦N�:LŸ>���V­ZÅäÉ“iÞ¼¹wm··Þz‹�72}út*W®Ìܹs9tè�ß÷xå•W8zô(|ðN§“É“'óïÿ›üãÞ6¯¾ú*?ü0?ü0µk×.Sœgr8äææ–ßûï¿ÏºuëxñűZ­¼ñÆüýïgñâÅÞªçü‘‰'R½zuf͚ŤI“X²d f³Ù¯þ%=Ÿ¿qˆˆˆˆˆT$U¸•ƒË€1çôoÕ]áWùß7¬žoß‚±JNdd¤÷·þþÈÍÍe̘1ddd�˜˜È”)ShРA‰ýìv;.—‹üü|Ÿó‹‹Åâ÷ý ó$«ŒF#3fÌàÅ_Äb±ðôÓO3iÒ¤2�éQÖçôÄ”““•gòL+{÷ÝwY´h‹-âóÏ?'))©\1ËÅkûöíäåå±páB.\ÈŽ;ذaË—/¯èФõïßß[ñ;|øpbbbøã�? àïÌO?ý”'Ÿ|’F�ÃøñãýûäÉ“,]º”Q£FQµjUjÔ¨ÁèÑ£ùþûï}Ú�=šž={Ò°aÃb§×ž+΢|þùçtêÔ鬣0»ÝÎ'Ÿ|ÂOÇ©Hªp+Wµ¦mGJÛ„«JmœõºäçZlθ.¥mòŽå¯»îº‹¹sçrÇwûíÛ·“��í³Ž?S²<•[·nõVŸ¹\.’““éÝ»·ßñžK«V­hÕªwÝuÇ'==�êÕ«cµZÙ³gO©ªÞÊúœ±±±¸\.¶oßN‹-|®EGGʺuëèÕ«—ßcÊ¥«ð4?€ï¿ÿžèèhŸŠO¹òdff²jÕ*¶nÝJVV™™™Þõ'<ˆËå*óâþžJÚ'Ÿ|Ò{.??Ÿ“'Oú´+ªº·4qå®»î*v—R�C‡át:}žÏjµÒ¢E öî-zI…ÂUÄþö/éùʇˆˆˆˆÈ…¦ ·rpÆžžjfÞýö=qE6,±Ÿ+²!ö=}úzÆòÇÀ�iÒ¤ ÷Ýw_|ñ»wïæÀ�¬^½Ú»¶Zxx¸w½·jÕª‘““Ã’%K¼S.SRJÞMÕjµÒ³gOf̘Arr2™™™¼þúëDFFÒ¦M¿ã-ʉ'øòË/IOO'//�M›6aµZ  eË–¬X±‚ÔÔTÒÒÒ|Öî)NYŸÓ#,,ŒŽ;òꫯ²ÿ~rssY·n¹¹¹˜L&î¾ûnf͚ů¿þŠËåâÈ‘#$'û—`‘KŸÍfcÔ¨Q9r„Q£F1}út6üßßù‡—ËUd•¬?ªT©ÀìÙ³ùÏþÃþó–.]Êš5kgY•µêÙó‹�@UMŸ�êk‘@S­õ»ã ­APƘS–A�[Ç)çLº¹"bë8ŒfÌ)ËÊøWh õ»û}_“ÉÄ«¯¾Êˆ#øæ›o;v,cÆŒaÉ’%ÞJˆAƒ±zõjž~úiêÔ©Ã<Àœ9s¸çž{X»v­ß ³‡~˜¶mÛòÔSO‘˜˜HNN/¿ür™-/ìĉ|÷ÝwÜ{ï½ôêÕ‹åË—óÏþÓûeé� **ŠáÇ3~üxbbbJü"Užçô˜8q"õë×gܸqôïߟE‹qüøq†Ê�!C˜9s&ñññ<ôÐCüõ×_åøäRÒ±cGU·]á’““ÉÎÎfܸqÄÅÅêów¡§*xóæÍÅŽž={Š¼æ©¤ýá‡ÎkœeUÔó¹\.¶mÛæ×ôýòöô8"""""瓦”–“½åB~šFÈÆ¸+GJ,K IDATãŒnÃÉ®oaÙ¹ÓîUÿÛ�4¢>Îzwœ®l3š1¥n$dã ï¥e40` (òz›6mX´h‘÷ýàÁƒ)áVNŽúÝ1ÛŽeǬßà,8ò 7à:ãp:O¡÷… ]§Ð9wçÎ|]œ€%‹Tá §nxWÕ&X~ŸCPÆÞ¤ZQ\¡5°·¡Ê6‘R Ãf³a·ÛIMM%""‚���bon·›¼¼<²²²p8X,– šl‘+—nä¨ßGýî˜w%a:´ãÑdŒ¹¸¬Q¸ª5ÅÛ^‰6‘2ŠŠŠ"##»ÝNzzºßý, QQQç56%ÜÎOâMDDËd2Mvv66› ‡ÃAqK Ìf3¡¡¡ªl‘ J 7¹ä„……]I4‹ÅÂ�?þXÑaˆˆˆˆˆÈfô£�ˆˆˆˆˆˆˆˆˆøI 7‘RÂMDDDDDDDD$€”p %ÜDDDDDDDDDH 7‘RÂMDDDDDDDD$€”p %ÜDDDDDDDDDH 7‘2Ut—£Ü¯¿âÔÏpìØŽëXƪQ˜5!øÆöXoïVÑ!ŠˆˆˆˆˆˆˆÈy¢„[å~ý9ó?Ä•qä¬k®Œ#œÊ8© kÉ™ÿ!•‡$*ñ&"RFÙÙÙØl6n·»È6ƒ³ÙLhh(aaafÇ“mŒΓ»ë»"} Æ*‹ÙlÆ`0�œœ\j› &°~ýz^zé%úôéÃøñã9}út‘ë;vì(òzóæÍLš4‰¾}ûòÒK/oóu£ÑÈçŸÎСC8p óæÍC¯×ðÕW_±nÝ:öíÛGpp0Ÿ|ò‰MÏ)DUhÚ´)Æ £~ýúw<'ªFÁn¤å©n+PЧ´Mòòòîøùj4Y¸p!C† áÉ'ŸdèС|ÿý÷ÅÚ:tˆáÇӳgO^yå.]ºd½f6›Y³f C‡åé§ŸfêÔ©$%%Y¯‡‡‡óý÷ßóÊ+¯Ð³gOŽ;fó3†……a±X8pà€5ÞÅ‹JHH~ø¡µJ°$ýúõãÒ¥Kœ:uªÈùµk×2tèPÔju¹Þ‹Ê<‹B!„Õ�$Ü*Áxî,ê6íÈÝ¿Çæ¾úöé[0VY à•W^aãÆ�¤¥¥•ØîرcL�:•èèhZ¶lÉÛo¿}ÇÊŽï¾ûŽI“&±nÝ:ZµjÅ”)SÈÎζéú¢E‹HHH`ùòå¬\¹’¤¤$–-[Àˆ#=z4={ödÿþý¼ñÆ6¿GBÜkžžžÅ’9%�¦   ˜8q"ëÖ­#55µÈu•JE½zõ˜;w._}õÏ<ó ‘‘‘$$$i—ššÊûï¿Ï† ðððàå—_&77€•+W²oß>æÌ™Ãš5kP«ÕÖ©¡>ùäúöíËòåËiÓ¦�Íñ«Õj¬ñÌŸ?Ÿ„„V¯^Íš5k¸rå K–,)µ¿³³3Ç/2}455•ü‘ÁƒW轨è³!„BQÝI­Ì×ÒpôñÀté¢Í}Mÿ.Ò·`¬²¨Õj–.]ÊСCÙ´iC‡åÝwßåüùóEÚõéÓ‡fÍšáîîÎÈ‘#¹ví—/_.uÜÁƒÓªU+j×®Í?þñÜÜÜØ»wo™×u:Û·ogܸq¸»»S»vmÆ�o­°BˆêB­V³bÅ žþy¢££ eöìÙœ;wÎÚfðàÁ4nÜÆŽ‹ŸŸ±±±EÆ4høùùñÏþ…BÁÞ½{1 lܸ‘7ß|“€€üýýyûí·ÑétE>3'L˜@ÿþýiÒ¤I¹§ÏÖ®]›ÌÌLrrrضmxxxàííÍ„ øé§ŸîØðàÁüöÛoÖgÞ¸q#Ï<óL‰ëÞÙò^TæY„B!„¨Îd ·ªR‰Š�FÈ#:t(‡â믿fâĉ,[¶¬ÄêüüüÐh4wœJT˜ƒƒ­Zµ*2 ª´ë ˜ÍffÏžm­2™L6ßK!î'Z­–Q£F1|øp8@tt4¬ZµŠ¦M›’‘‘ÁîÝ»9}ú4™™™dddpóæÍRÇS«Õ´mÛ–¿ÿþ›+W®`2™Š¬ §ÑhhÕª/þ¿_Ø899U8þ´´4ºuëfýl~ë­·¬×òòòÈÉɹcÿZµj1xð`Ö®]Ë´iÓøî»ïذaC‰mmy/*ó,B!„BTg’p«/Ìé©ä¥$áè_e½ÏÅÛДõ�—’d«¼”J%O>ù$ݺuc̘1ìß¿¿Ä„XóÈÁÁáŽ?(\/X´û‹/¾ÀÝݽœO „÷'¥RIpp0Ý»wgøðáìÝ»—:uêAÏž=‰ˆˆÀÇLJ×_½Ì±T*jµƒÁ€Ùl&//‡ÿW`®V«‹¬�VQƒ�?ÿü“1cÆX78XµjåçùçŸgÈ�!(•JzôèAíÚµ‹µÑétz/„B!„xXÈ”ÒJP5½U¥`8}k�iMðÓ6÷ÕôxªHß‚±*ÂÑÑ//¯JUÜ^‘OãÆ�˼îëë‹V«åСCwßd2U86!„¨*ŽŽŽÔ®]'''âããÉÊÊbòäÉ4jÔ­V[â/3 oÌ`±Xˆ��¥Q£FÔ­[ È¦f³™¸¸8*ktt4þþþtîÜÙúÙ|ðàÁr�ãááÁ3ÏùÉã®±€ÅŠ[³v-f3 ™Á+„•Q�lS©T¸¹¹áììŒB¡(±­Åb!77—ÌÌL éééøúúÞó˜…B!„G;�WòO=¥·)éëÒÎÝ~”v¾ðáPÂá4kÖ¬*ùœEX,þ<ù3ýz'•#yi8_=‹:óo”ú«Û»�oW|AÜ‘8ר�g�zö¼½â•››K­Zµª:ŒûFVV999¨T*|}}Q©T¥&Û(4¥´fÍšèõzŒF# …''§2ïuüøqÌÅ‹éÙ³g¹â4 �ÆrUÓ�1‚›7oÒ¦Mëk�NGÛ¶m+<¦­fÏžÍéÓ§yì±Çì2Þ¾}ûX¼x1K–,aÅŠìÛ·…BA‹-ÇÑÑ‘æÍ›—Ø÷öçB!„†ÈÈÈUÀÍ[ÕI˜óKþA¡¯ Ÿã¶¯KRÖõ*#nvpø›MœÜý=imhøD{ë5Ç›YÔsUpH¯Ã ×ñÃÆµ´ï„£LkBˆrÑét¸¹¹Ý1Ñv;…B�››iiièt:›Ös‹‰‰¡sçÎ:tƒÁ€Z­¶ù~QQQ$&&isŸîݻӬY3ëë'Ÿ|²HRª"cV…ÈÈHNœ8Á„ xõÕW1�œ={–5jØÔÿöçB!„¢º’¬�œýßaë×5kj‹]oÐÀ—š5µdgë0äê1äêÑÔ¬xÕÊ»ï¾ËÞ½{P*•Ô«W�ðÜsÏá�?mu„ 8�þýûWø>…�;–Þ½{3räHÌf3‹/fÏž=¸ººòÞ{ïѰaC»ÜK!Jb4pvv.wß‚>c”uŸü‘Ï>ûŒüã=z”îÝ»W bÛ½üòËE^Oœ8ñ®Þïnصk'Nœ`ýúõElM›6µyŒêøÜB!„B”DnvP¸Ð¢V­¢ ·K‡£ËÈ I]NÅ뎕ŸÉÊK/½„^¯çøñã,Z´½^ÏèÑ£+=vIºuëV¤úbÇŽœýáW¾š9žß¨åå�“³¦Ò÷T«ÕÔ¨Qƒ5jBvv6ëÖ­»k ·_|±ÈëÄÄDš7oާ§ç]¹Ÿ÷JLL !!!øøøpöìYöìÙcý{ô¿ÿý�ÜÜ\† ‚R©$##�¦òÅým×®]tëÖ €.]º°páBŒF#*•ÊÚæèѣ̜9“Úµk³|ùrfÍšÅÖ­[5j999Ŧ®\¹’C‡1gÎ4 ‹/fÒ¤IlÚ´©È¸%©È˜z½ž™3gòúë¯óÔSO‘žžÎÍ›7Ëõ>¨T*êÕ«Çܹsqvvf÷îÝDFFDýúõ‹´ÍÍÍ%11‘Ö­[—9îåË—™>}:>>>EÞ»Ûß[ïÿí·ß2cÆ |||ذa¯¼ò ß|ó µjÕ²©ißK•JÅüùó¹zõ*«W¯Æd2É’%K˜>}:ëׯ'&&†wÞyN�:…››[¹Þ;!„Bñ`’m3í M�^88:Ò¡Csü¼=l\�<³™?/§Ò>¨)¯to�@C†¾Nÿ‰¯-‰³“Ö­[“™™‰^¯/vÍh4òÙgŸÆÓO?ÍÈ‘#ÙµkW‘6&L`ýúõ¼ôÒKôéÓ‡ñãÇsúôé"×wìØÀÇLtt4;wî$88˜ñãÇóÎ;ï0gΜ"cnܸ‘Y³fÙýY…°“É„ÉdÂÍÍ € X+¡ çÎ�ã‰'ž°.Tïîî^¡ê*Q}èõzû,���6½w¶Üذa´nÝooo^{í5ÜÜÜØ³g�ÍýKû^æää°mÛ6"""ðððÀÛÛ› &ðÓO?�——Ç—_~ÉÌ™3iÑ¢ÞÞÞôîÝÛš”·õ½B!„&©p³ƒ¦�z}/¿úÒ­Ìæ‘]ÔlÞG�òÔö�‚yõêU<==K¬¾Q©TÔ©S‡÷ß'''öíÛÇ|@`` õêý¿S�;ÆÔ©S©]»6«V­âí·ßæë¯¿.Vu0mÚ4jÔ¨Aff&o½õ?þø# ,Àl6[ב;xð ƒ ²ës aOJ¥’€€öìÙCçÎ�ùõ×_éС™™™¸¹¹‘��@\\‹…:X§ë‰Ó�P(4oÞ½^�V«% €}ûöñøã�—ØÇÏÏ�FcÝÔávW®\Ád2Ù @£ÑЪU+.^¼X¡8˳G�tìØ‘°°0ºvíʳÏ>K§N�Ê}ŸŒŒ vïÞÍéÓ§ÉÌÌ$##£ÄJ¹‚jçË—/Û´)E�²Þ;[ï_ÀÁÁ�6mÚXß×òö/OBBf³ÙúïùI¶œœÈÿètºR™å½·B!„x°H…›�8ªÔÜbViÐésùûr í[4æ�‹—¹™g!=î ÙÉI\þq†;Áœ‡27Ç›×+uß¼¼<Î�;ÇŠ+1bD©í D£F�ð÷÷gÔ¨QøùùW¤MŸ>}hÖ¬îîîŒ9’k×®qùòe›âxì±ÇÈÍÍµŽ™‘‘Á¹sçèÚµk¥žOˆ»í±ÇãÚµklÛ¶�œœ ¿Ò)33“´´4‚ƒƒiÓ¦ ;vì(±ŠT<8vïÞ�N§£wïÞÌùóçùé§ŸÈËË+µß�* f³¹XµZ]®ÝOË3¦ƒƒ‹/æã�?F­Vóæ›o2cÆŒrÝC§ÓAjj*Ì�;—&Mš”ØÖÍÍ Ž=Zîg)í½+Ïý sppÀÙÙ¹Âý â)X›tÕªU|óÍ7|óÍ7lÛ¶�}ûö��� ù›Ù+v!„Bñà� 7;²8(1;jÐ8åðÉŒqppÀÁA�££#†B‹H›2Óq½|‹ƒ#:¿òWlÚ´‰M›6¡P(ðóócذa„††–Ú>33“={öðûï¿sýúu222ÈÍÍ-µ}YU·srr¢K—.>|˜   Ž9Â#�<"‹Ë‹ûšÉdbóæÍôîÝOOO~ûí76mÚİaÃprrB©TÒ¹sgêÕ«‡‡‡)))²#ïêÆ�=z”Å‹©KJJbРAœ8qÂæ*1“Édýºnݺœ:uÊÚßl6ÇÀ�mޝ"cvèÐ�:0räHÂÂÂHMMÅÛÛÛ¦ûÅÇÇ“••ÅäÉ“­çî”X cõêÕôéÓ›Ÿ«²÷/¨8+pæÌÆ�Wîøoçë"çc¼ IDATë‹V«åàÁƒ<ûì³Å®ûûûc6›‰��/¶v]eï-„B!ª?©p³3fô×®ñ×w;¸¸w—~ú‘ÜŒ òn¨ÓùQ|۵ãIŒ5ýÐùvÀâP±KCCCùþûïÙ½{7ÑÑÑ<÷ÜsÖ©œ·ÓëõLœ8‘ôôtÆ�Ç|`­â¹ã³”ó‡ƒàà`:ùÓ²‚ƒƒËÕ_ˆ{-11OOO|||P*•´oßWWWquuE¯×©^qrr*õûʳÓèílÙáô‡~ÀÕÕ•Ž;9ïççG`` û÷ï·é^>>>œ:uФ¤$ë´Ô0wî\âââ¸ví ,ÀÝÝ�G}ô®Œ™••ÅöíÛIMM%77—'N ÑhJ]c-77—ëׯ9<<<ÈÎÎæ?ÿùÄÄÄpîܹRc>|8-Z´`ìØ±lÞ¼™ .péÒ%bbb*´V�———M÷_¹r% ##ƒ•+W¢×ë ¶¹i”J%£G�féÒ¥?~³ÙLJJе’ÛÕÕ•=z0oÞ<¬ëçétºJß[!„BTRáfgyªhÜÝqP©Ð_»Šoûö¨kÕ­aCœ¬ëÚ(0¸ÖÃâpç�éî¤`—R[œ={–¬¬,&Nœh=w7~ÓþØc�ñÁð÷ßsúôiþïÿþÏî÷ž´Z-)))ÖªŸììlÒÒÒpuuE£Ñàççlj'xä‘G¸qãéééøøøTuØ-•J…Á` 77·Ü»ÅTôÞiGÐ]»vñôÓO—˜T}úé§Ù°aÓ¦M+ó^!!!>|˜‘#GÒ¡C>þøc¦N�ÊgŸ}ÆÌ™31™LtîÜ™… ÚüY\Þ1³³³Ù¿?K—.%;;› ðÁ”:…uëÖ­lݺµÈ¹o¾ù†É“'³bÅ –-[F§N�î˜ T*•|öÙg|ýõ×ìÙ³‡eË–áàà@£F�îX�]šúõëÛtÿN�:±xñb®^½JëÖ­Yºt)*•Êæþw2nÜ8œœœ˜?>)))¸»»3fÌëºm³fÍâ“O>ᥗ^Âh4Ò´iSš4ib—{ !„BˆêÍÞY[ÆS”ñuás…ÎÝ~\/xípÛ¡óeþá¸Ü¸qãHE*$l¡ÌIE“‹Ùdâ¦Å �*}…&�J]:7< ŠŠUʼûî»xzz™ªr»éÓ§Ó¬Y3^xá9r$S¦L¡G�üüóÏ|üñÇLš4É:Mf„ 8�þýû[ÇèÛ·/ , eË–Å®þùçE6M(IFFNNN|øá‡z>!î¥3gÎpòäIŒF#jµšŽ;Z¢¿yó&ûöí#==gggºtéB�:uîYl²IC!YYYdff¢R©ðõõµ9Ye±XHNNÆh4âææV®EýcÇ2lذ"ŸÁ¢lááá<÷Üs 0 ªCB!„w V«²€<À”äåÀ|Ûa)tžB¯ ºN¡s–ÎÝþuiì–,’ 7;³8ÞªP¨�±ø´…¤_Èõl†QëM­„Ÿ K– &Ül1lØ0>þøcþþûoÞÿ}^~ùe¢¢¢X¹r%;v¬Ðnu¶fÖ¬YRÝ&ª�–-[Ò²e˯999rÏc%sqqA§Óa0HNNÆÍÍ ggçRo‹…ÜÜ\233­ Õû1Ùf0øûï¿í²î™B!„âþ nvæ¨Ï@›r ‹£�o;j\>@Ž'ò2RpøëÔð¯Gv½. ¨Øúm÷³ÄÄDÆŒ÷ß~kó”W!Dɤ­8“ÉDzz:ƒ¡\ýÔj5^^^(•÷ß¢¢øá‡ˆŠŠ’5ËI*Ü„B!ª©p•f¾�ñ¦¥‹3ŠBI=…ÅŒÅÕ“t¾�Èdù›%tìØQ’mBˆ»B©TâëëKVV:�£ÑXê& …•J…V«½/+Ûòòò8{ö,Ÿ}ö™$Û„B!„x€HÂÍÎò4žètÙ8¹7 ób GT~qpÖBýVEÒ¯š½{÷2pàÀªCñ€sqq¹o“håáèèÈœ9sª:Œj+**ªªCB!„¢D’p³3ÿfàß cÁë®#P(ä9V|GÒê"11‘óçÏÓ­[·ªE!„B!„¢ÊHÂí.S(ÕUÂ=S·n]~øá‡ªC!„B!„¢JIÂM!„B!„â.K¹aæd‚�¸d¥›HÊÌ#Co&×pkMbgµw�~nŽ4òR諤}}5>µd­ßêHnB!„B!„wA¦.��±7Ù“3IÆ;¶Õ,è y\¹žÇ/ Öó-ýTôjáDß 'Ü´æŒ"I¸ !„B!„BØQÊ 3�éØò‹K%Ç:“däL’‘Ïög3¸£–°ÎZ©z«$á&„B!„Ba'Q‡sXu0§Ò‰¶ÛY€Í¿ÜJâEt«Ax—v¾ƒ°'I¸ !„B!„BTÒÙdï¾QæÔÑʲ+æpøOÓž®Es_IíÜ�¤Q!„B!„¢vÆæ±öÚ]O¶v&ÉHÄÚkìŒÍ½g÷¶“4¨B!„B!DE×±xv•ÜÛDîÈ"Sgfx'm•Ä J&nB!„B!„P•ɶÂïÏ&ú¸®ªÃ…HÂM!„B!„¢œvÆæÞɶ‹÷gËôÒûˆL)BQídee¡Óé0�X,%ïÿ¤P(P©ThµZ\\\îyŒB!„âÁu6ÙÄ{;²ª:ŒbÞÛ‘E#O¥l¤p� 7!„Õ†Éd"99™ÌÌL C©É6‹Å‚Á` 33“äädL&Ó=�U!„B<¸>Þ}ƒÒÿ'Zu,ù±‰ª')O!„ÕFzz:ƒ•J…››ÎÎÎ(ŠÛZ,rss­É¹ôôt|}}ïyÌB!„âÁu8çžîFZ^g’ŒDÎ!¼K�ªå¡& ·» 66– .�œœLvö­ùÜ5kÖÄ××—Æ�TÕ! !Dµ“••eM¶ùúú–šh+ P(Ðh48;;“œœŒÁ` ++ëŽÓKgÏžÍîÝ»­ýk×®Íc�=ÆË/¿Œ»»»ÝŸéNfÏžÍáÇù÷¿ÿ�——W‘k+W®äâÅ‹DFFÞÓ˜„B!v)7̬:˜SÕa”iÕÁúµÖàSK&6Vyçí(66–+Vùsç¸qã‹‹ÅÂ�78wî111¬X±‚ØØØªW!ª�îÖ®Knnne&Û S(¸¹¹ãNž{î9öìÙÃÎ�;‰ŒŒ$..Ž·ß~»‘W\^^‹-ª’{ !„Bˆâ6ÓÝ—SIogÉ�UT©p³“}ûöqêÔ)üüü ¢^½z¸ººpýúu.]ºDll,IIIÄÄÄ�’’BÏž=«8r!„¨ŒÆ[eûÎÎÎåî[Ч`Œ;Q«ÕÔ¬Y€¶mÛ2eÊ&MšDNN5jÜÛ²üAƒñcÇèܹó=½·B!„(*S—Ç–_ªOkË/:Â×à¦u¬êPJ’p³ƒÂɶ§žzŠ6mÚkãî»;mÚ´áôéÓìÙ³ÇÚG’nBQ¶‚ ÊSÝV  Ï�6Y(MÁ:q*• ³Ù̺uëØ¾};™™™´iÓ†iÓ¦áççÀ‘#GX¾|9ýõžžžôêÕ‹I“&a4Y²d $-- oooÆ�OHHH©÷vuuå•W^aÞ¼ylذµZ]b;£ÑȲeËØ»w/7oÞ¤{÷î¼öÚkhµZȯ”ûâ‹/صkz½ž=zpâÄ .\H�:ugذa|÷ÝwÄÆÆ2gÎÚ·o_îx…B!d;coV‹ê¶–ü˜‡wÒVu(%I¸URll¬5q6xð`4h@^^§OŸ&..Žôôt¼¼¼hÙ²%­[·¦M›6¸ºº²eËN�:…���Í뺅……‘˜˜Xêõ 6P¯^=;=]żûî»ìÝ»¥RI½zõ0`Ï=÷•›Å|x¥ã4 ˜Íæ UË!|‹…¤¤$–.]Ê Aƒ¬É®•+WrèÐ!æÌ™ƒF£añâÅLš4‰M›6¡×ë™9s&¯¿þ:O=õéééܼy•JE½zõ˜;w.ÎÎÎìÞ½›ÈÈH‚‚‚¨_¿~©q„„„ðÝwß±víZ^xá…ÛÌŸ?Ÿ«W¯²zõjL&‘‘‘,Y²„éÓ§°dÉ~þùgæÍ›GÍš5Y³f —.]*2Æ'Ÿ|Âk¯½Æk¯½Fݺu+¯B!ăjoüͪ¡ÜöÆK­ªH­’> ù•m 4 ;;›o¾ù†´´´"í’““INNæ÷ß'44” ðÔSO±gÏ>lsÂmÕªU˜Íf6mÚÄ/¿üÂG}d½®Ñhìú|ÊK/½„^¯çøñã,Z´½^ÏèÑ£+5n×®]iÚ´©]b\»v-—/_æ_ÿú—]ƦŒŒ Ž9‚F£!88¸ªÃ÷@tt4ÑÑÑÖ×/¼ð‚5Ñe0ظq#Ÿþ9¼ýöÛ„††ràÀ6lˆÉd¢K—.¸¸¸Û aðàÁ֯ǎ˶mÛˆ��-3�5cÆ ÂÃÃéÓ§O±_ªäää°mÛ6V¯^�‡‡&L`Ö¬YLŸ>�›7o²yóf¾øâ ëçç”)Sغuk‘q&L˜@ÿþýí¯B!ă&å†ù®íLzìŸuèüþe»�}&ÉHÊ ³lžP$áV ±±±Ü¸q???Ú´iC^^^‰É¶ÂRSSÙºu+#FŒ M›6Ö5ÝbccmJºN¨999áèèxÏײ…Z­¦F�Ô¨Qƒ��²³³Y·n]¥n&L°[ŒB”åèÑ£\¼xooïªEÜCC† áÕW_Ål6Vd ë•+W0™L4oÞÜzN£ÑЪU+.^¼H�=èØ±#aaatíÚ•gŸ}–N�:YÛfdd°{÷nNŸ>Mff&Ö ¸;©W¯ÇgÞ¼y|úé§E®%$$`6›yë­·¬çòòòÈÉɱÆl6›‹Ä\''§bç*¯B!ăæd‚¡ªC¨°“ úÉÌ®{Mn•páÂk¢ìôéÓwL¶HMMå·ß~£]»v‘””Ä… l®r+‹ÑhdåÊ•ìÛ·ƒÁ@·nݘËo¼a—÷_<8š6mÊ£�>Ê… HHH¨êpÄ=¢T*­ÓGÇŒÃÒ¥K>|85jÔ°NEÏËË+2E^­V£V«qpp`ñâÅœ8q‚;vðæ›oÒ±cGæÎ�‹N§#""‚ž={���¯¿þºÍq�3†‘#G²{÷î"çkÕªùÐn…™L&Ìf3f³¹\Óú+¯B!ă$.ÙTÕ!TX\²‰¾öI7ˆr�šÂJHNN†üÊ€¸¸8›û´-è[0–=,Z´ˆ„„–/_ÎÊ•+IJJbÙ²e�¿†P�:uxÿý÷Y³f !!!|ðÁÅÖòùå—_˜1c_}õþþþ¼øâ‹¤¤¤0gÎV®\É•+WX¾|¹Í1]½zOOÏ"‰°O?ý”§Ÿ~š%K–ЪU+¢¢¢øá‡ˆŒŒdÅŠ¨Õj^ýõRw¼Ó³|õÕW|ÿý÷üóŸÿ$**ŠÞ½{ãææÆˆ#=z4={ödÿþý’l%òôô¬ÐýâÁѯ_?œœœøú믨[·.€uíNò7Qˆ‹‹³N1èС³gÏfÅŠüôÓO¤¦¦OVV“'O¦Q£FhµÚrýùR«ÕÌœ9“E‹‘��m=ïëë‹V«åàÁƒ%ö«S§N±˜mQÙx…B!$¥Wß„[u޽:“„[%üÀãêê ùI%[l¦PзðO•¡Ó騾};ãÆ�ÃÝÝ�Úµk3~üx8`m3hÐ 5j„¿¿?£F�ÂÏϯX²°wïÞ4iÒwww†ŽÅbaøðáøùùQ·n]úõëÇo¿ýVfúˆ3gÎpíÚ5V¯^]æ½ì¯B!ă")3¯ªC¨°ê{u&SJ«Èݪ(XËgöìÙÖ{˜L&t:�µMff&{öìá÷ßçúõëddd�››[ê˜ 6(²nOƒ ŠŒy»M›6±iÓ& ~~~ 6ŒÐÐÐ"mn_/()) “ÉD³fͬç4 -[¶,q:_YÏš””„N§£E‹wxDŽՅJ¥Â`0�››[îÄyÁgœJ¥*÷}HTT›7of̘1L�:•Ï>ûŒ™3gb2™èܹ3 .D¡P���ÍþýûYºt)ÙÙÙ4hЀ>øµZMýúõ™)))¸»»3f̘6m .dêÔ©8::Z—¸ÓS{Å+„Bñ ÈЛ«:„ «Î±Wg’p«„š5krãÆ ®_¿Ž»»;žžž6O õôôàúõëÖ±ìÀ_|�»»{±ëz½ž‰'Ò£GÆ�‡��Ó¦M+÷}ÊJìRªR©¬k!•¥¬µ‘nWÖ³T šÍfmŠAqÿÒjµ 233qvv¶ù‹…ÌÌLëwYâ}wíÚe}­V«™2e S¦L)ÖÖßߟùóç—:þ¨Q£5j”Mq— €»»{‘xÈÿL #,,¬Ä>ÎÎμù曼ùæ›�_‘ýÕW_Yÿ-ŠŠŠªt¼B!„²\CùgYÜ®`7Òò^¯ìî¥öˆ]”ŸL)­___ëúg-[¶´¹oAÕAAß‚±ì“V«-q &ÀÙ³gÉÊÊbâĉ4lØ�FsWªí v)µ5ÙF¡µ‘NŸ>m=g6›‰��§qãÆÅÚ—õ¬þþþ˜ÍfΞ=[ê=M&™Ë.Duáââ‚Z­Æh4’œœŒ^¯¿ãôR‹Å‚^¯'99£ÑˆZ­ÆÅÅåžÆ|¿úã�?¨S§N¹>£…B!„¶“ ·Jhܸ1çÎ�#66–6mÚкuk~ÿýwRSSïØÏÛÛ›Ö­[kË”J%aaa,_¾???Ú·oOzz:×®]£E‹xzz’��ÍÖ­[éÑ£?ÿü3çÏŸ/²KiUÑh4ôïߟ 0{öl|||X³f îîîtêÔ©Xû²žÕÅÅ…îÝ»óÉ'ŸðÎ;ïàååʼn'èС�ooo¾ýö[’““quu•µÝ„¨¼¼¼HOOÇ`0Ø´+tµZ�——×]�í~vñâE.^¼H‡¸víK—.•Ê5!„BˆrpV+ÐW²R¬´Jµ‚ʶÊV²•ÆY-_UI¸UBPP‡&))‰Ó§OÓ¦MBCCÙºuk©I7oooBCCqttäôéÓ$%%Q«V-‚‚ì·GïèÑ£qrrbÑ¢EÖµ|ÂÂÂhÑ¢õêÕãå—_&**Š•+WÒ±cÇ“YUåµ×^cÙ²eüóŸÿÄd2Ñ©S'>þøãR«ðîô¬3gÎäÓO?eòäÉ�Fš4iB@@�†>}úpôèQÆ�G»ví˜3gÎ=~ZQ]Ù�RT¥R‰¯¯/YYYèt:ŒFc©Un …•J…V«}è+ÛnܸATTo¿ý6µk×fðàÁÅÖÕB!„¥s×8 7TÏÍÜ52¹±*Ø;ÍiËxŠ2¾.|ΡйÛ�‚ë¯n;€cþ¡Ì?—7n©È.w%‰��%&&€ÁƒÓ Aòòòøí·ßˆ‹‹³îFêååE`` ­[·ÆÑÑ‘‹/²eËúôécׄۃì…^`ðàÁ„„„Tu(BÜuøùùUuB!„B<ô^ýw&¿\4Ü•±ïv…[Çj>}Þí®Œm+µZý8�ä¦ü#/ÿ°æÛK¡óz]ø Ðu �³”pîö¯Kc·ï¤Â­’‚‚‚HIIáÔ©SlÙ²…§žzŠ6mÚЮ];ÚµkWbŸÓ§O³gÏÚµk'É6 .^¼ˆ¿¿U‡"„B!„â!ÒÈKy×nw[#/IýTy×í gÏžœ:uŠ={öKPPõêÕÃÕÕòw#½té±±±$%%A~²­ ¯([tt4 4°®'„B!„BÜ �¾Õ7}R�c¯Îä]·“ž={âããc]Ó­ ©V’ZµjÑ¥K©l+‡¼¼<þøã.\ˆƒƒÌ?B!„Bqï´¯_}ww¯Î±Wg²†Û]Ë… HNN&;;€š5kâëëKãÆ�%Ñ&„°‰¬á&„B!ÄýãÅuœI2VuåÒÒOÅŠÑîU†¬á&ì#((H’jB!„B!ĤW §j—pëÕ©ªCxhÉÜ !„BTÃ;i™ÝߥJÖtS³û»H²í>$nB!*D§ÓàæævÇDÛí nnn¤¥¥¡ÓéJ]Ïí¯¿þâ£�>âÝwߥnݺüõ×_¼÷Þ{Ì�;OOOk;ƒÁÀ«¯¾J`` ,ÀÕÕ•´´4NžË¶mÛØ¹s'}ûö(’lS©*þ·»ÉÁÁwwwvìØù Ä’hµZF�ÅðáÃ9pàÑÑÑDDD°jÕ*š6mZ¤í•+W0›ÍåÚ(ÀÏÏ�FSdšga 6¤cÇŽ„……ѵkWž}öY:uê@BBf³™·ÞzËÚ>//�œœ›®—7¾Š<Ÿ­cßo5jùghذ!z½¾ £B!„(™O-ú9Ó7¨ª#÷‚$Ü*iá/B~eÛuÿüs†ÊÀ�™7ožL¹"_Ó¦M6lõë×·ž3 œ;wŽ'žx¥òV1°»»{µ¯žQ«Õ„††Zéd›-;�–¦2;œÞî÷ßgÁ‚;vŒ¤¤$.]ºÄªU«ˆ��§W¯^ÅÚkµZúõëÇG}Ä™3g¸ví«W¯.×=}||8uêIIIèõz²²²Ø¾};©©©äæærâÄ 4 nnn(•JF�ÍÒ¥K9~ü8f³™””âââ ¿*ïN×ËËÏg/mÛ¶eÛ¶m$%%‘œœÌÖ­[‹\wssãòåËÖ?eµB!„¢º�„[%ü––Àc~·¦ý÷¼íUj[Ï'é[0–­œœœ:th‘*·´´ÿ¿½»Žª¾÷8þÙŸOÕÕÕzõÕWµiÓ&>|8e}t£P°ßÒÒsÛP›dÌׯ_?IÒ#�<¢ŠŠ -\¸P{÷îÕO<Ñ)D5úÅ/~¡‹/¾XK–,ÑM7ÝžÌéÌ)S¦hôèѺþúëµlÙ2�ýôÓðù¢í�U¢ß/Y~ö³Ÿ©¤¤DZ´h‘ Ô)è�3g޶lÙ¢_þò—ŽŽÒE²K5œœÏå½q[–a›ùÚúœezy$ew¼r:^Ù’ ÿ7žŠ ³óžÚ¦ö`PŸ.¸J9Y�^ÿ†šÛڵ핓­çMT[ ¨k·)ÛãÑþ›¯rÔöþûï×ÙgŸ­Y³fiöìÙúío«aÆéw¿û�²²²të­·júôéºÿþû5fÌ577kêÔ©Z½zuxí½{÷ê¾ûîÓ_þò—„î�I>ÿüsUWWëÊ+¯TUU•¶oß®#FhôèѪ©©Ñ–-[týõ×wÛ°Ò'N¨¼¼¼[®�††Õ××+77WeeeޫՂÁ Ž9"¿ß/ŸÏ§ÂÂÂ.ïk4µµµºöÚkõÏþ3#žLÿ~p7¯×û’$µKjëxµw¼‚’¦Wа]†ÏÆ— ûeØ´Øf~o'ñ°¨‹&¤HV¢Î>}úhúôézöÙgõóŸÿ\¯½öšÖ­[wÆq¡ð–-[ÖiRm7®8¸E^^žrrr4vìXIÒ�!CT\\¬£G�êk_ûZª»ç ………jnnVkk«Ž9"ŸÏ§üü|Ûà- ª¥¥Eõõõòûýòz½®Û$iÿþý¸¿ZÛúïýõÒg‡µ¿î¤$iDqýç°rýð¼ÁòfgiÇÁZÍí«¡j]q~B�€ÌäöUJÀ ›UJÛ +’:]¥ÔøY1¬Rê4JZ0Gà–ËßúDÏìûR’ôॣ4w¤õÐÎ�ç?9 {ßÜ'IºqÔ-O•€3¸È=1pK§9Ü\+˜=³ïKÝûæ>½XyH3†Ò¸òb é[ u¬Fºëp�^¬<¤÷Žý["lÈHn ÜÒzn·åãGjtIaxN·P¨fePï|Ý~ñP†‘$�kUpSà »p.a—ßôÃiÆðAz±ò�^¯>®�7èhóiIRi¯<�.)Ô¤³KÚ@Od•ÍDöéš-é¸E’òJ¹Pð€¨Ò2T‹$ËÁ1nb~÷@�Þ�Û·Xof¤ÒD¤^2òWç=nÜbéF"ì@÷ˆ”Ѹ:D‹E:n±¦ Ñ&ß@ðx<í†�N2šŒ½˜ìE’±`A¬çï¤]°ãHÓ° ©¡¡AÍÍÍòûý ­ÿîõx<ÊÍÍU¯^½TXXØí} ƒÁZCõpÓOÇ—‰£k]qްT¯Rê4\³;Îj{À°Íj‚½ö`0Ø ÉgŸ%I~¿?ü ± à+YYYÊÍÍ ¿�\mmmª©©QkkkÔcƒÁ Z[[ÕÚÚªææf 0@99©þkèYÚÚÚ>•Ôa„ Í0S»Ìi0–Òª¸Týæá4@sZµfw®�€ásÀï÷äõz/µ«Šˆ¤­­M---òûý1·�ù�€NŸ>­Ó§O+77Wùùù„=ÙÑ£Gß5jAÓûDB5§«˜¦$xK·a•Aå…A›ãBÛü[·n}!ž‹ûý~566¶p„?3’«¡¡!¶•••©  À6lSÇ�Ò‚‚•••)77W­­­jhhpt­7ÞxCwÜq‡®»î:Mœ8QóæÍÓK/½$IZ°`�^yåÛ¶sçÎÕÓO?íè:ÑΕLË–-Óc�=þÜÚÚª–––.»ÞÖ­[õ‡?ü!|íqãÆiܸq?~¼fΜ©»ï¾[Ÿ}öYÒ¯;sæÌðµ¬^ÕÕÕ¶mcyv•••úÕ¯~•Äžd¦õë×ï�ä�’ÕD ËœIu�t(»ˆeN7»c†‡Ó6gΜÿkll< é,§�hkkÓÉ“'�÷:œ}ú¤ºi-T)˜ŸŸsÛP›hÕ†ÿûßµgÏmذ¡SÀ6|øpÇ×úÉO~sÿ2Í®]»ÔÞÞ®+®¸"¼Íëõ†ÿ(**Ò˜1cTVV¦GyDãÆ�Sß¾}“rmc –——§ììlÇÿíÅòì¼^¯f̘¡?ÿùÏn<OûªU«ÖKjµÛÕn²©ds}¸f%݆”Z±++4Ž –áÁ%ùçÌ™³«¡¡áe'U¡Å ^ü9’¸Ð?�ÄRÝjíYž|òIýøÇ?ŽZÍöî»ïêæ›oÖ•W^©o¼Q|ðAxŸÕ0Ñ^xAsæÌÑäÉ“µdÉ>|ØÑ¹ü~¿üqMŸ>]S¦LÑo~ó›p¥_èZëׯ·mogÆ Z·n�¶mÛ¦K/½T?ü°6nܨK/½4ü?~¼Æ�§ºº:ùý~=öØcš9s¦&L˜ Y³fióæÍ¶çýõ×5iÒ¤¨Ïª¢¢BÁ`P;vìˆz�{ï½W>ø`§öÏ<óŒî¼óΨß×lÁ‚Ú¼y³-Z¤‰'êí·ßo7>» hãÆ�ºå–[4qâDÝ|óÍÚ·o_xÿÕW_­7ß|SMMM1÷ ÓíÝ»wÅòåË« ÃI­B6»ÅÒ2d3rk…[ÐT­æ1ý”i›±�:X–a¿1A ­bÚ2xðàkkkûG[@!Ö_’+++õå—_ª¦¦&ü‹Q¯^½4`À 2$¦J ™Ãï÷³r©‹µ´´èÀ�=ztÔc<¨¥K—ª´´TkÖ¬Ñ=÷Ü£—^zÉòùnذA[¶lÑòåËU\\¬÷ß_>ŸÏѹV®\©ÚÚZ=õÔSjkkÓŠ+ôÄOhéÒ¥áö»víÒ]wÝ¥’’’¨} ¹á†ÔÔÔtÆ�ÒÙ³g‡ß/Z´H¥¥¥*..–$ 2D=ô�òóóµuëV­X±B矾Î>ûì3Î_UU¥‹/¾8ê}ôz½:t¨ª««•››ñ“&MÒÃ?¬@  ¬¬¯þ½pûöíš1cFÔëXyôÑGµxñb-^¼Xg�e?ÃÄ+¯¼¢;ï¼S¥¥¥zöÙgµhÑ"ýõ¯Uß¾}U^^®ììlíÛ·Oßþö·ãê@&:xðàc^xá«’Z YŒñ%SÕ[¤Ê6»¹ßÌǹJWT¸Åº<«“RA§«Sص mo7<ÈvI§û÷ïG´J7§�[ee¥6nܨ�;wªªªJMMM ƒ ƒjjjRUU•vîÜ©�7ª²²ÒÑ9d*ÜÜíàÁƒ ƒ�Â0;×]w�F�¥ââbÍ›7Oµµµ:pàÀǵ··kݺuºë®»4räH 8P“'OVAAAÔs555éå—_Ö�~ô#kàÀ�Z¸p¡¶oßÞéS§NÕˆ#¢ö%›6mÒ矮Ûn»-¼mÆŒúú׿®AƒiÞ¼y*//×G}dÙþàÁƒê5Æ�¯S§Néã�?–$ÕÕÕiÿþýºüòËãúŽ .Ô´iÓ4lذˆÃ”gÏž­Ñ£GkàÀ�Z¼x±|>Ÿ¶mÛ&uTN4(áû �)<OûG}´üÜsÏ}^ÒéŽì%ªµwæ$¿‰ÄInmÁM'çLˆ[+Üœ0WÁÉTíªdË2<ܬŽ:®MÒ©Áƒ?øÜsÏmûÞ÷¾wgh!cÅ[hòåHvíÚfRRR¢áÇ«¬¬,<'Mcc£Ž9¢ÊÊJ?~\;wîTmm­Æ�—œ»ÀõœüY‚Ôéß¿¿ÔE[XÁ¨¼¼\�†z†:tHÍÍÍ5jTÌ窮®V ÐÝwßÞßÞÞqøb¤¾8UWW§U«ViéÒ¥�îÉ'´uëVýë_ÿR}}½Nœ8¡Ó§OŸÑ¾¥¥E'NœÐÀ�]ïøñãºì²Ë¢^#//O—]v™vîÜ© .¸@o½õ–ÆŽëx1 ³¼¼¼˜Ûdeeé›ßü¦ªªªÂÛJKKYT  c�„G}ôéx º£²­Ý´ƒ7ce›ù—$sèæÊê5'Ò-p‹4Ô4$¬y *hz í¦ó¶TTTì�´û¹çž»ä»ßýîsssÏ÷x<…_ýÿëÈ…€ï¼ó޾øâ hìØ±6lØÇ©¨¨H£F�ÒgŸ}¦·ß~[_|ñ…¼^/ÃP€$–ùÇ¢ýÙÓÓ$z?¢µ÷ù|:çœsôÞ{ïE Èúôé#¯×Ûi[¿~ý”��}ÆþS§N©°°Ðvî¸Hç*,,Taa¡Ö®]k[u­/F½zõêTÉ•ŸŸo¹bçêÕ«õ�ï|§ÓÊ¡§N�Òí·ß®Ë/¿\ .TII‰î¹çž3®­Žû\XXØ)ô3_;Äï÷ëØ±c:ï¼ó]ãšk®Ñúõë%I»wïÖ5×\cy_Bòòò,9«ûfµÝê¸Þ½{wzíííq‡~éÊãñ´ƒÁZ¿ß¿ÿرcï¬]»vç§ã}–ÅöÜŽÏÙ}ˆWWÝk§ ®ÌX(PówŒ" ¶PÁ“y»ñ½,ªÝ"sVp‘†˜öØ!¥vUj±¶7¿˜B7ã" íAZ›¡]èg¶á$VažÎ@dt™_í¦@­Í´Ý\ÍfõÙê}<ýLiE\WnñhNÎiÒY…mV+–O…nÙÛ�«šfÙTÓÅ‚`¸]¬Á”UÕYÀðÓXÝfÛìV&�ºueˆÖ%Á\ª+Ü"±ZÁ*È3p²x/Ã3¶m7„lÙ†í1-¸`n§.ZÝÀ�ìæX3ÏÍfÛìöÏcïd‚Y­DêÚyÝܸÅ3¬Ô²ÉfÅRãÐRsˆ&ÓÊ¥ÆcC?�+šÛ] ’ d»0+`Úo®p³ªb³š§ÍpS„ÐÍj{´ÐÍ.ˆË²xoÞo¾A@䡟² Ó" #µ Úœ„mæ¾DÚîôû$UWÏá–Œa¥‘J°;ÖnŽ·€!D =ä,‹mVsʶ€ž.Ú*¢VA›Ó*¶h׋´-V]:Ï[w„H©ªr‹¶=Úg«ëÄòÒE¬•avÁ[´p-R[FT·É%«”:aµ(‚q»Š6«íæsz,>�ÏrðŒ![ÊWÂH€“l#`úë\lÉ Û\©»ª±ºªÊMó®É¢b͸/Ò‚Óùœô=Ö…!R%Y ˜÷lB1óB ‘æ�³šÎ|×W·Éå�›U»xB7«v‘†�Z�×nõT€Li5»PLªÚìöE:¯]Øf×O;=2pS„`-Ò>§¡›ñ½U«Ï‘öd²X‚.«àÌi§¶hû"ɘÀ-ÖkE[4–ÐÍn{´…ìúë" éÌ<Ÿšy_¤c£…j‰†mvûítËpn ÜÌÇÇR}fºÙU»Éb{¤°ÍiŸÒI¬ó¶™·;™gÍ.(s2<Õɾh2.p‹çzÉÝÌû£-ŠKµ@O­ªÍ껪6ó>óþ´ Û”æ�[´ýÑ‚5§«‘š�èéÌ!YH,aZ´ýÉJÏñqKEåVw†nѪÕ"ÍÇËv*à@¦ˆt9Ý­R-Öêµ´۔ ¨;C7ÙT©E›ÇÍI_œlH±kæýц–ʦ:.cÂ6¥Qàfnã¤ÊÌIµ›“s¤tÏÜjNæzKvØo›„dw÷ Rºm¶;¹^<ë€[%D9 ¬‚6«6¶É�P"CK#µwrœÓ!¤ÆãS}¿RÅ.8³;V m±­Ý.ÕR¢Un]±-Þ{’ê{ �¨xCªX«Õ’±-Ö>u7„DÉ ¸bY=4YÛzšxV,uº=Ѫ¶DÛ%…[‚¤dV•żEÚç–{àVñ¬jÚ•Um‰´K7…J]º9½€µx¶xÚ¦mئ¯Rj–H ÕCD#=0Â8�) Õ’q>W„f‰p[P”hâ ØÜvÒ]¬CJ£µIôšÝÊ�aSW…nNö»ñ~¤ƒxB6§û¹v·skÀ”Œ~%2_[²ú�É ÙœÓçH*7‡JÉê[,çI4¤ÈDÉÏ’’¹.lS„GÉì_WUM浺KweÉ È\¶)�‚!7oˆM�ÚBÒ)|ꊾ¦Ó÷H']Œ¹>lSN]Ùßt»nÓ•�XZ„mJÓ�©»úœŽ÷ ;uW–6a›Ò„kÊASS¾v""""""""_h’á[S �šÒµ¢&À5…ª)\#Q0iÔÁ[c £ëu56�.|klÁTc»"""""""¢¦¢Ño�% j,×ADDDDDDDÔÔ}ðÖ‚*_]ƒ§çi ÷˜ˆˆˆˆˆˆˆOC-_…aAºsÔmwå˜Á|ψˆˆˆˆˆˆˆ<áJÖ!YPoÁy³ÍÎŽŒ÷†ˆˆˆˆˆˆˆÈ—œbÞ Ë‚*x ¶PÉíutŒ`»DDDDDDDD�ÆQ0æ�À,hB·` ™êÓV†lDDDDDDDD¾Õá[P„nÁ8ys‚†ˆˆˆˆˆˆ;oe�>qƒÇ=@òGÐÖ�ÝV‰ˆˆˆˆˆˆˆ�/»{6‰à-�ƒ!o…muÇÝóò=#"""""""jî†[umo»¾Q…n�yÒ.w‚6WŽ/8øœˆˆˆˆˆˆˆ¨)“|îÊöu­ó$@ ¸Ð-ƒ¤ú†mõ Ú„½'DDDDDDDD�Lö ªÍѺ Ý-\ªo÷NOf#=<QSãj°eòàõ­v ˜Ð-�B¤ú„mîmÎB6otg­Ï±ˆˆˆˆˆˆˆˆ|ÁÕà«>Ç‚“ðÍ•óeèH��;mñ4ls´¹Ò 5�î‘?È6�mcË^ðæíÐ��›o†m®muu¬Z#"""""""ªVW0æNµœ«Á[Іn�5dØfog_{:3i ÜG""""""""oð4Ür�ÙûÚ•1Û‚2tówPäI¨åjå™mU›£ Í[mþ¾—DDDDDDDDõåjPåjÅ[]¡šmµ›§•tî´±Áù;$r7póFØVWÐæ¬rÎß÷‹ˆˆˆˆˆˆˆÈ_œ…^Ž‚5{ûÔ'tcàæÅs; ¼lôººˆºÓÍÔ•0Žˆˆˆˆˆˆˆ¨)¨+Ts¶]]Á›m˜æ,Ô øÐÍ_’?Â6W+Ûì­÷tl7"""""""¢Æ ®±Úê ߬?6úÐ-зú†mŽªÚìWt#XsuvT"""""""¢`âJwQGëd›î¡ŽªÚêênêíЭInÞ·ÍÕ°ÍQÕšõGÑξÎÎÏñ܈ˆˆˆˆˆˆ¨©pV¹æ¬+©ÉI°f¯ÚÍ“Ð-`«Ü|ù:lsVÕ&9ÙÏšç¼QcSW@e´³½½ðÌh³Ì^°ÖèB7…¯Nä&WB,WÃ6gUmæe¢“}]m Qc »�uv*ÕÌ_›¬–Kvf!µwÙæ˜‚ÕrWÛ0|y³ºÍÓ°M²ùÚ6hm–;k‹³¶w+Ål»�ª©½à NªÝ\­t š*·@¬ps¥+©½åÎÂ6Ûª6Û‡h3i‚ˆ[q¦R"""""""jŠl0GãÝ‹5!›9xmÂ2É&„\¨t³=�írW+á|ÊW�›7*WÇvƒƒ°ÍºŠÍ:h«+°svn"""""""¢ÆÌ¶ÒÌ6H“­Â2ëàÍT³Ì:„³ºÁG�šOº ú*šl>¦û©m—QÛ®¨p°�m] ÒŠ*•ª7"""""""¢†c0 IR ›Ê6Û� .T±¹“5ÚÀ­¾f/8³—n:š<Á6­Õ­TÅHN”@DDDDDDDÔpŒF#$IŠ´Ó�Ô¶Š­®ÉÜ͆ÜÑ áœ¿+ܼqS\I3ko’$‰ ܈ˆˆˆˆˆˆˆŽÉd‚(Š¢ƒ  ud:¤¹Êß�›#u• :<ÏQÈf»Œˆˆˆˆˆˆˆˆ|ÃÑømÎ&Á´^nïsgËü.P7W¸r“m'Qp´5 {ÝG�kΖ…` ÜêªrƒÍ |ŽÖQ€‹Ẻˆ@’Réï¦Qý8 Ù`“ã¸[ݰ"|rõ¸:öš«ÇlÔÉ(QSпüãÿÀîÝ»ñ믿b×®]øè£�Я_?7�ˆˆˆˆ|¤¥(â±ÐPŒÕhp_HÂE�eĈ¬� j£F�ÂùóçqåÊ»�óçÏcôèÑþn¦ÅÈ‘#qðàA8pÇ÷wsüÉ�žŠ®ÇÕ±àŠ!C† ::Ú¥}Š‹‹ñã�?bÅŠ�ö^ÇÆÆ®]»æï¦øES¿~""Ô<®X±•••3fŒ¿›°âãã.\ðéyÇ…†â‹òrÜ¡RaZD²*+'IHT*Q&ËØRYéÓöPà‘e¢“V’$ȲìÓ693þ|´nÝðþûï£oß¾~k‹R©DFF&Nœˆ¶mÛ:Ü®ªª íÚµóöéE;9M]¹ŽlõÑvy]\Ý®Aø;p³ÇÝTÑ•o+Ûˆ˜9lÓjµX°`Ö­[‡ÂÂB´iÓãÆ�ÃÌ™3ñøã�C¼úê«~ic~~¾GûuèÐÁëmqÕ¤I“0~üx·öiÞ¼9ÒÓÓ!Ë2þïÿþÏãsðÁèÔ©>úè#lÛ¶­Öº·Þz IIIxî¹çôx•J…B­Vkù‡K£Ñàã�?†,˘:u*t:]ƒœ;33 @Í?„W¯^ÅáDZ|ùr€å…Þ“O>Ù m°ÇW×ODÈbcc±víZtëÖ pkßmÛ¶¡G�@ÍÌ{.\ÀŽ;ðöÛoãÒ¥K Ô↧Ñh T*QVV“ÉGvv6L&’’’ Õj}Ò–’„Ž  ²Œd¥ë++a�e¬Ój19,Ì'í À¶yófÌž=}ô‘ÝõÈÊÊòy»‚AFFæÌ™ãïf¸’ãÀͰ̯áš=�¸ÕÅÓD†nD¨ÿþ–°mÒ¤IÈÉɱ¬ËÏÏLJ~ˆŸ~ú +V¬ÀÔ©Sñí·ßbïÞ½~ms°2d`åÊ•¸xñ¢eyFF†Ã .11ï¼ó†Z¯ÀíçŸF§N�Я_¿Z�[DDºu놂‚‚·ü¹çžÃàÁƒ1{ölœ={¨y§Îžêõú=?ìÙ³pÛm·aøðáHLLDFF†OÎm�¯¯Ÿˆ(ÐÄÄÄàŸÿü'ºuë†S§NaòäÉÇüB>%%“&MB¿~ý0lØ0TUUy¹Å¾ñ÷¿ÿãÇ�ÇСCqôèQ€V«ÅñãÇ!˲Ϯ+R±ð¶®è†MGŽ`¿N‡k&Î P z(•h«Råå>i¶sçÎ9\wþüyŸ¶¥.sæÌÁüùó!˲ßîI“&ÒÒÒ°sçN4ÁÕLÇ6< ¸@­.Á¸y£¿-Ã6¢eîFº`Á‚Za›µœœ|òÉ'ÈÈÈÀÔ©Sý¸ù³RÍSÍ›7€Za[]Nž=ç‹Í›ãîÔAFëÖx(?úš*õ»Õj|˜ÜB\ |±i .�>mgU¥žþn7”-[¶ wïÞþn M›6@Íÿëö\¹rÇŽÃ#�<Ò�•»®t#uåÀCàf‹ÁQ#rç�w@�ÿ ~ûí·ÈÈȰlO�íÒ¥K8sæ :uꄤ¤$>|pÇw5p‘‘‘xä‘GлwoÄÄÄ ¤¤;wîIJeË,ÕW¢("==÷Üsbcc‘ŸŸ�U«VáÌ™3N÷ÍÈÈÀàÁƒûÛß`4ñðÃ5]9õz½%ì5ŸãÞ{ïEll,Î�;‡U«Vaß¾}–ëY±b²³³¡Õj1`Àˆ¢ˆ�7båÊ•.Ý�ŠŠ üûßÿÆc�=fÇš+÷•6¸º�õõ»²�F£Áoû[ôïß&“ [¶lÁ˜1cðý÷ßcùòånüdù‡7Ã6k¥¥¥X½z5^~ùetíÚ�——‡õë×ãܹs˜ùä,]ºÔr /¾ø"† ‚Ö­[ãÚµkøî»ïðöÛo[*Ðì�û‰'žpºß§Ÿ~j©|ß¾}; ƒåy^^ªªªÐ­[7 f\¬Y³fᡇB||}°víZ¤¥¥ù:¼t¢|ÀfË_“Ôwöw÷aG Ì•Tuý14WiÅÄÄø¤]TæwÍú÷ïÔ ÐÚ»woäççãÂ… Ðét¸ãŽ;pùòedggCEŒ7&L°ã™gžÁc�=…B�={ö@£Ñ@«ÕÖ¹ovv¶åLVV¾þúk‡í4ŸÃh4"''�:uÂ+¯¼‚îÝ»×ÚnèСèׯÎ�;‡ˆˆLœ8))).ßI’€š‰)l¹r/\mƒ'í¬kŸÙ³gcĈ(..Fnn.Æ����—¯�ˆÈŸ*l3S*•€MµÍÃ?ŒŒŒ ”””àøñã€E‹á©§žÂž={�••…aÆ᫯¾²ü}€™3g¢wïÞøé§Ÿ�÷ßß2Óbee%F��üü|¬_¿’$aæÌ™˜={v­öØž»®ý¾ÿþ{œ8q°téR|ðÁ¯õí·ßÆŸÿüg lß¾={öÄòåËq×]wÕÚnâĉ9r$rss�^x#FŒpzÇj4P´ŠƒéödàÊU„”•cjÛ¶HV*ñáý©ˆ‰�Š®C”eÜß²¥Ëßj|T*–/_~ËÿjÖºwïŽeË–A¥Rù´mŽÓ,¥�>ú(Ž?Ž.]º`ݺuhÙ0¿o •ãx3kª·`¬p« g"% "ÅÅÅhÙ²%Ú´iãtbó;­ö _ÆIüíçŸÆäɓѯ_?|þùçèÕ«Ôjµ%ˆ«¬¬ÄÓO?mÙ¾U«VX°`úöí‹åË—[Þá¿xñ"þð‡?Ü2kª³}³³³1`À´oß7n´Œáf+66©©©8wîæÌ™£Ñˆ‘#GbæÌ™HKKñcÇ,Û–——ãÙgŸ…Á`@zz:¦L™‚=zÔª„³G$$$`äÈ‘0 8räÈ-ÛÔu/Üiƒ'ít¶O›6mп\½züãa4qß}÷aÚ´iN¯›ˆ(P¬\¹III8qâÒÓÓ½6K³(ŠèÑ£&Ož �NWk¸£Ñˆ±cÇbÿþý€äädŒ1›7oÆôéÓ�šêá1cÆ S§N8uêPÓ•kذaÐëõHKKÃgŸ}†§žz 7nDyy9n¿ývË9ðË/¿`øðáxç�wž€ÓýÖ¯_�1cÆ [·nX²d‰e 7[ñññ˜:u*Nž<‰‘#GB¯×còäÉÈÌÌijÏ>‹_~ùŲmII �N‡Y³fá•W^ÁÝwß]«Ζ @ä„Z­FHx8ºµˆÁû?{U-ã TT@ˆŽÂmÍ’ÑüÌ×Lð@MËã�?Žäää:·ëÑ£¦L™‚Å‹û¤]ÎÒ,¥ö8z¢K—.X»v­×ߨp@ШúŠ{;póUjX×y8iQ�صkÆŽ‹qãÆáÃ?t¸]ZZ`÷îÝ>lÕÇ¥K—�——‡„„´iÓ¦VwR³ÄÄD<ðÀHLLDdd$A@DDPVŠ¢ˆœœœ[¶ºöuU‡ öïßcÍX0?ýôfΜyË4è&“ÉÒóXw‘‘‘N�ÿÕW_Y>7�øüóÏVsºr=®´Á“v:ÛÇ<]ü¡C‡,÷èÆ�N�GDHÌ3U{“ù¹ ^}õUœ9sƲ¬¬¬¬VàuÛm·5U.¶/Z›5kfù¼ªªÊ2”À†  Ë2:wîlYß¿<ýôÓHIIALL A¸eÜUÛs»º_]’’’ Š"¶mÛfiã7ß|ƒÌÌL$&&ÖÚÖh4ZfÂ6�½[W/…7KK¡tU(ÐU¡@ÂõëhsQB Q„± !çÎA Õ/ëZH·&ꡇryÛ‡~8 ·`&^�Rå5Ξ¬}Õ�Ô«çiŒnDD–.]бcÇbæÌ™øé§ŸìNœÐ·o_̘1²,[Æ1ñµ¦\©V;wîDBBú÷ï�þýû[º“¢¦jñ�7ÞÀ¥K—ð�üX´h‘eßÐÐP ¦‚ÀV]ûºJ­VVÝ=ÍËêš‘Íèâ@Í»víByy9 ñË/¿8œ1Ë“ëq¥ ®¶ÓÙ> Eõ¿ Z­Öíc‚I“&Yº”~ûí·HOOÇåË—ëuÌ 6 ´´yyyø×¿þ…ÜÜ\§Û›+ô7oÞŒ×^{­Ö:ó¶Â€š*hèܹ3Ö®]‹³gÏâùçŸÇÉ“'N8eÍÓýl™ÿ.›ÿ. ¦JO–eTTT8ÜÏÞ›fŽTÉ2Žèõ8bg&m%€(QD[…FYÆi7ŽK�‹mÀëŒyüA ¤YJ퉋‹³|nžÍ¹{÷î8}ú4ÒÓÓnŠ`ÁÀ�ˆüjïÞ½Xºt)üq¬X±Ÿ|ò Ö­[‡‹/">>iii˜1cBBBP\\Œ¼¼<7™ÜðóÏ?ã±Çøqã�~øÁ².11J¥û÷ïÇáÇoy÷ÌÌ¥¤¤@©TZÞMwe_XGΪÞÌXÿþýñå—_B¯×£oß¾Á+?kÿøÇ?PVVæp½¹Ý®\�¿˜ÇOLIIÁÒ¥Ka0 ÑhüÝ,""—!==ݺ­]»¶Þ¡ÛìÙ³qýúu—·ÏÍÍ…ÑhD¿~ýPTTäpßððpDFF¢´´C† � –1àúõëµZ�­[·bÇŽvß�²Ç•ýÌ¡Xtt´Ók€Q£FaÞ¼y¨ªªÂðáÃ!‚Ãn¨îP f†‡CWS‘(Ð"EÑ¢ˆXQDŒ$Aà{�‡YmÝd%$$ø» n ¤YJë²lÙ2tïÞgΜÁøñãr¦ÒF/Ð7o¼âœW-Dd×¼yó ¦N�ŠŒŒ dddÔZ/Ë2ŠŠŠƒU«Vaâĉ^…Vaa!Ξ=‹Ž;6Ó�›ÿx�9¨yÞú]ó¼¼<=zÉÉɘ?>rrrбcG¬X±¢Î}XÆm3P½jÕª[Þe/((°ÌÄ”™™‰Ó§Oã®»î‚Á`ÀêÕ«è®T+--E\\}ôQËXqήÇ_Ξ=‹'N [·nøàƒpöìYK÷`"¢`Ñ¡›; ñå—_âÉ'ŸÄ† °zõjÄÇÇ#""¢Ö˜˜ÑÑÑØ²e öîÝ‹ÔÔTȲŒ�?þ°ú»6yòd f\6W„we¿£G�b„ øë_ÿЬ¬,ÌŸ?ßÒ%Ôìĉؾ};†Š­[·âСC¸ÿþû¡Óé�™™Yï{d’eü¦SÔ’¹ô&„°Pˆå% ŠÈ(tz(€¸÷"Êo ÜÈŠ¹˺R‹<Ó·o_œmc~~¾G2w_1O8á sÙ}QQ‘×Úa³Íº;)?~«W¯†ÑhİaÃpíÚ5ìÚµ«Ö¾ï¾û.¶nÝŠ°°0Üwß}ˆŠŠ‚J¥riß 6àÇD‹-0|øð[Æd3{ÿý÷‘••…��¤¤¤àäÉ“xñÅ-•] eÉ’%¸qãF��ªªª:¯ÇŸÞ}÷]ìÞ½±±±èܹ³e`솉ˆ¨¡˜C·ãÇ�£k×®X»vmC;g×ܹsñæ›oÂ`0`Ö¬YHIIAyyy­ªæëׯ#??÷ß? 0yòdËxl»víBff& &Mš„‹/ÖªwÄ•ý/^l 'MšdsÎÖÓO?�¥K—",, #FŒÀÞ½{qß}÷áôéÓõ¾?z?#&<íº%¢mdÚŒ¹­Z·Fì hÖª%ÄÃǰêÔ)|pôx½ÏGäK�4K©y<áØ]‡Áƒ7øÿÂ. ê ÈÛ�uõx‚ÍGëåÖËD›íD›m¬¿6.Y}.ÖTñ™€È^½zesÀg¢àƒ+V 11GŽÁ<à³sûc–Òòòr�Æà2›2e ÒÓÓ=ÚwÍš5X¶l™Çç¦Æ-55Ó§OÇÂ… ‘••åïæ‘ ¼�{z¬ºö3¯oènë±±±X»v-ºuë†`Ô¨Q z>Wåå塸¸)))þnŠßH‚€éáá˜õàhDŸ¿4�nÞL2*›EâÓ�Ùxçê5ù†Ùô ·ƒZf)=þ¼_g)}饗néQdOUU•Ã7¬Ý�ÜÜÜJkf"5X=L5Uj¦šu²Õ2óçpð5¬¾¶Þ6ËàF%\“œ4Á•0/¨ÒN"rOQQ&Mš„/¾øÂáL� %'MX±b`È�!.ÏDVTT„íÛ·cÕªU Ü: &’$Õ ï¼óNÀª›Q0¹víÒÓÓ±|ùr§ä�ïeß¼‰‚uëñÖ€;ÑRо-ô••øró6¼S\̰�¨ž>øàȲŒGyñññþnŽ-Wºˆt7Rk�Táfo™u…›ív*ܬ¬p#¢ Vß 7"oIMMÅÈ‘#‘››‹öíÛ#99‡ºe¦=" \¬p |¬p«­¯Z�Ñ­ZA%I8zý:Ö]¿Ž[ç.%ªöÇ?þ¨*$�1Â2KiFF¶oßîï&ù”nÖGn²M%›m…l9V d IDAT¸Q`*--…R©ÄðáÃqãÆ üë_ÿb—c""jPû«ª°ßÏãáRðÔ Í,˜f)%ïaàFDDDNegg#;;ÛßÍ "jÔüÝ""ò¢`›¥”ˆˆˆˆˆˆˆˆ( ù#pãÄDDDDDDDDä+>Ï¢{…Ã="""""""¢ÀÓ¨3›Æ¸ù7"""""""""/bàFDDDDDDDDäE ܈ˆˆˆˆˆˆˆˆ¼ˆ�‘1p#""""""""ò"nDDDDDDDDD^ÄÀ�ˆˆˆˆˆˆˆˆÈ‹¸y7"""""""""/bàFDDDDDDDDäE ܈ˆˆˆˆˆˆˆˆ¼ˆ�‘1p#""""""""ò"nDDDDDDDDD^ÄÀ�ˆˆˆˆˆˆˆˆÈ‹þn@c (C!(5$5‰·´±��ÈÆ*Èz-d}…׎+h”BT3ïÆ@6˜ ëŒ�+ �µz7‡ˆˆˆˆˆˆüŒéP=’ ¢&‚Bíï¦P$Eu€ª ƒl¨‚I{²Qçùñ”Äf!T’WÛIþ'(Äêð4T Y§‚éF%d½ÑßÍ"""""""?ay�‡e(¤ˆV ÛšA¡®þ~+C=Û_£„ư­ TRõ÷Z£ôwSˆˆˆˆˆˆÈO¸y@�T�ÂbýÝ ò),‚¤rkA)Aj®i°6Q`’šk (°5E Ü< j¢ýÝò#w¿ÿb³�k ¶`üÞ§¥¥á…^@xxø-댴´4—�¥P( Ppä"" lñññˆ��÷w3ˆˆ¨‘aàæ&AÊn¤Mœ P»ÜµTÐ(Ù�´ TRPv-E#FŒ¨÷qî¾ûn<øàƒ^i‘»8€+W®8|¼òÊ+Gvv6~þùgh4Õ=4 "##!е_*åååáÈ‘#~º"" 6,=p“ d×@ªþ9peæR!„¿bM�¢º™K÷ïß�=z !!yyyþn‘G¶lÙ‚èèêž ½{÷F»ví°sçNNœ8­V‹ãÇ�C–eTUUþþ÷¿cüøñ:t(Ž=ê×k "¢àÅ4ÀM‚Äê6rýç€ÕmŒ?Z­[·nÅèÑ£ñÙgŸÁht<ãêÀ�Ñ«W/„……áüùóظq#JJJ0`ÀÜ}÷Ý€¤¤$äää`ãÆ��$ C† ARR rss±yófèõÁJQà{á…,ŸgffbòäÉxï½÷°sçÎZÛ¥¦¦ú¡uDDÔØ±K©›‰%¹þs (ø+ÖÔëÏÀáÇQRR‚�:ÜæÞ{ïERRþùÏbñâÅ0 ˜Ü‡WFDDT[^^Nœ8øôÓO1~üxÀöíÛqñâE‡û…††â¯ý+öíÛ‡S§N᫯¾Bûöí}Ön"" lÁùJ�ˆˆÜÆ�qÇw yóæ·¬“$ wÞy'6lØ€«W¯âÆ�øî»ï V«ÑµkW»ÇS©TèÓ§þóŸÿ ¢¢7oÞÄ¿ÿýo$&&úàjˆˆˆêöý÷ß[·¥K—âƒ>p¸í¢E‹ðÔSOaÏž=ÈÊʰaÃðÕW_A’‚¯º�ˆˆ¼�åZDABjè�0^*ówS¨‰(..ÆîÝ»1zôh,_¾¼Öºèèhˆ¢ˆÂÂBË2½^� . 66Öîñbbb ~øaË2Q¡R©ð*ˆˆˆ\·~ýzŒ3ݺuÃ’%KŽá–œœŒ#F`óæÍ˜>}:P3Ù˜1cЩS'œ:uÊÇ-'"¢@ÃÀ�(HhL„\eDùçûüÝjBvî܉gžyÝ»w¯µ\’$ˆ¢I’j�ñf0ŽÇVYY øâ‹/P^^ÞÀ-'""j8·Ýv`äÈ‘¸råJ­uÍš5óS«ˆˆ(�0pk`ªV½Ö÷)ˆá-ÝÚÏXre{>�¡øLƒµ�‚‡¢m”½Z²ŒÊ�¹0^¼éï&Qa4ñÃ? -- ÇŽ³,¿~ý:dYF»vípöìY€ hݺ5rrr,ÛYw«)--…N§C×®]qàÀ_ ‘÷6oÞŒ×^{­Öº‚‚?µŠˆˆ ·Ö:DÍ­ãÕEŠj‡ðþ3p#ë� Ò. .!&A@Èý·¡|«Ü’®‚úÞŽPõn ±E 7ÂpºÚoŽÃx¹éuéÍÏÏG^^z÷îmé"£ÓépðàAÜwß}X·nJKK1hÐ ”——ãÌ™ê7 JKKѧODEE¡¢¢z½ÙÙÙ:t(JJJpöìY„‡‡#<<¼V×T"""2 @Íð ¶D±zìÜÜ\�Fôë×EEE¸~ýºÏÛIDD���[3‡mE_?âÖ~1¿Y )²mµŠ‚‰¢m”··‚¬3B¨ú¶AeëS0–ú»i�–Ô&š»ÁXPýÉkP$DCÙ»5¤öÍPúÚ6Èz£ Gi\¶lÙ‚.]ºÔZ¶iÓ& 6 &L€(ŠÈËËÃÊ•+-ë>Œ.]º`Ú´i(((ÀªU«°cÇèõzŒ5 ‘‘‘(//Gvv67"" G�Å„ ð׿þYYY˜?>t:ŠŠŠÐ¾}{üùÏÆG}„/¿üO>ù$6lØ€Õ«W#>>˜6mš¿/�ˆˆ·@&þnù˜ ±U8¤V[†Cj1>€ªÿœ$!C1g ŒKaº\ãå2¯”Ãxé&LW8.–7~-BÉ+›a*Ò5¿Š/Ý©C3Hñ‘0œm¼ïb¯[·ÎîòŠŠ dffÖZf0°iÓ&lÚ´Éî>ƒ«W¯¾eù®]»°k×./µ˜ˆˆÈ»/^Œääd¤¦¦bÒ¤Iøî»ïpäȼþúëxç�wðøã�cÛ¶m˜;w..\¸€ &`Ö¬Y8{ö,rrr dYö÷e‘Ÿy;ÑqåxBŸ[/­–Ù>ÌëÍ_‹6€TóPÔ<$‘½zõʾqã†G¨hÖÞ­íc~S]íáI…›'û‘ïnÔ=>‡">Ò­cª¶Cè”>·d­²Ö€Ò×¶‚€Èÿ!Ä&+7Ê(ÿ|tû.ºu>r‘( òO÷@j‰s6BÖÚŸÀÃϪËËËkMH@DDä)o@ž«®ýÌë5�GÇ'"¢À�ÜÜÜJjÆš‡ Àdó�­–Ãêkë¬ÖÃj™lg™íçŽxí&+܈ˆnç9À #ôɾ@ü**¾:Óõ ˯ý�Œ F‡ ìñ>PÜ[¶-Ú]Ã6oSvoe�–P$µ€íê#n‡mDDDDDDÔô0pósÅh�­EÅ‘¯k­íñhº§û¡eht»ÏFžJ�2©B†tDÅÚÿÎ “ õàŽ–°­ìÿí…þÇ¿jŠž­ šÔT ÍCIŒì&BDDDDDDŽ1pós×PUë¾¹íþ[Ö+bqó§w¡+Ìl:jzÌ]CÞéõ¨.ÐþpÊRY%„«2º+ ì³=мä×¶6fÚU‡¡ýçQ(ÚFA3±BFv†¬Õ£rC®¿›FDDDDDDLtaò"ý•ÃC›#¤ÛJ e(4Ic!†4ƒîÊa7�ˆy`~Si%d­Ê^­ ì¹L¹¬ªz›|ÏÆ"$7L0œ½ŽŠ‡Êä8·ˆˆˆˆˆˆˆ+Ü|L6êQúã›ëó84ÝÆô—� ôÇ7£ÁßÍ£"µŽ¨þÄ`BÄŸC‘]ýåébÈ:ŠÖÐߨôoC!!D A-ÁTòß{+µ È¥U~ln~`ÒãæÎ¿ù»à¤VÕ�›Ø<bóP˜J« ˆ�›[¶ÛDǯú±•�“²w+„>ÞƳ×a*ÖBj)>0ɨüñ¬¿›GDDDDDDŽ�[ “M.lD�•ئ:p“+ô¨Üô+ª¶Ÿ� !Ã2² „P%¤Öáþnf£d,,…~÷y(ºÄ@Ñ. ¦rôG.£2ëW~-òw󈈈ˆˆˆ(À1pk`¦Š«C[x4 ‚¡¤ AÚDÁAjŠÊ¬_Q™u r…Þ²¼ò‡S¨Ü–‡�!¡èë×66VÆü”±ßßÍ """""¢ ÅÀ­�•í^ˆÐ¾¿…"¢5 ¸8G…l‚ñF>Ê÷|ÚÐÍ£V¶p7äJãúUP™õ+Àî�DDDDDDD‡�[Ó_9Š’�süÝ BÃ6kUœhƒˆˆˆˆˆˆ(иXrEDDDDDDDDD®`àFDDDDDDDDäE ܈ˆˆˆˆˆˆˆˆ¼ˆ�‘1p#""""""""ò"ÎRêQ£Þ�¢YG\ÿ~&LÚb—ö‰I_cÕMÜø×ï¼}8¢Þ1:Äáúʬ_¡ýæ˜GÇVõiƒ°ßõƒvýIT®?Y�V‘3 ܈ˆáÈe L Ptˆ†£�>·rYÀx±ÔÏ-$"""j\dY†,Ëþn‘Ï‚AüÝŒF��Q)_vÐòyèäÛ¡ÔUëO@Ÿ[ä×v5&’$A¥RA©TB’$¾ð$¢&E–e�Fèõzèt:�F7©Qbàæ1éKPu~d½ªvw‚€ªÓ[Pqdu­íDeÂ<U«Ûaª¼mîzT�ÞjY/"4Iã l?ŠÐn^@Å‘5ÐæÂüêvP~h*O|1<ÍR?€\Y‚Y/B6TøüÚÉ;¹ï6(ûÇCj®�áR*¿?ý‘+ÿÝ&D Ío’¡ìÑ‚(ÜR'„« “eR„h 䛕Ðí/Då·' ë�ˆ|ù^Hí£psþ~­î úHO¨‡$àfæNr¯ùüº‰ˆˆˆêC’$h4¨T*7…ˆÈoA€B¡€B¡€F£�N§ƒV«eðæeœ4ÁOÔï…²M_KÎCPE@Óý!([÷©µ� Š€Öúˇ!…Å!<å¨Ú¤XÖ‡ö}š“ºK‡ hÖ‘ƒÿe‹$@Åþ%0éÊš”1$ á}ž„ *P¶w!ö §y¤BÆvŒ2tÇ®@Ñ. áÏÝE—æ–mžê õÀö0•VÂpªŠNÍkCÖ› º½5ŒEÐç\„ ŠÑ!÷uèö](“â,û({´„\¦ƒñÃ6""" .jµQQQ Ûˆˆl¨T*DEEA­Vû»)� 7?‘õ¸ñCJÿý&´‡WT-º×ÚÆTy%[_ÅÍ�™(Ûû)@Ý% †Æ ¤ÓpKÏ£dËŸqsg&Ê÷-„$>X½U *|A©A佯@Ùº*Oo‚þò_-y“Ø\õà0–¢ôí£üÓ½¨X~2ª @jeÏ–0kqóíÿ ìÓ=(_u¸ö�ª ¸ñÒ&”ýo6Ê?ß�ÒÌŸP&·èö](ºÅVŸ7.bl(t9…à0'DDDL4 ÂÂÂüÝ "¢€�Fãïf4 ÜüE6&ÀPœ Ô‘6›èÙÐ�ËdŠÈÖ)ª= ˆÐ]:˜ªË>+ ²ŠÈ¶–cT�ý7t—BŠjcÙ%T\î£ ¤†"µ‰Dú£WcuòUµ§ºMjk>êOüw”éo9–¢ss„=�‚È7G jî½€PÝÕL×*`Ì¿EB4„%”ÉÕ•næÊ·Æîù±ØÔ¹#ŽtëŠM�;âù±þny@­Vó$‘‹4 +ݼ„�[�M¦:·$uͶÕᚨ¨þZ$Ë6¢¤d&CUíãW\¯ÞV€ºÏE�MPW½(HÿÜWPI€ ÈUÕ?‚Xó«]ipx©eŸE|$*¾<€’W·†Ú?Uû.¢Åm1P&ÇA.ÓÁÐ&pXÒ¾-žŽ‰FeõŒ±m”J<�%íÛÖ¹/QYÙFD䦰°0ˆ"ã¢úâ `¢B Aª~Á¯hu; 0•œJ««ŒT­ûZ¶Q¶î Œ%ù–c([Ýu˜´Å#ZAÓý!¿\ y�±ð&@Ù³euàªì€áBõÄÆ+eÿ]®¨ù5×HµŽ#ujA)Awô ¹×`*ÓÝr.½y·^-¡HŒ…î@!`jÜýIŸo‹~¡ößïªa¥Q��e¡¡¡þnQP …̱„ê…³”0A‰¨‘oÃpý¬e²mî¿Æ’sÐ]:U«^ˆùŒ×ó Šï Ð[[½¿Rƒðþ¿ƒ\UŠ’Ís9|4ÝÆ@w.†ùNÏM�Ëxñ&ôÇ®@Ù=/ßcA ”½[ª6œ¬Þæ|) ¿AÑ%‘/ß ãùR(ooUë8¦«Õg¨ïîP´�úo8gÞ¦H Cþ ¨´$úšqݳû#Ãë\ÿ÷«œ4‚ˆˆ(ÐI’Ä ˆˆ<¤R© IL.ôÈ#û¸°ÊÓ›¡ˆjU|Ë.C{t5ôW�[Ö—íü;Âz? e«>[÷�¡(å—Áx³Öûqˆšæ(Û³¦Êë(?°‘w¿€°þÓPºåUÈ2q‚Uùgû y¨;”ÉqPöl Ùbh׃ñr¹Õ6{úèíP$ÆPþÕ„NH¶¬7üZ„Ê ¹PßÓê»ÚAwô ä— µ‹ªu.ýÞ Pth¹B}nãšÌÝH=]ß$&&bèСèÙ³'Z¶¬žDãòåË8|ø0¶oߎ“'Oú»‰DD� Ÿw½O–eŽADDTOjµÁ…­É–·ïš+ÇêøÜz™hµÌöa^oþZ´y¤š‡¢æ!ˆìÕ«Wö�7<º@E³öíG��áFA�Û(â#ëÜ&Ð){Ä!ü¹» Ë>‡ò¥9þnNƒÛÔ¹£ÓPí¢^�Q§ÏºuLsW_w•——Ãh4z´¯§¦OŸŽÔÔT§ÛdeeaáÂ…>kQCHIIÁŒ3 ,ÀþýûýÒ_=ïz³[�§Çªk?ózoLp Ë2¢¢¢ P°¾€ˆÈSƒ%%%õÜ¢££‘››;@)#CÍÃXó�kœ·~ÈVËaõµõ6ÕË6�}îˆ×þ`ò/9¥ìÓ ;Xèï¦øÄ†Ò2<ít}cõ—¿ü}úô¬[·;vì@~~u÷ó:`РAHKKCjj*âââ0oÞï6Y–!I’ [‘#’$A–eV¸yˆ�9¦¡êÛ²Þñ«þn�Oüýê5ôÖ„Ø�8ao…¶ÑŽß6}útôéÓ—.]ÂüùóqúôéZëOŸ>�Ó§OcÇŽxá…ЧOLŸ>½^“'Oƃ>ˆ'Ÿ|Z­™™™HHHÀO?ý„ÌÌÌZÛš_”>ñÄ())qû\�cÇŽÅ Aƒ‡ŠŠ àŸÿü':äñ5 f| …B­V[«:ãã�?†,˘:u*tº['%ñDBBf̘�ÌÌL\ºtÉ+Ç$"ÿðõóî{gŽ;B–eȲŒ«W¯âèÑ£Xµj®_¿î¥« ,|�HDT?|­ÎRJD)“ã h”0¿ YçÛ®�þôDÁy,*ºŽ‹z=PÓ�tQÑu=·?žwÍöíÛ‡ýû÷C­VcÈ�!˜;w.”M`|R"""_c…9¤?x ×§çïføÅ߯^k´Õl¶† Ôtgrö¢ÏìôéÓX·nÒÒÒ0tèP�ó3f AÀ?üPk¹¹Bì™gžÁìÙ³-cØÕçݵN�:¡W¯^8vìæÎ�kY®V«½VyfËd2áÅ_ôúqOŸ>�S§Ná®»îBttt£­J!ò…}ûöáé§Ÿö˹ýñ¼k¶`Á”••!44o¼ñâããѯ_?dgg{|L"""º77ÉF‰·­©“�×¶3˜ (XHڔɆÀŸ Ø\M¶cÇ—÷Ù±cÒÒÒ<®DëÓ§JJJ,c™ lß¾£F�ƒ>ˆo¿ýÖîþ¢("==÷Þ{/bccqîÜ9¬Zµ ûöí»e[óMjµJ¥ÒRqVUUeÙF­VcòäɸãŽ;†cÇŽaÑ¢E¸råJ­óÝsÏ=ˆ��E~~>V­Z…aÆaðàÁ€¿ýío0�xøá‡+V¬€^¯ÇÔ©S]nóŠ+��� ­V‹@Elܸ+W®´l“••…çž{wß}7Ö¯_ïÑý'"ÿòÇó®­ŠŠ ìØ±¿ùÍoЦMõx­‹/ÆîÝ»qõêU 2W®\Á›o¾ •J… & wïÞ ÅÉ“'±lÙ2Ë•ü1~üñG„‡‡#99åå娼y³åúÂÂÂpÿý÷#11QQQ¸yó&rrr°aà ÕÿS½þúë8|ø0Š‹‹ëþys‚""Çqó“7ÉÆ*¶¢ÆÎÕŸƒ¦Ô “ì †Ÿ�–-[À-á—3æmÍûº£E‹hÖ¬™%̲õÕW_áæÍ›xä‘GмysÀN…Û3Ï<ƒÇ{ F£999èÔ©^yåtïÞý–ã�:u :��;wÆ‚ ðÄO }ûÚ3Nÿñ�Ä<€“'ObÏž=èÓ§^~ùeˆ¢Xë| …{öì�F£�V«Evv6 ªg,ÎÊÊÂ×_íðº]móСCѯ_?œ;w˜8q"RRR,ëýõW@RRR�÷šˆKIIÁ¢E‹°hÑ"ôíÛ×§çöõó®#æI¬«eï¾ûn¤¥¥¡¢¢çÏW¥ðÜsÏaĈ8}ú48€=zà÷¿ÿ½å9Fމ: 77Í›7Ç£�>j õz=zö쉢¢"‘ï˜g#uw½¯f/ „YJýEtìØÆ ƒÁ`¨õd2™0oÞ<œ9s¨y®¹ýöÛqàÀË„ …)))hÙ²% «g1/--Åo¼£Ñˆ~ýúá·¿ý-† ‚ÇC§Óá/ù‹¥ò,66/¿ü2’’’°qãÆZçþì³Ï||7ìKMMEzz:ºuë†ððpKeóªU«|Ö•J…C‡aÔ¨Q(((ÀúõëñÝwßyí©Õj‚€ÊÊJ¯í¿fͬ\¹kÖ¬ñJ­ÙÞ©ï} ¾¼ŸÞüÙuçgÌÝk ”ï­íýòõïy77Éú Ȇ* µ¿›B~"ª ë+\ÛV«‡¬SAPqZú¦HÖ!k½7`~C¹|ù2Ú´iƒ:¸4–Ë—/_vû|æ‰ lƒ+kÛ¶mÈ#0xð`lÚ´©V…[‡ öïßoãí§Ÿ~ÂÌ™3†P‡ÆìٳѧOÜ{ï½8p  Y–±gÏ@¿~ýn ÂÃÃѲeKˆ¢ˆœœ§mvÆ�6›L&ËyÌã4™CJÐjµ¸yó&"""øÀòµJ¥ÂÎ�;ñ§?ýɲL£ÑàÈ‘#h×®]­ûåéïn’õ0Þ¼ÙÀIšÙPUýýv±+é-ûkõ0^)Šô©~d�±ú{]IÍNž<‰¬¬,À /¼àôÅ_çÎ�ñ /5“˜»<º£ªª gÏžElll­îHö¬\¹EEEµº” ''-[¶Dff&žþyüîw¿ƒÁ`ÀêÕ«o9Fß¾}1þ|,^¼o¼ñÞÿ}¼úê«€ 6 ¸¸YYYˆˆˆÀ»ï¾‹ &`ÆŒ–²ý¼¼<=zqqq˜?>žxâ ¼þúëHLL˸mO=õ”eb[î¶ÙsPéÏñkˆ¨~|ý¼[7nÜÀöíÛŽW_}cÆŒÁO<�ßýîwµ¶ Ãܹsñä“OâÑG…,ËØ²e Xf30`Æ�‡gŸ}Öîs¥¿…„„ C‡µ‚{ž{î9Œ=³fÍÂC=½^�¥K—ZÞP©k=Ì�;ß}÷}ôQìß¿0gÎ 43gÎDzz:´Úºß°‹1cÆ`íÚµxë­·���X´h.\ˆ ÿŸ½;�Ϫ¼óÿÿ:çÜkVa—M…²(¢(¶V (u­u©cµãÒºŒZ§öWíTk]æëh§ÔjAk­ã::ZÅ�E� ˆ¢¸ l²Êž�$wîõÜç÷G’›$$ä¾³“¼ŸÏÃ;g¹Îu×�;çs_×çš;—Q£Fqÿý÷ð»ßýŽ!C†pÉ%—pÑE1pàÀDû«­±ã©Îûwÿý÷R§TÊOæ~$SÖE]Äÿ÷sÎ9ç°fÍž~úi²²²š¼?�ý;Òпy²÷#Ùú6Ö’¹Ÿ©ž«¡ë9ÜúsæÌaÒ¤IuFLž<™¹sç&}îÆîÛâ=‘••ÅŒ3˜9s&ßÿþ÷¹ùæ›Y°`Á!õZ¸pabÄÕiLÜn7“'ON¬;餓ؾ};;vì¨slsßkÒ9(àÖŽÁ®Ø‹($ àØJŽÞ•8vŒx$€(Į؛r϶CÊ‹ÚØûØÅAâ•QœX¼Õê*ˉʼnWF±‹ƒØûGL϶ڞxâ V¯^MŸ>}˜6mW]uÆ Ãår%zˆ]uÕUL›6�>}ú°zõêDòìæXºt)¦iræ™gv¿P(ÄSO=uÈú?þñ�ÌŸ?ŸÏÇøñãY¿~=wÜqG¢7Em;wîdÖ¬Y”——3tèPúôéÃÆ�™6mï½÷Tç4zá…°m›‹/¾˜c�=¶NbÚ?üá¼÷Þ{¤§§söÙg“���Çã�ê ÝâÅ‹éÕ«“'On4�\*u>œšÙIëO!"©éÈYJé€ß»-ñâ‹/òꫯbÛ6çž{.Æ K ­(,,dܸqó׿þ51³êæÍ›™?>ñxœ“O>™ÒÒÒ�m ƒ Â0 Š‹‹ÝÇãñpíµ×rÏ=÷°aÃvìØÁwÜAFFMn¯ñè£�òÆo°~ýzB¡^¯—+®¸‚ßÿþ÷¬[·Ž�;wÒ ¨!o½õ_}õEEE<ùä“äåå%òý½ôÒKlܸ‘;vðä“O²sçNÆŽÛhY\zé¥Ì˜1ƒ¢¢"öìÙã�>zÈl²Myíµ×øòË/©S*å7u?’-ëÅ_dõêÕìÝ»—‡zˆ’’Î9眤ïOý§–¨_Vª÷;™ú6ÖRm_-¹7Mݳ%K–àr¹8î¸ã z•áÇ'zï¦Únk$s�­ýžÈÏÏÇív³xñbÊÊÊØ¸qcƒ¿Û>øà²³³>|8TFÿþ÷¿Ó«W¯Äûuâĉ¼ÿþûM^gm�½×¤óè|_-�œhe³{>I÷ã£GTï'é>î¿ÿ~n¼ñF¦N�Ê…^˜¾Tßüùó[üÐ÷Þ{ïñãÿ˜sÏ=—Y³faÛvƒ]ð>úè£Cr=ƒÁ¤ë°sçNž~úéÃîcÛ6¯¿þ:¯¿þzƒÛËËË™1cFƒÛ¢Ñ(�>úè!ë/¿üò”ë\ÿ˜uëÖÕ¹vÃ08÷Üs‰Åb,]ºô°e‰Èáu†YJÛó÷îwÜÑä>?ûÙÏ\oÛ6sæÌaΜ9‰ÙFk …B<òÈ#�–=gÎfÏžÝèö{ï½·ÁrÛSMNºAƒ58p .—«NBó`0Èš5k:t(›6m:ìöõów8˲ê|™’êýعs'Á`0Ñ{<77—sÏ=—N8�œœòòòðù|�?xð`LÓdúôé‰s»\.222RªGcuJ¥ü¦îGsê�ÇYµjƒ†$ïOS¹aSQ¿¬T¯!ÕÏÚ÷>ÕöÕ’{ÓÔ=‹F£,X°€‚‚V¯^MAA‹/NçR½ÎÉ\ck¿'6oÞÌŠ+˜3g‹-âµ×^cùò凔S^^ÎÇÌÉ'ŸÌ¦M›8í´Ó¸é¦›5j§Ÿ~:Ï?ÿ<§œr øÃš¼ÎÆÔÿKç €›ˆˆ$<ñÄ,Z´ˆ3Î8ƒ1cÆ�ŸŸÕ“|ñÅ,Z´¨U†3•••ñÒK/1zôh¼^/••úÒ"&L ??ŸwÞy§Sç@‘äµ×ï]iZII EEE|ï{ßk4àæõz1M˲ˆÇŽVˆF£„Ãá&·7Æãñ`š&¦iÖ9.U5A�´´4^yåæÏŸÏc�=ÆîÝ»ùûßÿ~Øck&(ºôÒK)**jv«S*å7u?š[×xúè£_ÇèÑ£éÑ£Ó¦MK¬kèa¼v¾§]»v(((H:¿h*ù¢R)¿©û‘lYõ{‹�3†'žx"éûÓ˜ú×]YYÉСCY¶lYÒe¤r?ZZßTÚWKÏ•Œ+V���Íw¾óF�Í/~ñ‹Ÿ»©klË÷ÄÇÌÇÌÑGͬY³ÈÏÏgïÞ½uöY¸p!7ß|3§�v‹/`ñâÅÜwß}œqÆ|ôÑGu&¢9\½äÈ¡n"""GˆŠŠ žyæ�@GWEäˆ×‘³”Jçõì³Ï²víZfΜÉW\ÁÑGÍàÁƒ9ï¼ó8ãŒ3Ìœ9“{ï½—1cÆÐ³gOî¼óNŠŠŠøðÛÜÞ˜@ À›o¾É}÷ÝÇØ±céÙ³'7ÝtS³¯cÿþýdffrùå—“››Ëyç�Lj#êì³{÷nN<ñDúõë‡ßï'‹ñÔSOñ«_ýŠSO=˲èÛ·/£G�nðõ�oJ*å7u?’-ëæ›o¦  €ÜÜ\n¹åÒÓÓy÷Ýw“º?�ièºW­ZÅ%—\B¿~ýèÛ·/—]vY«Þ�–Ô—ÛWKÏ• Û¶™7owß}7ï¿ÿ~"'d2ç.))aÀ€‡ô(lêÛâ=‘��ÍE]D~~>>Ÿ� & )--=äšwíÚž}û¸úê«ùêÊËËY½z5·ÜrK"×�TßkÒy(à&"""""ÍvóÍ7óÛßþ¶£«Ñ*b±W_}53fÌàì³Ï楗^â•W^áòË/'33€x€%K–0cÆ Þ~ûm²²²øùÏžè-ÓÔöÆüçþ'+V¬à‰'žHämîŒÔ[¶laÚ´iüâ¿`Þ¼yL™2å�€ßÛo¿ÍêÕ«™={6þóŸ¡zˆó“O>É]wÝÅÊ•+yþùç5jTƒçhèø¦¤R~S÷#™²–/_Îí·ßλï¾ËñÇÏOúS¢ÑhR÷§1 ]÷ÿøGöîÝËœ9sxöÙgùöÛo™X¤%÷£%õ­‘lûj�s%cÖ¬YŒ7޹sç¦tîgŸ}–óÎ;�éÓ§§t�mñžÈÊÊ⬳Îâõ×_gÅŠ\zé¥Üzë­�_¸p!yyy¬^½:±nÁ‚ôë×�>ø Ñ{Õœ÷št© 4o�òŒ&^×^gÖZW©Ù^ó³Yo1«zqU/�5vìØå E�ED:“@ €my3žŠˆHçÓšCš[VSÇÕloiÇqp‡¼¼¼•#G¶×^{�—_~™×^{­£«"rD+,,Ä0Œ”óÖ–““Æ &e€ Ī»zq€x½Å©µžZ?×^¨µ�ZëœÖÕݘVûÀT7‘V¤€›ˆˆˆˆˆˆˆˆH+RÀMDDDDDDDD¤¹:º]�Çôâ6¼¸ ¦ia´zjà Í05‘‚ˆˆ4ÊqÜn7n·˲0Záï§yD“9&ÙrÇIißú¯›S‘ÎF·¹�æåð’®Åmx‰�LÀMÁ¶î.Í0¨Ôsƒˆˆ4À²,¼^/–¥Ñ"""]�†”¦È•bþ.éš’m^ܺ=µiˆËå"--MÁ¶NÆívsÇw°hÑ"–-[Æý÷ßOZZ?ü0ÿõ_ÿUgÿ믿žéÓ§7y,Àk¯½ÆøCžyæ>ýôSN=õTþüç?óÀÔ)óºë®ã±ÇÀ4M®¿þzæÍ›ÇÇÌOšØžL�DD¤m(à–"M– ¤ÐÔZDm@DDj‹Çãø|¾Ž®†4 ##ƒK/½”3fPTTÄž={xôÑG™2e K–,ÁårqÜqÇ�——ÇðáÃY´hQ“ÇÖxôÑGyã�7X¿~=¡Pˆ%K–�––Ƙ1cèÙ³'#GŽdÑ¢Ex<®½öZî¹ç6lØÀŽ;¸ãŽ;ÈÈÈ    Qæ[o½ÅW_}EQQO>ù$yyyuÔQI×IDDÚ†ÆG¶³kþÏìx(åmÒýœäöq{F6îFB6Qà��>‰4�KNDDD:‡šÉ¤ó�á飡:°Ö˜ËúÝÌ7�/YU¶”¸c·c-¥³qp0Ó?ÊrP2~‘#†ã8x<ší¾³*++àÒK/¥¨¨¨Á}æÌ™Ã]wÝÅŸþô'&OžÌ+¯¼’ô±�™7o·Þz+þóŸ™|8'žx"‹-`Û¶m8ŽÃ‰'ž˜Ø×²,F�͆ ZåzDD¤í(àÖŽ®îÙ–Ò1cÚ¤.Ý™ÏLãø¬ïrAŸk¸rÀ¯ø—~¿  çEd»r;ºj�Ú˜^Ž…µ¾é”¶3Äå⾌ÞÈéC®¡_™""Ò2†&Óé´b±O=õ¿úÕ¯8õÔS±,‹¾}û2zôÁ¿åmÛfÞ¼yÜ}÷ݼÿþûD"‘¤�mL8fÑ¢EÜyç�|úé§”——˜9s&÷Þ{/cÆŒ¡gÏžÜyç�ñᇶÊõˆˆHÛÑ�Òv�L϶Ö8F/ÇӋ㳿Gqd/{BÛÈóô㨴cÈóôaæž¿awÂ!¼EvãAµ’xç«oW’gZ\áÏàû¿¾™‘v•žžŽßïDz¬FtŽã`Û6Á`�@ Ðîu쪞xâ B¡wÝuýúõ£°°�§žzŠ/¿ü2±Ï¬Y³¸òÊ+yì±ÇR>¶1ï¼ó�=ö¿ùÍoê¬à�øõ¯ÍŒ3p¹\,[¶ŒŸÿüç‰a£­q=""Ò6Zû+¶dÊ3šx]{�Yk]ý¥f{ÍÏf½Å¬êÅU½X@ÖØ±c——––6ës=½S>æp9ÛG(´.“t+“ »j˜¦aœ×û*ò<}˜½÷9öGv§T^qd_“û v¹›Ü§1¹†ÉÝ™9 ¶.c«å?ËK(vÔÓ­-ܑރ‰kcò ‹|Ëâg¥ûšu¿·Æ¢ÍªC À¶Xé*âñ8ÙÙÙ�n·,‹œœ\®Ô¾�F£”––&>3’ ÆÔ–Ì1É–ë8NJûÖÝœú7tþ¼¼¼•ÓžÌìÙ³™8qb¢‡›ˆHgPXXˆa-ê¡�““Æ &e€ Ī»zq€x½Å©µžZ?×^¨µ�ZëœÖÕݘVË”®ní(ÙZstrxñD°­†Q½þ@¬¤ÃêÕ7¿;L° `°åæw¹ü¦¼ˆ¨fOhuÿ¬`V¸’¯cþ+3—|”sGDDš/™ RM°-‹QQQA8nô8Ã0ðz½dddàr¹èÑ£‡ãÁ¦L™ÂòåËléBpkg5Á´gv<Ôèki[ý|CèFß`2¬¬(}�H<ÔÑÕªã,¯Ÿ!‡ ¶Õârq¦ÏÏÜPe»Ô«;Ù�Õý®DDD¤ ¥§§'‚mEEEMèÇ! ‡ÉÍÍÅår‘––Fe¥þ&8�sÎ9¼üòË] iE ¸I·3È7œ‘ãˆÄÃd˜Ù˜˜Ä;Qtåt�?ù}Ý ¸‰ˆˆéüþªÏþŠŠŠ”†T:ŽC  ;;¿ßØ€Û 7ÜÀI'�”8nÿþýlß¾�Y³fñí·ß¶ÂUÀ¯ýk>ýôSÞ{ï½·»\.î»ï>þô§?Q\\Ü*ç<Ò 4ˆ#F4zÏDDäȤ€[;«Ýƒ­±×Ò¶>*]À'‘ëîÅÉ9g2:k'ÌgeMÏöÔ^¦�»ePŠy^DDD¤ó±¬ªÔáp8åckŽ©)ãp/^Ì믿ŽeYäççsÊ)§pç�wòÌ3ÏðÉ'Ÿ4£æu­]»¶Õ‚wÝÅöíÛùÎw¾ÓÑÕ‘V¦'õv¦a¤�ƒíÄØÙÍò’w¹ ÿjúû†tª€Ûå%{;º """ÒŽj’Q·dƒdZÇb±D/¸òòr6mÚDQQÿò/ÿÂW_}ÕâOßyç�Oz ""Ò(à&݆Ûôà6¼TÚ“Ñf»zŒwþ!™oäôàG%{:º*"""Ò…,X°€É“'3vìX–/_ŽËåâ‡?ü!'œpn·›5kÖ0sæLB¡ƒ9o'MšÄ©§žJff&›7oæµ×^£¤¤„_þò—,[¶Œ�>úÓ4™:u*Çwn·›õë××9·eY0räH,Ëâ믿fîܹ-ºÃ0ôiE-™¡´;SÀ­TÚå¤Y™ôööori¾w@õ1íZÇî`�ÿNË9—Âèn±2²]¹ôðôÂ!ÎúŠU]=‘‹Åصk½{÷à²Ë.#;;›‡z˲øéOÊ…^˜Hê?eÊN8á^xáÊÊÊ:th£=ãÎ9ç† ÆsÏ=G0dÒ¤I‡lÏÈÈà©§žÂ²,Î=÷ÜV».Çqô�("Òúò¢epkß¾dLÖDÎíýÓ¤�Ùø¢MëÔ•F Ùüš|orݽ ǃ|ú†/Ê>boX¹FDDD¤û*--%33¿ßÏw¿û]zè!ÊË«FÌž=›ë®»Ž—_~Ó49묳xüñÇÙ±c«W¯n°L·ÛÍ©§žÊã�?ÎîÝ»eÕLÜàñx8á„xòÉ'©¬¬Äq–,YÒ*×c¶mãR®[‘f³m[_\´€>�ÚÁª²¥ KMš•yØ}+í 6¾`uõ1ÒzŠ"{XRôvGWCŽ@w–k5éÚzôèÁçŸNïÞ½1 ƒo¼‘x<Žã8˜¦‰Ïç gÏžø|>¶oßÞd™={öÄ4MvíÚÕàö¼¼< Ãà²Ë.ömâñ8†að—¿ü¥U®)‰(à&"Ò‘H¤£«pDÓ'P;ˆ;6+¼ÏÊïwtUäöJHÃŒEDD¤õ¹\.úõëÇ;ï¼C0àÁLôp«--- ªs³Åãñ&Ë5M³ÑÞ59áj÷pkM‘H$Q_I�n-cvtD$9/+x9¨ ›ˆˆHW”ÊL£õµd†S€3Ï<“ÂÂB¾þúkŠŠŠ‡ÃwÜq î[XXˆa 4¨Ér÷ïß�ã8 2¤Áí%%%„ÃaFŒѬz7Ŷm=,Šˆ4S$Á¶íŽ®ÆM7‘VóPãõzS>¶æ˜dŒ\.^¯¿ßÏ�!C¸ì²Ë8ãŒ3xñÅqÛ¶y÷ÝwùáÈÈ‘#1M“œœœD€-ðÙgŸqñÅ“ŸŸ�×ëeÔ¨Q Ö;óé§Ÿò£ýˆ�’‘‘Ágœ‘Øî8Ë–-£  €!C†`YYY)_Cj‚�••�&z‘Ψæ÷§r¸5Ÿ†”Šˆˆˆˆt°`0Hff&„Ãá¤{«†Azzz¢Œ¦Lš4‰I“&‹Åعs'›6mâ¾ûâ`/úwÞy‡H$Â¥—^JNNeee¼ûî»lÛ¶ €—^z‰‹.ºˆÿ÷Ç4M¾ýö[víÚE8>ä|o¾ù&çŸ>W_}5±XŒ•+WR\|07êûï¿O$aêÔ©dffR^^Îã�?žÔµ'öm***ÈÈÈhµ2EDººŠŠ õnk­ªL¦<£‰×µ×™µÖÕ_j¶×ülÖ[ Àª^\Õ‹d�;vyiii³.0×Ó»YÇI×SÙ×ä>ƒ]îv©‹tn[cÑfôA'"ÒE8Žƒã8dgg7ºO^^.—‹X,FEEÅao†aàõzÉÈÈÀ²,b±EEE‰s5§~­±µ®5ÕóÖ¼nÍ\n5eùý~åsIBeeeâ œÖêÝ–““Æ &e€ Ī»zq€x½Å©µžZ?×^¨µ�ZëœÖÕݘVûR7‘N ¤¤„œœ\.=zôHú¸h4Js¿Lîê ÃÀq‚Á ñx\=ÝDD£æË4”´U(à&rÊ3- ãêý$""ÒUضMaa!éééøý~,Ëjô�§&ßZ0$´{]�$5A·p8L,#-- �ÇÓÑÕ'‘Œ IDATé4"‘•••‰Ñ5 ¶µÜÚ�Ûð0:kCÒF�aõ S-äó²åì o=ì±Wø±x”—wMoµúå?–‚¼±úÀRÖ”-Mꘖ֣9çì®ÎÌcˆ«ê­¯ª}‹ðb°œâx¿aðXVpÕ�}„“vñ9ù”ÅãÜp`_Ar&z|ܑރ—ƒ¼Òì«"""5�€‚h­¬&èfÛ6åååX–…ÇãÁãñ6°)"ÒÕü>ŒD"‡ÌFªß‡­G·6f“ó.¦¯ï(Âñ {Ã;HweÓÇ;ˆ/Í]=éÄ>‰Vuå=Æå¦ÀãçXËÍmåE„�ívŒ8mÅ'""""]YMÐ�êÞ„Á`01ÔTD¤»1Mó�u ¶µ.ÜÚXOOúúŽbOxóö½„S�Ïe¸±‰utõ¤›(¥ÜqH3 þ;³'ý-'»¼,�†¸½¼¨£«'"""rÄ©y˜¬=1CC�""݉mmC·6–neà6ܘ†‰íTuÕŒ9g-4 ƒ1™§0,m4é®LJ"ûYS¶”�¡-˜†ÅÄœ© N;ÇqXXÍê‡eº 7ã{œÎ ÿÑx /{ÂßòqÉÊíUç6=Lè1…�¾a†Ai´°N½¦ŸŸôÿwöGv2{ï Lè1™Q™'ñ^áL¶7r]-=§$¯ÒqX r¥?“þ– ¢UÃC#ŽÃU¥U3¥þ_N>Ë#!‚q‡‰/¦a0?\ÉÿëÕô·§÷àx·—Ò¸Í[¡JÞ�T&¶›†ÁE¾4Nw§‘g™|‹ñr¨‚O«{Ûe&—ù3çö’k˜pâ,‹„x1T‘èmWS—ýq›)ž4öÆcÜY^Lšap­?“Ý>0à[[géõ.[sfT‘ÎN¶ö¡€[ÛÞ…íÄèééÃÅ}o`K`›*¿ $z0�Ö)=ÎdDÆ ”ÅJØÜHŽ«'œØî5}ô÷¥8²�¾Þ£8>ë{†÷°#´ €3z^HßP¶¿Æqâ Iÿ®Kx{ïÓ8ŽÃé=/` o8ÅÑ}”ÅJèÚâëêˆsvg.ª~!;�O’p†ÇÏ^ÛfG<ÆhËÃ�}lˆEÁ2€,Ã$ß²ø,æ$��KϢıÃW¯ógòo[í(«#Q&x|ü.#‡»Ê‹ù*!ì8œìñ±=c�e¬ÛÃ}éDpx©Vpït· ƒoíÛªk¿LÏæ$·�-±{�ãÝÞ6¼c""""ÉÓ爈´6ÜÚX¥]Á‚ÂW™Ðc2¹îތΚÀ¨¬“ØZ¹Ž�J`Ǧ�ã@´˜·ö>�íÚë'ñÆî'±›qÙßãø¬ï‘ïÈŽÐ&rݽàÆŽÐ&Þ/zËt1Ø?‚,+ ‡�¾ábeÌÚó,qâ›q<§æü Ù×Ôçì®L`°åæ,_QàËh´Ñ}Nœ_”í' \ìËàJ£Üž:·’¸ÍeEÄ�IQ?ÿžžÍÙÞt>‰†É3-Îò¦±ÝŽq{Y1à̘Ÿ›Ò²¹Ð—ÎWB8ü¬ºW@Óâñì^œàöÖ ¸Ù†Áïʋثªo?ËÅInûã6w”Îò¤ñoéYmvïDDDDDDD:Šní`whoïy†~¾! KÍ`ÿ± I‰Cœo*×b»B› ¶Ä;1u_xT÷zÈv÷` o8× ü�:Çy->3€�á­Ä©J²ƒ-ºžŽ8gwô|�üÄkx:XÆîxãÃ0m &·ÞŽ@õÐÚ¢Õ3Ÿ| q+Ù °,޲\˜Àšh$‘]ðƒpˆ›Ò²hüU1Âåæo:ÇXn²-Ȭwž OÛšUÇ 'Ê.G ŠEDDDDD¤kRÀ­�88ì mfgh3›|ƒ™Úë_èã=ŠíÁªa¡É%k�SwHa8`GhŸ”,¬³­Â.c o81'ÒdÙ†“\ZóœÒ¸ÑÇaw<ÆG‘ßÚ�'­ÏN" ‰¯zèD¬z"oõÏV­^ÃÀBNUp¬ŸåâþŒ\ö863Ø�ñ÷ì^MžË2ªÎDùQDDD:šã5ÁeâXÔúln8�™Sçõ^<Щ»Õ9ä˜ pœÄ9�x¢qˆêoé4%O³ ==}ê¬3ªo{Ю ,Z Àÿ0,ÃJ¹üÒè~Ç¡·g¡x�±âÄb;1ØÕåû†aUñU�é©SF̉ààÐÓ—¨ÃáêÒ甦=8ÀôÀ^ R ¶Ž×0pWÖŽwy1€Õe×Lb0ÞíMìs‚»jŸm±ªmÇZn܆ÁªH˜/cÊãq éœ'»ìøÁ²«÷÷'qœˆˆˆ´Ç4p2\8^«:ØÖy8¦�ã±pü©ÿ=,""Ò©‡[ëïÂ伋©´Ë)‹•à2<ôtW \W±Š¢è^ö†w�ïÈùùW³3´…\w/V—-e_xg“åWÚ¬¬aDÆ8ÎíýS6W®%ÝÊÂmzX\ô%‘}ì K¾wçç_EItƒüÇÔ)ÃvlŠ"{ÉóôáüÞWQ¯ ŸwH�}Bñ ™V6'dŸ/Ê>jñ9¥cd&ÊêÉ7±'WOZðV(Àv;Æêh„qngæñ�á·�(ÿWí³'^œ;Ó›Àp—wçÝjGù:a¤Ëô¬žlµ£œìöµÙuŠˆˆHÒ,³sÚêsLC_ɉˆH— nmì@´ˆµåŸЇèéîC¦«…‘Ý,.z“ �Ïx¯ðu6¾Àkú™q>+=Ñ3,•,`å�÷qp“u ½<}‰9jþ\YTôÛƒH·²èéÉgiñ\*íò:e|P<›ý‘Ýd¸{à2<|Tº ÎöOJ´ŒÈG®§w«œSÚß¼p%ñ8Ý^öÆc›¸ßÓÀÚR‰ë›r"ãr°ö†°vˆ“ Ak{e‡]ŸˆˆH[Q·Eâa¢ñHGWC:P4!O6à'¤€K·r*�xGWCDD¤Y·Iää\Ü«JðýsÖöásÛBãsª¶½·×–ŠÄqFÄÆ½¦ßÂýx?(Ä’†ãwáÚ$–ïMìëåÁÜê�kik ¸5C¥]‘tÒ|éZ*íŠ$ö<¨8n«µtCNõ¿½ˆˆÈ‘*ÞÓƒq ŠYÀ½-nÇkáäz0Ëb˜�ªžmæ�ƒ=ÜŒ8à6‰Ï$vL&†xMŒÂ0dyp\&ñ,Fe#¢/¦DD¤kRÀ­l'F V¦ [7ãàˆ•a§˜Ç/â8ì·tëN`¿mQïF9‚9&ÑZŸe88–Qw[-ñl7ѱ=° C¸¾.ƒU;#î`î âäyˆ÷ñáÚl¯Kiw ¸5S$¦,Z¢á¥ÝD4¡,Z’ôPÒú*�8»í˜†—v!Ça·ÓPR9âYEì^âYbý|˜"6fq;ÏC<Ë @<ý`jh;Ë‘øÁ^o>+±Íµ3D¬�;׋µ¯yW‰ˆˆ 4iB ØNŒòX)Ó‹Ûðâ2\˜¦…�ÑÑU“rpˆÇmbNŒ¨nv ­¶ˆã°ÇŽ‘f˜¤^ÃÀe¨µé æ8„‡Jål‘.ÄÇq¯*%rb�ª¼ �weIÕ¶Pïg¥DÇ÷À±Á, cØU_,ºv‰ôrþ~F(у)Œ²(ñtfiâú"²9ú÷ïÀÎ�;;º*""r ¸µ‚Hú(qìM7ÝÄúõëùàƒ˜:u*üãÙ»w/óæÍà©§ž¢  €7ß|“X,Æ�~ô#^xá °m»Áó/Y²„‘#G2bÄž{î¹Ãæ›;\ù àþç(,,ä™gžÁëõÒ»woJJJÚìþŠˆHÜDDDDDº8#·‰cvßùÑMÓdôèÑ\yå•D">üðÃÄ6Û¶¹à‚ XµjTÏú¯ÿú¯¬_¿ž3Ï<“h4Ê•W^ÉÃ?ÌÍ7ß\'à¶oß> ˆF£\xá…<ùä“üìg?cÞ¼yŒ5Š)S¦°`Án¼ñF¨ž áüóÏgèСlܸ±ÁóœþùŒ1‚gŸ}–µk×6xMM•ß¿\.ëׯç™gžaûöímtwED¤>ÜDDDDDºƒJ#ÍêÔA7#Þ6C_ׯ_Ÿx‹Å¸ûî»Ù¼ysb]EEE�`×È‘#1M“… �VMððÆoððÃsì±ÇÖ);'ö™;w.Žã0lØ0Ž9æÎ<óLöíÛWç¸=z4zþd5UþÊ•+Y¿~=§Ÿ~zâõ#�<ÂÌ™3S>—ˆˆ¤F7‘nÀˆ;P¯ .Çê<�7#îT {�:m2�Âܹs)++cË–-Ì™3‡ 6vÿ´´4\®ƒ�K~¿Çq¨¬¬lô¸ôôtB¡ÅÅÅ,X°€{ξ­ÑÛ¬©ò#‘§Ÿ~:g�ugŸ}6\pýë_)))aáÂ…->¿ˆˆ4N7‘6fŽÓ9&.0ÂqÇ©ns‡¦Âo5õOj¿z×ÚØ1µïI[ÞŸÛn»-¥¼e5¹³Î:‹û￟p8ÌäÉ“1 ã�á�deeQVVƤI“0 #‘nÆ ض͉'žHQQQJuˆÅb‡�à ©ò ÃÀ0 æÍ›Ç¼yóظq#¿ÿýï5j”n""mL·Vàq™x,—e`šF“„Hççñ¸CÌvˆØq"±x«•�îvHsÅñYnÍÜ%Dã² *c&�¨~ˆˆHãÇÁ0ôYÑÙ­[·ŽE‹qÆgðÞ{ïñùçŸsÎ9ç‰Dxøá‡ë웓“Ã?ÿùOV®\ÉÔ©Sq‡Ç{ €Ý»wóüóÏsÍ5×0wî\^}õUú÷ïOff&×_ýaë°víZ.½ôRxàæÏŸÏ´iÓˆD"uöiªüÑ£Góâ‹/2þ|JJJøñ� Ьá«""’=î·€Ë4Èò»Éô¹ðºM,Ûº °L¯Û$Óç"ËïÆÕÂ|'^Ë¡_ºM¾ß&Ó­`[Wâ6!Óí�ï·é—nãµ:Gé\ ÃHÌJ)�ßÏþsž{î9ÒÓÓ™2e +W®äì³Ïæ›o¾©³_II Û¶mãœsÎaûöí\yå•uZwÝuÿïÿý?b±·Þz+ãÇ�'4xýŸÿùŸDíòË/Oäk«ïp囦Ɇ 8ï¼ó¸é¦›ƒÜ~ûíu&Œ‘¶ÑÚñ¡dÊ3šx]{�Yk]ý¥f{ÍÏf½Å¬êÅU½X@ÖØ±c——––¶èB=.“ ŸK¶nÄ*B±fõvK¯ÆH÷±7hµ¸·[ Ѓ™ˆHâ8.—+‘¬-ÏÓÇ$[®ã8)í[ÿugz›Œ-[¶P\\Ìøñã;º*""�VNN6l˜”6«^ìêÅâõ§Özjý\{¡Övj­sXWÿucZíCH}lšÁe ¶uC�ás¥ÜÓÍk)ØÖåûÕÓMDD�FõeŠˆˆH7 €[3¤yl뮌êÿTôôµ^þ79²èß^DDj«I`_3ƒ¥ˆˆˆt] ¸¥Èã2qw¢)Ô¥ý¹-�+¹·NºÛÁ§^NÝ–ÏrHwëß_DDê²m›ÊÊÊŽ®†ˆˆˆ´!ÍRš"�¥¥Tµƒdr¹¥¹Ôé»KsÅ D­Ž®†ˆˆt†aà8±XŒ@ €Ïçòô9q¤2dHGWADD:)E�RäRï6I¡¨w›¨ ˆˆH}5³SÚ¶MEE•••Äb±#j²9<õpK‘™bÂ|éš’mn…´»=µiHMÐÍ0 lÛ& ¶éùZ3˜×ܲš:®f»ßïoVù"""�‰S¤p› v """""""‡¡ní G𛓇æÐ/Ç�§ÖPÄˆí°½¨’7Š*×—jXV”óUr|Ï0ùi6&°»ÒbU‘—YÛÒÙR®·°ˆˆˆˆˆˆHg£§õ6Ö#ÍÍ…'ôÅÛÀ¬–Ë`xïtrÓÝÌ^³—`Ôî�:Jçã6nUÆùƒõºÓ•ã¨Ì𻕹,Ûãë¨jŠˆˆˆˆˆˆHpkc'ÍÁë2Ù^TÉЍ ªeø\œ=¦7¹éÎ;>_A7�ê`Û&3./L4nðÖ–4ìLcK¹ À!1ÎPÉɽÔEL2Üq¦�RDÔ6øÅ²¼Ž®¾ˆˆˆ¤ÀqÜn7n·˲¹ÝZZf[“l¹Žã¤´oýךöãòÂ…,~ÿin»Öµ+’åêcËq€5…^NëbÚ)Ex¬Îœ‘#—Ëå"--MÁ6‘.J·vôÅ·ˆÚk¿=Pg}0b3ûóª [�47篠[s|wx.ÇôÉ`÷�0eÁX�m†a0¼w•›×?ÝÍÂu…Ìý|/r;ÏÔóçªÄ0àÍ­é‡ ¶ülDg ¨¤2fðÛOrÙ[©6ÓZ>/òò“÷ò¹áƒ^ܵ2—Kôaý7½ý6C3£]=9™¦‰ßßyþþ‘Ö§€[;údK)O°��·”²-©îé¨ ºý`LoÌ–§ðèV>ÙRÂ[«÷0kÍ*#un81;Ž×eâóT5ûšû»§,ÔµmØñyaþ¹óð„Ÿ3¨’+†WX“ÃF 'mU¶{‚˜ŽQÕ£Ðvà[ )‘ˆÇãø|šðHDD¤«SÀ­�#UùòüM?¤£6³×ì¥<£W¦7‘ÿM’SReÏ�†ƒg°nw9–ipÑø~œ2,‡ŒÍgÏ�0Ÿo/k÷º6¦¯¿ª½l­¨j/3¾[ÈßNÛOO<±ÏɽÂüjLUÐöáÏ{°l��'OÛϧíï Zw]'æ…¹eÔž9}GeÆxlm6QýÚ‘æ«™ADDDº6=9¶±­…•LÝ¿[\u¤O¶`Ï�i‹ãfãw[|[$ë<“TÔLLfT§ s™ÇdGyxb!=Ù^æTçsëh{‚Óc ÉŠ±®ÔͬèÉà ’ãÏ Ét;¤¹ÞýÖÏ3ë3’M+­ë/_fóׯ²–åÖQe\6¬‚ʘÁó3;ºj""rrG½Û:!Çq:ÕŒõrä0 ÃèØ<@j¿Ò�¡ív ¸µ±p¬*7ÛycóÉͨš…´*ÇXÝ ›ßcUí“î¡´2Ê;_ìC¿7[ÏÀ\?rý|½»œµ;«†�nÚà’û1 ×O–ßMY°ã“áºßËÀôgö¯d]i6¥“_-ÏãO‹Éú?+ò0íóÔ4�)ª³« ½Xó®+7XWêáÏ_fóäiû9©WX7i6=àt–eáñxC|õï"Íá8¶m�F‰D"ØvûŒœQû•–ꨶÛÝ(àÖjf!­ º�|Ý ["Ø–Ql{{ÍžDî7iVõgPíÙ_ãq'´²ã�#ºùö¶t~88ÀùGU2gG›ËÜ”FLþ¿å=yèä"Çàw+s‰Æ«.hxv”óUâ8ðööôŽ®~—‘ævð[qŠBÛKÍ�Ý’°F⋈HÛJOOÇï÷öAºæa) Ú½ŽG*˲ðûýÚ+­Â0 \..— ¿ßO$! ¶YðBíWZK{·ÝîJ·vÒXÐÍÛÚÁ®Ò0a›£z¦qùÉýÙ} L^†‡œ47Û‹ƒÂ�#ÿÙ–roo­ ºýaB1¿ù87t»ñƒ^uöžå¡“Šq™¯oMg[¹Þέå{ùA~s|)ëK<ì Y J�1$+ŠíÀÛØ‘¶aY999¸\M¦×<,effâóù(--ÕƒR¼^/ééú—¶ãñxðx<Âáp«–­ö+m©-Ûnw¦'ôvŒT/=¾jèèùÇ÷ Gš›â@ä°ùݤeÂ1›·Wïæ¤Á=è›ãgxïtÊC1Vo+eÍö]½:þúUƒ2bŒË ó×ï2{GÿÜégó7C³£œÙ?Èùƒ*q™+ ½üõ«¬Ž®v—²µÜÍÂ�~FçFž¥,bòÑ^ÿ÷M_ëEI]29–j‚m±XŒŠŠ Âáp£Ç†�×ë%##—ËE�=(**jƒšw ~¿¿ßßÑÕ�n"==Ó4 [''·Ú¯´—Ön»Ý]köN¦<£‰×µ×™µÖÕ_j¶×ülÖ[ Àª^\Õ‹d�;vyiii³.°gF˶ýn‹sŽË'¯º¬ÂŠs?S°íHSTirŸ¡YÍë9ç±þmd?<*@c)âÀ›[ÓùëWYÄâÊÛЙm.kÞw�@@½DDºˆšÄæÙÙÙ nOOO'33“X,FQQQÒIÐ Ã 77—ËEyy9•••ÍJ žÌ1É–›J÷ÚûÕ¼níðê$¥5z ©ýJGhížn999lذa"PØ@¬z±«§ú·öâÔZO­Ÿk/ÔÚN­uNëê¿nL«}©‡[FmÞ\µ›£zV}K±­(ØirˆIç± ý2›·¶¥sþ ãò H· ÙûCk =ÌÚžÎV #éjz¯TTT¤pr‡@ @vv6~¿ŸÊÊÊ&�?~<ßýîw0`>Ÿ�}ûöñþûï³dÉ’]C*\.wß}7�<òÅÅÅÜpà |ñÅ|øá‡­zÓ4¬�“žžN4%�'±÷¡Ô~¥£´´íJ=­w;î°yÓI÷¶µÜÅôµ ."""]‡eUMÔÓœ5ÇÔ”q8×\s #FŒàÍ7ßäÕW_Ų, ÔáÇ6lØQª£ IDATÀîÝ»[µLÇqHKKkÕ2ER•––FyyyÊ3‰ªýJGknÛ•ƒpé`54-ÚÔCÑ„ 9r$÷ÜsO�Û·ß~ÛêÃ8SµhÑ¢V¯ƒeYšÍQ:œÇãÁ²¬”{ ©ýJGknÛ•ƒpé.¼ðBÞ|óÍÃöf3M“³Î:‹‰'’‘‘Á¦M›xå•W(..NlŸ2e &L ##ƒÍ›7óÚk¯%¶ÿò—¿dÉ’%Œ?ž�òüóϳaÃLÓäÌ3Ïäøã�Çív³nݺ:çýÙÏ~ÆÊ•+Y³fM«\«ã8x½ÞV)K¤¥¼^/•••I÷Rû•Î"Õ¶+u™Iì#"""""G0�ÇCïÞ½Ù¼yóa÷;ï¼ó8á„xòÉ'yðÁ±m›_þò—‰áªçœsãÆ�ãé§ŸfÚ´iÄb1n¾ùæ:ÃY/¼ðBV­ZÅã�?ÎÖ­[8ûì³9æ˜cxþùç™1c‘HÓ“Oµ”Ûínós´ÔùçŸÏ¬Y³X¼x1¯¿þ:·ÜrKGWIÚ@sÚbwn¿½{÷féÒ¥deeµJyÒ|GB;ìÌpéâz÷î�a”——7º�ÛífÊ”)¼ôÒKìܹ“ÂÂBž}öY|>cÆŒÁívSPPÀË/¿Ì®]»(,,äÿ÷ñù|Œ5*QÎ;ï¼Ã'Ÿ|®]»ˆD"¸Ýn&NœÈo¼ÁîÝ»)--eîܹmz½Žã$•Ó®#�3†ë®»Ž›nº‰I“&qíµ×Ö¹/¿þõ¯éÛ·o“å$»Ÿt˲Rž åHo¿©ªÝŽ ùíoKYYY+ÖXš#Õ¶+u)à&""""ÒÅ8pªo�ÉËËò,¶oßžX‰Dزe }úô¡gÏžX–ÅŽ;êlߺu+ùùù‰u¶m×)777Ó4ÙµkW+_Õáuö!PcÆŒaíÚµ‰ûYZZZ§âI'�”Ô •Éî'§9mñHo¿©ªÝŽãñ8|ðA«ÕU𝳷ÃÎN·vpñ‰ý¸aÒ`¼îæÝîkO;ŠŸœ2 Eu¸ö´£ø×S¶¨ i_göò‡ E¼6e/s°›§¾¿ŸŸ «èèj1÷»™y枤÷÷Zé®8-ý]ýý¾!�·‹«Žiü›yiXyy9eeeuz¢Õçv»1MÓ¬û7k,#‹áñx»½1.— Ó4õàVϪU«8묳¸úê«éÑ£G�m×^{-Ç{,Ó§OçÁ¤wïÞ<óÌ3,Z´ˆ¥K—rýõ×7¸_~~~�^F'NdÆŒPÝSåž{îaþüùÌ™3‡Ûn»­�¯Xº’õ_€ÓN;�·Þz‹þóŸüå/!33€Ñ£GóÒK/1wî\^xáü~ÿ!íØ²,V­Z•(kܸq¼òÊ+¼ûð :ªÛôüùóyä‘Gx÷Ýw™3gcÇŽmÇ» rxš4A¤“± ¸ÿÄbNͲ 6—»‹a™Q†fG;ºz)»ã¸R úùù’^|S¦""" qÃ00 #åá;ÉÎpúî»ïrÞyç±bÅ öïßÈö}ûöá8ÇOLj`š&GuK—.Ml6lëׯOl4hË–-kô¼………8ŽÃàÁƒùæ›oRº¶Ž4bÄ~üã3aÂú÷ï�išìرƒ+VðòË/³qãÆ•¿nÝ:®¹æn¼ñFn»í6æÌ™ÃO<ÁöíÛyúé§™:u*wÝu›6m²,~ûÛß²gÏrss™={6sçÎ=d¿Ú= ëûþ÷¿ÏСC™:u*Tçõ“®ë˜cŽáÒK/eâĉôï߀�;w²lÙ2^}õÕ6m¿½{÷æþûïç’K.¡¤¤„Ûo¿�ë®»Ž¿ýíoL›6�n¸�mÛ¶‘••E0l°½×ÈÊÊâ/ù W\qÛ·o碋.â‘Gá‚ . oß¾\{íµìܹ“Ÿüä'üæ7¿áŠ+®háÝûÿÙ»ó¸¨êýñ㯙3 0€ˆˆ‰;©¸¤&¥h^Ss«nZyMK»-öuÍÊ[úK-K³ÛªÝÊ{-ë¦e™×%sËÌ%ÔÐLsWDq¥Töeö™óûAÙAx?�‡Ìœs>çs†74óæýù|„(Rá&D53,4“»Xùí²÷6àÙ¨ ž� â¾� ™sèú¿ !„âæ—; ³4+æžsíPÎkmÚ´‰óçÏóÚk¯Ñ§O5jDƒ èÚµ+�:uÂjµ²k×.FŒAóæÍñóóã‘G!##ƒ˜˜¬V+»wïføðá4kÖ ???† BFF'Ož,ôº6›�}ûöñðÃÓ¤IL&½{÷.ñ}WYç2 Ìœ9“U«V1bÄZ¶l‰··7F£‘–-[2räHÖ®]Ë=÷ÜSæ¾>|˜ &pï½÷b6›ùöÛo Œ—Ë…¯¯/ãÆ�ã…^Àår9<¸ §OŸ¦Y³f¼þúëtëÖ­R®ù'6Ë#~_ýuV¯^ÍßÿþwOüz{{Ó²eKžxâ Ö¬YÃk¯½Væ ñ ‹ßððp ï¼ó ,àÎ;ï¤E‹„‡‡ÍùóçŠ5G[xx8111ž¡î«V­ÂßߟúõëCN…í… ظq£'¹(Ê—ÌãV:RáVż w4  I &ƒ‹ÃÅé+Yì=›ŠË}5¨õŠ–~íëÓ¤®7f»‹Ã¤s<>#Ï~ ]ZÒ<ȃNKBš•]§’I·\Þß"ȇðfu¨ãcÀît“j¶³9ú 6‡»Rî[LÑÀ­30;4¼}0€tûÕœ¸ª‚Õ•ýl-0¢UýYörq>SÇ—'ýøí²—çø ÷ÆóK‚7§†¿ÜbÅ ¬9g"ê’Û§Ñ6ÀÁe‹–�p8Ùà9g]œ‰:z7ÝXIwhY~Úĺ¸ÂçñRTF·Iç®[¬øêT'ø÷±:Ä›f„§pOˆ€ÿÞ}— ý~¹áy>z•‰íÒèlE£�sR'„¢æ²X,øùùáëë‹Íf+ö‡�Fã™÷Èb±y¬ËåbΜ9ÜsÏ=téÒ…‡zUU¹pá;vì`Ù²e<üðÃŒ;EQˆŽŽæßÿþ·§?+V¬àÁä™gžAQbbbX°`Á û»fÍ ÄO<�Óédß¾}¤¤¤óÕ©<ƒ�Ï?ÿœˆˆìv;K—.eíÚµÄÆÆ¢ÑhhÕªƒ¦W¯^¤¦¦âïïÏÂ… ±ÛíŒ1¢Ô×���çÍ7ߤ_¿~4iÒ„S§NåÛß¾}{fÍšÅÌ™39sæL‘I�®à�xqqqÜ{ï½ôíÛ—§žzŠ1cÆ0jÔ¨R÷YT?ׯï²eËX¿~½'!Þºuk̰aÃ1b¡¡¡Œ=‡£l£h®�ßÌÌL’’’=zt¾ãî»ï>êÕ«W¢¶õz=™™W§ÕQ£ÑX`ŸËzB”7I¸U1§ËMó ’Ív.¥Û ð¦S“:¸\°÷ÜÕ7!^z-þ^:.¤XiäÃÝaõ0Û]œO2Я]}šzsúŠ·[¥e_¶×±r_üuo€ü¼tôoŒÙîâØ… tJvâO’mU¯±É‰—¢r ÅHš½ðÔç;¤ñ`³,ΤëÙ{ÅH�[¬¼Ó5™vy’g›¹hÖ—©ãöz6þ¯M:O…e�¢'Ѫ¥…Ÿ“×ïH江`ÏIæ Íä\†ŽýIFî ¶òbÇ4’m ;/yØ—™w¤Ðµ¾•Ÿ/zãR5ÜÓÈ›>ÉŒÞ^ŸíñÞ´ðsÐÂÏÉÚó&’¬Úb�ç^½=…î ¬œJÓoVèÖÀV®¯µBQ�deeáíí�N§£^½zdff™xÓh4�F|}}Q§Ó‰Ùl¾áuÜn7[¶laË–-ùžÏ½ŽÃá`ùòå,_¾¼Àó+W®dåÊ•îÿðà ì³Ãá`ÕªUùžÛ²e‹çØ/¾ø¢ZTPLŸ>�ˆˆ3fÌu•{G�åèÑ£¼õÖ[èõzþûßÿrÛm·qìØ±_+44ƒÁ@LL Š¢Ð½{w´Z­§’'%%…��N�:EëÖ­ILL$::///OuϵÇ%%%LXX'NœÈ—˜óõõÅ`0ðÃ?°k×."##Ñjµ¸Ýò ¦È�ßK—.1vìXÏÐð\‡âСC¬\¹’O?ý”nݺ1uêTfÏž]âk¿ Ñ«W/¶oߎ¢(èõz>ÌÛo¿MÓ¦M‰‹‹ÃÛÛÛ󇂼qœ×�˜5k­[·æäÉ“ôíÛ—³gÏ’ššZíWrBnUÌáRùæ×«+=ù{ëy4¢Mëy±÷ÜÕãÌvßïO@UUZßâKŸ6AÜÖÈ�óIfêùhZχóI¶FgÏÇ¡S´„Ö÷¡Ž·ŽTsþL€·�R²�O/´ NT¾F¦ìïEš£ðd[°·‹ÁM³8—¡cì/A8U mjfrÇT†ßšÉáä@ϱ™-ODãRáé° žh•ÁÆ8oæÉšúeïË4óuÒÔ×É©´ì ²d›–Ñ;êãT5ô ±ðZx µÈ*0áv«¿ƒˆ`+»/{ñæ�ºµ*½B,4öu²#Þ‹^ -9 7Ïn7:Ï­B÷V.[ÆGeßãMͼÔ1µ\_o!„¢:III¡nݺètº'!/ŒÃá 5UþYV¹s¶Ùíö“myi4fÏžMDDW®\á¹çž+ñõ‚‚‚?~<Í›7G§ÓqîÜ9&L˜àê¹páB¦N�ʰaØ6m½zõbãÆ�ÄÇÇç«Ì{Üĉ™5k .äÒ¥KDGG{ŽkÕªÿøÇ?¨S§iii¼ñÆ’l«AZ·ní‰ßk“mß~û-ƒ�±cÇ’””ÄñãÇ?~<Ë–-ãÑGeéÒ¥×%ºn¤¨øµÛíŒ?ž©S§2~üxl6óçÏç·ß~cƌ̟?Ÿ´´4RRR˜w_¢ÑÓ—ô"’�B!DMàr¹HLLÄd2áíí�¢(…®ì©ª*.— ‹ÅBV–¼‡+Æ C«Õòí·ß™l˜4i=ôYYYŒ;–‹/y|AöìÙÞ={ŠÜ?dÈ�|×,Îqßÿ=ßÿýuÇ8p€'žx¢Äý7‡¡C‡¢ÕjY¶lÙu•mF£‘öíÛóå—_òÔSO‘””Dtt4Ë—/gäÈ‘ :”wÞy§D×»Qü:tˆÇ{ìºç×­[Ǻuë l/o‡‡‡{¾Þ¶mÛ¶m»î—˕︌ŒŒ �Rˆ’’„[ ðÑóÀí·�nu²ãD")f#º5.ò½6û�—+'gsdO�{>ÉÂîÓIùŽÍ°^?y®Ý¥²ò÷‹4«çMó B뛸§]}¬N7$=÷‡¨Xq:ÜÀ­u„ú9rV(ÍÏ[Éþ¾+š«Ã.ŒZ°: ~SàR¯ßçºÁ5½u91æ.¸ÝÜ9æv_öbþ1ÿ|û,…—xßè¼»n±`.â~„Bˆš*++K’hU ""rE:t(cÇŽÅår1eÊ”|UdBT•»îº ‰ßÑ£Góå—_Òºuk¾þúkž|òI®\¹ÂÚµk9r$=zô¨‚ QóIÉHkàgDÑjˆK2s!ÕŠÅá†r :­%'ÑÖ8Ð ÙCBÉùWUUÔ1bq¸I5;=[Þ…rÛÍmþ\¢™m1‰ì;Ÿ]’^Ï$KƒW5›[Ã÷gMh�WÂSi|Me™¢�ó™ÙI¸î ¬r’o ¬h€SéeÏ¡›t*&]v&îÎ àLZþÄ_N(r.3;Aؾ®�4‡–?²tžÍ‘“¤sæ$õü W³{7:ï�Ììûˆ¶¡×ª9ý’!B!„¨8�gÿÑ;whÝÒ¥Kùî»ïòMò~÷Ýw3kÖ,fΜÉÏ?ÿ̪U« �ÓNˆÊ’½0YÞø�‰‰!&&†]»vѺukÈ™{í§Ÿ~ 666ß¹Bˆò%n•¨O› |E§.e’fÍN¨´mè@}?#JC¼ »3„Ä Í‚²W¢:ôGY6Ñ3ißÈ�‡:7$ör&¾FEË–œ9Ý,vþÞ:º¶ .ÉB¿öÁœO2cu¸h}Köµ/gȤôÕÁÂþt´ÓºŽƒE½®p*]Gº]Ë­þN~»läýÃì½b¤K}Ÿõ¼Blšž¿ÜbÅáÖðu¬_™¯ï§wóÙ݉D§è¹+ØŠ üïÌÕUJSíZú¸x&,ƒ¥§}YwÎăͳøO�D6ýéM°— “^å�ýÙs³eÏÛfabût~½dä«“~$Z•"Ï;“®çH²��vô¼Â™ ==XË|oB!„…ɾ›û¯^¯Ï7 ¯Aƒüë_ÿBQ>ùäV¬X���íÚµ+Ö‚BT¦âÌϧÕf×ßT‡K„¨‰¤Â­5«çChý«[o= iVöŸKíB›[üȲ:9›xýÿ°£/f`s¸hd"Óêà§cWHH»š Ûy*‰=gRP�Û›ÐÀ߈åzªÙvŸIÆbwÑ6ÄŸ:&)f-‚|èÔ¤N—›_N&q1UÕ�Ù©aBT}>;îOLªž¦&'m\4+MÉ®Bœ¹?�uq&¼•ˆ`ÇR <»3ˆ?³ÊžCÏph¹hVøË-Vâ-:¦ï $&õjõã§Çë�lÓ2¨Y·ú;˜w¬Ÿ÷Çå†-3iW×�Å©ñÄÞêó&6ýéMo÷6¶Ð,gž¹�÷ú¾@¢¼övÓÒßÁ{‡H²ÊJDB!„¨.\€œÅÆŽKll,­Zµâ«¯¾bÁ‚˜L&Ö¬YÃÇœïØÜs…¨*¹óæÆäÈ‘#iÓ¦ mÚ´á®»îòÌKxæÌ @Ë–-ˆ��¯²~×d:àÿ´Zš2§¨ù¤Â­|÷{Ñ“¨î=—ÂÞs)…î_øËù^CUá@\âÒ ÜöŠ™³W®&òNÄgܰMQu\*,=íËÒÓ¾î7;4|p¸P§Ð6îߨ0ßã½WŒôYŸ¿\|Îáæο Z–SÔÝõ(ÌŽx/vÄß’ï¹oOûòm!}µ»4¼}°îuϻԢÏK±i™ñ{`¾ç"/zÚ/!„Bˆ²Øµk-Z´`ðàÁ9r„¤¤$ž|òIÏÜW{÷îeÆŒžŠ Áƒ°{÷î*í»»ví¢eË– 4ˆC‡åÛ÷ùçŸÓºukbcc=‹&�'~wîÜY%}®©îÑhÐ 5Úi4Ä©*Á {¥’°Ö‘ 7!„B!D>¯½ö÷Þ{¯ç±N§Ã`È?ßïäÉ“éÖ­[ô®büïÿCUU†NXXÉÉÉ<ýôÓ=z”Çóì³Ïb·ÛhÛ¶-Æ Ãív³lÙ²_oÙ²elݺ•mÛ¶qìØ1¶nÝÊÖ­[yõÕWKÔNTT‘‘‘DFF²yóf>øà6lXŒ3EM²bÅ \.Æ £mÛ¶ùöY­VŽ=š/ÙÖ®];yä\.W©ç Ì{›6mbذaår/)88˜¨¨(üýý‹qtÉé#p¸Ø£ªìTU\@©t«u¤ÂM!„B‘Ï¡C‡8þê(‹{ï½—   -ZT¥ýªH±±±,]º”#FðÙgŸ1fÌNœ8ARRC‡ÍwlÛ¶mY°`z½žo¾ùÆ3Q}I >r&¬ÿúë¯éÛ·o©û>tèP’’’0�<ú裬\¹’x€””ÂGшš%66–eË–1bÄ>ýôSÆ�ÇñãÇ!gxi^íÚµãÓO?-SüæÊ�½-Z°xñbâââª]ÅçäÉ“Y²d ñññ$&&2mÚ4ÒÓÓËý:Zà•€Â…#ÉÉì¢Ün5‚4®c^=Q³H…›B!„"Ÿ5kÖx>¬×&ï½÷»wï¦Aƒ,_¾œW_}•N�:áåå…——�:ubÆŒ,_¾œàà`víÚÅ»ï¾[ÕÝö°Ùl|õÕWlÙ²…Ñ£GWuwD%{ûí·óÅïŒ3¸ýöÛñññÁÇLJÛo¿�×^{�eË–̯¿þZnñ{öìYV¬XAÏž=Ë¥½òÔ¥KL¦ìEàÜn7¿üòK…\ç!½ž¡}î¦cp0]…Ín7 B§ã­®wÒß[¦Ç©m¤Â­„T@ AEM}í¼oB!„¨ÆŒƒF£aÁ‚�³ç»ï¾Ë®]»<ÃÉŒF#|ð3gÎä™gžá—_~açÎ�ôïߟ�йsg¢¢¢X¾|9äLÐÞ½{w4hÀ•+Wøî»ï8{öìu××ét 0€: ( ÇŽãÇÄf³1tèPl6k×®­Ôפ V«•±cÇòÿþßÿã±ÇãñÇçñÇ¿î8—ËÅ7ß|ûヒÃá¨�¾tîÜ™©S§R·n].]ºÄ믿Ι3gŠuîæÍ›3fL¹´%n‡ƒÑ£G3uêT}ôQFŽy]u¿ÞÞÞdff¢( 6l **Š�2}útvìØAÏž=™\à½{c4@wé tº�§3ÒYÿçþjòáµF�ñºµCÏÅñ•Å‚«Ü^qQÝI­„ÜnE+)·ÚÎí.^ÊÍá½Ô‘Öj©BQ }š{?ü�~ýú‘””Ä´iÓHHH 00�õë׳aÃâãã¯k_Q”�]¸p!ä•W^áÔ©S(Šâé÷�~66lȨQ£¸pá#FŒàå—_.0� p§Fƒj±�h1ã½{/M›7ctÂ%žnÛ/­GÓ¨sGÂ6^"ºüž•Cn%ätIÂMdÇAqX]ôZù…Z›Y]òûB!DÕ;zô(&“‰��.^¼HûöíÙ¸q#÷ß?õë×çòåË„……qäÈ‘µ»{÷nþøã¶lÙBDDAAA$$$xŽñòò¢k׮̛7�ÌÌL¶nÝÊ£�>Êúõë9uêZ­–F�ñ矖ó�—Þ©S§øç?ÿY%×'&&†¸¸8V­ZÅóÏ?Oýúõ¯Kˆ$88Ø3_YÛ7§S§NñÎ;ïTøuV®\‰ÝnçìÙ³L™2…Ó§O£( 6›�­[·zŽ Ç`0xúàù=áp88}ú4‘‘‘¼ñÆ4mÚ”³gÏâëë˸qãhذ!.—‹àà`âãã¯kßårxlQ¿SŠúÙHNNÆétráÂ6nܘ¯jôZûT•W““i›’B¨FC£?ÿä�†„cÑ$úû¡±;Ð$'Ñ ˆ.ó«.n’p+!»Ë�QJ–j=»«xeKf§?½ ×ff§ü¾BQõÌf3'Nœ M›6\¼x‘:ðïÿ›f͚ѱcG¶lÙB›6mJ½Z!@JJ v»£Ñ˜ïù   üqTUÅív£Ñh<ǹ\.bbbhÕªU¹$ܪK¥\YèõzOr’œ "£ÑXìá}ûöå×_-—¶DùÑc•Ê›-~sM¸‘ÌÌL’’’®›[0oÅ€ªª8l6íÛ·gÖ¬YÌœ9“3gÎx*õ R’cs•ägãF?/àwUå÷<ß;=àçtâkµRh�–Æžöªz*NìŠëÉ'Á²;Ý8ŠYÝ$j&‡KÅî,^Â-Ë¡‘ §ZÌêÒ�å�ï¿BˆêáàÁƒ´iÓ†ÀÀ@4 —/_æÀ�tèÐ???êÕ«Glll¹_×jµðŸÿü‡÷Þ{�9sæðþûïóæ›ozŽ9vìaaaåzÝ›)iq­AëÖ­!'�vöìYRSS‹zY<¡Rs¾ÿ%‘dÕÒÈ$UnµQ’Uþ¦!„¢ú8x𠃀pì IDAT ¢C‡:t€Ã‡óøã�Ó±cGNœ8�ËUø{�®tr+ßÚ¶mËÞ½{ <æÜ¹sxyyqË-·_ªëä¥Ñhp¹\¥îsUKLLdúôéÌ�;ræÞz饗 =~ùòå8�N¬V+»wïæñÇ÷Ì£WÒ¶Dùs¹\%ªºÙã· ™™™Œ?ž©S§2~üxl6óçÏç÷ßÇétòä“OòÊ+¯påÊ&Mš„ªªlÙ²…^½z±qãFâããIII)´ý¢Ž]¸p!S§Neذa¼ð žçËûg#,(ˆ��B -�VƒPš4BŸš¡ÍÙ±=ªÔmW•’Ʈȯ¼_¹â´§¹Á×yŸÓæyîÚ-wîcí5›Pr6]Φþ;vüµ¬Ñ1è´øzé$éV‹¨@¦ÕYìê¶¼Lz•Þ’t«M.Y”2W·eeeùÁG!ÄÍCUUTU¥N�:•r­ÂÌœ9�NÇW_}å©f›4i 4`ݺuìܹ€©S§zV)èÑ£ƒ â½÷Þ#33›ÍÆäÉ“‰ŠŠb÷îÝžößzë->ùäÏüa¹úöíK÷îÝY¶l§OŸÆÏÏ“Éä™  ÿþÜrË-|õÕWåòx{{ãããSæ¶„(+³ÙŒÅb)vâ¢6ů¢(ùV ½™…h4¼@Ä_º£¤e€Nf3N�ŽåûöóŽÅ‚½ª;YB%�ÝÂÔ­[—“'OvÒàÌÙ\9› ¸¯ÙÔ<Ï“çqÞ�<ûÉóœZÀs×~]˜r+ë“ò‹R²;ݤ›2¼´–p¸TÒÍŽR%ÛÈZz!K‘᥵€Õ•ý½–¡¤B!ª£ƒR§NÏåû÷ï'00�cÇŽzÞž={8sæ Ó§Oçé§Ÿ.ñuþùg¶oßÎ<ÀŒ35jÔuC¼Ž=Z¬y—ŠËn¿Ù>ÚŠšª4±(ñ{󹨪<—šÊš­Ûp*Z0›q×â»ùçM˜lCâ°Ì¤Â­tZ Š�¢A«ÕHÕ[  n·ŠÓ¥bw¹K�h+ˆI¯â£s㥨Èú5ƒÃ��h3;µåšh“ 7!„¨9ªK…[YÎ)n»¹÷ZÒëæ~]så¶áçç‡Á`(s{B”–Ýn'##J0ñ|mŠßšTá–K öõ¥¹�˜Í¬ÍÊÂvÎ…VšØ-Lm­p«9ƒÂ«�ÝY¾ Q³e94d9”b)„B!J#w¥G³Ù\ã¢z3›ÍP„EmŠ_—ËU£’mäd‘VefBžPoF¥‰]‘ŸÔ×!„B!j$—ËEæMþ¡Wܼ233Ë4ZAâWT•²Æ®È& 7!„B!D�“[•a³Ù<•BT³ÙŒÍfƒRVIüŠªRÖØWIÂM!„BQ#å~X´X,R)$*Mff&‹ʘ°�ø•­¼bWd“9Ü„B!„5Vî|X6› §Ó‰��O�ŸKT »ÝŽÙlö Å+�„…፠»BnB!„Bˆ.7iár¹ÈÈÈ@Q ƒEQäÃ¥(•ܘ²ÛíØíö|s^•gLIüŠòVY±[ÛIÂM!„BQãå&-È™ŒÞb±`±Xp»ÝUÝ5qÓj¯Ÿ¥©"¿¢¼UVìÖf’pB!„BÔ ¹&sò¡SˆÒ¨èd…į¨(’h«’pB!„BÔ*×~¸Ì›À¢¸ª*I!ñ+ÊJl•CnB!„BÔ"ªQ :-ª¢®~P/ø3»šïŸk¾¼z¢š¯zÝ94 ªžkjÜnp¸ÁQ5‰ùð)nf¿BTO’pB!„¢PµðQ²ÿ­fT­ èT0;«º;B!D™É€o!„B!jƒjšlË«º÷O!„(.I¸ !„BQéÆÜ!¤B!„¨ ’pB!„¢¦ÓËÛ~!„¢2Éÿy…B!„¨á¤ºM!„¨\’pB!„B!„¢IÂM!„B!„Bˆr¤«ê!„B!ª†µO0ªQ hP½´hÌN”úC©ÅnGõQ°u ÄkÛå ìmÅPUUU«ºâ&¤ÑhÐhªv¸¶Ä¯(�껵�$Üj¨��.^¼XÕ]B!„Õ”Wdv‚LõQ°ö¬�×O—ªºK•BQ z½EQ䃧(UUq¹\8ìv;.—«R®+ñ+ʪªb·¶‘„[ýøã�´k×®À}Íš5«ôþ˜L&"##q»Ý„‡‡c±XðööF§Ó‘••…Ûí®’~ !„BQ•EÁÛÛƒÁPÕ]5€F£A§Ó¡ÓéðööÆn·c±X*,y!ñ+ÊKeÇnm% ·r‰Åb©ên`µZ9qân·›ÍÀ{ï½ÇàÁƒ¹÷Þ{9~üxUwQ!„BÜÜ�F·ÕAÕ6†ƒih2²‡�ªAìmë ê5ž¡¨n/Çíup{+ Õ œ5£;��½s]”KV” Ùï™�­ýÀâB‰3Wʽ�FL&S¥\KÔNƒƒÁ@VV–çsXy‘ø©"c·6“„[9™:u* UÝ \.ƒ®ên!„Bˆ›˜ª×b�ÄðK"Ú Žf&lwâyU¯ÅzG]ŒQIh3¸n1âó@cw¡?˜ŠÆâF5j±õ B¹hAwÁ‚£‘×Õ„[}†=)•r/ÞÞÞx{{Wʵ„0™LhµÚr+È�ø•¥¼c·¶“UJ+P½zõ˜={6Û·oçĉìÚµ‹W_}£ÑÀúõë9þ<]»võœ3{ölΟ?ÏÝwß�¢(<÷Üslݺ•èèhÖ®]KŸ>}ò]#::š¹sçòâ‹/²gÏV®\éyþÀ�Ì›7Ï“€Û¸q#§OŸöœïããÃÌ™3Ù¹s'GŽá‹/¾ I“&žýdýúõ?~œ={öðí·ßR·nÝ ~å„B!DUs×3 Is Ít ?Ÿz-ªQA 4 Mw¢ÍÊ®lÓ¦]­pÓ¸½GK?œ­ýШ€Q‹&ÑþT�·¿�Ù�Æ^ñS��FIVˆJçíííùÜW¿¢²•Wì ©p+7o¾ùf¾,ðO?ýDdd$ àäÉ“8p€îÝ»3zôh¬V+sæÌaÍš5tèÐ�»ï¾›={öлwo’’’عs'³fÍâïÿ;Ç�gÇŽôïߟ/¿ü’GyÄs<ÀÃ?ŒF£áÔ©SÄÄÄ\×· 6FXXß|ó —.]� wþüùôêÕ‹uëÖát:yðÁùïÿËý÷ßO£F�˜?>III|ýõ×�FêׯOJJåü%R!„BTU GžÕ5 * QÁ­hòïËÃ]G�ã¶:莦¡Étb7dŸîVÑ^¶ pûëÐÅW|…V«•ax¢Ê˜L&G©çЖøU¥¬±+²I­œôïß?ßãóçϳ~ýz"""<Ï5oÞœmÛ¶Ñ»woæÌ™Ãúõëyå•WèÙ³'sæÌ!44”¦M›²xñb4hÀÈ‘#9yò$<ðN§“G}”wß}—±cÇæK¸¹ÝnyäOEÛµ~üñGî¿ÿ~OÂ-w·¶mÛÒ§O~þùgžþyÈÉfßÿý4oÞœF�¡Óé8yò$_ý5üñG½zB!„¢ºQ’ì8nÀío@›fÇâ…6ËvÚdöŽupûëѦÙq›®~¬pùÀîF›æDU/ųOwÁŠ£… ÕKÁ›IÁ)»ò¡ª*>>>x!nÌÇLJŒŒŒ¯$*ñ+ªZicW\% ·rQànwÜqO=õ�;w&00�Fã’Ïž={èÒ¥ ôîÝ€5kÖ†V«eûöí8�Ù%úëÖ­ãÝwߥU«Vù®‘‘‘Qh²­(¹íÜsÏ=œ?>ß¾€€öíÛÇÉ“'éÙ³'QQQÄÆÆ2oÞ<Ö¬YSâk !„Bˆ›‹ÆæF¿?û� Æß³G:h¬nŒ‡RqÜ€êmŠ �+;}¦‹·`¯¯Çvw«WW½Ó¤;p›thSíà®Èt[öŠŽ²š£¨jƒEQJ\)$ñ+ªZicW\% · ÊÒ¥K‰‹‹cÊ”)ÄÆÆò믿æ;fíÚµDDDp×]wÑ»wo.^¼È¾}û¸ÿþûÐé®~‹¼¼¼PU³¹|VrÊúóÏ?3{öì|ûþüóOìv;¤_¿~ôïߟ¿þõ¯|üñǤ¥¥±mÛ¶réƒB!„¨z³ ¯�×ÿñX—`A—`!o)Zî—Úx+Æx+¨j¾ý§ÃþÔkιú@cu¡\´VÌ�ä^OUe"Qm�FÌfs±+…$~EuQÒØùÉ¢ (<<£ÑȶmÛøõ×_INN¾.PøáœN'¤[·n¬]»UU9uê}ûöõü²íÓ§�Æ3$´$r«ä<ÏÅÆÆâr¹'%%…3gÎx6»ÝŽF£A£Ñ°iÓ&¦L™ÂÇ 9CQ…B!„()U¯ úêPR~-½^_á×(«Aƒ±nÝ:¶mÛÆªU«˜8qb‘Ç+ŠÂþýûËtÍ��Ö­[wÃãÊãZ"[ibñfˆß¨¨("##‰ŒŒdÓ¦M 6¬Ðcƒƒƒ‰ŠŠÂßß¿Ä×)˹¢ln†8¬Î¤Â­åÓ|ôÑGèСÃu›’’BTTƒF«Õz†kž8q‚íÛ·Ó«W/6lØÀÑ£G0`v»�y󿕏/ÑÑÑ 2„™3g²eË>úè#X²d O<ñ«V­bÕªU4jÔ___&NœH»víX´h›7o&55•¿ýío¥¾*„B!„+Ä å²*tö¶ì !EQŠqdÕéС£G�f„ üñÇXÕÝ@QTU-Q…[u�ß\C‡%))‰-Z°xñbâââØ½{÷uÇ%&&2mÚ4ÒÓÓK|�kÏ�>¾\îA®¤±+ò“ · ´wï^æÍ›‡Ãá`èС\¼x‘Ÿ~úéºãV¯^�V«åÌ™3DGG{žŸ0aK–,ÁÇLJ>}ú°ÿ~zè!Μ9Sâ¾,^¼Ø“P6l-[¶`Ö¬Y¼û\.&L˜Àí·ßî)ÕjµÄÆÆrß}÷1fÌ, ¯¼òJ�¿@…B!Dõ•;¿ZUÓ�ÏB<£R®UÝ? vèÐ�cÇŽy&KMM-Õû|Qý•&«{ü^ëìÙ³¬X±‚ž={¸ßívóË/¿”ªíkÏíÒ¥‹¬ÞZIn¶8¬nÊûÕ+N{š|�÷9mžç®Ýr÷ç>Ö^³i%gÓål àß±cÇ_SSSËx«BQ±²²²p¹\Å8R!Du§ª*ªªR§N�J¹Öuϵ¨^J…eWŸ(à´«û ˜Ã-߉jþ½êuçЀªæ¹¦šûšÌ²7u»Ý•¹�ŠÔ¦M–,Y¼yóX½z5×~>¹í¶Û˜>}:$%%1fÌìv;`óæÍtèЇÃÁ´iÓ8|ø0={ödòäɘL&¢££yå•WÈÈÈ ""‚—_~“ÉDBB��� 4ˆ °hÑ"ÏüÑÝ»wgäÈ‘Lœ8EQØ»w/áááE¶-Š'11­¶xõ.7Cü’3¤ôÁ$)) €—_~™ÌÌL>ýôS6lØ@TTdúôéìܹ3_bÀ€,Y²„—_~ræ¹zã�75j àÂ… Œ=š:uêðÁ0iÒ$È7ß|Sâ¾Ö¶ä ;ìÑ£ýû÷gãÆ�4nܘ]»vѳgOvìØ‘ïx>þøc¦L™Â€øþûïùðÃ=û‹:wáÂ…œ8q‚çž{ŽiÓ¦±zõjèÙß·o_6lØPá÷,DqÈnB!„BÔfU[}‡iÜeO TáWV¹ ¯É“'—k»‡f„ 4lØ�gžy†o¿ý–¾}ûNtt´gNè¼ó^9âââØ¸q#cÆŒ�œÛ ï¼óä,––��@çÎ�‰ŽŽöœsìØ±÷³°¶EÉg.¬²Ä¯N§ãèÑ£îûí·ßxúé§q»Ýî/­•+Wb·Û9{ö,S¦LáôéÓ(Š‚ÍfcëÖ­žNLLŒ'&W­ZÅóÏ?OýúõINN.òÜkmß¾�3f`2™hÖ¬qqq¤¤¤”ë=ŠâÅ®¸ž$Ü„B!„¨4n2�`Ô‚N‹ªTŸO· 78Ô ^N¡äÚ¶mË=÷܃ªª,X°€ØØØr¿F||>ùäN�:U涃‚‚?~<Í›7G§ÓqîÜ9&L˜€ÝnçÂ… ̘1ƒùóç“––FJJ “'O.²(33“ñãÇ3uêTÆ��ÍfcþüùüöÛo̘1ƒ�>ú»ÝΡC‡°Ùl�“˜™5k .äÒ¥KDGG{Ús»Ý¬ZµŠ¥K—òÿ÷…¶-ª¿Õ«WóÈ#�ЩS§|ÏßqÇUÒŸÄÄD¦OŸÎܹs¸pá/½ôR±Ï_¸p!S§NeذaLœ8‘#GŽÊþýû±ÛíØs!JFV)BˆjJV)BˆšEUU|||Š5„¯¬×©ˆsŠÛn%½nî×e�ƒ-÷ú%]å±qãÆ„††J‹-hÑ¢aaaÔ©S‡E‹a09r$©©©œ2‡›B!„•ÄápHõr5õý÷ß3mÚ4Ï÷gçÎ�ÜsÏ=tíÚ•¤¤$._¾L—.]èÛ·¯g(¥ÓéäÅ_dãÆ�UÜ{!j¯x€-[¶”û ¬B”•üyM!„BˆJ�;Çjµb2™ªº;¢k×®Åáp0gÎzôèÁÈ‘#yÿý÷=ûÝn7Ç'""§ÓÉ?þñ6oÞ\¥}âZ:�Ž˜˜Ïãß~û�§Ÿ~ºÆ&¤/^\Õ]¢@Rá&„B!D%r¹\˜Íæªî†(Ä�?þÈäÉ“xæ™gð÷÷÷ì d̘1¼ð ’l7…ˆˆî»ï¾ªî†µŽ$Ü„B!„¨$¹UnN§SÇ©Æ> À•+WHOO§OŸ>ôêÕ‹äädRRR8zôh÷Rˆ‚9�NÚ´iC›6m˜1csçÎ%&&†˜˜‰]!*‰$Ü„B!„¨D¹I7—ËEff&f³§ÓYæÕ9EùiÙ²%ä̹·lÙ2>ùä,XÀÒ¥K±Z­ùŽ)­eË–±uëV¶mÛÆ±cÇØºu+[·nåÕW_-Q;!!!¬[·®L}5×÷ßÏ¡C‡ ÜWÖE¢¢¢ˆŒŒ$22’M›61lذB� &***_Åhq•åÜkyyy±iÓ& tÃc£¢¢<Õ®¹¼½½Ù¶m[™û!j™ÃM!„BˆJ–›tÓh4¸\.,K…^¯<“y¥mëFçåî÷öö.Uûå)44r’Y!!!$%%¡Ñhèܹ³ç˜–-[²sçÎR_cøðážk|ýõ×ôíÛ·z.D~N§ÓkaèС$%%Ñ¢E /^L\\»wï¾î¸ÄÄD¦M›Fzzz‰¯qí¹“'OfÉ’%ÄÇÇ—¸­I“&]·qQúõëÇš5kˆ��-ñµ„� 7!„B!„È#·z-==�>ø€~ýúѯ_?þõ¯y>ô—µÂMˆšäìÙ³¬X±‚ž={¸ßívóË/¿”ªíkÏíÒ¥K©ž¹ýöÛiÖ¬?ÿüs±Ïyë­·˜9s¦ç�$B”„$Ü„B!„"���>ÿüsúõëÇgŸ}†ÅbÁl6³`Áz÷îÍܹsiРA…ö¡sçÎ,[¶ŒM›6ñõ×_{ªîșժUüôÓO¼ýö۞烃ƒY´h‘‘‘DEEyx˜7oƒö÷â‹/2räÈ í¿¨}¼½½1›Í(ŠÂO?ýÄŒ3ˆŠŠâî»ïFQöïßï9¶°ø¾Ñ¹£F�",,ŒyóæñöÛo;¶�F#¯¼ò o¼ñF¾äYÆ Ù±c·Þzk�÷´{÷nþøã† RàþÝLJ~ȦM›øá‡èر£ç¼ž={²fͶlÙÂÇŒŸŸ_)^qQÝIÂM!„B!ò˜8q"sçÎ-pø›ÙlæóÏ?gÒ¤Iv}>þøc¦L™Â€øþûïùðèS§|ð“&MbàÀ�|óÍ7žó’’’˜6m}úôaðàÁ<õÔS4nܘիW3pà@Ïq}ûöeÆ ÖQ5rK¸í¶Û*õºŠ¢Ð£Gú÷ïÏÆ�hܸ1»ví¢gÏžìØ±#ßñEÅ÷�Î]¸p!'Nœà¹çžcÚ´iÅŽíçž{Žï¾ûŽøøø| ·¤¤$-ZTäðÔ÷Þ{�Ñ£GP¢ûhذ!ï¿ÿ> `É’%¼üòË�“ã�75j àÂ… Œ=ºX¯µ¸¹Èn•L«odY«º'B!„¢ª©ªŠ^¯G¯×£(J¹ [*ÍkÅ9§¸íªªZ¢c¯ýº:,‘••uÃcÌfs…]?<<œ˜˜âââXµjÏ?ÿ<õë×§}ûöDGG{ö;vÌsžËåÂ××—qãÆÑ°aC\.ÁÁÁlß¾�3f`2™hÖ¬qqqžÕV…(‹•+Wb·Û9{ö,S¦LáôéÓ(Š‚ÍfcëÖ­žST|'''yÛ;v¤C‡Ì�;÷ºóív;‹-*òÉÉÉ|ñÅL™2…7ß|³Ø÷át:¹pá7nôTœ†‡‡c0xç�w !!¡X÷+n.’p«w¶Ñò—ö*¿FÃìÑFZ5Ñ2ÿ;ïÿO–�B!„¨­EÁh4–hoqc�¦Z$íÊB¯×“™™éyœ+‡£Ñ˜o_^íÛ·gÖ¬YÌœ9“3gÎШQ#È©|Úºu+½{÷&,,ŒÕ«WWÚ½ˆ«Š“P¿Ùâ7wÑ„’(*¾Kª8±ýàƒÈÚµk!§Â¬oß¾ 4È“»‘•+Wòàƒrç�w–ê>ò>—™™IRRÒMUÕ&sØ•Ž )­/×ód_;ß¾f ¬©­چثº[B!„¢Šèt:|||$ÙV�n¦¤Åµ8@DD­[·†œargÏž%55•н{wϾæÍ›{Îkݺ5‰‰‰DGGP¿~}ϾܡwwÝu‘‘‘•~OµYEU�Þ¬ŠŠïâHII!$$ÄóøF±={öl äÙÖ¯_Ïܹs3f z½ž¿ÿýï7\YUUfΜɴiÓÊ|$((ˆ^½zAN¢ÎËË«X÷^ÙjrVI¸U Fo:}ö*«ÅN€ÑB“ w©Z›7o?ýôS¡YæöíÛsþüyºuëVì6×­[—o¹h£ÑxÝ/�Í›73a„R·YÒó…B!j"­V{Ãw¢l4 .×Í;š$11‘éÓ§3wî\Ö­[Ç�!Cx饗¸|ù23fÌà£�>bÍš5Ü{ï½Øl6¶lÙ‚ÕjeãÆ�|òÉ'ù†Ö9r„ÐÐP¢££±Ûå�ÿ•Éår•¨Bèf�ß)*¾‹cáÂ…Lš4‰ÿûßPÆØ bìØ±žjТœ:uŠ-[¶”ù>233?~<ãÆ�ãÿû .¤S§N%êwe)iìŠüÊû•+N{š|�÷9mžç®Ýr÷ç>Ö^³i%gÓål àß±cÇ_‹›=/Ï>hâΖ¾Ô¯çäÖFi¤\J!ÃÏæÃ‰ %ÿ«fîJ,£F�*plûüùóùë_ÿÊðáÃÙ½{w±Ú\·nß|òq™! IDATó Ë–-`òäÉ4kÖŒçž{ÎsÌ”)Søí·ß®›¸²¸m–ô|!ªZãÆ�¹÷Þ{ñññÁl6³qãFþüóÏJ»~VVV�~³%„µ‘ÛíÆ××·B+Ûd·ì6¼½½ñññ)s[5ɧŸ~Ê_|ÁÞ½{«º+µŠÙlÆb±;q!ñ[rÛ£¤±[˜ºuëròäÉî@:àœ9›+gS÷5›šçyò<λ‘g?yžS xîÚ¯ Sne}2‡[ºµ‘†îíZ64‘�¨'ò7?Bê© Ë䫟 ħ”¾À011‘gŸ}öº„[‹-ˆˆˆ(pE¥²zÿý÷«ô|!*“F£áoû+V¬àâÅ‹tèÐ�‡~˜yóæUuׄBÜÄrGÏn·KÂ"�ÀÀ@Zµjž}ûªº+µNi* %~‹Ob»âH5lÙÈ�Ò Ð½½–Uÿôbë‡ÞüsŒ�Á½³xì�df>Oûv*ó6x•)ÙðÝwßÑ¢E ºvíšïùñãÇóå—_zÊÊsýþûïôèÑÃó¸C‡œtjc¦Uswßacæ(#Sþc+F‹…3›Í,\¸�gŸ}–={öpË-·0pà@î¾ûnž|òÉR·ýé§Ÿâëë{Ý�Ò‚ 6ŒW_}• .0vìX–,YÂ]wÝU¬ »qãÆñÐC1iÒ$®\¹BDDÉÉÉ8Ο?Ϙ1c°X, 4ˆ9sæpðàAΜ9Sêû¢$œN'111 <˜;vATTTUwK!ÄMLUU©n«$¹+=šÍfIræX¼xqUw¡V2›ÍPÂU%~KFb»b”&vE~RáVŽžªçÙ!ÙÉ6·æ-féú@¢öù²âÇ@®èÐÉF=¿²WÊ|õÕWÜqÇ´mۀѣG³bÅ ÒÒÒÊÜvq}ùå—ìÛ·�„„fÏžMRRƒ¾áy:�މ'2mÚ4Ž9BBBkÖ¬ñüP/^¼˜'NÇþóþüóOn¿ýöJ¸#!®úùçŸiР#GŽÄ××—˜˜˜ªî’Bˆ›œ|p©\.—‹ÌÌ̪¥233ËT!$ñ+ªJYcWd“ ·rÖTËóCõžÇI©:NÅ=ü çþ4’–¡°zsãF\ÁhThßÔÊŽcú"Û¼‘ôôt/^Ì„ xíµ×:t( (‡»)·Û;}ûhѢŠ�mÒ¤ &“‰#Gޏ¿^½z <˜;3ÀÀ@‚‚‚d5/Q©t:£F�â»ï¾ãòåËtéÒ…Ñ£GóùçŸcµZ«º{B!j0“É„··7Š¢š SU—Ë…Åb!++«Òûx3È­²ÙlhµZ™KT*³Ùì™æ§4‰v‰_QUÊ»â*I¸•“уtèòŒªë¤M¨•¯Vq¯4":e‘š‘}€·ÉÈSƒöÄÚ±–qXþ_|Á/¿ü‚ËåbãÆ�\ºt©Ðc+ã‡%÷�ß�øûûÚ'“ÉÄêÕ«Ù°a}ô.\�2aQéBCC¹|ù2/^à×_¥E‹´hÑ‚ãÇ�Wu÷„BÔ@Š¢P·n]tº¿E×h4èt:üüüðòò"55Uª �›´°X,žb…¨h™™™å’°�ø•­¼bWd“!¥å@«…þ]òÏÇq Ú‡ÿ–H“†v6l¯Ã±XoÚ„^­Šé{§Ž·Æ–}<~RRË—/çÁdÁ‚…g6›iÙ²e‰ÚÖëo\�ççç—ïq§N�ˆ��½áyqqqhµZ:vìxݾ:P·n]Þ~ûmNžnF¹m6©©©2½¨0v»�ÔÔÔrMXHüŠÊP±+$áV.|5ø›®¤Ý¡áëÕõ8Ñ€ÉÛÍྩü¼Û�kßg ¹[Gë&eÿ|ôÑG<öØcE.(ðûï¿óè£�Ò¨Q#BBB1bD¾ýÉÉÉ4iÒÄóƒuñâEºvíJ£F�Š,_ž4iýû÷§^½zLš4 ___6lØP`›y¥¤¤ðÓO?1{ölBCC1™LôëדÉÄåË—ñóóãïÿ;õêÕãÁ¤]»vex…„(¹‹/²}ûvzè!^xáFŒÁæÍ›‹¬"B!JËd2y’mIIIX­Ö"“tªªbµZIJJò$ÝdÈYárß�º\.222HMMÅl6ãt:廢ÔTUÅétb6›IMM%##ÃSiZž ‰_QÞ*+vk;RZ²,*N'r  z•þ=ÒùbEÞF7—“u4 ±smÜj4ÐñV-'ÿ(ÛòÅ)))ìÞ½»ÈcÞzë-æÌ™Ã–-[¸téË—/Ï÷ב/¾ø‚·Þz‹Ö­[3fÌV­ZEŸ>}þ?{÷U•ÿqü=%=!„N@„ HG£`¥„’ ‚¸Ø”fÅþ\dm‹®Q”Ui*+Ëê‚t]VB—Б ¦A2©3¹¿?63›@R&ø¼žç>ÏÌ=çž{îp¢™o¾çV®\É–-[1bD�ínܸ‘W^y…:uê°mÛ6Lvvv�m^ì…^à­·ÞbÁ‚xzz²wï^öíÛÇÑ£G™:u*&Là…^`ãÆ�¬_¿¾LŸ‘HiìØ±ƒ;vTv7DDäà\«655µD_  ÃÀf³ˆ���kª¢ÜrË-Üu×]4lØoooâââX·nëׯgÒ¤I¬_¿žM›6•éy 2fÌþóŸÿíö¶‹Ã9=�<Ë 8§ê‰”–Ù|iEy,4~ÅÝ*jì^ËÜýi§=Óe^ç=gÎsîâÃYî|o¾è0–ÜÚ{X€jíÚµû%99¹Œ�š_äs^ô¹#ÿ´Ò�1¾¬ÛêÏM-Ó¹ý¦T¼œ-Zðã�?rìØ1, �5"==�íÛ·p+n¿œÏz±‚nyë9_WDÆŽ²‚¤GŽÀjµÒ·o_Ú·o�§§'»víâÇt-´ ЩS'n¿ývüüü8~ü8?þøã%›yyy1räHvïÞͺuëÊ鉋O_>åJ¦ñ+R5)àæFi_ýl竟ÿ›Ñæç >^&ÌfpäÀ›Aö¥Én"""""åÊÓÓ“:uê¹É–SíÚµùî»ïHLL¤oß¾<ñļöÚkØív DµjÕøàƒ°X, :”¾}û²`ÁºvíÊÍ7ßÌ·ß~KJJ Mš4!555_ûf³™|�sçÎU‰`›ˆˆHyÐ.¥åÈ–ñç â’ Î_}Á¶¾}ûjý6‘+@�:u0™L¤¤¤\¶î¦M›8~ü8))),[¶ŒjÕªQ»vm|||¸óÎ;Y²d‰k§ÄŸþ™víÚAn–M÷îÝY°`§N�âüùóìܹ3ßF]&“‰{ï½ooo.\X®Ï,""R™”á&""""r•;þ<äÞ~ÿý÷b_—˜˜HVVÞÞÞ® ÝÈ‘#]›ú˜Íf¼½½¨Q£ÞÞÞœ:uªÐöBCC æý÷ßׯ@""rUSÀMDDDDä*—’’Â… hݺu‰ny9×~{ï½÷ Ì”óõõ…ˬ'uäÈjÕªÅí·ßÎÊ•+KÕ‘+�¦”ŠˆˆˆˆT²âî4Z�âîpºbÅ î¹çj×®]ª>&$$�‘‘AÛ¶m -7™L\wÝu…¶‘œœÌüùóéÔ©-Z´(U?DDD® ¸‰ˆˆˆˆT2çôJ//¯_ë¼ærS4W¬XÁñãÇyã�7 £AƒÔ­[—Ž;Ò¾}ûbõqÕªUôíÛ—-Z`6› rØÒÒÒØ³g  N�:xyyѪU«KžéðáìY³†P£F�?¯ˆˆÈ•@SJEDDDD*Yzz:øûû“™™yÙl5'“É„ŸŸŸ«�¢8Þÿ}ºuëF‡èß¿?†apúôiÖ¯__¬û-_¾œ¬¬,î¿ÿ~‚‚‚¸pá«V­âäɓ̟?Ÿþýû3fÌL&±±±œ={–ÌÌÌ|í¬[·Žàà`† ÂÌ™3ÉÎÎ.ÖýEDD®%ÏY/{{¦Ë¼Î{ΜçÜŇ³ÜùÞ|Ña,¹‡5÷°ÕÚµk÷KrrrUD¤|Ùl6-(-"r•0 Ã0 ,´N­Zµ°Z­ØívRSS‹ ¼™L&¼¼¼ð÷÷Çb±`·ÛIHHpÝ«4ýsGòA‘ ’••UÙ]¸f†�¯¯oewC®q¾¾¾¥ÊlÕø•ÊVÚ±+ÿ£€[9±XÌxX-®÷f­Û!"""rÍËÎÎV–[±X,ÚÍQ*�§§'‹¥5óÓø•ÊVÚ±+ÿ£]JÝÀd2ѤfuªûxcËÉaÄÀîô¼­->^8~†%+¶�}!�ôìl¶�ˆåP\bewYDDDD*˜sㄌŒ M+g†ah "©2¼¼¼HKK+öæ)¿RU”tìJ~ÊpsƒÛ›4$¼eS:6nÀk÷áÁð;¨è�¯·7ߨ˜¡÷vÆËj¡º�7�oh¬l7‘k˜Ãá --­²»qÕóðð¨ì.\ÖÆ�©Y³f±êZ,¶oß^¢öKs�¸_iÆâ•2~£¢¢ˆŠŠbãÆ�¼þúënˈªS§7n¤Zµj%º.88˜E‹¹¥reŒÃªL77hV»†ëµ¿ÿ¥ó쯿¾žë¼‡ÅŒ§µlÿúä“O8~ü8Ç�çÈ‘#¬ZµŠ#Fäû�Û¢E‹2dH™î“×Ê•+=z´ë½ÅbaòäÉìܹ“¨¨(š7oî¶{‰ˆˆˆ\­œYv»›Í¦é¥åÄ0 M…’*Ãb±”h-¬+iü>ðÀ„……1xð`:vìÈСCÝÒn||<“&MâÂ… niOJ§¤cWòÓ”R7È›°�?àvrófÒ’’¸¡a vîOÃ0 Ç vΜ9L›6 ___:wîÌäÉ“ñóóã“O>)sÛY±b¿ýö›ëýàÁƒ¹ãŽ;'''‡ääär¹¯Hykذ!½zõÂ××—´´4–-[Æ©S§ ÷KÑ�wÞIëÖ­ñóó#))‰ �ššZÙÝ‘+˜ÉdÂ0 ©©©xxx¸ÖÊÑ´÷Ñg)UEiÆâ•6~cccYºt)×]w�[ÚËÉÉaÆ niKJïJ‡U�nnp>=Ìf3¶¬,�ô³§>GŽÝΪMÑ|¼vß½4‚=3 ©idÛËþ—̬¬,RRRHIIá‡~ 00�1cÆ”[Àí½÷ÞË÷>$$„Ý»wW.÷©&“‰�òÃ?KÛ¶m0`€ëç¨k×®øøøðÕW_áp8¨Y³&6›­²»-""Wç—“É„Ãá ==½\ïçÎ …Ò¶u¹ëœå>>>¥jÿjQ§N¦M›FãÆ�ñðð`öìÙ|ñÅ�;½kÆŒ4iÒ„¤¤$Þxã 8@§N�xþùçñóó#&&†W_}5ßÔe‹ÅÂk¯½Æ�wÞ‰ÝngÕªU|ôÑG•öœru  sçÎ|öÙgPÄx\ºt)û÷ï§E‹Øl6"##8p Í›7'..Ž &pæÌ, [·n%44‹ÅÂ’%KØ·o­Zµ";;›I“&±{÷nn»í6^zé%üüü8{öl¾~Ö�%K–°qãF"""xå•WØ´i“~>Äí4¥Ô öž‰#Ç0¸ùææÔ¯Sƒ–!×áÈÉáÈé8nnÝŒg;·%¸icŒ@?–Ǧ<2ýõWjÔ¨Q༼þúë¬[·ŽÅý÷ߟ¯Î¢E‹3f ?ýôûöícÙ²etèÐ!_¹sŠêÔ©S9r$<ðGŽaÙ²e|úé§—åž~úi¾üòËrxZ÷°X,xxx�˜øß�L>ìúeßËˋ֭[³bÅ ìv;†a¯”j‘«XHHŸ~ú)Û¶mcÿþý®cÛ¶m|ðÁ•{˜4iaaaôë×�aÆѰaCWùÛo¿Mxx8³fÍbúôé˜ÍfêԩÔ)S1báááœ>}š‘#Gæk·sç΄„„AŸ>}øôÓOËýYäê7wî\/^ÌæÍ›ù׿þźuëŠ�õêÕcêÔ©„‡‡³téR^xá^~ùezöìÉÞ½{yòÉ' ¼Oýúõyï½÷gÞ¼y¼ôÒKòá‡2~üx"""˜;w®ëš¢úѰaC6oÞL§N�X¿~½~>¤\(àæ‡âùú—œHM£n­ &�Ìß,¤Í€Ñ¬�Ï䡱OâS£ƒ›Vç³§î£í îI³Í«N�:ÄÅŘ}“��ÍñãÇ5j={ödÁ‚¼ÿþû„„„ä«×¹sg^}õUî¾ûn¶oßÎgŸ}Và"‰“&MâË/¿dÁ‚4mÚ”^½z±xñbºwïŽÙü¿!Õ³gO~þùg·?«ˆ»ØívöïßO¿~ý¨W¯ááálܸ€š5k’��@HHƒfÈ�!nK‘‘òSÚ?Ž…„„ðý÷ßÓ½{÷KþˆíççGŸ>}˜={v±79(-‡Ã�¿¿?O=õãÆ�ÃápP§NÈý½Þ¹ôÅ’%K0 ƒàà`BCCñôôäÝwßeÆŒÜzë­4iÒ$_»GŽáúë¯çÍ7ßäöÛo'++«\ŸC.Uœ±Y–?îÖ«W�9sæ°{÷næÌ™Cƒ ò•×®]›™3g²sçNfÏžMݺuK}/§‡~˜{ï½—]»v¹¾‹5ív;gΜ`ùòådff’œœŒÃá`ÅŠ—ôÙÉn·súôi–-[æªwóÍ7É'Ø»w¯ëš¢ú‘™™ÉêÕ«]Ÿ·~>Ц¤ƒÒQÀÍM²9Lÿn)ÇÏÆ“–žÁ±Ó縹E�Ÿ&Óa¿/†Ô³gð?{œwþÔ/+�C[rk«�b´^8«ÕJëÖ­yñÅ]©æ™={6àĉ|úé§œ:uŠ›nº)_�… òÛo¿‘��@dd$µk×¾äÔ…‰ŠŠÂÇLJöíÛCn°¢uëÖ¬ZµªLÏ'RÞÖ¬YCݺuy衇ð÷÷gÿþý�û‹u­Zµ¨_¿>?ÿü3[·neÈ�!øú^º1Šˆˆˆ\ùž{î9ªU«ÆºuëèÚµ+-Z´pݺuãСC4kÖŒo¾ù¦\ƒn­[·æÝwßeãÆ�L›6Í5e´ ÞÞÞØívRSSIHH`äÈ‘Œ9’Aƒñì³Ïæ«{âÄ zõêEtt4Æ 㫯¾*·g�Ê1mÚ4:t耧§'þþþ—üÞHÍš5ñöö¦cÇŽL�:Õm÷ž1ccÆŒÁl6k<’@.ê}aòÖóòò*t}åâöý|H9ÑnntÁ–Îï§âhT§½8³ÙŒÙlÂb±�•ç¯d ýØüõRÒÒé3ö/¥º×ã�?Îã�?Žaœÿüs¶nÝÊÓO?Í­·ÞJPP‰‰‰DGG3uêT:vìÈSO=åJ–p‡ 6�––FïÞ½Y»vm�㱸µ’رc“'O¦yóæþøcF�E`` çÏŸgÊ”)ú½æ*óÃ?ðÓO?qÿý÷3kÖ¬|euëÖ¥OŸ>ôéÓ‡yóæñàƒÒ¯_?·ÞÿóÏ?gâĉ,]º´ÀñíÖûÄÅÅñúë¯3}út²²²Øµk™™ÿýŽ]ØÏEAýhÖ¬&LÐχ¸•nnvàønk‚ÙÃôÄêÝ|3žToܯjÕ0 øjÑ:Ï—>û˹Kiq´mÛ–   |)Ãåñ—õk×òÑGѬY3n»í6&L˜àö{ˆ¸Sjj*ÁÁÁKµjÕ¨_¿>«W¯Æf³qòäIîºë.6lØ@õêÕ©[·®k푲°Z­×ünœUÙœ9sxä‘G.™A’˜˜èÊtkÞ¼9³fÍ*SÐíî»ï.ðüøñã <ß³gÏBÛÚµkúÓŸ.9ÿöÛo»^;ת•«Ó;ï¼Ão¼ÁСCÉÈÈà‹/¾`Ñ¢Eœ={–úõësï½÷2jÔ(zè!¸hl”ÆÅãwåÊ•¬\¹Š�¡¡¡®×±±±ôíÛ×õ~ûöí®M ‡«nÞ×)))tíÚµÀû^¬8ý 7SîÑG-ÆS‹ŸÖps³ÿüv“Å ½zakÞžÚ-[a¶Z1ûú±ü—]¹µ lé¥Ël+®ÄÄD®»î:L&qqqðÈ#�P³fMî»ï>Zµjåö{fff²jÕ*Þzë-~ýõ×bE*Kll,ëÖ­£ÿþŒ7Ž¡C‡²råJÎ�;¹»óÖ¯_Ÿgžy†x€Ÿ~ú‰ŒŒŒÊˆ\áÌf³‚mUÜG}Dhh(ýë_/)KLLdøðá:tˆ��>ûì3¬Vå1Hå»å–[\Á¶Ç{ŒÈÈHNž<ÉâÅ‹9qâ‘‘‘<öØcdddðÐC]t÷RÀÍÍr³ÖlYv¦~»Ìuþ•O¿gì{δ^~>^åÚ�¿ÿýïôïߟ3fpôèQ¦N�Ê„ ˆŠŠ"""‚õë×—Ë}/^ÌÝwß­é¤rÅØ±c‘‘‘LŸ>�Ï?ÿœÝ»w»Ê222øÇ?þÁßþö7fΜÉñãÇ+µ¯""råËÉÉÁÛÛ»²»!HLL aÆ—­›��À°aÃ8yò$mÚ´q­ÿ&R™† À_|Á®]»\篿þz×ë]»vñå—_æ«/"åCŠq·Ü©šé™ùÖgûíÈ)ÂÚ†�zö 9ÕI+åÚm@¡;«äµ~ýú|)¾Ÿþ9Ÿþy¡õó¦ò:µæî IDATåÍ‚»¸ü�wÞ)°�Çc·Û Mé¹–97G�ªgõêÕ 4ˆÏ>û¬Ü6D)O:t€ÜYEY´hÏ>û¬«¾ˆ”e¸¹ÙÀ»Ú’�–†Ý‘ƒ·§§ë¼·§›cŽñö¬ŸøÂGddº‡–ª <<œ�7j:©ˆˆˆÈE ÃÀ3Ïï‡Rµ¼÷Þ{:tȵ iÍš5 ­[³fM¾ùæ®»î:~ûí7~ùå— í«HA‚‚‚ wã€åË—³ÿ~’““óÕs–רQ£z)ríP†››­þÏ|-&Vì=Žaœ=p³ÕBNNçÓ3ù~îb´råêÛ·/sçέìnˆˆˆˆT9†a(»­ »páB±v!­Q£_ý5Íš5ãèÑ£<õÔS8ŽJë·ˆSrr2µkצ^½zœJ|||©ï×·o_-ZÄÚµkY¸p!Ï<óL‘õ- Û·o/õýвqãÆ"³úÊÚ�òì»ü×Ö­[¡�å‚òr–GGG—ùžÞÞÞDGGóÞ{ïY/88¸Ð©®E•mܸ‘¨¨(¢¢¢Ø¸q#¯¿þºÛþpQ§N6nÜHµjÕJt]QýÉKnåÌ–‘dUv7*ıcÇhÒ¤IewCDDDäŠæçç‡��‹¥Ð�a8ÒÓÓ±ÙlÞÇ«™3èæ ¬Íš5‹Ç{ ‡ÃáÖ`[Û¶m9r$£G�æäÉ“T¯^½Ü§ø=ÿüóÌ›7�3gΔë}¤rÌ›7�Þ½{3jÔ(6mÚ”oã§öíÛ3räH·ÌLêÒ¥ K—.¥[·nxzz’•åþï¾<ð 3cÆ †Êœ9sÊÜn||<“&MâÂ… né§ÈÅ”á&""""RX,jÕªE@@V«µÈl8“É„Õj% €š5kjªª›%&&2|øp:DHHsæÌáÛo¿¥yóæ:tˆGy¤LÁ6rn{÷îåäÉ“�;ðèÑ£nz‚‚uèÐ??¿r½‡TžmÛ¶1þ|¼½½™5k£G�¦Q£FxxxШQ#ÆŒìY³ðööæÿø;vì(ó=ï½÷^~øávîÜÉ�wÞé–ç(Lll,K—.åºë®sK{999lذÁ-m‰Dn"""""åÌÈÝɾ(AAAX­Vìv;©©©dffz�ÉdÂËË ¬V+Õ«W×®šn–��À°aØ9s&-[¶`ß¾}<ñÄnù¬·oßÎsÏ=Ç�øñÇ/YؾS§N<ÿüóøùù믾JZZÚe뤤¤Ð¦M^yå׸5júÓŸ¸ñÆùä“Oعs'“&MºlëԩôiÓhܸ1Ìž=›/¾ørwÜ�1cMš4!))‰7Þxƒ«ï‹…×^{�;ï¼»ÝΪU«øè£�Êü™ ´iÓr§zŽ;–±cÇX¯uëÖe¾—¿¿?!!!ìÞ½›åË—ÁÚµk]å·Ýv/½ô~~~®�ŠSV˜€€:wîÌgŸ}EŒ³¥K—²ÿ~Z´h�Íf#22’�Ò¼ysâââ˜0agΜÁb±°uëVBCC±X,,Y²„}ûöѪU+²³³™4i»wï¾l ëÇ’%Kظq#¼òÊ+lÚ´Iãþ£ 7‘Jæççç ¶%$$�‘‘Qd�Î0 222HHHÀn·cµZñõõ­Ð>_ 2dãÆ�cܸq 2Äm�Íýû÷3|øp:vìȺuëøóŸÿL£F� 7Ð5eÊFŒAxx8§OŸvMt*¬ŽŸŸï¿ÿ>“&M¢wïÞŒ3†ôôt¾úê+8À³Ï>[¬`›óù'MšDXXýúõcذa4lØÐUþöÛoάY³˜>}:f³¹X}ïܹ3!!!DDDЧO>ýôS·|¦™™™ìÝ»—'Ÿ|’E‹qòäI2228qâ‹-bĈìÙ³‡ôôô2ß«G�¬^½€¨¨(:wîŒÕúßœžÀÀ@>üðCÆ�ODDD¾é«E•dîܹ,^¼˜Í›7ó¯ý‹uëÖ9ÎêÕ«ÇÔ©S géÒ¥¼ð ¼üòËôìÙÓõÙ¤~ýú¼÷Þ{„‡‡3oÞ<^zé¥Ëö·¨~4lØ�Í›7Ó©S'Ö¯_¯q R†›ˆˆˆˆH%óññ 55µXÙpN†a`³Ù ÄÇÇç’ ¨¼ž|òI:tè€Ãá 11‘èèh~úé'²³³Ýð0~üx6oÞÌ–-[Ьg2™¸çž{hݺ56›�ùóçÓ·o_¶nÝêÊ(©*²²²X¾|y¹´½{÷nF�MýúõyüñÇùöÛoéÞ½;¡¡¡xzzòî»ïP½zõK²j «JLL Ç�ÿwÓ¶²¬Oåp8ð÷÷ç©§ž¢~ýú8êԩÙ3gÈÎÎæÔ©S,Y²„gŸ}–àà`Ú´isÙ¾9r„믿ž7ß|“åË—_v¼Hñ :ÔõzݺuÖÙ¼y³[îÕ»woZ·nM¯^½ 70uÛm·±iÓ&n¾ùfbbb8qâ{÷îu]WTYA~øa˜;w®kÍÊ¢~Fìv»k�ÂåË—Ó·o_WéŠ+xâ‰' ¼�ÝnçôéÓ,[¶ŒQ£F]¶¿Eõ#33Ó�Dãþ𤀛ˆˆˆˆH%s®Á–™™Yâk�×g·µk×òÃ?àááAHHÇÇ0 þùÏ–¢×¥wË-·Ð¤I"##1 £È@aI™L¦-«‚3gÎðÿ÷ôèу뮻ŽÔÔT.É Ëûo\X�{î¹§Ø»�^NëÖ­™>>,\¸Ðunøðán[ÃÍ0 |||´‘„T iii¤§§;p¡ñ+UEIÇna‚‚‚8xðàÀÀØsGîa9FžóäyŸ÷ O9yΜ»øuaÜ–ÖWµóEDDDDÄmzôèÁÌ™3™9s&ï¾û.~~~®Ý =<<èÑ£ß~û-§OŸ&>>žo¾ùoooÚ¶m‹‡‡ݺuãûï¿'66–øøxæÎ�‹··7­[·vÝÃd21`À¼¼¼øÇ?þQiÏš••Ui÷É«4cQãWª�ò©º9ª"""""âV«V­re¸yyyq÷Ýw3qâD>üðCRRR°X,®�øÈý²õûï¿S¯^=Μ9ƒÅbáäÉ“ùÊ�;æÊ°èСÁÁÁL�:Õm»Ÿ–†Ãá ++ OOÏJëƒHVVV©f,hüJe+íØ•ÿQ†›ˆˆˆˆÈ5(33“Õ«WsôèQnºé&<<<0›Í—,âm·Û±ÛíxzzYîtèÐ!233óí^Xќӟܹû©Hi8Ç`I×pCãW*YiƮ䧀›ˆˆˆˆH%+ÉN£+˧)))dff‡aÜpà ®2³ÙÌõ×_ÏéÓ§]åM›6ÍWÞ¨Q#bcc]ç’’’øî»ïèÒ¥ mÚ´)UŸÜÅáp�ššZ©}�kWjjj™2„4~¥²”uìÊ)à&""""RÉœ_l¼¼¼J|­óšâ|9²X,xxxàáá�¯¯/¡¡¡´hÑ‚;v�‘‘ÁæÍ›:t(�7& €Aƒ‘’’ÂþýûÉÈÈ`Ë–- 2„믿ž€€î¿ÿ~RRR8xð`¾ûìß¿Ÿ+V0xð`jÕªU¬çHMM¥fÍš%~þÂ8‘™™™Ê’ —––æÚɲ,�t�_©he»ò?ZÃMDDDD¤’¥§§€¿¿?™™™ÅÎV3™Løùù¹Ú¸œ°°0 7³íÔ©SDFFºÖm›?> àÉ'ŸÄb±Ãßþö7W~øáî»ï>üq, û÷ïgÆŒöwÍš54jÔˆG}”O>ùä²ë¹EGGATTT±ž½8L&†a�žžNNNþþþnk[¤0©©©n XhüJEsר•ÿr÷'XœöL—y�÷œ9Ϲ‹g¹ó½ù¢ÃXrkîaªµk×î—äää2>ªˆHù²ÙlJå¹J†�aZ§V­ZX­Vìv»ëKOa�7“É„——þþþX,ìv; ®{•¦î¨Cžg-é}�¯K;5¶8÷±X,øúúj!z)YYY¤¥¥¹~sWÀBãWÊ[y�]§   >>E~‘v~YJOOÇf³Ux_¯DΠ¹ŸuzzºkªžHi]¼k/å°Ðøw«¨±{-SÀMDDDD¤ ±Ùl ¢•“‚vt-èK§Hi”w°BãWÊ‹måC7‘r–7;E*ßÅ_.õo#¥QYA �_)+Ø*†n"""""Ä0 }Ñ©‚ôo"W2�_‘ªIù§"""""Àd2i÷i‘k„n"""""$++«²» """@7‘ ’��­,7‘k€n"""""Àd2a2™ÈÈȨ쮈ˆˆH9SÀMDDDD¤9ÒÒÒ*»"""RŽp»\Ùݹ¢½öÚk¼öÚk•Ý ¹Â9w´ÛíØl6M/¹JY+»W«ÕÊSO=EXX-Z´ ..ŽÝ»wóþûïsòäÉRµ¹eËêׯ_hydd$Ó¦M#&&†´´4n½õÖëùùùENN¡¡¡¤§§—¸/  ÿþ´lÙNœ8Á¿ÿýo"##KÜVEòññÁjµb³ÙÈÉÉ©ìˆˆ@nÐÍ0 ©©©xxxàéé‰ÅbqäDDDäʦ€[ùùùñÝwßѾ}{’’’سgM›6¥ÿþôìÙ“Q£F±qãÆ·EõêÕh×® 6dË–-$&&pàÀ�bµ“‘‘Á�ÈÉÉ!33³D}°Z­Ì˜1ƒ=z�––æºg‹-hÑ¢E‰Ÿ©¢ýå/¡_¿~ôêÕ‹}ûöUvwDDDD\œ�5“É„Ãá(ÕEKÂ0ŒJoër×9Ë}||JÕ¾ˆˆHU¢€[=ûì³´oßžåË—3vìX2220™L<ÿüó<óÌ3L�:•îÝ»—x øI“&¹^O›6�|��>úˆ-[¶”¨‡ÃA¿~ýJt�ÓÈ‘#éÑ£QQQL˜0�¤¤$Ìf3ÞÞÞ¥jSDDDDDDDäj§5ÜÊÀÓÓ“'žx‚ôôt&MšäÚqÊ0 Þ{ï=öìÙC£F�ˆˆˆ &&†>ø€)S¦°uëV¶oßÎĉÝÒ�·ß~›íÛ·Í„ ò•ÇÄİcÇ×ûˆˆ/^̾}ûøõ×_ùöÛo Êw�ÕjeìØ±¤¦¦2qâDW° ''ǵЯÅbáÙgŸeõêÕÄÄÄðïÿ›°°°Kîÿá‡òöÛo³uëV¶lÙ˜1chÖ¬sçÎå·ß~cÅŠÜvÛmù®yíµ×øàƒعs'k׮塇r•qüøq~üñG×¹7ÞxƒãÇ�Î'Ÿ|â 4.[¶Œ#GޏêùúúòÖ[o±iÓ&öìÙÃßÿþw®»îº|÷þàƒ˜8q"¿þú+ ,(忌ˆˆˆˆˆˆˆ\‹p+ƒ&MšàááÁo¿ýFBBÂ%åË—/ Y³f®s<ðݺuãСCT¯^�qãÆ] *©ÀÀ@ÂÂÂ8pà5kÖdüøñtëÖ­Àº�5"22’:uê0gΖ.]Jrrr¾€@ãÆ�ñõõe÷îÝ®i¬™ýôS¼¼¼\׌9’víÚ±yóf‚ƒƒùóŸÿLxxx±>“%K–¸¦ÀÎ�;—éÓ§»Ê"##yì±Çضm+W®¤k׮̜9‹Åâª3`Àž}öYΟ?Ïþýû‹uO4¥´lœYQñññ–Ÿ>} ßæ.\ ,,ŒììlF�ÍK/½ÄwÜATTT©û‘œœL÷îÝÉÌÌd„ Œ?žÛo¿�5kÖ\R·qãÆX­V<Èœ9s ÝÔ¡qãÆ—âò 桇âàÁƒÜ{ï½Øív|ðA¦M›Æ“O>ɯ¿þšï¹»uë†Ýnç¹çžcìØ±üðüüòˬ^½šn¸�¦M›ÀüÁ=÷܃Ýn§oß¾üíoãÑGeÅŠ—ýL–.]JïÞ½¹ñÆ™;w®k ·–-[Æš5k;v,ä®Ò»wo7nìÊ„ËÉÉaРAù2åÚp¹�H +ÿ¿ÿû¿rꑈˆ\Í ÃÀÃ÷mšPš5ÖŠsMqÛ5 £Du/~íÎõæDDD*‹2ÜÊ ..€zõêX^«V-Nœ8á:g·ÛÉÎÎ`ûöíÔ¨Q£LýÈÎÎvmˆàl300°ÀºÛ¶mãàÁƒtêÔ‰�7²jÕ*î»ï¾Kê�9s€ë¯¿¾ÐûÞxã�˜ÍfÖ­[‡Ýn`Ñ¢EpQV¹Ïí¬ã b9W¹ó\Þ©­™™™®k–/_Ža4mÚ´XŸIaœýêÖ­Ç�çøñãôîÝÀµI@JJŠ‚m"""R®, ~~~®�ÕµC©ˆˆÈÕCnepäÈ àM›6›¯¼K—.…NIt“ÜérmÚl6"""èÑ£={ö¤OŸ>|üñÇœ?žµk׺ê9r‡ÃAË–-iÑ¢E�Ïàëë ¹ë½9y{{c†k�·‚ä ´u./???ÈÝu5/³¹d1cgÆÞš5kxûí·ó•�:uªDmÉÕ©°L5gf›2ÙDDĬV«v㹊)í l6ÿøÇ?ðððà/ù‹+(ððÃs÷Ýw³ÿþ§vV“É„ÉdbÅŠ¼ð |üñÇ�;Õ2¯ŒŒ fÍš…Åbaúôé4iÒ$_¹ÕjåðáÃtïÞݵöZXX&“É5…³,üýý  S§N˜L&Wà/-- Ã0hÖ¬™ëÞžžžù®wóf®:t‡ÃAhh(III=zÔu”t'Y‘Ò0›Í ¶‰ˆˆ\å”áVFÓ¦M£cÇŽtêÔ‰M›6±{÷n‚ƒƒiÖ¬‰‰‰¼üòË—ÍÞªH­Zµâ믿fåÊ•$''3pà@È3¥3¯÷ߟ:жm[V®\ILL III´lÙ’µk×òâ‹/²nÝ:ºtéÂ’%Køí·ß'++‹O>ù¤Ì}­^½:?ÿü3;vì G�†ÁŒ3 wºéž={h×®?ýôçÎ�£sçÎù®�‰‰áþûïç­·ÞbÕªULŸ>�³gÏ2oÞ<}ôQ.\ÈÂ… iРþþþ<óÌ3eˆˆHQrrr\³DDDäê¥ ·2JHH wïÞ̘1ƒÓ§OÓ¡Crrrøþûï ¯r뀙Íf:Ä=÷ÜèQ£HOOçÕW_eË–-—ÔµÙlôïߟwß}—]»vÑ´iSÚ·oω'ˆŽŽ`ôèÑÌ›7___ÂÂÂØ¾};ýû÷çèÑ£eîkrr2'Nœ <<œ“'O2bÄvîÜé*î¹çعs'�5ÂÏÏ�7Þx#ßõ³gÏvÔÌ 7ܹ;«N›6 ‡ÃÁèÑ£¹é¦›HKKÓº)"""R#ˆˆˆÈÕÍ݆â´gºÌë¼çÌyÎ]|8Ë�ïÍ&À’{Xs P­]»v¿$''—ñQ¥<9³éîºë®ÊîŠTÒn6›­JeÈŠˆHÙ†�¯¯o¾õoËë>åq�v)‘Ò âàÁƒw`Ï=¹‡ä\tyΓç}Þƒ<åä9gpîâ×…qÛÿ„”á&""""R ÃPv›¸4hЀ T¹¶DDÄ=´†›ˆH1hwRq-aQ±Ö¬YC›6m 7àË‘#G˜7oÿú׿*­_þþþüòË/äääвeKÒÓÓ‹u���¤¦¦’““S¦¶DD¤|)à&""""R…øùùáããƒÅb)4@g‡ƒôôtl6[…÷ñJóÓO?‘““CHHwÝu�;wæ¾ûîcذa•ÒŸôôtöíÛ‡adffûº¿þõ¯ 0€°°0öîÝ[¦¶DD¤|)à&UR«V­*» """"Êb±T¬5ÞL&V«•€€¼½½INNÖºŸExî¹ç¸pá¡¡¡Ìš5‹Þ½{óàƒòý÷ßWxU®-q­á&""""RΊ³€3Øf·ÛINNæÜ¹sœ={¶Àãܹs$''c·Û±Z­T¯^½Bžãj°}ûv¦L™À£�>ê:ïëëË;ï¼Ã¶mÛ8tèsæÌ¡Q£F®ò{•+WrìØ1vïÞÍ?ÿùO‚‚‚ 7X:~üx6lØÀÑ£GùùçŸéÚµ+¿ÿþ;Ÿ|ò /¾ø"»wïfÑ¢E®óû÷ïwµÿûï¿óÖ[oñÉ'ŸpàÀ¶lÙÂc�=æ*Ÿ1c **ŠØØØ|׿mËb±0aÂ6nÜÈï¿ÿÎòåËéÑ£G¾ÏÁÙ¯©S§²gÏbbbxñÅÝøI‹ˆ\Ûp©d~~~®`[BBEé à ##ƒ„„WÐÍ××·Bû|%[¶lÍš5s�›9s&�?þ8[·neùòåtëÖ�9sæ`±X¸þúëùûßÿNݺuùúë¯Y¼x1III$%%0uêT^yå<<ø Ðv¦N�ʤI“°ÛíDEEѶm[¾ýö[n¿ýö|õ† BÏž=9xð AAA<ÿüó—æDD¤t4¥TDDDD¤’ùøø�ššZ¬l8'Ã0°ÙlâããCZZZ¡uŸ|òI:tèàºî�?þàĉ,Z´ˆS§N¹á)àùçŸgÛ¶m¬^½ºÀr«ÕÊäÉ“ùàƒHLLtË=K#%%…””ððð yóæôèу•+WòÔSOAî¿Iß¾} ¡AƒX­V8À×_͉'\móÈ#�päȺtéBVVÖ%÷s8ôë×�íÛ·Ù¯¸¸8ºuëFvv6ýû÷ç‹/¾àñÇgÙ²e,^¼˜¾}ûÒ¢E ¾ùæ×nkР�>ú( gÏždggóðÃóá‡2f̶lÙâª{þŒwÇ_ IDATüyî¼óN²²²;v,¯½öwÝu«V­*ç+""(ÃMDDDD¤òY,€R-zï¼ÆÙFQÖ®]ËØ±c™8q"_}õ©©©¼òÊ+®@\YíÝ»×mÁ»òäíí�¿¿?Ç�';;›æÍ›гgOââ∋‹£oß¾T¯^�èèh8@—.]ˆŽŽfÆ 8€–-[b±XˆŠŠ*0ØFn õrÁ6rÿ-³³³X²d †aдiÓ=[Ë–-1›Í¬Y³ÆÕ–sGÖo¼1_]‡Ãáêstt45kÖ,ÑýDD¤`Êp©dÎÝHK’Ýæä¼¦°Mó²Ûí®,¸””>LBB>ø 111eÞñtéÒ¥¥z†ŠÖ¹sgL&111®l»•+Wòæ›oæ«{âÄ ²²²èÒ¥ áááÜsÏ=ôë×�Ï>ûŒ¤¤$0›Ý›Ëàçç@FFF‰®sN-λù†��†a™i·ÛKÝW¹”n"""""×°•+WÒ½{wÚµkÇ/¿ü‚Õjå¾ûî#44vîÜÉ?ÿùÏ|�Ÿ®]»rç�wÀÑ£GY°`IIIŒ?žÍ›7»¦-šÍf"""hß¾=8p ß½- ݺuse‰íÛ·�%K–”ëó6iÒ„)S¦`·Ûyÿý÷8x𠇃[o½•„„×ÚlN&“ “ÉIJeËX¶l‡â�7Þ uëÖ¬]»€=zàååUª,E'ªU«Æ… èÚµ+&“)ßšoΠ˜s³†‚œ%K–ðÃ?РA5jmÚ´aÞ¼y,_¾œ¤¤$ ¹;žîÙ³‡_~ù…;•+WE«V­øË_þÂÖ­[KÔÏ   V­ZEtt4†Á§Ÿ~ê*ß»w/ƒ â�wÞaùòå¼ÿþû—LcÝ¿?QQQ„……±zõjvïÞMïÞ½ÉÊÊâÃ?tËç)""—§€[ …„„TvDä vôèÑÊˆÈ%’““ ÀÇLJ»îº‹wß}—””/^ÌÈ‘#ùþûï1›Í„‡‡ÉÉ“'رcG�mzxxpç�wÉ™3g\m9׋óôô$44”/¾ø‚´´4 Ã`ýúõåò|Än·óû￳|ùrþú׿^’íõꫯrúôi ÄØ±c9vì;vìÀd2a6›9xð ÷Þ{/œ™™™Œ3æ²m¥¤¤ð /ÚNA×üú믮,G);ÜDDDDD®aV«•àà`–.]Jzz:S§Nue¸åå\�ßl6“““sÙvÍfs¡›98ׄûòË/±ÙlWÄf """ÅåÞ­tDDDDD¤ÄJ²ÓèÅʲÃ)@Ïž=‰��gß¾}$$$�™™Iûöí ¬�Éd¢Q£F—m÷�?þÀ0ŒB3¼’’’ÈÌÌäÆo,U¿EDDª2ÜDDDDD*™ÃáÀËË«Ä×:¯q¶Q«ÕŠ——>>>4iÒ„!C†Ƽyó0 ‡ÃÁŠ+¸ï¾ûhÙ²%f³™   W€Íf³±k×.Hݺuñòò¢uëÖö;33“mÛ¶1`À®»î:üýý s•†ÁæÍ›éÖ­Mš4Ád2Q­Zµ?¿ˆˆHU¤)¥"""""•,==�€€üýýÉÌÌ,v¶šÉdÂÏÏÏÕÆåtíÚ•®]»b·Û9}ú4‡fòäɤ¦¦ºê,]º”¬¬, DPP.\`ÅŠ?~€o¿ý–û￟qãÆa6›9uê±±±dff^r¿ü‘¾}û2lØ0ìv;ÑÑÑ$&&ºÊ×­[GVV�’’Bddd±žýjSX& ˆˆ\™Jž³^ööL—y�÷œ9Ϲ‹g¹ó½ù¢ÃXrkîaªµk×î—äää2>ªˆHù²ÙlÅÊV‘ªÏ0 à 00°Ð:µjÕÂjµb·ÛIMM-2ðf2™ðòòÂßߋłÝn'!!Áu¯ÒôÏuÈó¬%½¯óµÖr¹ºqðàÁ;€ €°çŽÜÃr.:Œ<çÉó>ïAžròœ3 8wñë¸íBÊp©’’’ ÂjµR½zõb_—���þ˜,""Rµ(à&""""R8âããñóóÃÇÇ‹ÅRè& ÎõÖÒÓÓ±ÙlÞW)šn"""""UˆÍfSMDDä §]JEDDDDÊYa™j"""ruRÀMDDDD¤‚hC‘kƒn"""""Àd2i÷i‘k„n"""""$++«²» """@7‘ ’��­,7‘k€n"""""Àd2a2™ÈÈȨ쮈ˆˆH9SÀMDDDD¤9ÒÒÒ*»"""RŽp«D“ kewBDDDD*ŒÉdÀn·c³Ù4½TDDä*¥€[9²Z-Üxã�ùÎYLÐÙßÌû7ÔeAof7°˜û‹—ˆˆˆˆ\ýœA7‡ÃAjj*iiiØív è쮉ˆˆˆ›(ÁªuéÒ•qãÆÑ¿rrrhÜ€)Ù´ nBFr,ÉÙ$f@€ Îë÷+‘k†3èf2™p8¤§§—ëýÜÌ+m[—»ÎYîããSªöKÂb±àé鉇‡‹Åõï!"r-0 ‡ÃAvv6YYYʶ.'Êp+GëÖ­£ÿþ†ñÿìÝwxTeþÿÿç”d2™Ä�"UZ#eE”U¡¬ "®mem ßµëÇ]½`ý(¨|tYì‘]E@Z”"Ò[B‘HHƒd’L2“óûc3óK€„I2É@x=®ë\×Ì}ßçÜïsôbfÞ¹ =’næÁ7>àÒö œ<¼•¢Ü£xJᨲJ«÷¥eÊ”),Z´¨Ò/ 8p€k®¹&@w6›­Ê/?S¦LáÀ�8p€½{÷’œœÌ}÷݇Åbñµ™;w.wÜqGÀbZ²d cÆŒñ½·X,Œ?žM›6±lÙ2:tè°¾DDDDäüg±Xˆˆˆ ** »ÝŽÕjU²MD.8&“ «ÕŠÝn'**Šˆˆˆ ¿Ý%04­¹ÝnÌ îz�>#FQ˜_ÀêV—ÓmÇ*LÀ‘}ú°téÒÓêÆŽ�øË{ôÑGiݺ5�>úh¥m>ÿüs^}õUÂÃùþúë?~<‡ƒ)S¦<€Å‹³mÛ6ßû#FЫW/ú÷ïOii)¹¹¹uÒ¯4L±±±ôíÛ§ÓÉüùó¡ìƒèÚk¯%!!‡ÃANN³fÍ"???ØáŠˆˆH5Ùl6G°Ã9焆†ŠÓéÄår;œC ·±Z­ 6Œ3f`6›iܸ1Ç33¹å/å÷·ÃQ”OAÚ>Œ«®g‹»˜6É_pÔYÄêjŽnóÊÌÌdìØ±§%ÜÚ¶mKÏž=9yòd€îÌÅÅÅäåå‘——ÇÌ™3‰ŠŠbìØ±u–p{ýõ×+¼���gË–-dddÔIÒp%&&r饗’––V¡üÆoÄn·óÉ'Ÿàñxˆ��Åét-N©»Ý^/SUEDÎg‡³Ù\çË\(”p ·ÛͬY³(--%=#ƒw?LïÁCÉÏÌ"uÃj–¬ZC¿ß_CDçßó]QE+³ç·”õ÷õ×_sûí·sõÕW³nÝ:_ùÃ?ÌÔ©S¹çž{*´ á™gžá–[nÁf³±xñb^zé%_ò ªú‡zˆGy€›nº‰ÿüç?¼ð g�qݺu¼ð 8ŽÓ’!!!<÷Üs$%%Ñ´iSÒÒÒ˜2e ³gÏöµ™;w. .¤ÿþtèÐ�ð /ðË/¿øê§OŸÎW_}Å„ 5jC‡e÷îÝìÝ»—‚‚ž~úé ϧ{÷îÜÿý5zîÒ0mß¾�åË—Ó±cGâãã¡ì¯à ¼÷Þ{¸Ýn(Kt‹ˆˆ’a„„„t-±š¬±æÏ9þ^×0Œjµ=õu 7�8ÛÒ(""òÿ³Ûí”––j¤[h ·j†‰ß‡Úø£-œQFL»ŽdIãDv.1±1„ÙB‰�‰eçþÎÍeCÚ�÷UPPÀ'Ÿ|RaúhÓ¦M0`Ó¦M;­ýøñã‰��ç–[náæ›o¦U«V<÷Üs~Õ¿÷Þ{¼õÖ[Ì�;—víÚù•lhܸ1gTRRÂ�xà�èׯ³fÍbÒ¤I¾d‡×õ×_Ïßþö7z÷î͆ x÷Ýw 9ízÿó?ÿÇ~ȬY³h×®dÞ¼yôíÛ³ùÿÿß¼_¿~¾é‚"^§}¹���%++‹øøxFŒÁwÜAË–-ƒ£ˆˆ4<‹‡Ã¡µÄê�ÙlÖ4R‘jòŽt“ÚÑ ��¡a¼fg¨ÙD§æÍh5x8…Å.òóò)5 L1ÍùËý÷sÄÂ8úÓb<®¢ZõùÙgŸqå•WÒ©S'î¿ÿ~fΜɉ'*´‹ˆˆ`Ô¨QüóŸÿ$++‹£G�2iÒ$ àW}uY­Vxæ™gøàƒ*m7mÚ4RRR8xð o¿ý6‡¦[·nÚÌž=›mÛ¶‘••Å;ï¼ÃÅ_LÛ¶mýŠcÙ²eØívºví e ”„„’““kt_raq8ÄÅÅѬY3æÏŸÏ/¿üÂwÜAxxx°C‘Àjµ®Eªë�aúÜ©¡ððð€�8¾ÐhJi  ãf‹™t÷h%=za‹ˆ În'='‹f±SPìæ—cÇÙ�’±5Ée¥Ó»wo~úé§ÿO|òäI¦M›Æ˜1cxñÅ>|8ýû÷?­]||âóÏ?¯´}ll,ƒ¦G�ÄÄÄWåpÿÇSPPà÷_)‹ŠŠHNN&))‰�7Ò·o_V®\©ïÅ/³bÅ Ã`ß¾}dddТE vïÞìðDDäV­ZUë¾?þøcV®\‰ÇãaáÂ…¤§§ŸÖÆ»�ÂàÁƒÏ¸ÕÙêýåÝ¥ÔårQ\\\e[‡ÃÁ·ß~Ë÷ßÏäÉ“9räȧžªºÉÉyóæñä“Oòúë¯Ó¿M'¿åææâp80™L¾ÿï\.—>pDD¤VJKK5ꪞØl¶`‡ "r^³ÙlÚ@¡4¥4>p¹˜Zâá§–!\þTgZÚG›ÏÞãpËVØÚ\JVv)ë~æÈÒo8y °#c²²²˜1cC† áý÷ß?c›Ã‡ãt:IJJªQ½×™ÖN+Ï»KéÙ’m�;w&::š &�ššŠÓ鬓áªË—/ç’K.¡}ûöôìÙSÓIÅoN§“C‡qÝu×ШQ#š4i‘#G‚šˆˆœÇ¼›#HÝ;ÛwW©šþ­%ÜÀN6²0îõ«¸!2�Ö+WðÛE\ß�_×®ÆñëÏ$mù™‚ÌÿŽ>k×®]@ œÅñññ,Y²„nݺi„›œWœN'�'ØaˆˆH€”––UçýÔd™Îñ÷º†aT«í©¯µÌHLLL@®#"r!ËÎήõ5¢££IMMíœ<€»ìð”PzÊa”+§Üûòåê)Wfœ¡ìÔו ØZWá×u� qL)yWì§çµÍY¿~&�ÿï.±„aÒÝ.V—êGs°ôïߟU«V)Ù&"""ç‡Ã�ÝnÇb±T:ºÀ0 <………8�Îz�QDDDª¦„[¬ÝœO�Á+·›ii%u!†‹BÌ43Á;ENö—~CñÏ Aƒ˜>}z°Ã©’Åb!::«õì_ÑM&V«•ÈÈHÂÂÂÈÍÍÕ¨h‘sˆnP\bP\â!Ïé!=³ÄW¾Ú]Ì^w1Gë`÷MñO›6m¸üòËY²dI°C‘ ˜?Ó$½É6·ÛM~~>.—«ÒóL&6›�ˆˆ¬V+�5"++«"‘šP­y ƒ£Áâ·ÿ~Ú¶mì0DDDDªäp8|ɶ¬¬¬³&è ਨ—ËELL V«•ððp ê-f©œn"""""Af·ÛÈÏϯ֦†aàt:‰ŠŠÂn·W™p{ðÁ¹êª«ðxfÍšå«/Ïn·3fÌ6oÞLrròiõmÛ¶¥{÷îÄÅÅ‘™™É‚ 8tèPß±ˆˆHýÐ7‘ Pll,½zõbåÊ•¾²[n¹…îÝ»óÁ0aÂ<�=ö˜oºêM7ÝÄï~÷;>ùä&Mš„ÛífìØ±§Mg5›ÍÜyç�;vìŒÉ6€˜˜æÏŸÏ¿þõ/Ž9Âm·Ýæ×´X‘ó�n"""""ˆ¤¤$>úè#>úè#&NœˆÃá °°€��’’’øÏþÑ#GÈÌÌdêÔ©„……ѹsgBBBèÓ§_~ù%iiidff2}útÂÂÂHHHðõa2™:t(6›�3fT˯¿þJZZN§“Ÿ~ú ‡ÃAttt½<‘º¦)¥"""""ˆääd¾üòKl6½{÷æ‰'žà�7Þ //‹ÅÂÁƒ}í‹‹‹ùí·ßhÚ´)G�Åb±T˜öY\\ÌþýûiÒ¤‰¯ìª«®¢yóæL˜0ÁïÝOOœ8AII ¡¡¡½_‘`Ñ7‘ �ËåbéÒ¥ìÛ·�nݺ‚ÙlÆl®øÁívãv» ­²Þk÷îݸ\.®»îºz»‘s�n"""""AV��FOU›Nòòòp¹\ddd`—^z©¯Îl6ÓºukŽ9â«o×®]…úV­Z‘––æ+ËÉÉá‹/¾à†nàŠ+®¨QL"""ç;%ÜDDDDD‚Ìãñ@Ù4Ïêòžã½FU, !!!„„„N÷îÝ騱#7n¤¨¨ˆŸþ™?þñ�´iÓ†ÈÈHn¿ývòòòصkEEE¬Y³†;֭[ɰaÃÈËË#55µB?»víbñâÅŒ1‚¸¸¸jß“ˆˆÈùNk¸‰ˆˆˆˆYaa!‘‘‘DDDàr¹ü­f2™p8¾kœMbb"‰‰‰P6²íðáüóÎ;¾uÛ¾úê+†ʃ>ˆÅbaÇŽ¼õÖ[¾xfΜÉ�!C=z4‹…]»vñþûïŸ1Þ~ø�V­Zq÷Ýw3eÊ¿×siª?f½ö×3�åuù2s¹²So½÷½ù”ÃXÊkÙa.êÒ¥ËêÜÜÜZÞªˆHÝr:�~�V‘sŸa†ATTT¥mâââ°Z­¸Ýnòóó«L¼™L&l6X,Ün7YYY¾¾j_ ÚPî^«Û¯÷uM§Æž*&&& ×¹�egg×úÑÑѤ¦¦öNÀ]vxÊ(=å0Ê•Sî}ùƒrõ”+3ÎPvêëÊæCH#ÜDDDDDÎ 999DGGcµZiÔ¨‘ßç•”” ?&‹ˆˆœ[”p "‹É„É0pûÑVDDDD6�ÇCff&‡»ÝŽÅb©tÃ0ðx<ât:ë=V©šnuÈjµÐ®Ý¥¤¤¤øÊ,&¸ÎafpÓ‹iWz’BW §y8 ¡ó""""r~s:�J¢‰ˆˆœç´Kiºá†yýõ×1›ÿû˜/iÞ‚;4fÒUWqud(£„Â"ˆ ôJz""""rN©l¤šˆˆˆ4LJ¸Õ¡ü‘[o½Ã0è‘t3¾ñ—¶Oàäá­åÅS G��UZ½ÑmS¦LaÑ¢E•~qKHHàÀ�\sÍ5º“ÿn7o·Û«ŒéÀ�8p€½{÷’œœÌ}÷݇Åbñµ™;w.wÜqGÀbZ²d cÆŒñ½·X,Œ?žM›6±lÙ2:tè°¾DDDD!PˆˆˆÈ¹M ·:äv»ÁdbÀÝ1âñg)5YXÝêr<žÿn‰~$RÜ¥œ}÷ÓuìØ‘>}úœ±nìØ±µŒüt�>ú(¯½öZ•m>ÿüs®¸â ®½öZÞÿ}žzê© ±@[¼x1Û¶mó½1b½zõ¢ÿþÜ~ûíìÛ·¯Îú–†+66–#FpóÍ7WY&""R]&“I»O‹ˆˆ\ ”p «Õʈ#0›Í4mÚ‹ÕÊ û#iÔ�D–b¤íøêz¶$ÝË SG�°ºš£Û¼233ϘXkÛ¶-={öääÉ“µ¾§ê*..&//�ôôtfΜÉo¼Á}÷ÝWgý½þúë¬X±Â÷>>>ž-[¶�‘‘Affæž"Õ�˜˜È°aÃ*¬›s¦2‘š*..v"""R”p ·ÛͬY³(--%=#ƒ~w>HïÁCÉÏÌbãŠå|öÅLömÛÄÑοç_½ÿÌwÍÛ±§† ·¯¿þš¶mÛrõÕWW(øá‡™:u*.—«ByHHûÛßX½z56l`âĉ8¿êzè!yä ÄÞ½{y饗üŠqݺuÄÄÄTè§|/¼ð?þø#))),[¶ŒaÆUh3wî\ÆŽËœ9sعs' .䪫®ªPï�¢:aÂî¿ÿ~†ÎÞ½{Y¸p!o¿ý6¯¿þúiÏçÃ?ô+~¹ðlß¾��>ú¨ÂèÈ3•‰ˆˆÔTII‰F¹‰ˆˆ\”p  f˜ø}¨�?ÚÂõ‡aÄ´ëHæ‘4NdçC˜-”ؘXvî?ÀáÜ\6¤¨q_|òÉ'F¹5mÚ”0mÚ´ÓÚ�?žøøxn¹ån¾ùfZµjÅsÏ=çWý{ï½Ç[o½Åܹsi×®/¼ð‚_16nܘŒŒŒ3Ž *))áÀ�<ðÀôë×�Y³f1iÒ$âãã+´»þúëùÛßþFïÞ½Ù°aï¾û.!!!§]ïþçøðÙ5kíÚµcàÀ�Ì›7�¾}ûú6­èׯóçÏ÷+~¹ðdddœ¶¶Î™ÊDDDjÂd2a2™(** v("""RÇ”p ��¡a¼fg¨ÙD§æÍh5x8…Å.òóò)5 L1ÍùËý÷sÄÂ8úÓb<®Ú}Ùúì³Ï¸òÊ+éÔ©÷ß?3gÎäĉÚEDD0jÔ(þùÏ’••ÅÑ£G™4i 𫾺¬V+ <óÌ3|ðÁ•¶›6m)))úˆÏ?ÿ¼Òö±±± <˜=zC\\\•;¡>|˜‚‚‚3NQ=“¢¢"’““IJJbãÆ�ôíÛ—•+W’ŸŸ_­û “É„a¸ÝnœN'aaavu‘†A ·hc2ÈñüwÜý&ÖØ‹i¶ögzÌšÎúáwrîÂ"v:̱5KÉ?ôßµ V­ZUë¾?þøcV®\‰ÇãaáÂ…¤§§ŸÖÆ»�ÂàÁƒÉÌ̬v½¿>ÿüs^}õU\.×Yv8|ûí·|ÿý÷Lž<™#GŽœq*쩪›œœ7oO>ù$¯¿þ:ýû÷×tR :oÒÍãñ�ŸŸOHH¡¡¡X,L&S°Ã‘PÂ->p¹hk2Ñ>>Œ~#;áÜ´�V«V²¯ãåØÚ\JÖÞ½Ûº‘#;~Å™yzB¬6²²²˜1c÷Üs}ûö=c›Ã‡ãt:IJJâË/¿¬v½×™ÖN+Ï»K©?:wîLtt4&Lð•ÕÅ:YË—/çÍ7ߤ}ûöôìÙ“Ç<à}ˆˆˆˆT—7±f2™ðx<Öi�üžUÓk�í=¯ Ün¦Q¤•Ôý…, 1ÓÌï9Ù_ª/Á2hÐ ¦OŸì0DDDD*°X,Øl6,K°C‘SÂ-ŠK ŠK<ä9=¤g–øÊW»‹Ùë.æ¨þJ4mÚ´áòË/gÉ’%ÁEDDDÄÇjµj7N‘L ·:ä1 Ž;ˆ ÜþýûiÛ¶m°Ãñ1›ÍJ¶‰ˆˆ4pf?ÚˆˆˆˆˆH”––ì0DDD¤Ž)á&""""RO¼›#ˆˆˆHæ„›ˆˆˆˆH=0 ƒÐÐÐ`‡!"""õ@ 7‘z`†F·‰ˆˆ\ ”p©'&“)Ø!\0 Ãv""ç5ý;Z;Ú¥TDDDDäâp8°ÛíX,–Jt†aàñx(,,ÄétÖ{Œç�ǃժŸ;""5åñx‚ÂyMŸ@"""""ç‹ÅBtt´_I"“É„Õj%22’°°0rssõÃèÅÅÅJ¸‰ˆÔBqqq°C8¯éHDDDD¤Žù3-Ç›ls»Ýäççãr¹*=Ïd2a³ÙˆˆˆÀjµÒ¨Q#²²²ê òóWqq1áááÁCDä¼¥„[íh 7‘ s8¾d[VVEEEU&é ਨˆ¬¬,Ün7V«UÉ¥Sx<ýX©¡ââb�œ®%�p 2»Ý@~~~µ©6 §ÓITTv»�‚‚‚*Û›ÍfH·nÝhÖ¬Ç�'%%…9sæPXXXëû¨­û￟>ø `×+(( 444`×¹PœíóDÎN 7‘ ³X,¸\®jŸë=Ç{�ÊX­Vž|òIBCCùöÛo9vìÍ›7gРA¼ð ¼öÚkäææÖð#555 ×óx<äççÐ늈4dùùùÝšR*""""dÞÝH«3ºÍË{Ne;šzõíÛ—ˆˆ^}õU¶nÝÊñãÇÙ¼y3'N¤  €¡C‡Ö0úÀùñÇv-ïóp¹\©!"â§‚‚ßrÎö¹"UÓ7‘ À€˜9sæiëš¹ÝnæÌ™Ãرcùꫯ(((à¹çžcÙ²eôìÙ“6mÚðÁ°sçNÌf3·Ür Ý»wÇf³±iÓ&.½ôRÞ{ï=rss¹é¦›HHH ""‚ÜÜ\–.]ʯ¿þêëkìØ±lÛ¶�N�:Gff&óçÏçàÁƒÜ{ï½|úé§»g“É„aRZZª‘n""Uðn؃’m¡„›ˆˆˆˆHNTTûöí;cýîÝ»1™L4iÒ„ß~û €#F0sæLfÍšÅñãÇ2d:tàÃ?¤°°�¤¤$.¾øb(›¾™••ŧŸ~JII ]»veĈ:tˆŒŒ __íÛ·ç»ï¾ãĉ$&&rûí·óæ›oÖÙô%oÒÍåráv» ׺n""åSPPàûwXɶÀДR‘.&&ÊF/œIQQN§“F�ùʾûî;Ö¬YCZZ%%%„††rýõ×óÅ_päȲ³³ùæ›o*\ççŸæØ±cdff²téRrrrhÙ²e…6›6m"-- §ÓÉÊ•+q8¾øêŠ÷Ç£Çã!//�ÜÜ\ p»Ý5šÆ+"r>3 ·ÛMAA¹¹¹äåå)ÙV4ÂMDDDD¤�;qâÑÑÑ8�ÎÓêCBB÷�d£lªiy±±±˜Íf>\i?‡ƒnݺѺukÂÃÉŒŒÄj­ü'Gnn®/™W×Êÿˆ,--¥¨¨ˆ¢¢¢:ïWDä\§$[ÝÐ7‘.//�üü|:tèpÆú¶mÛRZZZaê穬V+f³¹Òf6›�G}”¨¨(’““ùì³ÏHKK Ø=ˆˆˆœO”p 2w=w8]¶lÄn·Ÿvþ Aƒøá‡NÛP¡¼ãÇ�cíÚµ;cý%—\‚Ãá`þüù;v —Ë¥éš""rÁRÂMDDDD$ȼkçØl¶jŸë=çl›,\¸�‚‚žþyºtéB£F�èСýë_ gÁ‚Už_TTÄÚµk9r$mÚ´!22’þýûûêOž<‰ÝnçÚk¯%22’ßýîw4oÞ¼Ú÷#""Òh 7‘ +,,$22’ˆˆˆj� 3™L8ß5ªRTTÄË/¿ÌàÁƒ¹õÖ[iܸ1G�eûöíÌ›7�’’’³ö7sæLn»í6xà<ëׯ‡²ÑuÇ�gÞ¼y 0€�’ššJjjª_÷!""ÒÐze<®g:Ëëòeære§Þzï{ó)‡ °”Ö²Ã\Ô¥K—Õ¹¹¹µ¼U‘ºåt:Ï:ZADDΆa`QQQ•¶‰‹‹Ãjµâv»ÉÏϯ2ñf2™°ÙlDDD`±Xp»ÝdeeùúªI|5isÑE1~üxž~úiß& Þ{­n¿Þך†*"Ò°DGG“ššÚ 8 xwÙá);  ô”Ã(WN¹÷åÊÕS®Ì8CÙ©¯+°!�p9äää�Õj¥Q£F~ŸWRRB°þ˜Ü¢E ²²²NÛÑTDDäB§„›ˆˆˆˆÈ9Àãñ�™™‰ÃáÀn·c±X*ÝDÁ0 <………8�Îz‹±iÓ¦4nܘݻwsÑE1hÐ –.]Zoý‹ˆˆœ/”p9‡8�ÎzM¢UGXXýû÷çî»ï&77—•+W²zõê`‡%""rÎQÂíãÝÉ)---Ø¡\�ôüEDD¤.˜L¦±6Ùþýû™4iR°Ã9ç)áVÇvìØAAA=zô8k[‡ÃÁ²eË(--¥{÷îgÝiª&}Ô†ÝnÇjµât:)--=kyy7ÜpC† á²Ë.#>>žãÇ�³gÏ,XÀ¬Y³Î‰/ gzþõõlEDDäÂ`F¥ÓDEDD¤á0ûÑFêIQQ)))¤¤¤àr¹‚Îi^{í5¶mÛÆe—]æW9@TT“'OfÚ´i$$$°}ûvÞ~ûmV®\IóæÍ™4iß|ó _|q=ÞÉ™�ëÏ_DDDÎo&“I»O‹ˆˆ\ 4Âíâñx}ؽ{7�5â¯ýëi‰›¨¨(III!66–Ç{Œ>}úTë~ªêçûï¿'%%€éÓ§3yòä*ËFŒÁþýû™>}:×\s ï¼ó|òÉ' <“ÉD~~>ü1]»võ�û¯ý‹;ôôt6nÜÈC=„Ãá8-æÛn»�n¸�={öФIžyæ.\ˆÍf#==�Ë.»Œ·ß~›ÍVãç_•ñãÇóôÓOcµZINN&<<œüü|_ÝSO=EII +V¬ !!�©S§rõÕW×øDDDäüe2™0™L;©cÏ^ N§³ÂÈ£6mÚ°|ùrn¼ñÆ3îÞTÝö^'Ož$11‘’’ÆŒóÏ>K¯^½X¶l™¯Mnn.}ûöÅårñøã�óØc�qÍ5×ðÃ?ø}?Uõ³`Ánºé&.»ì2¦OŸÎÎ�;*-èС[·n¥´´”Ñ£G0nÜ86lØ@ii)O<ñyyy=z§ÓI‡ˆ��'))‰´´4 „Ûíæî»ï楗^:cÌ}úôÁívóä“OòÿþßÿcæÌ™<÷Üs,]º”K/½”víÚ±cÇŽ=ÿÊ4kÖŒ?þñ�ìÛ·�P\\ì«kÞ¼9úÓŸHMMå–[nÁív3räH^}õU|ðAÖ­[Wã{‘ó›Çã¡  €ððð`‡""""uD#ÜjéÊ+¯dÊ”)¬ZµŠï¿ÿ“ÉDtttÀÚ¸ÝnJJJذa111Ú”””øú÷¶‰ŠŠªÖ½øÓ�¿BCCiÕªû÷ï }ûö†ÁöíÛ¡lý€üü| à //�‚‚.½ôRV­Z…Ûíàøñã•Æìmã� Z~š†·ÌûŒkòü+sÙe—a±XX±bE…d›·Îl6óã�?úâ›;w®ïYÔæ$8þþ÷¿ó÷¿ÿ=ØaˆˆÈyλC©ÛíÆétjz©ˆˆH¥nµÏ_|ÁÁƒyúé§Ù½{7«W¯Xû3ñ&fjÒÆlö?¿êO?Uñ&½I¢ÂÂBL&­[·&55ÕWž——‡Ãá ..Žƒeɸê8ÓÖòe�xþåEFFB%ÏÕûëò‹"‡……a†/±X“{¸ÐY­VºuëFBBM›6Åãñ�™™ÉÖ­[Ù´i�‡{K.¹„—_~9ØáŠˆˆœ‘ÉdÂ0 <ùùù„„„ŠÅbñ%äDDDäü¦„[-tïÞ›ÍÆòåËY½z5f³ùŒ_’¼ ÛZAA†aо}{l6.—‹ÐÐÐj_Ç›„kÔ¨ÑYË Ã`ïÞ½¾Ñj?þø#—_~9ãÆ�cݺuÜsÏ=P6Ú+11³ÙÌœ9sØ·o‰‰‰L˜0�ââb"""j|ÿ^5}þåj7ß|3%%%,^¼¸BœÞçêµgÏúöíË„ p¹\$&&b2™*L»ÿEFF2räHš4iâ+ á’K.á’K.¡k׮̘1ƒ–-[VØ WDDä\äýb2™ðx<Öi�ül¬éµÎvž·Þn·×èú"""ç%ÜjáÀ�Œ9€Î�;ûFgyeggÓ²eKžzê)Ö®]{ÖöuÁår±uëVºtéœ9sHOO¯°#¨¿vìØÁ°aÃ7nÉÉÉLž<™âââJË·lÙˆ#hß¾=S¦L¡Y³f$%%ѤI^xáF�Í”)S0 ƒqãÆqøðavîÜÉúõëéÑ£óæÍc×®]$%%Õú9øóßëTåÿû-Z´ˆwÞy€^½z±}ûvÖ®]KÏž=™;w.+V¬ cÇŽ¼ùæ›üúë¯üøã�Üpà |ÿý÷lÛ¶�þýûS\\Ì”)Sj}/«ÕêK¶eff²lÙ2:„Ùl¦eË–ôéÓ‡æÍ›3bĈ`‡*""""""¢5Üjã—_~aÊ”)”””0|øpÒÒÒX´hQ…6/¿ü2Ç�çOúEEEgm_Wž|òI6mÚD«V­p8¼øâ‹Õ¾Æ´iÓ˜={6-Z´`Ĉ¾Ñk••Ož<—Ëå›Ú÷׿þ•„„úöíËŒ34hC† áÊ+¯dêÔ©úz衇X¼x1-Z´ sçξçT›¿ÎúóßëTåÿûEEE±cÇ6mÚä[SbÆŒDEEq×]wGXXcÆŒáßÿþ7ááá$&&²aÃn½õVßÈ8ñ_�=hÒ¤ ÙÙÙL�:•”” ÈÏÏgçÎ�|úé§œ8q‚æÍ›;T=ŸÑŸë™Îòº|™¹\Ù©‡·ÞûÞ|Êa,e‡µì°uéÒeunnn-oUü1räH^yåŽ9Â믿ΦM›HOO§E‹´oßÞï„ã�wÞÉË/¿ÌóÏ?Ï¿ÿýï:�[Î-£G�¦Y³fÌž=û´�Zï¹çZ¶lY¡Ì0Œ€¯áæÝ0áÿ÷zݪh1m M)‘`‰ŽŽ&55µpðî²ÃSv@é)‡Q®œrïË”«§\™q†²S_W&`˜šR*uêË/¿$%%…×^{í´©”iii$''Ÿ1¡`µZ+lÜЯ_?víÚUQ˹&..ÊM ö2™L§%Ûjël;‘VV_Ÿ‰8i8 à $$„���€mšP“„˜?çø{]Ã0ªÕöÔ×Z‹UD$p222hܸq°C¹à(á&unãÆ�ôë×�¸¸8:uêDdd$iiilݺµÒÑ;#GŽdäÈ‘lܸ‘:pÍ5×°jÕ*~ýõ×z�_‚ïÕW_=c¹aJt‰ˆÈyËb±`³Ù°X,Á¥ÁŠˆˆàá‡fÈ�!´jÕŠ¼¼ûì3~ÿûß“��ÍÚµkiÑ¢×]w�o#¬ºôÏþ“¡C‡’˜˜ÈöíÛë¼?9·(á&ç¤ï¿ÿžï¿ÿ>ØaÈ9êàÁƒ§•µmÛ€¬¬¬ D$""â?³Ù¬d[=èÒ¥ ¿ÿýïY³f C† ñMU §¨¨(Øá‰ˆH§]JE休““Ãÿýßÿ1mÚ´ åv»�믿€�;w):‘³+--õíh.u«Y³fPö=!44ÔW^PP@ii)ÑÑÑddd°`Á_ÝK/½DFFô•9>úè#öìÙÃêÕ«¹ûî»ÏÚ÷ûï¿ÏСCX¶liiiÄÆÆòꫯ²víZ<Ȇ 7n6›Íwîþð–,YÂþýûÙ²e _ý5ÑÑѧõʲeËÈÈÈ`РAÕ:WDDêžF¸‰ÈyáèÑ£4kÖŒ?ÿùÏ,[¶Œ}ûöAÙȶ>}úCzz:7n v¨"""•ònŽ uoãÆ�ѵkWÖ¬YÜ9søòË/«½ WLL ­ZµbÅŠ 0€I“&‘žžÎ¢E‹*=gîܹtêÔ‰Ž;òÙgŸqìØ1ŠŠŠ8p )))üúë¯\wÝuŒ3†¢¢"&NœHëÖ­ùøã�ÉÌÌäÓO?Åf³Ñ¸qcrrrNëãùçŸ'!!�O?ý”¹sçVë\©{J¸Õ½÷ÞKdd$&“‰ˆˆòòòHMM­òøTQQQÜqÇ|ðÁU¶‹ˆˆà/ù ï½÷ž†ÁË端¾bäÈ‘4mÚ”Ûn»í´úcÇŽñå—_VØÝVDDä\bF…‘VR·Ž=ÊŸþô'þñ����À˜1cxøá‡ùöÛoyþùçýÞÈ ==��RZZʈ#xë­·¸ï¾ûªü¾?oÞ< DÇŽ™:uªo 7§ÓI×®]}íÚ¶mËš5kèÛ·/'N¤mÛ¶X­VRRRøôÓOϸŒÀõ×_ÏÃ?ÌöíÛyñÅ}×òç\i˜¼»‘V·^»—Ö%ÜjaêÔ©P–0»ûî»™2eJ�öçt:™;wîY“m}úôaýúõœ"33³Òë]uÕUüå/áÊ+¯$66“ÉDLL ëׯ'%%…n¸Á÷úŸÿü'_ýµïü°°0Þzë-L&O>ù$.—ËïsED¤þ(áv1 ƒ½{÷žµ]«V­Øºuk½Ä$R×Êï êñxX¿~=ëׯj"""5e2™‚ÂÇ0 ~øá~øá¾øâ ¾þúk®½öZ_½Ùìÿ²ÖáááP–„£,áöÄOThóÍ7ßTšpk×®³gÏfÿþý<öØc¤¤¤TX#??Ÿn¸�þýûó‡?ü�Áƒóî»ï’““Ã?ü€ËåbË–-4mڔѣG³aÿϑ†«²‘jÞ‘mÉVÿ”p«C—\r III„‡‡“ŸŸÏüùó};(¶iÓ†¤¤$BCCO‰VÙyf³™§žzŠ×^{ ³ÙLÿþý‰��§´´”]»v±|ùr®¹æš4iÂðáÃ9|ø0sçÎ ÒÝ‹ˆˆˆHM8ìv;‹¥Ò�ax< q:�õãù 44”N�:±yóf_™Õúߟ?Ç�§  Ã0¸ì²Ë°Ùl¸\® ›x…‡‡ûê1™L¤¦¦°gÏžJÄzGÞ—ß´ G�Øl6–.]ʪU«NKö™L&L& .dáÂ…ìÞ½›_|‘„„_ÒÌ0 žyæzõêÅí·ßÎܹsY¸p¡_犈HýQÂ­Ž„……qÛm·ñù矓��M×®]6l~ø!v»�¡C‡òÙgŸ‘��MÇŽ};,Vu^yíÚµ#..ŽwÞyÊ}yX³f ;vdþüù?~<w.""""5a±XˆŽŽö}¯«ŠÉdÂjµIXX¹¹¹x<žz‰ó|ѧO¦M›Æ±cÇØ»w/‡ƒÎ�;ðÉ'Ÿàr¹Ø¼y3ݺucÑ¢E;vŒo¼ñ´ëÄÆÆ’œœÌÖ­[}»—z¿ƒWeûöíÜ~ûí¼üòË,Z´ˆI“&±ÿ~î¼óNºvíZa]¿+®¸‚ÿûß,Z´ˆœœFŒàÅæ•––Æ?þñ^ýu&MšÄÚµk¹ä’Kü:WDDê‡ÿã§¥ZZ¶lIFFÙÙÙlÞ¼»ÝNDD—\r ÇŽóÕ=zÔ¯óÊËÌÌ$&&†�Ò¦M­]%"""r3 ã¬m¼É6·ÛMnn.ééé;vìŒGzz:¹¹¹¸Ýn¬V+�5ª—û8ŸìÙ³‡÷ߟœœºtéB›6mظq#÷ß?ÿùÏxôÑGÙ°a­[·ÆápðÜsÏ�v�Ï>ûŒ'NpÓM7qðàAî½÷^Ö¬YsÖþ?þøcfΜI‹-5j:t`íÚµ¼ñƸÝnF�EZZ ,ð‰¯ž IDAT�c6›IMMå–[na̘1òôÓOóÓO?�výiÓ¦±zõj7nÌ+¯¼R­sED¤îi„[±X,¾L)ûð´Z­x<¬Vk…:Ï+/''‡wÞy‡:põÕWsíµ×ú¾8ˆˆˆˆÈùÅápø’mYYYgMІAQQ.—‹˜˜¬V+áááÔ[Ìçº={öð /TÙ&%%Å7jÍË»1e;Ö”ËåbìØ±§•Oœ8‘‰'žñœÍ›73|øðJ¯Y>Ã02dH…úªÎ‘ú¥„[9tè7Ýt�7&##ƒË.»Œ¬¬, O«‹��õë¼òk<Øl6¬V+;vì`ÿþý<ú裘L& à  €‹.ºHSJEDDDÎv»Ê¾÷g4œ—a8�N¢¢¢°ÛíU&Ü|ðA®ºê*ßy999lݺ•o¿ý6`»Û{×�ón* ""r¡R­Ž8�N¾ûî;n½õVrssùæ›o ì‹Ôüùó¹í¶Ûp»Ý9rÄ7‚­ªóÊ»øâ‹ILL$,,Œ¢¢".\èûr¶víZúõëG÷îÝ™9sf=ÞµˆˆˆˆÔ„Åb�²QQÕå=Ç{�ª,_¾œÙ³gc2™hÖ¬#GŽdôèѼùæ›5ˆútIIIÄÅÅñùçŸäz""R;Ú�4x½/¹?×3�åuù2s¹²So½÷½ù”ÃXÊkÙa.êÒ¥ËêÜÜÜZÞªˆHÝr:�Z[D¤�0 Ã0ˆŠŠ:c}Ó¦M8vìX�®ß¤IÒÓÓ+!÷àƒrâÄ ¾üòK_Y‡xâ‰'xì±Ç(,,<ë=œÍ€ª•p+MïëêŒð‘s_tt4©©©½€“€p—ž²ÃJO9Œrå”{_þ \=åÊŒ3”�úº2ûÒ7‘ ”ËåÂ0 ß\V«•!C†på•WbµZÙ¼y3³fÍò�¢{æ™gØ´i�;w¦iÓ¦?~œ™3gòÛo¿‘˜˜HRR†aйsgV¯^]a¦†ÅbaÀ€têÔ‰ˆˆrrrX¾|9›7oÚý‹ˆˆÔ%ÜDDDDD.0&“‰¸¸8† ÆÊ•+)))àŽ;î **Š &`µZ¹ë®»¸õÖ[ùꫯ|çvêÔ‰3f�››Ëþðþüç?3~üx–-[Fhhh¥#Ü<ÙÙÙLŸ>�’’2d‡&++«^ï_DD¤®™ýh#""""" @RR}ô~ø!¯¼ò {öìñíto·ÛéÝ»7óæÍ#//�œœæÎ�K×®]+\cݺu:tˆ¼¼<’““¹è¢‹ˆ‹‹ó«ÿ5kÖ�žžNvv6+W®$77—-ZÔÉ½Šˆˆ“F¸‰ˆˆˆˆ\ –-[ÆŒ30™LŒ7®Âzi�7Æd2ñÐCùÖœ3›Í¾TÏ$;;›ââbl6›_ýGDDÐ¥KZ¶l‰Ýn'""‚���€Ü›ˆˆÈ¹D 7‘ „ÇãñM]¸p!Æ #99™ÂÂBߦ &L ///à}Ûl6zè!¶nÝʲeËÈÍÍåÎ;ï x?"""çM) 2ïH3“ÉTís½çTwwÏÕ«WSRRBŸ>}ÈÊÊÂår�6…´º,ËË[´hAxx8‹-"##ƒââbíH*"" –n"""""Aæñx lXuyÏñ^Ã_%%%,^¼˜~ýú†ÇãaÑ¢E 2„N�:a6›‰ŽŽ¦U«V~_óĉÄÇÇChhh…º¼¼<ÂÂÂèÙ³'‡ƒÎ�;Ó¤I“jÅ,""r¾Ð”R‘ +,,$22’ˆˆ\.—ß#¿L&‡Ãw�êZ±b7Ýt‰‰‰,X°€ P\\̈#ˆŽŽæÄ‰,Y²„ƒúu½õë×Ó±cGž|òIöîÝË'Ÿ|â«;~ü8 .¤oß¾$%%±{÷nöíÛWí˜EDDÎÕ³^ûë™Îòº|™¹\Ù©‡·ÞûÞ|Êa,e‡µì°uéÒeunnn�n0>>¾F版Õúaát:«=ZADDÎMÞM¢¢¢*m‡ÕjÅív“ŸŸ_eâÍd2a³ÙˆˆˆÀb±àv»ÉÊÊòõU“øцr÷ZÝ~½¯5ÍTD¤a‰ŽŽ&55µpðî²ÃSv@é)‡Q®œrïË”«§\™q†²S_W&`BáVMú+œˆˆˆˆÔ…œœ¢££±Z­4jÔÈïóJJJ¨é“EDD¤n(á&""""rðxÙöïÿ›üñ´6éé餧§óÿ±wßáQUùÇßÓ2©$!@èÒ�@dQÀŸt¥(+"ºêZPt;¸¢ë*º«»²ÀŠX]+`£H“nP¤ „é5�@2)“™¹¿?ÈÌ&!eÒ!ù¼žç>Μ{ιß;Iæ;§¬^½šîÝ»sç�wúÚ(é&"""R½X­Ö2Û�SDDD.=Ú4¡”ºvíêKœM™2%ßd[^«W¯fÊ”)ôìÙ“®]»ëšS§NåùçŸ÷»þüùó>|x±®!""""åÃl6+ÙVŽ´£žˆHÙÒ¿«%£„[) <²G¶ÅÇÇûÝ.>>ž�?þ8W""""Rµy<+; )gJ¸•B×®]©Y³&û÷ï÷kd[^«W¯fÿþýÔ¬Y³Ø£ÜDDDDäòãÝADDDª6%ÜJ!66€õë×—¸o[o_%1þ|F�Í7ß|î]»X¼x1W_}u®:½{÷æûï¿gçÎ�|òÉ'4kÖÌwÎl63zôhV®\ÉöíÛ™5k 6`ìØ±,^¼«õÂr!!!üøã� 6¬ÄñŠˆˆˆTG†aPÙaˆˆˆHP­š4iÀîÝ»K܇·­·¯’ºþúë™8q"×]w›7oæ­·ÞÂf³ùÎGGG3zôhn¼ñFùüóÏ}k‡Œ7ŽððÃ3pà@œN'Ÿ}ö6›�éÓ§c³ÙøÓŸþÀøñãÙ½{7sæÌ)U¼""""Õ�aÝ&""RM(áV $&&–¸o[o_%õå—_²cÇ’’’øÏþCíÚµiÚ´©ïü'Ÿ|ÂîÝ»9|ø0O<ñ†a0pà@9r$&L`÷îÝ:tˆqãÆJß¾}ÉÊÊâÙgŸeܸqôêÕ‹¡C‡òôÓO—*V‘êÊd2Uv"""R¬•€”½#GŽ�––FHHH¾ç�N'?ÿü3-Z´ qãÆØl6¶oßî;Ÿ––Æ–-[hÞ¼96làÛo¿å½÷Þcüøñœ,@�ØØØõeµfZ×®]ùÓŸþÀ”)Sˆ��÷«]LL þóŸøàƒ”¼‘‹8Ünwe‡!""eÀ0 à <<<ßóÑÑјL&Nžø �5âÛo¿åðáÃdeeQ»vmZ´hÁ‚ ðx<…ÞÀÀ�©U«³gÏηÞ�7ÞHÍš5ùøã�‹Œ=g¬ÞÇŽÿüú4 £Të,‹ˆÈ‰‰‰˜L¦Rí²IBBBà<à\Ù‡;û0OžÃÈQNŽç9rœ'G™‘OYÞÇ)Ý/¡4­”âââ¸âŠ+èÙ³'þóŸùøã�‹éÖ½{wî¼óNV®\©d›ˆˆˆH5çý S’d“·MQ†zôèAÆ yñÅÉÊÊò•'&&²sçÎb_WDDD ¦„[øôÓOèÙ³'wÞy']ºtaýúõìÞ½›ÄÄDÈÞ�´U«VtéÒ…fÍšAv²ÍÛVDDDD¤< 8�O?ý4W²-?V«•!C†Ð¡Cl6[·neÞ¼ydddзo_n¼ñF<¿ÿýïY·nsçÎõµíÑ£½{÷Æ0 bccùñÇùꫯxôÑGY·n¿ÿýïiÔ¨ÿýïùí·ßèÓ§W^y%AAAœ;w޵kײ}ûö x5DDDÊ—neäÓO?åàÁƒ¾5ݼIµüœ9s†o¿ýV#ÛDDDD¤B„„„ÉÁƒ‹¬;|øpÂÃÃyõÕW±X,Üu×]Ü|óÍ|öÙg,[¶Œ€€€§”®Zµ »Ýžï”ÒAƒ±`Á-ZDRR�‡3gÎø’€mÚ´aàÀ�J¸ùé�7Þ {÷îôïߟӧOç:7fÌš6mÊã�?^¡1Í�;—Ï>û,W6'»ÝŽÉdòk­À²¸^y`Û¶mÜpà :t¨ØçKÛI•ôµïׯC‡¥eË–„‡‡sìØ1Ö®]ËÔ©Sq8åvÝÒ¶-�¾ò¾7o¿ý6Û·ogÚ´i¥ŽOª&%ÜÊP\\qqqtíÚ•ØØXš4iâÛ¢=99™°mÛ6%ÚDDDD¤BEFF�™™é+4hƒ òMI]»v-sçÎ¥[·n¼úꫤ¤¤°`ÁFŽÉgŸ}Vª–-[ÆæÍ›s•ýüóϾÇ?üð±±±¥ºFucµZyæ™g*<±VR£F�¢qãÆ—M¼UIq_{“ÉÄ?ÿùOZµjÅ´iÓØµkN§“Æ�Ó±cGÒÓÓËåºeÕ¶<ûòr¹\ZoY ¥„[9ð&ÞDDDDD.ÞeNêÔ©ãK¤-^¼˜åË—pûí·ûΛL&F�…ÇãÁ0 Ìf3���¥Ž!¿©¬!!!ÄÄÄøvL )õuª“O?ý”ÁƒÓµkW}þ�2uûí·Ó²eKn¾ùæ\‰ú#GŽèg-›ËåÂårUvr 3ûQGDDDDD.c$%%Ѿ}{_YVVéé餧§û’aÞQ+“'Oæ¹çžã/ù 'NdüøñeS@@÷ß?5jÔ`íڵ̙3‡S§N•ùuª²sçÎñÚk¯1iÒ$ ¬g6›yðÁY¼x16l`ÆŒ4hРߺÿ÷ÿÇܹsÙºu+K—.ÍõÞ¯[·Ž.]ºøžÇÄÄðË/¿äjß½{w.\ȦM›˜5kMš4à�`Ô¨Q 0€øøxžþyl6Ï<ó K—.eëÖ­,^¼˜!C†øONaaa,X°€Ñ£GûÝΟë[,Æ�ÏŠ+øé§ŸøÛßþV¬ó6›�§žzÊ·YÞ_ÿúW‚ƒƒýnïõ¯ý‹—_~9WÙÈ‘#™>}z‘×Éïµ/ÊC=Ä¿ÿýï\ɶü”öº½O%ýy™;w.C† aÖ¬YlÚ´‰®]»Giß%ܤ(á&""""RÉ ÃÀd2a2™Š½S©¿;œ.\¸�áÇÇñãÇó­“””Dff&W]uëÖ­+°/‹ÅR赬֢?fÔ¯_Ÿàà`ß(;Ã0J´Kku÷í·ßrË-·ðàƒ¸–Ô˜1cèÑ£�=öééé<õÔSÌž=›þýûçyX£F ¦M›Æ«¯¾ÊÂ… ‰ŽŽ.öèÆèèhÆ�GZZcÇŽå£�>¢oß¾¼û„„\4­ïСCŒ=šŒŒ ú÷ïÏ+¯¼Â¶mÛøí·ßüŽÇb±ðæ›o²gϦOŸîw»¬¬¬B¯ðøã�síµ×òÈ#��’’ƒ>˜«�¢Î?÷ÜsÔ©S‡[o½›ÍÆäÉ“yâ‰'øë_ÿêW{¯ï¾ûŽI“&a6›ñx<ôêÕ‹O>ù¤ÈëôÚ¤F�Ô­[—øøø"ë–æº…½O%ùyñš8q"“'OæÕW_åàÁƒÄÅÅåÛWiß›¬¬,%ܤPá&""""RɼëÙíöb·õ¶)j-¡µkײsçNž{î9z÷îMƒ ˆŠŠ¢cÇŽ´lÙ’ŒŒ Ün7K—.eÈ�!´nݳÙLdd$�7öõ“œœL‹-¨Y³f¾£ªÎ�;G³fÍ <ï•’’B`` W_}5ÁÁÁ´mÛ–:uêûþ^|ñEî¹ç®¸âŠ‹Îpß}÷1iÒ$8|ø0O=õ¡¡¡ôêÕ+WÝèèhl6«V­âüùóìÝ»·Ø›X|ñÅ$$$päÈ&L˜€aôëׯÀúŸ|ò {÷îåðáÃÌœ9“£G�úÖòó'“ÉÄsÏ=Ghh(&L(ö}v}»ÝÎ�wÞÉóÏ?ÏîÝ»9zô(¯¼òНmQçCCC6lÓ¦M#))‰'N0eÊúôéãWûœÖ¬YCpp0íÚµ **ŠÖ­[³råÊ"¯S\uëÖ --ÍW6fÌvïÞí;^zé¥R_·$?o…½_^S¦L᫯¾bÏž=n’Pï�F¸IQ4ÂMDDDD¤’¥§§Fhh(™™™~�ô2™L¾uÏŠZÄÜãñ0mÚ4ºwïN§N�4hn·›cÇŽ±páB6lØÙ#iœN'Æ #22’óçϳtéRß§?ÿü3­[·æÙgŸeï޽̜93×u6nÜÈ•W^Éã�?ξ}ûxÿý÷ó�'))‰e˖ѽ{wºwïξ}ûr�Rÿ8p€Ù³g3iÒ$î»ï¾\ç5j„ÕjÍ5Z)==�­[·Ò¬Y³\u÷ïßÏO?ýÄÂ… Y¹r%sçÎeýúõ%ŽËét²iÓ&š7o^`�š5k2pà@:tè@dd$µjÕò�rò'ž¡C‡Ò¶m[z÷îí›þXœû(ìú�5Âb±°sçN_ýœÿou¾I“&˜Íf¦N�ê+·Z­„††úÕ>§ŒŒ V¬XA¯^½øå—_èÑ£qqq¤¦¦Ò¶mÛB¯S\GŽ qãÆœ9s€™3gúv&~î¹çüº¿¢”äç­°÷Ë«¨i°þÄîÏ{£M¤(J¸‰ˆˆˆˆT2‡ÃAPPV«•¨¨(RSS M¼™L&ìv;¡¡¡X,\.W®Ñ(…Y½z5«W¯ÎU–ó:†a°|ùrßTϼœN'ï¾ûn�ýgee1kÖ¬\eS§NÍ·î?üÀ?üpQ R|3gÎäÛo¿eàÀ�¹Êív;f³‹Å⛊Höû”71áv»¹÷Þ{éܹ3C‡eêÔ©üôÓO¾uÑÈ1…Ù_N§§Ó™ï¹àà`>ÿüs–,YÂôéÓ9~ü8ï¼óN±âùñÇiÚ´)wÝuo¼ñ†ßíü¹~@@f³9×4ΜŠ:þüy† FRRR±Ûçµxñb{ì1þõ¯Ñ»wo/^ì×uŠ+--�£G�Ò«W/¶nÝ yÞGïK{]ß'¯¢Þ¯â(‹÷æèÑ£eòzKÕ¥)¥"""""—€³gÏâr¹°Z­DDDMݺuó=¢££‰ˆˆÀjµâr¹HNN®ìð¥’9�N^xážyæ™\#Œ<ˆatêÔÉWf±XhÛ¶- ùöµaÞyæFŒAïÞ½‰ŽŽ†ìDLÞQqyåLÈ™L&bccùõ×_}e6›Í÷¸mÛ¶DDDðúë¯ó믿âp8òM¼ÙI�'žx‚ûî»ï¢©Œ…µóçúù½v9uþرc8Ž‹¦îúÛ>¯5kÖP¿~}Z´hA§N�X¹r¥_×ñÊùÚåí·ßæî»ï.ôý.«ëö>•äçÅŸ8Êâ½yç�wøþûïý¾¾T?J¸‰ˆˆˆˆ\Ün7‰‰‰¤¤¤àr¹ ý i.—‹””’’’4­I {´W\\Ç÷•9æÍ›Ç /¼@»v툊Šb„ $%%ùFz…‡‡3tèPßâõ�;w&==Ý—Ðݼy3·Þz+õë×§^½z¹®ãuÏ=÷CTTO=õ‹…eË–püøq:uêDýúõ âôéÓ„……1bÄjÖ¬ÉM7ÝD«V­üŽÇkݺuL›6�É“'Ó¸qc¿Ûu}‡ÃÁ×_Í‹/¾Hll,QQQ<òÈ#~Ÿw¹\¼û?ž®]»b±X¨W¯mÛ¶õ«}^™™™¬\¹’ &°iÓ&RRRüºN~¯=Ù#Oxà�|¯5wî\~øáæÌ™Ã]wÝEË–-©_¿>ýúõãꫯÆáp”øºþ¾¿Åýy)LÞ¾Êâ½yã�73fŒ_×—êISJEDDDD.!‡‡ÃQÙaÈeêµ×^£G�¹Ê^~ùežxâ ¦M›†Õj%..Žxࢤn�5¸á†xüñÇ å·ß~ã±ÇóM=ýÇ?þÁ+¯¼ÂÂ… 9uêóæÍ»hºèO?ýÄ´iÓ aÓ¦MÜ}÷ݾ…å¿ýö[ºwï΂ ذa£F�âõ×_çÑGeܸqÄÅÅåJON3fÌ 66–iÓ¦1~üx¿ÚýöÛo…^ॗ^b„ ̘1ƒ¬¬,¾úê+:ä÷ù3f�‘‘Áĉ©_¿>‰‰‰¼ûî»ìرïöy}÷ÝwLŸ>�§Ÿ~ú¢û/ì:y_ûGy„ pâĉ|¯ãñx=z4·Ýv `̘1¸\.öïßÏ[o½ÅüùóKtÝQ£Fùýþ÷ç¥0ùõUÚ÷¦aÆnÊ P¼ øeÓŸ©ˆÇ9ËÌ9ÊòÞóÞçæ<‡ °dÖìÃÔˆ��]¯a÷"r©s8± "R…x<ÂÃÃËý:%Y ÍŸ6þökF±êæ}\ڵܼׯU«V©ú¹5iÒ„ Ð¥Kß7‘ò”˜˜ˆÉd*öú�9EFF’��Ð8¸WöáÎ> À“ç0r”“ãy΃çÉQfäS–÷qAÊlAQM)© Ú@DJ£OŸ>¬_¿^É6‘Ë€n"""""Àd2i䲈”Ê€|kâ‰È¥Mk¸•wLgÜÍb0¢ã ©€ÙqÓÉCXöÇc‰ßPÙ!ŠˆˆˆH%p:�X­ú\DНqãÆ´jÕJ;cŠ\&ôÛ¾ ¹c:ãêÒOXÄEçn·›¨¨(G¥Å)""U‡7±f2™p»Ý¤§§—ëõò›QÑ}ÕÎ{>((¨Dý‹ˆˆ\JÌ•ÀåÌÝ,ëΟpÅv-4Ùæå©ÝW»ksµõöå¯yóæÑ´iS:wüá‡æƒ> 333W¹Ífcâĉ¬_¿žÍ›7óꫯj±^‘lñññ¼ûî»ìß¿ßWf·Û‰‰‰aéÒ¥¸\. à 11±L?°ˆˆˆˆˆˆHÕ¤„[)Ñ�0þw«~·u·î”«­·/¥¥¥ñþûïçš>Z·n]n¼ñF>üðÃ‹ê¿øâ‹4kÖŒ›nº‰�Ò¸qcžyæ™b]S¤ª:uêÔE‰´¨¨(’’’hÖ¬·ÝvǧQ£F•£ˆˆˆˆˆˆ\>”p+OH Lç’.<¯Y×ÿ¶Ùu}m³û*ŽÙ³gÓ±cGZ·n ÀÈ‘#™3gçÎ�ËU/44”#Fðæ›o’””ÄñãÇyýõ×¹ñÆ‹}M‘ê"$$„ZµjQ¯^=.\ÈÏ?ÿÌðáõ£œˆˆˆˆˆˆIk¸U¥Ÿ–vþüy>üðCyäžþyn½õVn¸á†‹ê5kÖ ³ÙÌÛo¿íÅcµZ -u "UUZZN§“5kÖ`û÷ïçÔ©S4hЀ½{÷Vvx""RE†�ÍfÃf³•Ù¦ %YþÀŸ6þökF±êæ}¬åDD¤*P­ÌŽóxÂ"0£0�=…ùÌ }ú”è"Õ‘ÃáàðáÃtëÖ €ˆˆ¢££9zôhe‡&""U€Õj%88XÉ6‘*J ·R°ì�ÀÕæj¬Û×c>]ô‡qóé£X¶­ÏÕÖÛWIL™2…#FäÚa1'—ËÅ[o½ÅÓO?Íu×]‡Åb¡~ýúÄÆÆ–øš"ÕÁüùó©W¯cÆŒáÖ[oå›o¾!##£²Ã‘ËœÙl&((¨²Ã¨²ÊbZ®ˆˆü�þ]-M)-KüÌ]úã©×wlW,Ûâøúœ7�ÄS»A¾m̧�ðõ;˜¬Ù‡¨»>99¹”·z�;¦3ÎF`ÿêmÌvc˜-¸c»ànÝÉ·©9é8–Ý›°l[�ÉãÆÓ¤™·<@ÀÒOK•p‘ªÉápàv»+; )C‹¥ÜnÚ4áBáááX­_ "RR.—‹sçΕúË‹ÈÈHºç7àÊ>ÜÙ‡xòFŽrr<Ïy�ã<9ÊŒ|Êò>.H™eõ¨”,ñ°Öi„«ýudÞòßÏÁ²-ëÖuX·®Ë·�;¶+ÎÞðn]§d›ˆˆˆH5`•Fµát:•p)§ÓYÙ!\Öô¨ ØVÎÀÕþ:œ½‡ans5Ö�?c>ü+¦sI�½©§Q \m®ÆS¯ d'Û¼mEDDD¤j3 C›$T §Ó©é»""¥ „[é(áVFl+ça>uWöšnÎì¤Z~Ì)ÉX×§‘m""""Ռ֫8n·§Ó©Q…""%àt:µ¼M))áV†,ñ°ÄoÀÓw³ŒèÆxBj`vœÇtò–ýñJ´‰ˆˆˆH�BBB Âb±˜ 3 ·ÛMzz:‡£Âc¼Ô™L& à --M 7‘HKK}QT*J¸•oâMDDDDÄ_‹…ÈÈH¿Ö3™LX­V $99Y#òáv»IMM%44´²C¹l¤¦¦êwJPÂMDDDD¤œù³ó¦7Ùær¹HMM%33³Àv&“ »ÝNhh(V«•ˆˆ’’’Ê!òË—w”[ff&f³Y빉ˆø!--�ÌÌLÐè¶R3Wv"""""Õ]HHˆ/Ù–””DFFF¡I:Ã0ÈÈÈ )) —Ë…ÕjUB)Þ‹éé餦¦Vv8""—´ÔÔTÒÓÓAɶ2¡n"""""•,((²?ìø3ÎË0 áááùÖÜÉÏC=ÄÕW_ ÙS-Ïœ9ÃÆ�ùæ›oÈÊÊ*ƒ»¸4åéær¹Öºn""98�NÒÒÒ|ÓH•l+J¸‰ˆˆˆˆT2‹Åà›ÆSÞ6Þ> ³jÕ*æÌ™ƒÍf£Y³fÜ{fÁ¼yóJõåÛts»Ý¤¤¤`±X  ÐÍ)DDª"ᅦN§ó¢ÝHõïaÙQÂMDDDD¤’y?àgt›—·�?’\.™™™dff²mÛ6V¬XAlll "¾üx“nd�ðKOO'==�ÇSÙ¡‰ˆT8³ùâÆ”l+[J¸‰ˆˆˆˆTS†a�œœì{þ÷¿ÿ�÷ߟݻwШQ#üqÆŽË}÷ÝGff&ü±¯~ïÞ½iÒ¤ ï½÷^®~­V+ýúõ#66«ÕJ||< , 33“^½zѦM¦OŸŽa0jÔ(V®\ɶmÛÊõ~óKlæ÷¡SD¤:Q¢­|è·‹ˆˆˆˆH5E—.]X»v­_õ·lÙBÛ¶ms%¨Ú¶mËÖ­[/ª{óÍ7S»vm¦N�Ê¿ÿýo"##éׯ«W¯Æb±píµ×УGN�:UîɶœL&S®CD¤:Ñ¿�C#ÜDDDDDª‰>}úЧOȱá‚wGº¢ÄÇÇ@ãÆ�9pàaaa4lØ�øøø\õ¹æšk˜2e ))),]º”?þñ�|óÍ7¸Ýn¾þúkî¼óNNŸ>Mll,3fÌ€<Ó>+’>pŠˆHYSÂMDDDD¤šX¾|9Ÿ}öv»�ë®»ŽñãÇóÏþ“„„„BÛ:�NvìØA»ví8pà111$$$�‘‘‘«^íÚµ1™LÜ}÷݆�a˜Ífìv»¯ÎÁƒÙ±cwÜq_}õ©©©DDDpæÌ™r¹w‘Ф„›ˆˆˆˆH5”™™É÷ßO‡hß¾½/áVØh¯-[¶0`ÀæÏŸO»víØ²eËEu¼#æ¦N�êá–Ÿ¤¤$L&.—ËWXÊ»¹4h 7‘JVœ�Fó*ͧ)))dffBv.::ºÀºñññÔ¬Y“zõêѼy󋦓œ9s†ÌÌLÚ´iS`?µk׿úë¯géÒ¥ôïßß—h˹�ƒˆˆÈåL 7‘Jæv»!{šgqyÛxû(ŒÅbÁf³a³Ù¦C‡´jÕÊ7Rmß¾}tëÖ�¨¨(jÖ¬Éõ×_Ÿ«}VVÛ·ogèСìÛ·/ßõß<«V­¢_¿~´lÙ³ÙLdd$ 6„ì]A‡ÊÚµk‰‹‹ãرc¾uåü]ONDDäR§)¥Ìl† pdøQYDDDDª…ôôt %33ÓïÑj&“‰��_EéÙ³'={ö„ì‘mGŽá?ÿù‡`Þ¼yÜ}÷Ý<ÿüó$''—kÊ'ÙÓJï¿ÿ~þûßÿx�åË—ãt:7ç9L€%û°f FllìúŠ®Þ©•™ëb Öï„—FÚù]#3ÿ™—É?>+ú[H©¾‡_£DDäÒçÝ< <<¼À:µjÕÂjµâr¹HMM-4ñf2™°Û턆†b±Xp¹\$%%ù®U’øü­S§Nž}öY&L˜�o’Ï{¯Å½®÷qeìR*""å'22’„„„.ÀyÀ ¸²wöaž<‡‘£œÏsä8OŽ2#Ÿ²¼� Rf¿„4­Œn£ut*�ÞŠÕv!‡Øº¾3;ÿ'""""gÏž%22«ÕJDD„ßí²²²*tí³ØØXöìÙ£éŸ"""…Ðn„=(«íB‚-#ÝI„=�FµÃ‡÷=·Ûí媳lÙ2yä‘÷YÜö""""Õ‰Ûí&11‘””\.W¡#½ ÃÀår‘’’BRRR…ŽˆîØ±#Û·o¯°ë‰ˆˆ\Ž4­ü°ÕBfjjG¹hÞàgOž%$‚í%©ØªU+zõêÅ÷ßѹѣG—2bxôÑG¹âŠ+xôÑG}eK—.eÇŽ%î³´íE*ZÆ éׯÁÁÁ¤¥¥±xñbŽ9RÙa‰ˆHçp8p8•F¾j×®Mƒ ضm[e‡"""rIS­5o`¢KŒ…õB8‘hcåOaÔ�2ÀšÊì?[ò†‰‰‰Œ=ú¢„[Ó¦M¹æšk8þ|ÜAnÿøÇ?*µ½HE2™Lüá`Μ9;vŒvíÚqË-·0uêÔÊMDD.C&“©J¬Mvúôi{ì±ÊCDDä’§)¥å KŒ™/_äû7ƒxùÁ÷p0â¦3¼ðèqbÚL]XªdÙ;H5mÚ”Î�;ç*øá‡ùàƒÈÌÌÌU¾qãFºuëæ{Þ®];òí{Ô¨QŒ3†Aƒ±oß>^zé%ÈgŠèüùó¹÷Þ{ùòË/Ù¹s'ß|ó W]uU�1çmpÿý÷óý÷ßóË/¿0kÖ,6lˆÍfã/ù «W¯fÏž=¬\¹’¡C‡ó)‹Å‚ÍfãÌ™3üúë¯U⃒ˆˆT.ý.©4­ ™Lðä�ÜbÃd·ÛÄÁclŽæªViü®I&×wÌä…ûì<9=Ó� –––Æûï¿ÏèÑ£Ù°auëÖåÆoäúë¯çž{î)qß3fÌ 44ô¢)¥ù¹í¶Ûxî¹ç8zô(=ôü1]»võk„ݨQ£¸ùæ›;v,§OŸæšk®áÌ™3deeqðàA|ðAÒÓÓ4h¯¿þ:[·neÿþý%¾/‘âp¹\ìÞ½›Áƒ³fÍ®¹æÖ­[WÙa‰ˆÈeÌd2áv»±Zõ'¸ˆˆHU§neè±[mŒz!ÙæñÀÔëð邚¬ÛÊœïjrâ´ €®Ê$*¬ôßnΞ=›Ž;ÒºukFŽÉœ9s8wî\©ûö×|À¦M›8qâ/½ôIII <¸ÈvV«•1cÆðì³Ï²}ûvNœ8Á7ß|CZZ~ø!{öìáСCLŸ>�#GŽÐ¾}û ¸#‘ÿY±bÑÑÑÜyç�„††²{÷îÊIDD.sN§³²C‘  „[¹²±™Çnµùž'%[ùõ��›z&ÓóšÖuòõ² Û»Ûíb»J}ÍóçÏóá‡òÈ#�É­·ÞÊ;ï¼Sê~KÊãñ°iÓ&š6mZdÝF�RàWQQQÜ{ï½LŸ>�O?ý”Zµj]´kªHy²Z­Üwß}Ì›7�)S¦°ÿ~FŽI```e‡&""—±¬¬¬ ÝQTDDD*‡Æ³—‘‘ƒ¬X-ÿ{^+ÒE«fÌþ²ºŸãš«$§\¨bçOƒ,lØë$£”_r¾÷Þ{¬]»·ÛÍâÅ‹9yòd�uM&Sé.æ·ÛMzzz‘õjÔ¨Q`L!!!|ýõ×,Z´ˆ)S¦pôèQ>üðÃr‰W¤ Íš5ãÔ©S;v €õë×Ó´iSš6mÊ®]»*;<¹ yÿîÉÈÈ $$¤²Ã‘r¤neÀl†¾W[r•mÙÌ·%Ò¨ž“E«Ã‰ßD«f¾ó½;Yyå¡€R_;))‰/¾ø‚!C†ðöÛoX/--�-Z«o›ÍVd�°°°\ϯºê*öîÝ[d»C‡a6›‰��½è\»v툌ŒdòäÉ$$$àp8´À°T¸ÔÔTêׯOýúõ!;I\¯^=ß& """%åv»}ËhˆˆˆHÕ¤„[ˆ5Q#ä#µœY&>ú:ŠƒÇ ò0¸w2+~ #oÎhèõVZ6*ý[0eÊFŒQè†7näöÛo§AƒÔ¯_Ÿ;î¸#×ù3gÎШQ#ß7¯ÇŽ£sçÎ4hЀàààû;v,}ûö%**бcÇÊ¢E‹òí3§³gϲdÉ^zé%š5kFHH}úô!$$„S§NÆ]wÝETTC† ¡M›6¥x…DŠïرc¬^½š›o¾™?ÿùÏÜqÇ,[¶¬ÐQ¤"""Eñþ]är¹p8š^*""REiJip¤¸\�= ,ÀfзÛyÞ›S‹ »‡Sg¬4®ï$oÞÉd‚Øæf{Juý³gÏòã�?Zç•W^áõ×_gùòåœózòÉ'yá…˜;w.ÄÇdzk×.öïßÏäÉ“7nO>ù$ëÖ­cÍš5¥z�DJbË–-lÙ²¥²Ã‘*Æd2an·›ÔÔTl6X,– YDDDDÊ_YÿF÷§?S�s–™s”å=¼ç½ÏÍy`É>¬Ù‡¨»>99¹”·šÛ·3°Kîi¥[w³úçPÚ·NçÚö©Ø.žyësü¼»t ·Ê2þ|þûßÿòùçŸWv("U’F>ˆˆHY)Ëå9JÚWQí¼çµQ–ˆHÕIBBBà<à\Ù‡;û0OžÃÈQNŽç9rœ'G™‘OYÞÇ)³_˜áVF^|ßÉ•�iÑàùÂVÍ3h\ßI͈‹w$5 øà;/Ód›ˆˆˆˆˆˆˆˆäO ·2rò¬Á §3¸½·…Þ-´¾ÂLx¨‡šj†N=m°a§›9«”l©Š”p+Ciï/tñþ #ÚB!ÈnÂl·Î; ².ì&""""""""UˆnåÈ‘ŽŒ²[/ãR3hРÊADDDä²f6› ›ÍVf›&”d�5ÚøÛ¯aŪ›÷qY®7'""RY”p©‹»ÝŽÅbñ£¶ˆˆˆ\N”p©`V«U»qŠˆH¹;uêuêÔ©ìPªse """"R�˜Íf%Û*Ø£�>Ê©S§8uê7ÜpÃE烂‚¨Q£f³Ù¯òÒøí·ßرcG™õW–Êã~EDª+ýK*""""RA<���•Fµ3dÈ2228pàEçß|óM~ýõWZ·níWyUUÝîWD¤<)á&""""RA¼›#HÅiÒ¤ ±±±Ìš5‹äädúõë‡Õª•uDD¤|)á&""""R à  ²Ã¨v† À¢E‹øþûŒ¤K—.¾óo¿ý6·Ür +W®äرc…–GEEñÚk¯ñÓO?qèÐ!6oÞÌ /¼€Ýn÷õi±X;v,k×®eÿþý,\¸�=zøÎðÚk¯±k×.vìØÁ“O>™+æß~û�iÓ¦ñÚk¯±}ûv¶nÝÊŸÿüg®¼òJæÌ™Ã¯¿þÊš5krÝGpp0/¿ü2›6mbïÞ½|ôÑG4nÜ8WŸS§NeòäÉlß¾��;wòÔSOù:ôïߟeË–qàÀ¶mÛÆ¼y󈌌,ƒwGD¤êRÂMDDDD¤†¡Ñm•`È�!œ={–�7²téRÈ3­tþüùìÞ½€Ù³góÆoZž‘‘A¿~ý8xð ,Àb±ðÈ#�0nÜ8_Ÿ“'Of„ Øl6–,YBHH©©©¾óôîÝ›�;wR«V-ž|òIúöí›+îÛn»�ž={’��@ݺu™8q"+V¬Àn·sâÄ ZµjÅ;ï¼ãKô½ûî»ÜÿýüüóÏ,Y²„^½zñÑGåú™>|8}ûö%!!�ÈÈHžxâ úôéSèý^qż÷Þ{DGG3kÖ,,XÀÙ³g9{öl¿S""U‹ÆR‹ˆˆˆˆT“ÉTÙ!T+Í›7§mÛ¶Ì™3·ÛÍŠ+p¹\ 0€gŸ}Ã0X°`ƒ ¢U«V|ðÁÄÇÇXîp8¸êª«|×hÚ´)?þø#½{÷æÕW_¥~ýúÜu×]ìÛ·�îÝ»ãt:/ŠëìÙ³tëÖ�ÌÌLž|òIž|òIºvíʲeË|uÎ�;G×®]q¹\<ýôÓ<þøã|öÙg<þøã¬[·Ž–-[ò»ßýÃ0èÓ§Ë–-cÔ¨Q�½ AƒhÖ¬{÷îÍÕ§Óéä±Çã¹çž£[·n,_¾¼ÀûmÚ´)V«•={ö0kÖ,:T®ï™ˆ”Œw7Òâž×î¥åG 7‘KHHHAAAX,–t†aàv»IOOÇápTxŒ— ïtÒ¶mÛ2{öl233©[·.;vdãÆ�%ê÷ꫯæ� cÇŽDEEa2™¨Y³&­[·Æb±°råÊ|“mYYYdfføbÏUÇívãr¹Ø¼y3doºáµyófZ¶lIdd$µjÕ oß¾}¨ŽˆˆÈÕ§7&ïu£¢¢ ½×�7²gϺwïî{üæ›o2oÞ»}ûvÖ¯_OãÆ�Y¶l/¾ø"sæÌáꫯ.·{=~ü8~ø!‘‘‘,Z´ˆñãÇóÆo0sæÌbõ“ßý¶mÛ–-[¶ð�üƒ &ðÀ@Ži®""’?�p+ÃbéÓÒNl=+Ñ¡ÖÝ8™j°í¸‹å ™ÌÙ–QÙ!ŠˆˆˆÈ%$((²§ïù3ÎË0 ááá‘––V`݇zÈ—ôq»Ýœ8q‚5kÖ°bÅ ¿¯i³Ù0™L®Mv)ñ&ÜV®\yѹU«VÑ¢E nºé&âããyï½÷ˆ‰‰áÆodĈ|ûí·ìر#ßòŸ~ú‰þóŸüéObĈ,_¾œï¾û޶mÛúú¿÷Þ{™4i=zôàÞ{ïeß¾}–ëýNœ8‘£G�2lØ0{ì18À–-[0™L~¿¿ùݯÙl&!!�›nº‰°°0>Ì“O>É?üP®÷#"r¹+ëm’üéÏTÄãœeæeyïyïssžÃX²köajÄÆÆ®ONN.å­^lXl 㻇P¿Fá��÷ðÏÕ%ÞD¤P‡CëñˆˆT†a`ÆE ã{EGGc2™8yòd±ndOù«S§†apêÔ©Û?ôÐC8¾üòKhÓ¦ ·ß~;‹/fáÂ…~ÝÃM7ÝD­Zµøàƒ ­çï=ä¬ç}\Üû‘‚] k¸EFF’��Ð8¸WöáÎ> À“ç0r”“ãy΃çÉQfäS–÷qAÊì—�F¸•‘¿ÞÊ=�.|3¹ù¨‹¹Û2X0‹CÉ>,7ްÐå ·ÆÒ¡�•×…Ñ®ž•ç—¤Vrä""""RÙ¼»‘–$ÙämSÐŽ¦9¹\.ÒÒÒHKK#..Žàà`ú÷ïïWÂMDDDü§„[È™l›ð]*oN¿¨Îdò-³ IDATþ$û“\|¼9�;;ñJÿÿµQÒMDDDD*ÃÞ½{6l���dddð÷¿ÿ�÷ߟݻwШQ#üqÆŽKß¾}¹ñÆ1 ƒöíÛÇ_|‘«?³ÙÌ€ˆ��Åb±Ïüùó}Œ=š�;wÒªU+¢¢¢8~ü8 .¤Q£F´oßžÐÐP^ýõJy-DDª"íNZy”p+¥a±�¾ÄÙÝŸ�cõ>'¸³CCbì\YûÂK¼ç´‹¯wdòÉ–t>ޜΑsn>¼=œ{:±ý¸«XÓK§N�ÊàÁƒ!û[Êß~û�O>ù„Ù³g—Ùô3»ÝŽÙl&=ýâäaeÆ%""""e'<<œsçΑ‘Qôߢ˖-Ãn·:¥ô–[n¡F�L™2‹ÅÂm·ÝÆ€øê«¯|uš7oÎ×_Íùóçéׯ#GŽdýúõ|þùçíø)""r¹R­”Æw�ì‘m«÷9©fæƒÛ#h]Ç’«ÞïØø}ÃÛrïçs¾Kå•þ¡ŒïRìõÜ>úè#^{í5‚ƒƒ¹þúëyñÅ aêÔ©er_�>ú(W\q�>úè%—HE0`Í›7÷=·Z­¤§§3cÆŒJ�KDD¤´Ìf3 6ä–[naÙ²eeÒg`` ×^{-o¾ù&))),Y²„?þñ�¹n[·nåøñãüðôiÓ†õë×ûÚˆˆˆTJ¸•°Ø@ê×0³ùè…©¢òM¶åÔ&Úʬáá ™u–�7§ûÖtX¬¤›Óé$%%…””æÌ™Cxx8£G�®ôÄÖ¥—HI,Z´(×ó=z�••Uiñˆˆˆ”VŸ>}èÓ§†apúôi–.]ÊêիˤïZµja2™¸çž{0 �ǃÅbÁn·ØæôéÓ�½û©ˆˆHU¢1ۥЧå…?æf'ÊîìTh²Í«M´•¿ÊÕÖÛWImذ�š5kraÄÝÆ�éÖ­›ï|»víHHHð=Ÿ?>£G�æ›o¾a×®],^¼Ø·Mü¨Q£3f ƒ bß¾}¼ôÒK�ýMèèÑ£Y¹r%Û·ogÖ¬Y4lذXqÍŸ?Ÿ¡C‡òÉ'Ÿ°sçNþïÿþ¯Ä}‹T$‹ÅB»víØºuke‡"""Rb«V­â±Çã‘Ga„ ¬Zµê¢�üÙ|!?Þ¥H¦L™ÂË/¿ÌäÉ“ùÛßþÆ_þò—2‰]DDär¢„[)ÄÖ»0@pýÁ #^nnëÒì–¶�¹Úzû*©:uêpêÔ)‡ßm®¿þz&NœÈu×]ÇæÍ›yë­·°Ùl̘1ƒiÓ¦1þ|š7oîû#iܸq 0€‡~˜�ât:ùì³Ï ýF2¿¸^xá¾úê+þð‡?°qãÆ÷-R‘Z¶lÉÑ£G‹õÿ˜ˆˆˆ¿Š³Óh^ÅÙáÔ»KiA#¶333‰ŽŽ.´«5ÿ¿[Ïž=Kff&mÛ¶õ+n‘ªL ·Rˆ½ðÇÍ¡ä ü®–ÿI³–µ-¹Úzû*.«ÕJLL O=õ3gÎ,VÛ/¿ü’;v�””Äþój×®MÓ¦Mó­ÀÈ‘#™0a»wïæÐ¡CŒ7ŽÐÐPúöí[¬¸Þxã æÌ™Ã®]»HOO/vß"•¡cÇŽlÞ¼¹²Ã‘*Ê»ÁTaÓ/ âmS›TíÛ·�nݺEÍš5¹þúës�ONN¦yóæÔ¬Y“€€€\ç<+W®¤ÿþ\y啘Íf"##5kADDª%­áVIŠþþ±p÷ß?÷ß?†apøðaÞ}÷]>úè£÷wäÈÒÒÒ|S?ójܸ16›�íÛ·ûÊÒÒÒØ²eK®Eåý‰+ï.Xþö-RY¢¢¢ ãàÁƒ•ŠˆˆTQééé„……Jff¦_£ÕÈÝæýû­8»ËdÞ¼yÜ}÷Ý<ÿüó$''‡Ëåò�ß°amÚ´áÙgŸeïÞ½}±º|ùrœN'C† !<<œ””V®\É‘#GJ›ˆˆÈåD ·R8™jP¿†‰Æö'¹Ø›è¢}}ÿ¦@î=}áÈÆ__ÅáÝ 433§Ó™o�âNI(ì;»ÝŽÙlÆb±àñx|åN§“ÌÌÌbÅUÒ¾E*KÇŽÙ²e‹ß~DDDŠËáp„Õj%**ŠÔÔÔBo&“ »ÝNhh(‹Å7U´0o¿ýv‘q¤¤¤0}úô\eK–,ñ=v:�EΪX½z5«V­Ê÷\Þ¾].ýë_‹ŒKDDär£)¥¥°íø…oûº\q!ÉöÕvÿ“C_íÈÈÕÖÛ—¿¼»�”ÔJKK£E‹Åê3¯œë§8pÃ0èܹ³¯Ìb±Ëž={üŽ+?þö-R¬V+­[·æ—_~©ìPDD¤Š;{ö,.— «ÕJDDÑÑÑÔ­[7ß#::šˆˆ¬V+.—‹äääÊ_DDDrP­–'\H°Ý{a„O¶¤³ódщ³�']|²%=W[o_eeãÆ�Ü~ûí4hЀúõësÇw«ý±cÇèܹ3 4 88‡ÃÁ_|ÁË/¿ÌUW]E­Zµ˜4i‰‰‰¬Y³¦T±–gß"¥Õ¦M8P&ÓtDDD ãv»ILL$%%—ËUèÈjÃ0p¹\¤¤¤�””T&ë·‰ˆˆHÙQ­ælËàØyX¹³CN7Üûù¹B“n;Oº¸÷ósd¹áÎAth`åØys¶eئ$^yåNœ8ÁòåËùä“O8|øp±F�}ùå—lÚ´‰eË–1mÚ4&MšÄªU«˜9s&K—.%<<œ»ï¾»L¦Ù•gß"¥±mÛ6¾ùæ›ÊCDDª‡ÃAbb"'Ožäĉù'Ož$11Q»g‹ˆˆ\¢J¶5féú3ñ8g™9GYÞÃ{ÞûÜœç0–ìÚ}X€±±±ëËjØý°Ø@^ÀÝŸ�cõ>'6 Üñû nièÛ�tÏi7_ïÈà“-éd¹¡{ó>¼=€'æ§”yÂMD.‡C#DDª�ÇCxxx¹_§$_XúÓÆß~ Ã(Vݼ�õ…«ˆHÕIBBBà<à\Ù‡;û0OžÃÈQNŽç9rœ'G™‘OYÞÇ)³_BÚ4¡”ælË ]=+÷t âÃÛÙð]*oNgöÆ G~îìÄ+ýC˜½1]É6‘jÂ0Œbol%"""—%ÜÊÀóKR¸§Ó…DÚ­±�ÌÝ–ÁúƒYJþßn¤]®°qkl \xÙgoL÷µ‘ªÍd2áv»±Zõ'¸ˆˆHU§ßöeäù%©l?îb|÷:4°Ò¡Ah�u��÷ðÏÕ�l©fœN§n—˜âL�© L&“F[Wý¶/Cs¶e0g[ÃbéÓÒNl=+Ñ¡~ˆO¦l;îbyB¦m""""ÕTVVn·‹ÅRÙ¡Tk‹…€€l6‹E;Í׉¹Þ9ÝFÄøûœt2d7Ýtýúõ#'ç?ÃQwïÞ]#í‘Òz÷î­!@""RëL&ááá˜ÍD7 ˜Íf‚ƒƒñ÷÷'33—ËU'qŠˆˆHÅ4¤´b¯²Wœ(»¿kÀ“m›¹÷ú€R×zÊòųÏ>Ë»ï¾[*Ùv!‹…‰'²víZöîÝËêÕ«:th©sâãã:t(³gÏf×®]Ü|óÍ�Fž|òIV¯^ÍöíÛùì³ÏhÞ¼¹OõÆÇÇóä“O²páBvïÞͲe˸ᆼÇo¹åâããÙ³gë֭㥗^òÛ¼y3¿ÿýï½Ï;wîLRRÒãõµ�Š àÑGåûï¿ç×_-Õ^‹Å„ X¿~=‰‰‰üõ¯Åf³ùt/äÒÕ¬Y3ÂÃÃK½ÿDDD*Ë—•3=É6§ÓIff&'Ožäĉen'Ož$33§Ó‰Ùl&,,¬NÚ!"""¾Q­bšžýõqýáBî¼Ö÷¤Ù]×ú—ºÖSVEhÓ¦ ‰‰‰>×UXXÈáÇ3f }ûö%..Ž©S§]ê¼×^{�ùóç3lØ06oÞ ÀsÏ=ÇwÜÁرc0`Ì™3‹ÅâSݽzõb„ ôìÙ“ÄÄD>üðC, ¡¡¡Ìœ9“o¿ý–îÝ»3zôh–-[æs›ÊŠ××v–ÀO<Áˆ#xöÙgéß¿? , ##€É“'ÍÀ�0`-[¶düøñ•ŠY.-f³™þýûWú½)""RY6›Í›lKOO'//ï‚I:·ÛM^^éééÞ¤[```�Æ,"""åÓ�ÒjhtvN�ä̳Ý÷ÛGú~;¯jh*u­§¬Š´jÕ ƒÁàMùê‹/¾ð>~ÿý÷9r$]ºtáÀ�Þýï¼ósçÎõ>÷óócôèÑŒ9’={ö@q.!!�¾}û²téÒ ë�7ožwΫ>ø€û￟6mÚ`0°X,|ÿý÷dee‘••U©ö”¯¯í,/¦ðÔSOñÀ°}ûv.\@PP÷Þ{/ƒ&==ŠçÑ›1c'N¬tìrièÕ«¿üò‹æF‘ZpvôCNNŽO½á<Ün7v»�ÐÐPp8åžûøã�{{ö»\.Nœ8Áºuëøá‡*Ugyž}öYظqcµË¹Ô)áVOªú‘&55Šo™™™>_× AL·n݈ˆˆ 22ÒûÁÎ#/¯ôr-[¶Äb±x“O‡ƒ­[·Ò¶mÛJÇž’’‚ÃáÀf³±mÛ6Ö¯_ϪU«øþûï™3g?ÿüs¥Ê;7^_ÛY^L-Z´Àf³•j¯Gtt4F£‘�>úÈû�Ôl6T©˜åÒETT«W¯®ïPDDä à™+4??¿Ò×z®ñe¾Ñ5kÖ0oÞ<üüüèØ±#÷ÜsV«•%K–T!j)�nÕp2ÇMTˆ�–a&¤;Ù—æ¤K”oC-÷�:Û³­e˜É[–/222HKK£W¯^üúë¯>]c³ÙX°`K—.å½÷ÞãèÑ£¥z‚•Çjµb41™Ly÷Téà %æ/q¹\Üwß}üîw¿cĈÌœ9“„„F�í=·¼U¹ÊSÕvzb )·^O§Áƒ“––V©¸äÒÔ¹sg½ïÉàà`®¾új®½öZæÌ™SßቈÈeÆóù£*=Í<×øòÙÉétâp8p8$$$Èí·ß®„›ˆˆH S­¶wâG�V¤;™¿=ßç„Ûüg{gõheñ–å«�?þ˜gžy†… ’œœ\áù�;w&<<œ)S¦x÷ùòaîСC¸Ýnn¼ñFoï3“ÉDLL ³gÏö9Þ Ù°a6l`æÌ™¬X±‚&MšpâÄ íڵ㧟~ò¹¬ª¶Ó#99£ÑHLL [¶l)u,%%»ÝNll¬’-WˆåË——zÞ¿Ž=êŽ,""r9Ø·o#FŒÀßß§ÓÉ]wÝELL ¡¡¡ddd°téR6mÚTêšÞ½{Ó£G‚ƒƒ9xð qqqçMwÀÿøG~ýõWV­ZUêXûöí‰��¥Aƒdee±sçN¾ÿþ{žyæÞ{ï½:h¹ˆˆHíÒ¢ Õ°*él/¯á1g@˜½5—]'+Nœí:édöÖÜR×zÊòÅ'Ÿ|ÂöíÛY²d >ø W_}5ÑÑÑ 2„ØØX(î ×¢E ©©©óÀРA† BÇŽ+¬Çn·óí·ßòæ›orÝu×ɤI“HKKcݺu>Ç[–°°0î¾ûnš4iB@@Ý»wÇáppúôi(^¥ôž{î¡Y³fDEEqß}÷UXfUÛéqúôi–/_Îo¼Att46›�ØØXl6N§“?ü�—^z‰ž={b2™ˆŠŠ"&&¦Z÷ADDD¤>…††’••E^^N§“S§Nñá‡òÆo°aÃ|ðA7nì=¿oß¾tïÞ�/¿ü’¿þõ¯üûßÿ&''§T™F£‘x€'Nœ—l àþûïgË–-L�:•9sæxç ¹œ(áV s·åqìL]›™¹¿k.x䛬 &Ýv�tòÈ7Yºàþ®tmfæØ™"æn;>²ò8�Nî½÷^þþ÷¿3hÐ ¾ûî;æÏŸÏ<@pp0ÿüç?¹óÎ;ùè£�8pàS¦Lá¹çžcõêÕôïßßç„Ù¤I“X³f�·Zhh(>ø`µ'Ö áöÛogéÒ¥üúë¯Üwß}Œ;Ö;Tõ­·Þò~H›={6GŽ¡  à‚eV§�/¾ø"{÷î%..Ž�72zôh˜>}:|ð“'OfÇŽ|óÍ7tîܹwA.%Ë—/Wï6¹l�FZ¶lÉ]wÝÅÊ•+½û׬YñcÇ8uêË–-#==�V­Zy¯éׯsæÌáÈ‘#dee±uëÖRŸÑ wÞy'þþþ|ûí·çÕ‚ÙlfïÞ½äå呚šÊÑ£Gë¨Õ"""u§r“dÕLy† —Üg,±ïÜÍsÜóÜxÎfLÅ›¹x3!111ë+³àÀ…Œˆñgê ³I®çd±ö·,&¸ïúîºÖß»éÞS.ìÈcöÖ\ ]ð‡¶~|qO(ŽÏ®TÂMD® v»—ËUßaˆˆH p»Ý¸ÝnBCCË<Þ¤INœ8Q¥ò=½ÐNž‹Óé¤yóæ¼ùæ›e®Bo4yøá‡iÞ¼9»wïfóæÍÞÕäÝnw� )õÜëÈÈÈj•#""�––†Á`¨ôë%…‡‡“””Ô8¸gñæ*ÞÜ@Ñ9›»Ä~J÷r3 Øl6oÕqâÄ æÍ›ÇÀ�2d»ví:oÑÙ³g3|øpþô§?a49zô(Ç�/•pXµjÍ›7çÁdÚ´iÞžkž„[ß¾}±X,œ:uйsçz“…?üðCµÚ ""r±Ð¢ "")-š "rù¨hÑ€ÈÈHÌf3N§“œœœ &Þ V«•   L&N§“ôôto]U‰¯&ΡD[+[¯çqUâ/«~-š "R}Z4¡êŒ>œ#"""""µìôéÓ8�NÌf3aaa4nܘ&Mš”¹5nܘ°°0o‚N?&_žÞyç6oÞLÆ Ï;öÔSOñÎ;ïÔJ½V«ÿ ÷UG\\ǯ±òjBuÚh2™øË_þ† ø×¿þE»víj<¾Šøùù±gÏZ¶léó57Ýt{öìáÝwß­vù:^Öýyúé§éÞ½»÷œÚzO\Œï5¹2hH©ˆˆˆˆÈEÀår‘––†Íf# “ÉTn�·Û�Ëå"77»Ý^ç±JÝ1›ÍŒ?ž^x¡Îê|â‰'hÙ²e©:ËÚw¹©N‡ F÷îÝ4hEEEdeeÕJŒ5mÀ€$$$pË-·`µZÏ^Sʺ?·Ýv‡ƒ�7ÖJ�"õM 7‘‹ˆÝnWM¼þïÿþ�ÁƒsÓM7‘��PßáH9Z·nÍŽ;8uêT}‡â3‹ÅBß¾}yøá‡ùüóÏéÙ³'ßÿ}­ÔUÖý0`@­Ô%r±Ð�R‘‹TVVûÛߘ4i~~~åžg43f Ë–-cÓ¦M̘1£Ô*³‹…ñãdzbÅ ~ùå–-[Æ�!C¼Ç{ì1žxâ î¸ãvîÜÉ«¯¾Z澊Êñx衇X²d 7nÿüóüðÃlܸ‘ÿþïÿ.÷ýQ–›o¾™œœvíÚEBBýúõ+u¼¢ò}­¿¼ûÇ�wÞYn|½ž¾¼6z¯ùò¾2dŸ}ö[¶lᦛnòé:%ÜDDDDDD.b‹-âØ±cŒ3¦Üsžzê)n»í6žyæ† Faa!Ÿþ9‹¥Ôy………$''óä“O2hÐ æÍ›Ç[o½E›6møä“O˜1cK—.¥S§N¼þúëeŠ“XwÝuãÆ�cðàÁÄÇÇ“‘‘á=Þ¢E ^ýubccùõ×_yï½÷JÅÛ£G&NœHß¾}IIIá»ï¾£iÓ¦<ñÄ 6Œ–-[òÜsÏyÏÿË_þB›6m>|8C‡¥E‹üùÏ.Õþ›o¾™×^{í¼:ËjcHHÓ§Oç»ï¾£W¯^<ù䓬\¹ò¼{ÿꫯòÙgŸ±`Á:uêäM"ùúš\Hyñ¼ð ôìÙ“?þñ� :´Ò+0À»2ðÚµk¹õÖ[KÅVQù¾Ö_Þý©È…^O__� ½×|yßL˜0�E‹qß}÷‘˜˜èóureSÂMDD’½Ò€ IDATDDDä"7yòdzè!ZµjuÞ1???F�ŤI“HJJâÈ‘#Œ7Ž   n½õÖóΟ={6ûöíãÈ‘#Ìœ9“£G�Sé˜.TŽÉdâñÇgÒ¤Iìܹ““'O²dÉ’RI™¸¸8vìØAzz:3gÎ$22²Tû-ZÄîÝ»IOOçŸÿü'ƒ�O?ý”””:ļyó¼=•‚‚‚1bÓ§O'==�'NðÞ{ï[*æ… ²k×®rë,©qãÆX,Ö¬YÙ3gØ·oÛ·o÷éÞTö5)OyñZ­Vî¿ÿ~^}õUöìÙÃÑ£Gyë­·|.7 €[o½Õ›p[·nAAAÞw•_Ýú+RÑëYÙצ¼÷š¯ï›÷Þ{�ùóç³wï^òòò|¾N®lšÃMDDDDDä"wèÐ!>ÿüs&MšÄ¨Q£JkÑ¢f³™�;wz÷åææòË/¿}^Y 0€®]»Nddd•Vç¼P9Í›7Çf³±cÇŸÊ:zô(¹¹¹Øl¶2�ÿöÛo¥âÜ¿¿w_ëÖ­1�L›6 ·Û Å NU¹Î°qãF–,YÂêÕ«‰‹‹cýúõ>µ§²¯‰/JÆÛ¢E L&»víò÷´Û·Þz+n·›;v€Ýn'))‰~ýú±nݺ ˯ný©èõ¬ÎkSò>úú¾9w1‰ª¼ßäÊ£„›ˆˆˆˆˆÈ%`æÌ™,Z´è¼Éæ­V+F£“ÉDQQ‘waaáy‰‚ÀÀ@¾ùæ–/_Îûï¿ÏñãÇùøã�+KEå„„„@ñ|·ÛM·nݼûL&×^{-III¥Ê¸öÚk cêÔ©ìß¿»Ý^fÒ©¬yÆJœ#GŽ`4¹öÚkk¤í9vìv»½RÃ5ËRV»7mÚÄøñã¹÷Þ{éÓ§�7®°_^‡ÃQåÞne•ï«��n¾ùfF�E‡¼[ll,aaaÜxã�–_�ú}áëëY•צ*õÔÔureQÂMDDDDä b2[ð³úcµx7ÿÀ[þþ¥Žÿ眲�y6??¬%Êöó³b2û>A¼TlÆ $$$0räHï>»ÝÎwß}Çk¯½FçÎ�iР¯¼ò éééüüóÏ¥®?uêÁÁÁÜ{ï½DDD0pà@:tèPêœãÇ�Ó­[7¢¢¢(s_Eådff²råJ&NœH›6m°ÙlôîÝ»ÖVqt:�|òÉ'<ÿüóÜtÓM˜L&š6mZ©„ß¹m eèС4nÜn¼ñFrssÉÌ̬°,_^“ÄÄD†NTTM›6-õšúRþ‚ ˜_Ê™0aûöíã믿fÍš5Œ5а°°Z»/3fÌ`æÌ™L˜0�Í›7óÅ_ЩS'Ÿ¯?·�!!!ôë×�yóæ±qãFFŒÁ3Ï•±bÅ vìØQ…ÖVÍÓO?M«V­xúé§ë¬N‘ªjР}úôÁn·³dÉ’r÷‰ˆˆˆˆˆˆ”G ·jè@#³‘]ù…Þžme%ÛJjëgæ­&aÉÂ… Ù½{7Ë–-ã†n(u|äÈ‘¥ž?òÈ#Ì›7�]»v±páB®»î:Ÿ�[,&L˜ÀúõëILLä¯ý+6› €'žx‚§žzŠAƒñÛo¿ñÆoøÔN‘ú°sçN>ùä8pÁ}"""—“Aƒ‘•™Å»ÿ;‹/áÿÝ~Öÿ|6mÕº5¢Ol†AŽ=§Ìrzßr+ÍÑ&""J¸UÏÕV ¿äkó÷ùÚØâ„›çZOYÙºu+{öìaîܹŒ;–¦M›–y^¯^½˜0a={ö$11‘?ü‹¥ü:î¾ûnÞ|óMn½õVùúë¯ ñéøäÉ“‰ŽŽfàÀ� 0€–-[2~üxf̘ÁôéÓ‰��§mÛ¶Lœ8Ñç{$R×RSSq»Ýî¹\Xý­t¼¦«×¬·›Ã‡“9pð�¯íì=§uëV>t�íÛ·3sæ öïÿí¼rš5�"<<œ¤}IuÜ‘‹“nÕÐÀtö¼ã….ZùлͣµÅ\êZOYÉÏÏgèС|úé§<úè£üüóÏL›6�k®¹¦ÔyóæÍcÇŽ¤§§óÁаaCÚ´iSn¹³fÍbË–-œ8q‚7Þxƒôôt\áñ   î½÷^þñ��žžÎñãÇ™:u*ýû÷÷ù^ˆˆˆˆHýhIZZ®â©JŽ9BdÃ`1›ÉÌÌ"õdÙ?B™Ì&úõíÏ¿–-Àz¸‰ˆˆ 9ÜêOuúËØívf̘Á'Ÿ|Bll,�=ö‹-bðàÁìÞ½û¼óSRRp8Þaž)**bË–-å&èJ�ŽŽÆh4òÑGy?€™Íf‚‚‚ªÑB© AÁ6róòJís8r½£(ZµnÅ¡C‡.XÆzý�_·ýJNv6(á&""J¸UOºËM#³�¦G œ.pÒÁß·¡¡‡ ÏþŠØÔbò–UYN§“eË–±jÕ*V®\É€ÊL¸•çr¹ÈÍ-ÏqÏʨƒ&--­’-‘ú”ëÈÅXzZ”kqò Z·jÅÁƒå'Ü¢¢¢hÖ,ŠV¯®õXEDD.%RZ {ó èâïÀªœ¼ ®ø�UÅ+’z®õ”UN§“ÔÔTòóó«\Fppp©ç×]wûöí«ðxJJ v»�ØØØ –¡ùãDDDD¤~¤§§Ù‹ß>«E5kÆÉÔS´n݆ƒèáC ÍÆèÑ�1zÌh:]Û‘[néÍÝwß]'ñ‹ˆˆ\¬ÔíÖ;ò¹Ùf¥_°?ñg,Îvp{Hm+˜Ëí·'‹‹ný‚ý½eùâúë¯gÈ�!|ÿý÷:t³ÙÌàÁƒéܹ3/¿ür•Ûòì³Ïrøðayà� béÒ¥w:�|øá‡¼ôÒK¤¤¤°~ýz7nLdd$Û¶màØ±cÜwß}4k֌ӧOãp8ª§ˆˆˆˆÔ‡ÃÁÞ½{¹µwo–¯XI“&�hÓº ‹-Âjµâgµp&+«Üë—-[Vêyß¾}9v,…íÛwÖAô"""/%ܪayv.‡ÑÑjaPH ñg¼r"“·š„•›tû­ÀÉ+'2qºaPH ­R�E,Ï.øfIYÅx^{í5¢¢¢ÈÍÍeûöíÜ{ï½8p Êmùé§Ÿxå•WhÔ¨[¶láî»ï¦°°Ð§ãÓ§O'//�É“'EZZ3fÌð&ÜæÍ›GïÞ½Y¹r%6l`Ô¨QUŽS¤.ìÞ½û¼áÙeí¹,\¸�»†ÞÅóÏ=‡Ã‘ÃìÙ³qÒ®]{N®ïðDDD.I5=«©/å*x\rŸ±Ä¾s7ÏqÏsã9›0oæâÍ„ÄÄĬÏÌ̬fSÏêÀ¸†!Œ?‘É¿ù˜ 008€Øàïj¤ �|Ÿ�Ëâì\œn¸!ÐÊ_›„ð?§Îøœp« ñññ|õÕW|óÍ7U:."µÃn·ãr¹ê; ©n··ÛMhhh�Ôu.ÿÀsÏ¢ü)~Ïè˩ԓüúëöóŽ•wíÙº/\v~~Þ9ç—~\Ù¹‡ËŠÁívY­rDDÒÒÒ0  UO…‡‡“””Ô8¸gñæ*ÞÜ@Ñ9›»Ä~J¨‡›ˆˆˆˆÈ ¨¨ˆ‚üN§“ÀÀ@üüüj´‘KYAA‡ÃÛëZɶš¡„[-1™Œ  �gß°Fƒ�"ýj)""""RçÀd2ñꫯ2dÈNŸ>Íã�?NRRR�Ô%"""r¥p»ÝX,,K� m¬Êk¾\ãk¹n·»Rçžû¸.�8÷>kÁ ¹’(ÁV7”p«%ß«ÁÁ¥nGpœ>M»æü²Ç�ÛM�ônûòË/ùÛßþF`` ½zõbòäÉØl6¦M›Ví²Ë²bÅ vìØá}~÷ÝwÓ£GúõëGQQ™™™µR¯HmkÞ¼9·Ýv���8–-[FJJ ÿGtÓM7Ñ©S'l6§OŸ&..N«œ‰ˆH�0™LX­VL&S}‡rÅÓ—O©iJ¸Õ€¬Ü|,ŒF#ö‚|ù¾˜òEN'«~ÞÌÿ®ù•ÿ{iÛMFÒsÞ…ª£  €ììl²³³™;w.¡¡¡<ù䓵–p{ûí·K=�ŽŽfÛ¶m¤¦¦ÖJ}"uÁ`00lØ0æÎ�˱cÇèܹ3wÝu—÷ßÑ-·ÜB@@Ÿ~ú).—‹ `·Ûë;l¹ ˜Íæ_�SDDD.š° ì<žJ‘ÛÍõ×_EÓF\ÝWQ¿MåúNíyºWg¢Ú¶Æjcù®ýÔF‡õM›6�Íf;ï˜Åbaâĉ¬]»–½{÷²zõj†Zêœøøxž|òI.\ÈîÝ»Y¶l7ÜpC©ã#GŽ`Ê”)Œ=šáÇóÛo¿±lÙ2Þÿýó’rcÇŽåã�?®…ÖŠÔ “É„Åb!#ãìB&û÷ï÷)±Z­têÔ‰+Vàt:q»Ý¤¥¥iȉˆˆT›ÑhT²MDDä2§„[ Ø—šÁgë·’œã qd8/�¾›wfÍãÚ»þÈš´|îæq""¸»m>1„ÎíZÔx �5"55µÌÞ7………>|˜1cÆÐ·o_âââ˜:u*ÑÑÑ¥ÎëÕ«&L gÏž$&&òá‡b±XÎ+ïå—_æã�?&..޶mÛrÛm·±xñbúôéSjÒÙ¾}û²dÉ’o«HMq:�ìÙ³‡ÁƒÓ¤IúõëÇO?ý@ƒ HOO'::š»ï¾›‘#GÒ¢EÍÿÛ‘+KQQþþþõ†ˆˆˆÔ2%ÜjH¡«ˆ÷þï_>‘†#7�CGOr}‡h’%ßå&m÷.rN'èÄaÞ¼·V‹™^]¯¡[ÇhJ/ŸÙl¦S§NŒ7Ž™3g–{Þ_|ÁÞ½{INNæý÷ß'%%….]º”:gÞ¼yìØ±ƒôôt>øà6lH›6m|ŠcõêÕpÝu×Aq²¢S§N¬ZµªZí©m?üð�7æþûï'((ˆ={ö`³ÙˆŒŒ¤iÓ¦,Y²„ÿûߌ9’ÀÀóFñ•gq¹¼i·tÆžËÁ”TZ6ŠàïãFc41 ˜L& J õlj#á³×Évä2à™ÿ©R]�>ú(�>ú(n·›#GŽðÉ'Ÿðå—_–{~ƒ }øñÇ5¹¼\ÔÌf3£F�â»ï¾#55•n¸�Ñ£GóñÇãp8(((`ݺu¸Ýn8@jj*Íš5cß¾}õºˆˆ\‚Ün7~~~õ†ˆˆˆÔ%Üj˜¿ÕBnFÉ?þˆ9 ³Õ�&]®Ç•_@³»ã*È'¢];Þ�[ŬÅë°çåW©Ï*¥ùùù\ð\›ÍÆ‚ Xºt)ï½÷G�å‹/¾¨°ŽÊÎUµxñb^xáÞ~ûmúõë§á¤rÑ‹ŽŽ&55•cÇŽ°~ýzÚ´iC›6mHNNÆf³a0¼ÿòóó)**ªç¨EDäRåv»Õ»MDDä ¡!¥5lïáㄇc´XÈÍHÇÖ¤ ~ÁÁ„µnMD»v4ìØ ƒȨ́ñkIËÌ®r=žUJ+J¶tîÜ™ððp¦L™BRRv»½V&~_³f Í›7§}ûötïÞ]ÃI増““CTTQQQ„„„дiS222°Ûí9r„ßÿþ÷„……ѸqcŽ=ZÏQ‹ˆÈ¥Ì`0Ôw"""RÔí†mܱŸ‡ö¢Ým·±é—=4¼¦#Æ@Ë×ÿJÿ×nì¹UëÙæ«ŒŒ Z´h�Á` 55•àà`xà–.]JÏž=騱#óçϯÑ:óóóYµj¯½ö›6m";»ê E‘ºpìØ1Ö®]Ë�wÞ‰Åb!??Ÿ•+WròäI(^�wðàÁ<õÔSäåå±páBòòòê;l¹ÌÙl60™Lå&èÜn7.—‹ÜÜÜ2Í‘ú¥„[ KÏ:;g™½ÀÉ”ÙËXØíZ^y‹Önaï¼w¶+ù…µÇ?ÿùOÞzë-®ºê*ÆŒÔ)Sxî¹çxñÅùé§ŸX·n]­Ô»xñb>þøcž{î¹Z)_¤¦mݺ•­[·–y,//�o¿ý¶Îc‘+“Éd"<<³¹â�胳ÙLpp0þþþdffâr¹ê$N©˜n5­x¨fn^~©ùÙvü–BïÎÑäœ8NQpŽ*ÎÝðôÓOWxκuëèÙ³§÷ùŒ3˜1cF¹ç4è¼};v,÷ø›o¾Yf9û÷ïÇét²råÊ c¹Rø2�‡'Ùæt:ÉÉÉ!??¿Üë V«•   Ìf3aaa¤§§×Bä"""RJ¸Õ°a¿ïL¡Ã�ÓU„‰U¨üý,$ì:ÄŸ/!ñp*yùµ×»­>õë×�Ÿ~úIÃIEDDD*Áf³y“mééé&èÜn7yyyäçç�Ùl&00‡ÃQg1‹ˆˆHù”p«aßoÜN ÉÀŠ�‡q»ÝœØ›„Ñl¢¨¨ˆ¬Ü|æüøk}‡X« ÄW_}Ußaˆˆˆˆ\R xAŸÊ,nåv»±Û턆†pÁ„Ûã�?Î 7Ü€Ëåâĉ¬[·Ž~ø¡Â:'L˜À¿ÿýo–/_îS\‹ƒÁPî_cÇŽeãÆ�lٲŧòDDD.5J¸Õ°e¿ìgÙ/û½Ïo�ðf³™¬œËÿׯ֭[Ó±cG '©$“ÉÅ‹PU–çO²fÍæÍ›‡ŸŸ;väž{îÁjµ²dÉ’ ^·}ûv’““}Ž©OŸ>4hЀ¯¿þÚçkDDD.'J¸Õ2{^Pö/{—›C‡ѦM›úCDDDä’ãY�´2½Û<<×”·¢iIN§‡Ã�Ãá !!�ÀÀ@n¿ýö n‹-ªRl"""W*%ÜDDDDD®PûöícĈøûû“——ÇË/¿Ì?üÀï~÷;Z·nÍÌ™3Ù½{7ãÆ�ãÇ$!!€?ÿùÏlÛ¶�k¯½–&Mš�ššJ\\‡¢wïÞôéÓ·ÛMLL 6l`þüùçÕݾ}{~÷»ßBrr2K—.%##£ˆHÍSÂMDDDDä JVVyyyÞ}#GŽdîܹÄÅÅ‘ššZîµW_}5sçÎåôéÓÜ~ûí<üðüþúë¬^½??¿ ‡”†††G~~>·Ür <ðï¿ÿ>……—çâb""re1Öw"""""R·ŒF#-[¶ä®»î:oþÝE‹±~ýzŽ=zÁä×æÍ›9rä999¬ZµŠ��6lès ›7oæäÉ“dffÀ5×\S�V‰ˆˆ\<ÔÃMDDDDä Kll,n·›S§N±bÅ Ö®][Ꜫô0;}ú4ùùùX­Ö*Åår¹HNN¦AƒUº^DDäb£„›ˆˆˆˆÈ³JiaaáE7t³¨¨ˆ¢¢¢úCDD¤FhH©ˆˆˆˆH=«ÌJ£çªÌ §žUJë"Ùf2™.xüܶ6mÚ”S§NÕrT"""uC 7‘zær¹ª4$Ós�§Œ‹Aff&mÚ´!""??¿2ÏéÑ£M›6Åf³‹ÑhdïÞ½u«ˆˆHmÐ�R‘z–››Kpp0AAAäççûÔ[�â^b6›Í[ÆÅ"11‘:ð /°oß>fÍšuÞ9Sy+m IDATäž{îÁÏÏ�ƒòÕW_iH©ˆˆ\6*ßg½úå*x\rŸ±Ä¾s7ÏqÏsã9›0oæâÍ„ÄÄĬÏÌ̬fSEDj—Ýn¿¨z+ˆˆHÕ¹ÝnÜn7¡¡¡åž‰ÙlÆét’““sÁÄ›Á`Àjµ„ÉdÂét’žžî­«*ñÕÄ9”hkeëõ<®Jü""rñ '))©ppÎâÍU¼¹�¢s6w‰ý”x^r£ÄqJìs—±ïÜÇ婱ÿ„ÔÃMDDDDä"púôiÂÃÃ1›Í„……ù|]aa!ú1YDDä⢄›ˆˆˆˆÈEÀår‘––†Íf# “ÉTî" n·—ËEnn.v»½Îc‘ SÂMDDDDä"b·Û•D¹Ä)áV Ú·oOË–-‰ŒŒ$ Š'±MKK#99™}ûöÕwˆ""""""""RK”p«AíÛ·§k×®Þ•¢J²ÙlØl6ZµjE×®]ILLTâMDDDDDDDä2¤„[ éÑ£×\s ©©©ìß¿ŸãÇ�“�� @pp0M›6¥]»v4jÔˆ›o¾™ÈÈHÖ¯__Ï‘‹ˆˆˆˆˆˆˆHMR­”L¶%$$°gÏžóÎÉÊÊ"++‹={öСCnºé&ï5Jº‰ˆˆˆˆˆˆˆ\>”p«¦öíÛ{g+V¬ %%“ÉÄÕW_Mtt4áááP¼Ìû�Ø»w/{öì!''‡~ýúqÍ5×�––æóðÒµk×Òºuër�÷îÝ›ÔPëªfÚ´i <§ÓÉÁƒ™={6Ÿþ9.—«Ze¯ZµŠo¿ý–™3gV;N«ÕŠÑh$77·Úe‰ˆˆˆ\i, S§Nå�7Þ --­R׎;–�7²eË–Z‹ODD¤>)áVM]»v…âžm)))Øl6úöíKDDD©ó5jD£F�¸êª«X¹r%)))$$$pÓM7ѵkWŸnwÜqF£€Ç{Œßÿþ÷<òÈ#ÞãËŠV_~ù%ûÛß ¤W¯^Lž<›ÍÆ´iÓªUîŠ+عsg�ÄøôÓOÓªU+ž~úé)O.O 4 OŸ>Øív–,YRßለˆˆˆˆÈ%ÀXß\ÊÚ·o�Íf#55•={ö`2™ÊL¶•Aß¾}1™LìÙ³‡ÔÔTl6íÛ·÷©N»ÝNvv6ÙÙÙäååár¹¼Ï³³³)**ªÁV]AAÙÙÙœœ.]ºðøã�óã�?b4;v,Ç'22’Í›73qâDRRR¼±}õÕW|óÍ7¶ÕãÑGå¾ûî#22’ÄÄD&NœÈÀ�yê©§ ¸×àìÙ³™8qb�ܹ|ìܹ“5kÖСC¢££ë;‘*3›Í 6Œ.]ºJFF‹/fÆ Þs^yåéÒ¥ M›6%55•9sæðÛo¿`44hÿõ_ÿ…Åba×®]åÖ÷ì³Ï²yóf®»î:7nLjj* ,ð~¦hÓ¦ ]»v%22’´´4þõ¯qäÈ‘Z¾"""uC=ܪ!22€ãÇ�жm[Ÿ¯m×®]©k=eÕ„É“'ÍÀ�0`-[¶düøñrøðaÆŒCß¾}‰‹‹cêÔ©ç%zöìÉK/½D¯^½HNNfñâÅDEEñÈ#�0pà@ZµjŸqã|Ž©Q£F¤¦¦–J„½öÚkÌŸ?ŸaƱyófž{î9î¸ãÆŽË€(((`Μ9X,–J·à‰'ž`Ĉ<ûì³ôïߟ �‘‘ÁŒ3˜>}:ñññ´mÛVÉ6)Sjj*n·»¾Ã©6§ÓÉ©S§˜>}:“&M"!!�Gy„Æ�—:¯S§NÌž=›¿üå/úÈÛ3Çl6ä=§Aƒ <˜nݺAddä~ž¡®þþþ¥ö–{Í£�>Ê£�>ŠÛíæÈ‘#|òÉ'|ùå—¥ÎÉËË+õ¼eË–X,¶oßîÝçp8غuk™½+jk‹-°Ùl¥Ê¹R…„„pã�7Ò¶m[‚‚‚ ÁÏϯÜóÓÓÓÉÏÏÇjµ‰Ñh,5$´2ŠŠŠ8tè 4(óxVV………ŒGDDäR¢„[5äææb³Ù&++‹ÌÌL6lèÓµ™™™{˪ gΜ`ðàÁe.Ïn³ÙX°`K—.å½÷ÞãèÑ£|ñÅ,³¬!u ³ó¬RšŸŸOAA�O±[­VŒF#&“©ÔâäççŸw~Em À`0øT¿ˆˆˆÈåÊßߟW^y…Í›7OFFúÓŸ|¾Þb±`4«õ¹ÊívW8 UDDär¡!¥ÕàIò4mÚÀ;¡¬/< -x®-+aT)))ØívbccË<Þ¹sgÂÃÙ2e IIIØíöZ™£Ê³J©¯É6€C‡áv»¹ñƽûL&111ìÝ»÷¼ó+jkrr2F£±ÔÐ…s•77œˆˆˆÈå¤uëÖØl6âââ8vìyyy•ú è™×Ô3±/JŽŽhÞ¼9'Ož¬TÜ"""—*%ܪ!99J,€°wï^222*¼.##Û@ò\ë)«ºœN'~ø!/½ô={öÄd2åM:¥¦¦Ì<@ƒ 2d;v¬‘º«Ën·óí·ßòæ›orÝu×ɤI“HKKcݺuç�_Q[OŸ>ÍòåËyã�7ˆŽŽÆf³‹ÍfàØ±cÜxã�4kÖì‚ÃcEDDD.u™™™Ò»wo‚ƒƒéÞ½;-Z´ðùúüü|6nÜÈ=÷ÜCëÖ­ .5GpYbccéÔ©AAAÄÆÆbµZÙ¹sg ´FDDäâ§!¥Õ°oß>ºvíJ£F�èС{öìaåÊ•ôíÛ—ˆˆˆ2¯ÉÈÈ`åʕѡC5j„Ýn÷ΓV¦OŸN^^“'O&**Š´´4f̘Á¶mÛ8pàS¦Lá¹çžãÅ_ä§Ÿ~*3™U_&MšÄË/¿ÌÌ™3±X,üøã�<øàƒåþ{¡¶¼øâ‹¼öÚkÄÅÅáççÇÎ�;Ù½{7v»�yóæÑ»woV®\Ɇ 5jT·V.»wïf÷îÝõ†ˆˆH•�8q‚¸¸8† ÂСCÙ¹s'»víªTß~û-Ççñǧ°°�M›6]p”Æþýû¹ãŽ; "99™�>ú—ËU­¹øÕôäV¾”g¨àqÉ}ÆûÎÝ<Ç=Ï�çlÀT¼™‹7³Þ3‡Zuµoßž›o¾€+V�’’‚Ñhäꫯ¦]»vÞÕHOŸ>Ío¿ýÆÞ½{)**¢yóæôë×€ü±Fn—³%K–0kÖ,æÎ�[ß¡ˆÔ:»Ý®/&""— ·Û�Ûí&44´Nêª�k|-×ívó§?ý‰„„6mÚäs™žÇµ1݉ˆˆÔŸððp’’’zgà,Þ\ÿ¿½{�­ã¬÷=þ›‹o±“8عŸ„41Å©w#´Û¤MÊ%¡(¡*”¢ }�Ä›î ‚*HEû öq@ ‘(PA_ìÃIIOKU(ˆ¨ôf7ÉnA®Ò†&„(N’عØ^¾­53çE¼|Æ“Ykͬûåû‘–²fæyfžµ\5íÏÿçyf_ž$7ðò|çå;ö¿ä».ß9/ä\ð}&EûKˆ ·�8qBÝÝÝÚ¸q£vîÜ©þþ~?~ø \×�Р2XíÞóž÷híÚµêîîV[[›$irrRÃÃÃ:sæ A€HXà ê‹ëº ³†[œ¶Á÷¬áõ…5ÜP4'Nœ TÀ <Ï“aûwÞ Ú˜Ú(�aT.Р܀2™™™©ô@¸e’L&©r ¸e`† ÃÐÔÔT¥‡JŒÀ (#Çq411Qéa€"pÊ$½Ci*•R"‘`z)uŠÀ (£tèæ8ŽÆÇÇ511¡T*%Ïó*=4P$v¥4štèf†ÇÑäädIŸWÌ0/ß{åê—¾ÞÖÖ–×ý¨&T¸EDà�PD¬áVNß9ëûä-_+·}‘$ÉLŒÊ¸pFÖ©c²Ž©ôP<ÏSSS“šššdYÖÜÚn…Þ³}¢Þ×ó¼XmƒïÙ<PÜŠÈéÛ¢ÔÖ{ä.ì¼áš»°SZØ)§g“Ì­÷Èø=Á@³,K---²,«ÒCEFàV$Éÿ]©÷½_’dž?-ûÍ£2‡Nʸ6"IòwÉ]Ó£Ô-›å®\§™�Ê^¶FMϬðÈPn¶m³'uŒÀ­üa[ó¡'d ößÐÆ¸rQÖ•‹²ûålÚ¦™»?=ׇР q˜¦IØ@�#p+�Ó·e.8kù¿ûdž>.Y¶R›¶)õÞ•×½R’d Ÿ—}ü5Ùo ÈìWËèeMr�Rï{¿Ì‹C±¦—þä'?ÑÍ7߬�~ô£¡k\ôõõéw¿û�vïÞ­W_}µˆŸ…p]W ,¨ô0@‰¸(µõi¶²Í<}\^ÇbÍ|òßäv¯š×Î[ùn%W¾[οܡæ§öË<}\͇ž¸^é¶õžØë¹õööêÃþ°:tõ‡~¸ÀO4ž®®.Ý}÷ÝJ$zöÙg%I†ahÛ¶mêëëS{{»®\¹¢ßüæ7¯ôp5*½9¨onpú¶È]Ø)óüéëÓH-;4lós—®ÖÌý©åÿHÖ`¿ÌÙ5Ýœ¾-±B·ááa=üðÃ7n7Ýt“î¸ã�ŽŽôÙ€F²cÇõôôèܹsóÎoß¾]mmmzì±Çä8Žººº”H$*6N@móI’ýæQIRjÓ¶¬a[š»tµR·Þ9¯oú^Qýñ�T*•’çy�Æ @žçQÝ@ƒ p+€·|­$É:)Irzÿ5r_gãíóú¦ïÕÄÄ„{ì±yÓGW¬X¡]»véñÇ¿¡ý£�>ªõë×ëcû˜î½÷^­]»V�<òH¬gõêâÅ‹7i]]]ÑúõëõÀh÷îÝZ³fMÅÆ¨†aTz  Ü à¶/’$×F®¿kEô¾³mçúÎÞ+Ž_ýêWºí¶Û´qãFIÒC=¤'žxB×®]›×®££C>ø ~ô£iddDçÏŸ×~ðíÚµ+ö3�FÑÞÞ®îîn­\¹RÏ>û¬Ž=ªÝ»w³Ð5 äÒ-_¾\+V¬}-_¾\ÝÝÝÌX J±†[…*|ZÚèè¨üq}á _з¿ým}êSŸÒÎ�;oh·~ýz™¦©}ûöÍUñض­ŽŽŽ‚ÇÔ«‰‰ ÍÌÌèÅ_”çy:uê”.^¼¨Õ«Wëĉ• Y–¥%K–ȶsÿ'ºa²m[ .Tkk«®^½*ÇqÊ2N��[ÌĨ܅�òwɸrQæåÊ]ñîH}�Ë$IÞ⮹{åã¿ø…^zé%9Ž£çž{N.\¸¡Mz…ûî»OÃÃÃy=h4W¯^U{{» Ø ª§§§åºn¥‡¨AQÖM‡m©TJãããšžžÎØÏ0 µ´´¨££C¶m«³³S###%9ÈSJ `\8#Ir×ôH’¬·^‹Ü×zë¿æõMß+®‘‘8p@ŸøÄ'´oß¾Ð6gÏžU"‘ÐG>ò‘¼ž4¢D"¡¡¡!Ýu×]’¤ÎÎN-_¾\ï¼óN¥‡¨CííísaÛÈȈ¦¦¦²†tžçijjJ###J¥R²m›e¨"µTáæIŠ»ÊlI·´N“Ó³I©[6Ëì—ýÆ€œ¹CîÒÕYû™—Þ‘58 IJݲyî^ùúñ�¬çž{nÞ‹~©TJ?ûÙÏôõ¯]gÏžÕÀÀÀܺƒƒƒy?¨wÏ<óŒî»ï>}ñ‹_ÔÔÔ”ž~úiMMMUzX€:ÔÖÖ&I�µ#¶çyJ$Z¼x±ÚÚÚ411‘±íž={´yóæy}=ÏÓk¯½¦½{÷êßø†^xá½òÊ+’¤o}ë[:räˆþð‡?DËW¾òõ÷÷ëðáá×mÛ–aJ&“‘? ®å“Ù”4ç)¦JnùgUÉ:vDæÖ{ä®\'gÓ6Yƒýj~j¿fî(cèf^zGÍOí—á:r6m“»r�̱«²ŽÉ{W®\Ñ«¯¾šµÍOúSMMMéÑGÕªU«4<<¬½{÷¸>o½õ–Þz뭹㩩)8p ¢c4˲¤Ùå âJ÷Iß#›?ÿùÏzòÉ'ç…z©T*´íàà ÎœÉoF˜;v¨««K¿þõ¯‹vO"*{PWKnUÉø½fv>¨™»?­–ÑË2OWóþ/9›¶ÊÙxûÜn¤æÈyYÇ_“58 Ãuä®ëÕÌÝŸž»G_úÒ—r¶¹ýöÛç{ž§ýû÷kÿþý±ž€Ò3Œë¿�ŽSÝ––G6©T*kœßÓO?{,à:·YÇŽÈ^¶F©÷½_ÓŸÜ£æCO\Ÿ^ú×—eÿõåÐ>Φmÿ?lûëËU·¥ðÈ#�èÅ_T¿$É4M}üã×m·Ý¦¦¦& jÆ Ú»wïÜÆ\===ºóÎ;µtéR ë©§žÒ?þñ}èCÒŽ;äyžúúútäÈ=óÌ3þ„”�[4=P’”zßû5s÷§eÞ²Yö›Ge�”qíúnQÞâ.¹kz”ºe³Ü•ë¤Ù°-Ý(5Û¶ÕÒÒ"ù*ã’Éd¤Êºûï¿_7ß|³öíÛ§ÉÉIíܹSK—.�צ««KO>ù¤®\¹¢�;w곟ý¬¾ûÝïê…^PsssÆ)¥žahjá µŒ]”¼ð)®Ô’j Üjzm·¦çʼ8¤Ôìšn3³¡Zsìªì�ßSÙ€²Ú¾}»¶oß.ù6Møþ÷¿¯·ß~;k¿¦¦&}ðƒÔøÃ¹»<¨­[·Îkwøða Éó<=ÿüóºóÎ;ÕÕÕ¥ .äÛL{·¦Û—kѹ¿ô ­j6U¨¦À-ŽL᜗åzÉ¿tëØYÇŽÈéÛ"g}Ÿ¼åkå¶/’$™‰QÎÈ:uŒ  ñ§?ý)¯M ºººdš¦Îž=¹ÏåË—5333WQ—�áyZtþ %[Ç ¦„e3^–kÙÎWµZ ܲ©x¥\:xê�mÛ2M3ÒÆ …0òØ4Pêî/³Òˆ)ø¨»Oœ�Fƒ Ùá4ªK—.Éó<õôôt˲²^·§G º? ®ÔtTí�[Ü/3[i"P•Ç‘¤HÓ/ƒÒ}Ò÷È×ØØ˜º»»CC¿ééi>|XŸùÌg´nÝ:-\¸P»víŠuÿk×®iݺuêììTsssAcÔ¼bä7U�÷T{àG¶/Ú-ã8€X&''%I±ªÜ ÃP{{û¼{äëСCÚ¼y³öìÙzýÀ�:qâ„öìÙ£¯}ík²íë«ÓD­¬ûË_þ¢3gÎèË_þ²xà�‚Æ ¨iÙ2šªÑâ(ö" QïgþôŸ7BŽ��ãô+š³ÇÖì{ÿËž}5IZ´iÓ¦�«W¯øQ ´‰DÁÕ €ê�ÞtñâÌ›tww˶m¥R)���kzz:c˜e†ZZZÔÑÑ!˲”J¥4222÷¬|Æ·Í¢E‹ô�ï|G_ýêW•J¥æµ‹:»ôûRN�”ß’%KôöÛoo•4*)))5ûr/g6pKrîìqð¥�c…K¹7d*Ú_BÅÞ4¡ĽGº}”~ž$Ïq×4MÓu)|@u¸r劖,Y"Û¶ÕÙÙ¹_2™T%~™¼fÍ�ŒŒÌ Ûð3MSîõð%, 7 ö+DQãSé]J£†k™Ú…�w}çÂ’MÇuÝQÓ4; Ü\וã8s¿Áã7q Ø{Y–%Ó¬§Yû€RsGÃÃÃjooW[[›,ËÊ8½Ôó<9Ž£ÉÉI%‰²ŒoÅŠZ¶l™Nœ8¡E‹éÞ{ïÕ¡C‡Êòl@m²,KŽãŒúª×üüáZX@“)h){µZ>*¸E ТV­eºWšë;vgffŽ555Ý•Ïoã\×U*•Õq‚üá»ã82MS¶m¼bI$e ÑâhmmÕ®]»ô¹Ï}N—/_ÖË/¿¬þþþJ PÅlÛ–ã8Ç|�šx_H¨uÓŠoÅ^Ã-Î=£®ãf†´7mÍÀyÿ:nÖì+½Ž[óªU«>ô®w½ë'££ñ¶w]WÉd’j6‘†¡¦¦¦¼B7Öp€úe ·b>«}â¬ËÆnIZ¼x±®]»ö¥K—.½ iÆ·~›3ûò¯ß&_ÁTpª«§›ú+¡ªjý6ÕÈ.¥q>p¦¶þTêܹs‡“ÉäÙÖÖÖÈ7&l�Ïó”L&©ŠÐPZ[[åºîÙK—.ž Ùª"å?U£·0a©epg ~�þÐmfllì?Z[[ç¶3Ï%•J¶È‹çy,(  aض­¶¶6���ýÇle[0l «XSŽJµšR«�›_¦9¿þ9Áòý`=IÉsçνšH$~ÛÖÖ–sª—ëºT§(ÿÐLÓÔ‚ 499ùÛK—.½*)Èd”aZ¨|×j2dó«ô.¥™x��F�ÀŸ œó÷ÓìÌô]÷'¨é]L§þþ÷¿ÿû† ºÚÛÛïšœœÌX�w ¥ÞÞ^­[·NË–-Ó‚ $Iºxñ¢NŸ>­ãÇ�Ǻ€ú�ÞHê‘mÛZ°`�’Éä+CCCÿ.iÊ—Åø_ T½åZƒ-Ô…Ír¬*¥Ø4!Î}£nœ`Î…mœ¶�‚ò¾i6h4gß·nذá›ííí÷MMMijjê†AÎÌÌDªLéííÕ–-[ÔÑÑ‘µÝøø¸Ž9Bð4Ó4ÕÜܹ=›&Š¥˜K£ä{¯\ýÒ×ÛÚÚòº? ²Z[[ÕÖÖ¦ÉÉÉß ý�Ù°-9¨¥|•nŽ/ds2l”�mİeŪjÃÕxà–)„3}çü»•úw-µ}»—Z’ZW­ZuçÂ… ¿ÖÔÔôß’ÉäÜ"ç®ëjzz:ç |àЭ·Þ*Iúç?ÿ©¿ýíozç�w”Þ uÑ¢EZ½zµÞûÞ÷jÅŠ’¤7ÞxC/½ôRį @­3 C---‘Û¸Š…À Pl¦iʲ,Ù¶­ææf¹®{vllìÎN#�òíDêøv& Vº¥ÿ‡Çó� ×ÜbÞ7nà|¬r3}ç��°Íº…½ZW­Zµ¹­­mwsssŸiš‹,Ë2êÞü¶nݪ[n¹E’ôÊ+¯ä¬\ëííÕ]wÝ%IzóÍ7500á«PâìŽ<11Aà( 7@±¹®ë:Ž3ê8αÉÉÉÿséÒ¥£!A›ÿ6µÔ_ݦ�é¥Áé§Á÷aÇ"p˸)�*7gŽÃ¦–Ú� 8ÿù&_C¾Jõ]DUH¸ ºÒaZr¶ŠÍ „kNÈyÿ{i~u›tce[Üê6UCàVéM‚"—Ô�~gIDATäÛ?øÞ „nþMœÙ -åë—þÓòýCæ‰à 4 ° +ør�Z*pÞ_ͦ ÇaïógE7S(Uà–o€åža!]Xضciúœ?t³fÏûw553TÓÅA0ª]Ü`*¬êÌ?5Ô_Ý Û2íLš+t+eˆV’`®ÒnÙ¤?°8 ²üœBÞË÷ƒó÷u|!›åûA³íƒ;¡ú™h nà8¸ƒ¨Üœ�`-8uT�Ð-ø>(l�¶ŠV±eS �[>ÓJƒ!›Õnògf†M¾ëN múO'dƒùvÑ•l e ³ÜÀõ`…[X[Ø:ma"(Ð'Û8²�¹âA\)·bM+ NUŽ*·àÔR7 ¥™�>éj7ÓÎÉ´¥ûfÚà!Û1@µ «ËÕ&¼……nþ`Íñµw÷Pް,,”+†’s¥†J¹[i°_¶LØDÁò�S`êh¦©¤lœQ¦°+lj©Bµ°°-¸®[ðœBÎ+ÃqpõS´lÓH¶(a[p,ÙÎGývßL»§Ô³lk¨e Å¡ª-Óµl÷Ͷeg& ¸)K°–íZÔÐÍÿ>¬OØq¶kõ,NМE â#lËu-›º Üâ>+×î qB·LçsmŒ�i¼q7Q¨eÁõԂײµÍª¶eºžIYÖ€«ÖÀ-Ø>NõY¦Ð-Sµ›BÎg Û¢Ž –Ä]·-x>Ê:k™‚²(ÓS£\Ë¥î·|žWŒÐ-x=צqªÝM®ª¶°6™ªÚ‚ׂ×k.lS�n¹®ç Ö¢îFlÐè‚!YZœ0-×õbN%ͧ}Þ*Q¹UÎÐ-WµZ¶õØâœ§Ô‹\AWÔó¹*ÕâV¯ÕDئ Eå Ý”¡J-×:nQÆå<@­ˆ¬¯çšZª Õqu¶©†·`Ÿ(UfQªÝ¢Ü› `¾|ÖV‹²Ö[±Ã¶|ûÄ*÷}*ºyÎGy^>ë@µ*4ˆŠ„…ma}ê"lSB…L-ÍÖ?J»¨SHýí+ý}TJ¦à,S[´Åi—k eWé©Ð*·RœË÷;©ôw P¨|Cª¸ÕjÅ8wLeS !Q±®8»‡ë<@£ÉgÇÒ¨ç ­j+´_QTK�T̪²8Á[¶kÕòÝT«|v5-eU[!ýЦšB¥R‡nQŸA.Ÿ€-Ÿ¾5¶©Â»”h•cŠh¶a¨…„jŸ_U„f…¨¶ ¨Ðñä°UÛwPëâN)ÍÕ§Ðg–U5†M¥ Ý¢\¯Æï ä²E½^ȳˮZ¦bŒ«�õÚŠ5€zVHȵM9îQTÕ*klqîShHP�Šž+$«º°M5s|¥žªZÌg”K9ƒ²bdU¶©†‚¡j ÞOCmiµ>•b¬µôùjI)‚±ªÛTƒ�S)Ç[kß@µ)e Va›j4d*טkñ»(§r…`5¶©ÆC¥J�½–¿3€|T*𪩠-­£jÿ Õ>>Ðxª=ȪöñeU/aP½|€FWÓa›ê0¨ª·ÏÐ(j>hK«×€ª^?@½©› -­‚©FøŒµ¤îB6¿F £é³T£ºÚÒ9„jäÏP °:]Ç÷P ²ù4eÆw�]Çka•òÇwê�µëÿZ0– l£É IEND®B`‚alainm23-planify-69962f8/data/resources/screenshot/screenshot-03.png000066400000000000000000002567531517337276100253200ustar00rootroot00000000000000‰PNG  IHDRܰå]i¿ IDATxœìÝw|UõýÇñ×¹3›bØÈ7"2PGÝZ«µ®ºµ­­µ­¶ô§î=êªZEeÊ�­²Qv”„ YdÜ›;Îï�„˜q“Ü$7¹7ÉûùxœæÞ3¾ç{nÒ6yóù~¿ """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""Œpw  Óg'"""""""í�î´E �ê¦ÏFDDDDDDD¤~ äP¨TNŸƒˆˆˆˆˆˆˆHhtø®#MùÙEDDDDDDDZC‡ ß:RèÔ‘žUDDDDDDD$uˆ®#„PáEDDDDDDDÚ’v¼µ×0ª½>—ˆˆˆˆˆˆˆH{Óî·öLµ·çé(ÚMðÖ^ªöò""""""""]›ÞÚCPÕZÏÐÔû´‡ÏXDDDDDDDÚ—¦†Z­†µéЭ-‡A-Ñ÷`ÚlËŸ™ˆˆˆˆˆˆˆHS€µDHÖ&ƒ·¶…²ÏõµÕ?‘ÖT_ ʰ¬Mom-T Eëj£­}""""""""‘¦®`,�Y› ÝÚRÈÔœ¾*di]-¾µ‰Ð­­N¡\° %‚;‘ö.ÔAY¤/ÜÐd‘ …#hkÉa«""""""""‘¦5‡{vˆà-’ƒ¡P…m µÓØûDòg&"""""""Òn5t~Íãí*t‹Ôð¨)ýjLÐLûF¯EDDDDDDD:2³Ž×Áœßб¦hºEb�Ôܰ­9A›¡Ÿ‰ˆˆˆˆˆˆˆH$3›PÕV×±6ºEZ¸ÔÜá�MY�ÔÒÄ{‰ˆˆˆˆˆˆˆt4Á[þ&´ÑÜj·ˆ Ý")DjNØÖØ ­¾�-ÃY›Ó–ˆˆˆˆˆˆˆHk6øjN[Ô¾sÿ6ºER Ô˜¾45l«+h fj$}V""""""""á`ÖøZß95 ÞBº)p«"”a[°A[CA�ªÖDDDDDDDDÊ5Œ5¦Z.Øà­Í†n‘µdØh„úÞ7ueÒHøEDDDDDDDB¡©áV}Y ÷ÁÌÙÖ&C·pEM µ‚­<«YÕVWÐªŠ¶p–""""""""ÍlPlÅ[C¡ZÍj·¦VÒ5¦�-.Ü!Qc·P„m mõUÎ…ûó —úB¯º‚µ@×4'tSàÂ{×xÕ Ó"Ú˜a¦Á„q""""""""AC¡Z}ç5¼Õ Óê õ">t W€ް-ØÊ¶@Ç›:·›ˆˆˆˆˆˆˆH{ÐÐ\m …oU¿¶ûÐ-Ò·æ†muUµj×Òˆ`-ØÕQEDDDDDDDÚ’`†‹Öu̬1<´®ª¶††›†:të�[(æm 6l««j­êWK€k뻿æs‘Ž¢¾Êµú†’úë ÖU»5%t‹Ø*·Ö�Z;l«¯ªÍZÏuUY©Ÿ‚7io ¨|Ξùjì ¬µ»ÐÍÖZ7j¤`B¬`öúªÚŽì³Ôsm°}iÌ ²#@¥Ú‘÷þ*û­V! t³F›F•ýÁö#b´fPÊ궦†mÖïkm–ûëëK}}iK[)Vsø(U†‘ Þ¨§Ú-ØJ·6Så‰nÁ % ´¿¾°­fU[ÍÍRcÑ µi¥Réˆj`uÍwo©ÙŽo–a™µFgQéVó>5÷[ תZ+p e@ìÜnÔ¶U­b«´5ØÕwo‘ö¬f¥YÍ Í¬–U Þüûª†p�B7Z)Pk•!¨­{Ÿ¦%­9'[Íê5ª¼®úÕ h³W‘¶Šã5ÛnÌ󈈈ˆˆˆˆˆ´u�/ðW õVlž*Ç�l¾Š¯þ_©1ü´æ�ÑšCQ©ã¼š} 6HkñÀ-‡”Ö¥¾rE¶Y„oNÀ‘œÜmTtŒóç‹m˜ÍfI°Zl�†—Šˆ´8—»ÍuDDDDDDÂÏgšæ!Ã0¿÷ûͯKKKçåe§e€»JE›µJ…›¯Ju[ÍJ7jT»Yª\W5‹Èi�J­ÆÜ£¾¹Ó‚©n«º¯fðfT©X«¸E''wó�ÃiïQVæÁëõàóùñû-¤!"Òò\®n"""""‘, V«»Ý†ÝîÀbáãâââçóò²w¥ªÚü*ÞÌ*ïi`Á…šÇo� qZ4¸‹¤À­¾á¤u­:¨º­êmUß[T·Ù€˜´n}‰�‹=¿ÔåÂår5áEDBO�›ˆˆˆˆˆ´ÑÑQDEEû<ÏCì�”T 5­°ùª¬T꯶ùƒZh¹ª"fX©µ%¯làÖPu[ͯ�9¨YÑF•ʶš«‘Z�Øž½ú>5©¸¸„²²²f<¦ˆHhy½Ì6Q,-"""""�×ëÅëõZÇø„„ÄÒÇ ¾­¸U]øÀ¨ŒUÞWL–TWÑVDüÕÒ�[c*èšSÝVßPRk•€­j֭ؓϣQQQ“ŠŠŠñùTF""‘E�›ˆˆˆˆˆ´%~¿�ǃÃá8=66aqqáÎ*ÃH«†ku­#eA€Æö#ЇR3€«+ˆ³”/Ž�6&>.öü’’RÍÓ&"""""""~¿Ÿ’’ìvû“’’û޹ õä7556‹ˆ¬+":Q‡@ÕmÔx_×~ª|k~­@tLL샥.^¯·ADDDDDDD¤cñz½¸\¥ÖØØ¸_ÑUFÖ5MÈ~êZ "´dàÖèà ´ziÍt´êPR{rrÚé§½‡H ½ÒR~?Ó“’’{öóë Ã!Èì'TZ,°‹„ ·¦>\ D³æRK�ó ÀueY™§]‘úx>®ÙíÄÇÇÝœ&3R1˜v‚ ãš›Q5YKP�y˜º>ìš^ͤ3Њ5W¼°Öxm¯Øº:/?¿�("¡d³Ùxä/sÝu×ÔyÎË/¿Êïÿðp³'ílK\®ü¾¦_ïp8øýïËå—_ÊQG¥uMVÖ~Þ~û¿<òÈß(++kúÍEDDDD:˜¢¢\ââ:‡»+•l6ÉÉ]BÚfNΡFý]–””DFÆî‘@!à©Ø|s¸ùk¼6+ÞFjVlþ*ï ðÞ¬cèi]û éÐÕHœÃ­±!`C !h¡‘w$l+--å‰'žæ|HÖ¾,ºuïÆE^Àí·ßÂõ×_‡a<ð›ÃÒǃ2št]×Ô!ïK°|ð7Üyçí�º&-í(î¾ûLÓä�üs“ï½mÛºwïVçñÇÿ=ô§&µ=}úTÞzëu}t&�>:³É}©ÏÞ½»HJJª÷œÜÜ\zõêßj}j¬f­³Í‚‚‚æ4LŽC#°ˆ›ë-·†4µQ¡›H1âÔÊ°í‚ /aýú •ÇÒÓàñü‹/–.ãÃÞeÆŒkùpÖÇ|ýõš°ö¹­¸üòKxä‘¿±sç®Êý¯¾úb�ÿê6bÄ©,Z4Ÿ+¯¼¼Y�Û‚ŸÓ¹sù/''œp<½{÷bÅŠ•ää`ëÖïšÜ¶ˆˆˆˆHk0͈ÊoÍf³Õ¹isDGG5gåÒ`3�6±i}ÚBàŠñ¶ ÛD"ÔŒåÃHŸxâéja[UëÖ­çÉ'Ÿá¾ûîæºë® KàÎJµ¦JK;  ZØÖ�¯¾úºÚµMuûíwV¾~ê©síµWó—¿ü�+V6«]‘ÖÉ•kÁp:�õß¹ó;Ö®]ÇÍ7ßNnnùpØÄÄDž~úߌq*ýû©·ífL÷ÓP~L°ñ\[\±SÁšH;2ò´ÓøßÖ{ÞÎàô‘§µJ¿¤uX­Vî»ïnÖ­û’ö²té"&M:«Ú9ñññ<óÌ“ìÞ½�ôôíÜtÓ ÕŽ'''óÏþß|³–ìì}lݺ‰Gý3QQå¿`¬X±„¢¢\N?}då5ÿøÇß)*Êeôè3ìã—_.g÷îm•ï Ã`Ë– ¤§o¯6iì§Ÿ~Âò勃~öK/½˜¢¢\zõêðxß¾})*Ê¥¨(—!CÝn°’““ùÇ?þN~þÁZí÷êÕ“ö2kÖû!¿¯ˆˆˆH[³wï®ÊßËjn?þ¸3ÜÝ«SC�ÛŽ;9ùä“xã�Wéܹ3III¼ñÆ«Œq*»vínVÛMÔ®òžpnÍ]=¢±×´¹oŒHGѹKùÐÆ¬}Yõž—™¹€.!žðSÂëñÇgò‡?ü�ÇÃÂ…‹>||ðnµpì•W^àç?¿’ýû÷³jÕêZ«Ö–––rî¹ç°gÏ|üñ'Øl6n¿ýî½÷n>üð#Æ�ÍYgM$''‡U«V7ØÇE‹–еk }ûö`ذcéÓ§7ÉÉÉŒu:v»�“O>™%K–†è“�‹.:ŸŒŒL<Ó§O Y»·Üò+6o^Ç�7þ›­v±ûOü³Eæûi‹ÚêÐR›ÍZïñë®»�~ø‘AƒòƯòƯ2dÈ`222¹þú›ÕvZ*Ç eÖÔlm±Â­!íñ™DÚ­ÜCå¥ËÝê™`¨œ€ÿÈù­íà�Œ&mR·=º3cƵ|÷Ý÷Œ=ž+¯¼†;î(Éî¸ã6ú÷ïÇ”)“Ø»7ƒ±c'rÅ×pï½Tk§¸¸˜�‡2}úEüâ71yòTLÓäì³'0kÖÇŒ&ýúõ£oß>|üñ|¾†—�]´¨¼jmäÈœyæ222)**bâÄñœxâñDGG±xñ!û|.¼ð|þ÷¿Y¾|%Ó¦�²vââbyî¹¹ÿþßÕ:vÅ—Ñ»w/6mú&¤÷i«zõêO\\ç€[$;µXê�GöïßÏ•W^Sº <ˆ}û²¸úêëÈÈÈlVÛMÐP?Pk¥† ÝG‹&ˆ´«¿ü€‹.¼ Þó~vÑ…|ùÕW­Ò/iyC‡ƒÅbaáÂÅx<Þ¿|hñ�!ƒ*¾–u\²diå9‡„®#FœÊk¯½Ä–-X½z)†aйsyõäž=é¬_¿�“N:‘øøøZA\CV­Z�Ëåæ´ÓŽncY¸p1‹/aâÄ œ~úHJK]¬^]þó<}úT¾þz%dð駟п?¦M›ÊÆ�kرc+7Þø‹:ïÙ¯_?Ž;n³gÏå“OæpÜqÃèÛ·gœ1Š¢¢\Î<³¼boæÌGÈÏ?XyíôéSÙ´i ûö¥óâ‹ÏRT”[Y�wÄÌ™�ñðÃ!''§Úþ””þö·¿pûíwáv—õùˆˆˆˆt�†–Fò�Ò`x<\.Wå{·Û�ÛínÉ[6%¯‰”¬©QÚ]‚("mËË/¿Àí·ßÂI'�ðœ“O>‰Ûn»Ó4+Ïom]S{4i“ºÅÄÄ@�rô˜˜LÓ¤¸¸*æx(*:\g;ýû÷cîÜ�9öØ¡Ü|óí vb­_>üð#l6£G�⬳&�››ô.—›U«V3räìv;£F�dÉ’/X°às H�Ý9ýô‘¬Zµ·ÛÍqÇ ã?ÿy…yóæsÙeW’””ÄÓOÿ›¾}ûðÚk/’““ÃÿøgÊÊêþEæg?»€ììlÖ¬YËܹó0M“©SÏm°¯}ûöåµ×^";;‡ûîû-}úôê�xüñ™|úé–/_ѨëDDDD:‚¶6´Ôï÷×{<%%™·Þz�Aƒ²k×nvíÚMß¾}xã�WIIInVÛ¢ÀMDÂìë¯×ðò˯͇¼Ë=wßIŸ>½qØíôíÛ‡{﹋?x—¨¨(òòòؽ{O¸»,!²mÛv&OžT¹ÀÁÙgOÄ0 6oÞUVX�4é¬Ê‰Yªµ3bÄ©DE9ùì³…,[¶œœœCFõœ:RÍ6eÊdF�>ƒO>™Û¨U•-ZÌàÁƒ8ë¬ ÄÄÄðÅËøì³…œuÖN?ý4/^CN­V+×_-¯½öRÅÖ¾L˜0‡ÃÁ]wÝÇ[o½Ãk¯½Qçý.¼ð|RRR(,ÌaÇŽ­†Ô°Ò Æa·Û¹ë®ûxóÍ·yé¥Wƒ~ÆóÎ;‡éÓ§òÅ˘8q<‰‰�HNîÂĉ㉋‹ º‘ö*ÐÐÒHRêõÖ?}ÊË/¿@ÿþýصk7W]u W]u »ví¦_¿£yå•›Õ¶@í™’#K(Êù4”T$Âýþc3f\Ë}÷ÝÍ}÷Ý]í¸išäää�œœÌ¬YïqÁ—���¶þJhlÝú .fâÄñ¬\¹”�7qÞyçâv»™9ó1¶lù–Õ«¿däÈÓX¾|1[¶|˹çžS­�#!ìµ×^ À ' ÇápT;ç‡~dݺ \uÕåØívfÍú¨Q}]´h �<ò'î½÷n¾ùf3‡`óæ-ÜzëÍtêÔ©rþ¶œœòc7Üð+æÏÿ¬²�[nù@ÀE ª8pC‡Ã?þñoví*G�>ƒK/½˜£ŽJ­ÕÈUW]Ã+¯¼Xkû@m7S¨òžˆ-;lkn5¿! ÓDÚ¯×Ë¿y�sÏ;Ÿg}ľ}Yx<^öï?À¬�>fê´ 3v"ß¿��0kÖ{¤¤¤´jÛ⢠YYû0 øu;2OÙ¾V� •«¯¾Ž—_~�ØØX&M:‹¯¿^Ãøñ“*+Û®¼òfÏžK�Ý>ü8n¾ù¶ÊgX½úKfÎ| �ÇÃUW]NFF&³gÏ­u¯?œ…Ýn'??ŸeË7dòÛo·ràÀAN9å¤j #Vš��Í–-ß°pá" ùË_fÚ´©Lž|6£F�βeË1M“Çÿ;—]v —]vIÀ{]tÑx<fÎü?^ýM^ýMžzêY Ãà¼óÎáÇÄ4Mî½÷nn¾ù&&M:»òÚeË–ã÷û¼G “'O­ö¯µ_½–Ï?_D\\g…m""""õ82Ÿ[]ïÃ¥¡P¬ÿ!L�zAeØ���ÃÔ©пÿ�fµ"m: ugƒmϨñµêþªû,5γÔ8§êû#¯­U^[*ªøŽlV aàÀ¡«óòó›ñ˜"ÉÉÉ|øÁ» <ˆo¾ÙÌij¦´Ú½›ž5g7—«3*µ~øÜ}÷Mºöÿþï<üð_š~ó4iÒY|ðÁ»¼õÖ;üò—·4úú_|–Ë/¿”iÓ.¬ ÝFŽ<�Ï?ŸÇ{ïý�3~Z:}äÈÓxä‘?1tè1ìÛ·�×_ƒýëI®¿þZî¿ÿ^¬V+¯¼ò÷Üs'ÇŸÌ�?î­¼vÍšU0qâO?ß‹…ÜÉúõ™6íBxà^n¿ý²³³Y´h 3f\KbbWf̸†¸»ÝÆ–-[7n,Æ�Äž=µ‡c_zéżüòóœrÊé|÷Ý÷ÕŽ-^ü\pÁÅ�þ¬DDDD:’eËqâ‰'TÛ·nÝÆŽ�¶>Ñ©S'¢££BÚfi©‹‚‚‚ ÏOJJ"#c÷H ðÞ*›¿¢JÍ_q̬²ïÈkêxO•÷UÏ¡Æ>Q ²Š¹¶¸ÕܸUݸ‰´CÉÉå{îËÜÇu3nwwZTs7‡ÃÁï~÷W\qiiGu;}Y¼õÖ;üõ¯§¬¬}­RùôÓOpÍ5WqùåW¬€k�þú׿pË-7ѵkw\®VùWH‘'99™¹s?bèÐcؾ}S¦LåÀ�ƒ ^ÛÒl6ÉÉ]BÚfNΡF͇܈À­êVWàfÖÖ¸ÕqžÑÀ>n"Òa57p“Ÿ8öìÙ†ÓE¯^GSRRî.µ˜3®ÁçóÏ}÷ÝÅ×_¯åâ‹/w·DDDDÚµ””>øà¿\tÑe5çtLLt­…Çšª°°°Ñ¿K·ràF�Ð,l�[¤/š ""ÒlgŸ=‘N�:1oÞüv¶ôéÓ‡‹.º€øø8-ZÂ}÷ý6Ü]i÷²³³3&üCH)))Å0,ÄÇ7oåùÇ‹ÚýïÒ¡¤ 7‘¥ 7 •æTº5¥²íU¸‰ˆˆˆˆˆˆˆH»TRRJY™‡ØØØ R(-uQ\\ܨ9Û¤\8·6µŒ«ˆˆˆˆˆˆˆH{àõz)(( ¸¸§Ó‰ÓéÄf³b±”0ôûýx½>Ün7n·»=mF(«×‚ÑÞ+ÜˆˆˆˆˆˆTáõzñz½‡³í:³±qŽˆˆˆˆˆˆˆˆˆI�›ˆˆˆˆˆˆˆˆH)p !n"""""""""!¤ÀMDDDDDDDD$„¸‰ˆˆˆˆˆˆˆˆ„�7‘Rà&""""""""B ÜDDDDDDDDDBH�›ˆˆˆˆˆˆˆˆH)p ![¸; Ò¡ÿaÔØ%m–Yë�Yc§ˆˆˆˆˆˆt4 ÜDZ’Qå…†Q¶YŒòÍPÜÖÖ¦ þŠÍ40Mó§ð�š©œˆˆˆˆˆˆ´w ÜDZJE5›aT Þ¶X0ì ‡ ìÖò×–ŠN�LÛTñ½3ý&¦Çf™<~ðûÁo`š€¡ª7‘ŽD�›H 2*ªÙ ‡ #ÚŠ%Ö�%Þ‰%Î�mkEè&m–é7ÁçÇ,õâ/*ÃØ�¿¸ ³´<|3üfyè&""""""†7‘–b˜VK” K¼kR4Ö”l]b°$Fc‰³cح婜2·¶É,Njz|ø‹<øóKñ*Á—]‚/¯ÿað»¼à«v*""""""‚·0ì1XÑÖ( «5ÜÝ‘1}>LŸ Y)¦§¤qås´Y¢íX£±¥Åbë–€--ßa7e»rñ,Â,*+¯�’6˰q¬]ã°õLÀ™ÚoÖa¼û ñfC~)þOe8'""""""ퟷf0¬¬ÑIvg¸»"-À°Z1¬±X±˜7¾Ò ¿ n_ùÏ€~ DDDDDDÚ5K¸;ÐV‡Â¶Ê—ŒauÔs†�i10¢lX;Ç`ë�%ÚŽkiºÂ¶Äô›¸–¦c‰¶cë�µs F” Ób  ûDDDDDDÚ?nM`�N w$Œêûþ°Ø-XbX“£±¥%àÚ”¥°­2ý&®MYØÒ°&G—¯Pk·`èuEDDDDDÚ=ýé×H†=Fs¶up†Ý‰a� p b³Y1bíX“¢ñviζÌ›ußaÖ¤hŒØŸætS‘›ˆˆˆˆˆHû¦9ÜÉâˆw$XÑøjÍåf`,Žò 7Kbž=ùaê¡D ïÞBì}±Ä:0ü¥ÀO{˜ÈÍét`·Û±Xôo7"""""í•ßïÇãñàv±ˆ TÒ_I�dX£Â݉Ž,˜`³bDÛ°Ä8ð, G÷$‚øa‰q`DÛÊ6,F›¯p³X ââbq:� ÛDDDDDÚ9‹Å‚Óé$..‹¥�ÿ1ÓŠô—R#Vk¸»  ÎŸ°XìV §³HÿÐÑ™EeN+»¬m?lˆ‰‰QÐ&""""ÒÁY¦5 IDATX,bbL¯$é/&‘P2 ‹�i­øªÅ:<ÓoVû™ÀhÛ‰›ÓéPØ&""""ÒA•W»9ÂÝ�6A5‰„š†ú`ÅÞ«¶´ø�¶)­Ä0*~&ÂÝ‘æ³Ûíáˆˆˆˆ„‘þ&Ž7‘©•¥„8\‰›>„¸iƒBÛ¨´£Þ·mŠªÛDDDDD:6ýM­RÚ¢º 'ñ԰Ƨ6ê:Oþ^òW=EÙ¡Ý-Ö7i!-0ŠÔÞ«Q'¤�iR¥;ų·©Ê­Ùº'þÿ|!>øP£žKDDDD$R)p‹dm|5Ci<[J,¶´8¬iñØŽŠÇ–‹­G'0 dÉn°Zˆ�Ø�ΌƛY€7«ïþb¼Šðfâ;PîGh<Ûs8xß|9%@ù"]~?{ß$l=ðìÉ w#ÚäÉ“(,,ä©§ž¡gÏ\zé%<õÔ3X,Î?*¯¾ú ™0açž;¥VVÕ¸qã°Z­Õö9þùÏãó5|öï?€o¿ÝÊÀ�±Ùlx½ÞjÇÏ8cT­ÀmĈS±Û[få¥)S¦’��ƒÓéäç?¿Šyóf3nÜYäææÖyMvv6wÞy………µ>‹`Mœ8žÙ³çpÖYq8µBÎÛn»¹Vàvýõ×Ýä6ë2uêùôèÑ�>x�#F5é™DDDDD"™fº‰ öAÉ$Þ1’„ˆsfƒR°Ä:0K=ÏÛAÑÜíø]^,qƒRˆ9³/ —Kç[G`率m¡búÍʰ À¬ÎkúM¼ŠÂÚ·Hçt:8p Ë—¯À4M~üq/?üðC‡CÏž=Ø·/‹‚‚LÓä‹/–Ñ¿œNgÀ¶zôèNçÎIlÛ¶½Ú~«ÕTØ0lØPÖ¯ß@FF&GÝ·Öñ’’ú÷ïWùÞáppÌ1ƒÉÈÈhô³7†ÛíæÅ_fþüÜr˯ê=×ï÷³dÉͺßùçOç­·ÞaýúõŒ;ºÖñ¼¼<Æ�?³ò}ll,çž;…õë76¹M‘ŽL�›H)]ñ/®Ã4Ëg×w{�ƒ÷,`ÿ-sðºñç»8pËÞ»€²ï³Ë/ò™ä?·ךÌðv¾ríJÂÇ‘òç ØºÇsø�͘%žpw+¢%%%‘››[­’,##“.]º`µÚp8~ªóù|”––’˜˜HBBwÝõkRR’°ÙlLž<‰yóæWkßb±`·;¸îºk¸öÚŸ3fÌhìöÀÅÚN§“ääd23÷ñÝwß1xðàZç¬X±ŠÑ£ª°:é¤Ù¸qSÐ�^s}úé†?*†Ž¾÷ÞÛ¬Y³š�×rë­7`µZÙ±ck­k_zéy.ºè‚Ê÷¿ýíý\wÝ5µÎ‹��cÀ€þlذ‘9sæqÎ9Sj�óÄOsÛm·T¾¿úê+xÿýÿáv»ö;˜6EDDDD:2n­¤ûÕïWn Ç_VëxÂñ—U;G:®ÒÕ{Év ¦ßÄ9´+±Ž®¾º¥ß,¯~œ>“¼g¾¦t­Â¶–à<þ(bÏꇭ[}HOO8ÜôéÓ6ìØÊp.11‘ÓO?�¥K—U;ïÉ'Ë«Ü,øŒyóæSTT÷œ� µi±Ô¦ è¬Þi︵2÷þoètòω:�âŸ7ð,¬Ñ‰¸²¾ w÷$‚™˜ß_àÂ,ñà<> ü~ÜßÀ_äÆç¤lO~¸»ÙþyüxöäQðŸ�$ÿqÎãº*p«Gnn))ÉØí6<žòa¥iii•¡Rzzzåk»½|Øh^^õE(Ž;n±±1ÜtÓ ÄÅÅ3xð † ;–·ßþoµsëòCbb'üŸ•ûN:é†R+pÛ³g&ŒcÔ¨Q¼ôÒ+!ù‚5iÒY,_¾*ž{æÌGyà�ß±sç.zöìQïµ�—ùó?c„ :„÷ßÿ Ö9�;w¦G�î ~Rå¾+¯¼œóÎ;§Và¶|ù xà^n½õfÎ=wz�÷m¨Íýûеkj­E*RR’Ù·¯þYEDDDDÚ )me¦ÏCÎçãLîÏQ<ÍQ<�½s?²?|Þ Z�ŽÂÖ-Óë'ùÁ±tþõit¾ótºüv f™{Å9Z–(;–ÄêUZ¶´òÏÚ_8à‘r¥¥¥ìر“±cÇ`©©©ôíÛ›­[·b±XHJJ‚Š9Ú&M:›�7áñx±Z­œzê)Øív>ýtÏ>ûBå¶eË.\ÌÛoÿ—„„xºuëó¹�3ºÖ¢ C† f×®=ÕöíØ±‹Aƒa±Ôþ¿¾… ±råJJJJjk 6›�«¯¾’O<�7Þx³²Ïf³yóRS»ÖºÎ4M è{dXéèÑgðÙg k�î¹Sjk_|±”ɓϸâé_þòWž~úÙzWMm¨M—ËÅêÕ_ò›ßÜ_y�3®å›o6×[5'""""Òž¨Â- |%¹Zúx¸»!Ζ–€µK Ö.1ø Ý8tùéœî ¸¿=Æ^¶OΓÒètý‰x÷äã;T‚í¨8l=:aúMŠí¢…ŽmΜyL›v·Þz3%%%ü÷¿ïãñ”—üÙÏ.$>>ŽÒÒR¾ùf3«V•#���eôèQìÙ³‡ììœ:ÛŽŽŽáì³'’””ˆÏçgÏž=•s‰Uuì±CY¶lEµ}………”””ЫW¯Ê*»#ÒÓ =ý‡�}u™3çc¼^.—‹+Vqá…—TV~úé|Æ�ÇŠKÈÌÌâС¼Z×ûý~Þ}÷}>ùäC®¸âçlܸ‰þýû±víº€Ca§OŸÆ¿ÿýdµ}™™ûÈËËç´ÓNeåÊÕÕŽ­^ýeåÐÞºÓæ�wÞßþô_}µ·ÛÍW_­áŽ;îiÔg%""""Ò–…zöï`Ú3x]uŸ¥Ê¾šÛ‘ãGÞ[jl`­Øl›H8pèê¼ü¦ ų'õjÔùGæb;2‡[£®3ýd¾yi£®“ÖãÉû±Ú{Ãb€Ó†-9Çàd¢NH£ðí¦î4ãDbF÷Æ,öPôéŠîà vâÑÄMˆk§dY:¯nÁÓHUö>‰ÄžÝÇ€.X;Eá/.ÃóC>Es·S¶ãP£ÛK¸â8\²(û>oN ¸½˜þ†ç²r¹Jð·Îb™AKHPU%@Ì­£°öLÄ·7Ÿ’§V†µ/¯¿þ Ï=÷BƒA™ˆˆˆˆH¨úܤ¤$22v� à­Ø|› øklf•ýTy_u£Êqªì3ì«ùº.!›tXn-ÌWœ�56¥I‹ Ô t¤c±u‰¡hîvŠ>ÝŽYì©Ü_4g;Å w;áhì“ÃÚÇöÊ“žOþ kÃÝ ‰`áÙŽèÒ¥ ƒ⫯¾wWDDDDD¤ n-,oÕ3t:õzì ÝÀrÊ<Ó�'/�¼Õ϶t÷$‚å=ù%~WàyýL——¢¹Û14¼Q¤C»à‚éÌŸ¿¿ßÄÙ"""""ÒZ¸µ0÷þ-üäÎpwCÚ ºÂ¶ªÌ Αö«µWU‘àh•R‘Rà&""""""""B ÜDDDDDDDDDBH�›ˆˆˆˆˆˆˆˆH)p !­RÚ ºžûØ;÷aÿ¿ÄW’Ô5Ý.Ÿ«�³niñþIäèúø¬�£ê<^4o;‡ßÿ¶ImGŸÜ�Ä[NåðGßSôñwÍ襈ˆˆˆˆˆˆÔG�›Hq“…%Ö €½o"ÖäÜßç`.À›Q抈ˆˆˆˆˆHC¸‰D�‚×7V¾îtÝ ÄŒéCñÇßáþ>'¬ý‘à)p ƒn—¿Aé�_bzJ‰î5Ó0(Ùþ…›Þ«vžÅEç1w•6Ÿ+Ÿ¢­³)Þ±°ò¸a±7ô¢ûž�-6OA&…›ÞÅ�¹€Î£ï$ºÏ鬓¢o?Æß•®Sÿ…ßUÀÁÙwã÷”´ú³Kh†Aìy‰>­'ÖÎÑx²Š(úh+îoTžc‰²Å0œÃ�Â0À»¯zuœ%ÞIüùƒqMÅÒ9 ¡×ÚLð¦ÇGòÇaï�È¡¿.£lû!:]5œ˜ Gsèo+(Û–ÝêÏ-""""""ÒhÑ„0‰9úLœÝOÄ“¿‹#žøã.ÆÙý„jçXœ XãºâÚ¿[\*‰§ý’¨'WïtÊ Ž¿ ü>\û6aï܇äñ¿Å™:€‚5¯à/+"~ØEX£I<åy«ŸQØÖÆ%\=œø �Ÿ×–Ø{w¢ó�§ãØ¥òœÄ›N&ftoüù.ʶÂqt—jm˜Q'¤áÍ)Ƶv†Å vÒâ΀kM&Ρ]+¯q—Šÿ°ÏvU܉ˆˆˆˆˆˆÔE�[˜˜e%øørþ‰Ã›Þ *uhµsü¥ùdú[r—>FÞ—Ï;h2ÖØdbœ…§ ƒƒóî'wéc|õ"qÇLÀç* `ÍëXìÑ$Ÿõ{œÝO hû|ÜY›[ùi%”¬�£‰ÛOf!Ù/!ÿé¯)¬Š7e¶£âp? ß¡Rrþ´„¼§¾¢àíoªµcº¼¸k>¹�­$ÿ…µäÌ\&8�KÀõuyàæ’R~ßÔ8l)±¸Öeašf+?µHø#îÇ8ûŒ÷‡»+"""""ḅ‰izÁï ,{;–¨„jçø}e`ú(M_¦‰½S7l‰=Á°”õû(Ù³{§ž•m”ìþWÖ&l‰½ð΢pÝ[­ô„ÒRl=ÀbP¶åøÊƒ¯Ò¯3Ê�uK¨ø€{ëÁÊsÌ¢²Zm9t!ñ¦SHùûÙ¤üq<`‰sàÍ.Ƴ'{¿ÎX¢ìD +âJ×d´Ò“†×=i),Ò��ótH?îIK w—$Ü:õ®þUDDDDD¤šÃ-˜¡Z} kùÊ•fEHg±EQñ¢ò‹Í ¦‰ßëªv­¿$·¼  á{Id3œßsëOy¹á°‚ ¦Û[qÌ€Š*¶ºØŽŠ£ó½£ðe—PðÊ|û éúØäjç”®É$¡oöÁÉ8†¥â/*ÃÓpx»_/N�‹©|ßÝa禮]81&š+výÖ¾µÉÉ]˜8qÅÅÅÌž=—ÄÄD&NO·nݰÛílذ�Å‹¿¨vMçÎ�™8q<)))DGG“žžÎìÙsq»ÝØí6Î9çzõê‰ÛífÞ¼OÉÈȬuï»ï¾Ÿ¯ü!¼^«W¯fݺ •ÇæÏÿŒo¿ÝZíšèèhî¸ã6^yåu8P«ÍæØ¸q-^¯›ÍÎܹóxè¡?áõÖýßͶäÈóù|?ýËo~ó;¾ýö;,˜Ë˜1ã),¬>¤Õjåûï73`À1a豈ˆˆˆHëP…[³Ø¢0¬vœÝŽÃÀ›_^]ä-(ÿÕý¤*眆�'ï‡Ê6¢ºOL¿qøJr±ÆEüq‡åY$t|û”/†`·–¿– ”í-ÿÃÖ»¿€¨ãRÁ^ñ_óhkµvìý:cØ­¸7ï§ìûl|Ee`T¿×‘yÜ¢Ž? ç�d\ë÷aúÛ÷pÒ{ÒRª…mU�£J·L˜0Ž‹.º�âââÊ}))ɬY³–'Ÿ|š7Þx“O<‘þýûU»Îëõ²bÅ*ž~úYžzêÜn7cÆŒ®<>yò$ yê©g˜?—^z N§3`^zéþõ¯'yç�w;v }úô©‰Ù³?bÕª¥|ðÁ»Õ‚Ã3Î8�Ï>›ÇŠKxþùg˜3ç£Êc�îcµZY¹ò yäOlܸ–ñãϬÖ×ÔÔTÞ{ïmÖ¬YÍÆ�k¹õÖ›õ¬V«•;ʇîþêW7rÌ1ƒyé¥çùç?Àn·óì³O²jÕ2–.]Ä '_ï}�ô÷ùçŸaÕª¥Õ®‰DšÃ­œ{oµ÷ûÞ©>œ¨ìà÷d¾qq½çâ÷”�÷å uÏ[õ y«ž©|ïÚ»¦Ö}$r¼º�‚W7<æwy(x=ð±#|…nòžü²Ú>××Õ«xÏÚÊáY[©�·b«kcVå íYf™§ÞP-³ÌÓªýioRS»’ššÊŽ;1 ƒÕ«¿¢ à§9¾n¼ñz’““Ù½{YYûˆ‹‹­œËíˆÒÒRRSSë¼�Åb¡OŸ> <ˆwÞùoåþŒŒ |>?={ö`ß¾,N8a8/½ô* h‘çøðÃ÷ñz½}t_|ð!-ZBjj*ÿû_9眩:”Ëïÿ[n½õfžxâ)ž~úß\}õ öìÙC§N�())¡S§N¼øâs\pÁŤ§§s饗ðüóÏ0aÂ$’’’xæ™§˜6íBÒÓÓ™2e÷Þ{7TX�î3sæcôêÕ‹eËVðàƒÕ I:į}7YYYtéÒ…/¾øœO>™Í�?î­õ|Ÿ~:»Ún#FT¶ûì³/pÎ9çpÏ=÷±mÛv¬V+†a0sæã¤§§síµ?硇äüóVç}33÷ѽ{w.»ì*öîͨv�ˆˆˆˆH$Rà&jFç´!Q'uÀµ~_¸»Ò*fçrS׺+§fçÖy¬Aíìg£±^x>³gÏ­¬([½ºz(üÜs/b·Û9öØ¡Üpà ž|òJKK‰ŠŠªvžÓ餸¸ˆ@~ñ‹x½>rrr˜5ë#²³«/ô±|ùJÎ8cÛ·ogëÖï)+«½‚o(]xáÅdgç0kÖû•÷ùÔSOÆápð¯=U|YYû9å”Sزå[öìÙ@AAAåù[·n%==€wß}�ûÔÔ® >œÍ›7WÛ¼yKå½ëºCw,ø,`Ÿ½^/ ñ\rÉÏèÖ- ¯×GjjjÀÀmÊ”©µ>㆔••Uöwöì¹ÜvÛÍõÞ73s�‡½{3j]#""""‰¸‰„ˆY3OiÅ`6 Ñ'wÃôøpo9îÞ´ŠÇ²²91&:à _•ðXV†Õšõ¾í, ^x>[¶le÷îÝõžëñxذa#cÇŽ&..ŽÜÜúèÊ{ÖuŸ† 2˜ƒ³+«åRS»6ëÙsssƒZ¥4Ô÷ U¸‰„’ibúM _ÅW‹�éo»)‹k}Y×Í w7Âⱬì¦U³ÕpägàÈÏD{bëÄ�çØc�%??¿rüÜÜ\æÌ™ÇèѣسgÑÑÑŒ3šÎ�“°X,<˜Í;ïü·rn±9sæ1mÚyÜzëÍ”””ðßÿ¾_YíÖéé?�žþCÈž1Xÿþ÷“üö·ðÉ's¸æšëùãÏwÜŽËåæ_ÿú7+W®æž{îçµ×^&??ŸÜÜ\n¹å×<˜Í�wÞÃÓO?ÀÞ½Ü|ómP±PÅ=÷<À /ãÇ�cÅŠ%dffqèP^�çΙó1>ßOß‹ßýî!–-[^íœçŸ�‡ú=W]u7Üð«�ÜWDDDD$’…zF¡`Ú3x]uŸ¥Ê¾šÛ‘ãGÞ[jl`­Øl›H8pèê¼üü&= -¡;FCq¤ý3}>¼…™ÕwZ »kR4öþID O£dÉnü…‘À’à$fÜѸ6eáÙ™‡/¯Óム‚X—«„YI³#2FÜ�zCÁ˜_Í wwê4lرÜÿ½\uÕ5Aœ-""""Òx……‡ƒ>7))‰ŒŒÝ#�BÀx+6_Åfþ›Ye?UÞWݨrœ*ûÌûj¾®KÈ*$TáÖH¦Ï…a� w7$ÌLŸ+ÀN0ý&¦×‡YêÅ_R†µkœ·ÎÚ5If©·ügÃßq‡–¶u‘²¥¥¥‘““ƒÇãáÒK/æóφ»K"""""šæpk$Yi¸»  ðÏ�‰aú1Ëüø‹Ëðç»°õLCï$’Øz&àÏwá/.Ã,óc˜þºl‚´¤sÏ�Âüù³Y°`.eeÞzë�pwIDDDD¤CS…[#™žL�Ãî wW$LL�Ó`¢õ#E­^f±_^)δliñx³‚/·•öÖ�5> ÷ÞÌbø IDATx}Õ‹ŸEB䥗^iÕWEDDDD¤~ªpk_©&qîÈêûþ›~ð{Ê+Ü|9¥x³ ‰ž†a õt‰é ‹AÔð4¼Y…ørJË«=~L‹ˆˆˆˆˆH›¦À­ L_Þ¢œpwCÂÀ[”ƒé+«ç Ãobº¼ørKðî;Œ¿ÔCÔØ> Ý:Ãb5¶þRÞ}‡ñå–`º¼~•·‰ˆˆˆˆˆt ÜšÈô”à-Ü�éÑ„ø�éqW|¿ %­vbÅ e>ÌB7ÞýE”¥çaøMbÎê�-­ã®ðØQØÒâ‰9«?†ß¤,=ïþ"ÌBwùÏ„Lé4‡[3”WºÀ°Ç`qDcX£0¬ÖpwKBÄôù0}.üe¥ mÕ.41}àsy1óJ+çu³uK ê”îø»ñî-Äw°³¨¬<„‘6˰q¬]ã°õLÀïÄ›uï¾B¼YÅøòKñ»¼à3ÁÔ÷ZDDDDD¤#Pধ_ciÿLüà/õ”p^þ¢ò…l]bpôëŒex*†Ý †mÚ6™«§üûëÏ/Ž·_v ¾¼Rü‡Ýåa›_a›ˆˆˆˆˆHG¢ÀM¤¥˜&†ÌR/~˜n/þÃn|Ù%XâÑ6°Z4·[gúMðùË¿ÏEeÿÏÞ}ÇIUÝÿÝ;mwg{–Þ+E±€5jŒ%šß—Xc��XbPƒ±$j,‰±%±ÄŠ »‚ *U”"½ï²½Ìîô¹¿?vva;Ëî²û~>÷Á̽çÞó¹wf‡;Ÿ9¥2ÉVÀò†±•ã¶YJ¶‰ˆˆˆˆˆt*J¸‰D–EeÂ%Ä …±|!"epØ0UÉ6Cã貌jãö#¬L²YÁD"QÃ6‘ÎH 7‘ƒÅ «2á6*0a ËÓ¨\ µnë,«²ÛhÕ¤–µgr„ªl›’n""""""�Šn"“Uí�–aU6‹ª6Q‚Rn‡6k¿'š‰TDDDDD¤³SÂM¤5Õ’�QnFDDDDDD¤cQÂMDD¤ŒÑ3 ©7”lÅúöþ¶GDDDDDÚ1³­9$$õ®ù¯ˆˆˆˆˆHÔÂMDDZ”ÃagÚ´iôêÕ¿ßÏ|ÈŽ;HOOcâÄS(//gΜ÷›´o}Ûª»ñÆë‡Ã„Ba-ZÄҥˣÛ>úèV­Z]cŸØØX®»îž{î¿ìÞ½»E¯GLL ß¿”O?ýŒ«¯þ}t½ÍfcíÚ8ph‹Ö'"""""mO ·à4]8MvÃ�išÿ�ga‰DYA?�ˆ¿ÅŽg˜¸M—ab74i¡ÎBø­å‹ +ÒÖ!µ¹)S&SZZÊã�ÿƒž=³8ÿüóxüñpüñc0`»víjò¾~¿¿Þmûzæ™çðxÊIKKcúô_QPPÄ–-[8þøqû%ÜF�…Ãá<W&N<™9sÞcÒ¤‰8�N�ÀA©GDDDDDÚu)=6ÃN¢=™G.[ 6Ó¦d[a``3m¸l1$8’H´'c3,?í4 2mvºÚmÄ›&%Û:poštµÛÈ´Ùq�÷•u¹\ 4ˆ ¾Â²,¶mÛÎÖ­[9üð¡üøã*žzê6lØÔä}ëÛVŸ‚‚–-[ÁÀ�ý£ë***0`ïs§ÓÉС‡±cÇŽ¼{�uÖ™¼ôÒË,[¶Œ Æ”:DDDDD¤}Q­™œ¦‹$g ÛÁi!í‹Ãæ$É™‚Ót5kÿ8ä»ÝNŒÙy1�EŒiÐÝn'Î蜯))) …¢ëvìØIZZ»wçbY5çåMLLä†~OFFz½ûÖ·­!N§¿o«²¯¾ZÈøñã¢ÏGŒΊßG»¡¶¤„„xÀòå+xx6mj­ål6 ~ÉÓO?ÉÂ…óùôÓ™:u2Ï?ÿo¾ûn!sæ¼E�ÝèÖ­óçÏ‹î{üñãxî¹§¢ÏO:éDæÎýˆo¾ùЧŸ~’ÄÄl6_ý³fÝÍŠK8ùäùío/ãÓO?äÓO?äÛo¿fíÚ£Ç9rsæ¼ÍÂ…_2{ö«5”"""""Ò°Îù�ðÙ ;ñŽDµfëd â‰Mnéæ4 ºØmz·t"ÐÅnë”-ÝâãÝûuñôz½ÄÅÅÕZ¾¢¢‚E‹¾¥¤¤´Þ}›z\Ó4éׯ‡6˜5kÖD×ïØ±ƒp8BÏžYØl6† ;š%K–5óŒë7eÊd>þø>ýô3N>ù$ŽÚ?CºwïÎÌ™w3vì ¼óÎþøÇÛùýïo`̘ñ¬\ù×\sUƒõuíÚ•ø \ð+ÆŽ=�;vpõÕWЫW/æÏÿŠaÃŽeÞ¼/xê©g˜4i*§ž:�­[·ò‡?Ü@RRO?ý$×\scÇNàµ×fó¯ý£E¯‹ˆˆˆˆHG§1ÜšÁm‹W²­“20pÛâ) 7zŸ4SɶÎȨzí³Ã¡F”î8¼^/1115Ö¹\.ÊË=µ–…B,ZôMƒû6õ¸—]v ¡P˜üü|Þzëmòòòkl_°àkŽ?~ëÖ­cõêµm\µ3ÏüGy§Ÿ> €äädÆŽË—_Î߯l0dçÎÊñíÞÿC~þó³(**àƒ>äÊ+×`}£F�ÄétòÈ#ƒª‡ÙÙ9ø|¾hò¯º+®ø-99»yûíw¢ÇX½zutÌ»W_}�[n¹�®]»°{wî\ ‘ÎC ·&rš.u#íä6'Έ«Q)Ħº‘vb1¦A\ÄìT)‘‘‘ŽÃa'¬L6fffF“7ÍÝ·©ÇÝ3iB]6oÞÌ)§œÄ¸qãxæ™çšy¶õKMM%+«G="ºî¢‹~Éé§O«5áV]0X3k<·ÛkÿﻬÌC~~>]4½Æz›ÍVkù#�<‚ .8ŸiÓΈ®s8”•yjìër¹ö‹ADDDDDê¦.¥MÔÜ1¼¤ciìûÀ­d[§×ÙÞ^¯—õë70a †A×®]éÛ·7«W¯®µ¼ÍfcÔ¨cq8õîÛÔã6ÆgŸÍå믿¦¢¢âθn§�6u¿ÄÚ_|É”)§b³Ù°, Ã0êL†Õ¥  Ÿnݺ2dÈzöÌŠn[ºt)]ºdpÊ)'AUb.66¶ÖãÄÆÆòè£sýõ7ÖHN.Y²”qãÆ0dÈaL™r*7nж¶‘†)áÖDvÃÑÖ!H;ÐØ÷�«“œ/{uÆ÷À{ï}@rr2W_}%§Ÿ>�W^y=Ú*m_n·›ñãÇ‘œœÔà¾M9nclÙ²•¥K—7{ÿ†œyæÏøì³y5Öíܹ‹¢¢bŽ;n‘H„W_}�wß}“¤¤ÄF7 që­wðÊ+/òÉ'0räÞtee¦O¿”ßÿþæÌy‹—_~‘áÃ�©õ8¿ýíeôì™ÅŸÿ|7~8‡?œCff&¹¹y\ýM<ñģ̛÷ ç�w.W^yÍ\ ‘Χ¥›^4æxF�«¯3«­ÛwÙ³}ÏssŸÅlU‹½j±‰ƒ¾¨¨¸ñcpU—êÊÐøm‚…E¡?¯Ár}½[:9 Øl^W<Ÿ¯‚HËOœy@Ú:„6cŒžI½¡d+Ö·÷·u8"""""m¦´´¬ÑeSRRرcÓ ¡ª%\µX@dŸÅª¶žjÏ«/TÛNµuV-ëö}\—Æ”i�áÖDJ¶ MxèÝ"ztJ²‰ˆˆˆˆHc)áÖÊ®p;ÿÜ0«ÉÛ¤óíŠá¶”Tœu¤l‚À¬â¾õùZ=6©›n­À4lŒN�À Ä#¡*±V—ÿës-ëÊ~à»ÂùD¬vÖ—LZ•Ø,£Î&R6ËÂh±Æ®"�‰D0ÍÎ7.�ˆˆˆˆˆTŠD"�(%úÖÔ F¥Mà˜”1ÄÙâ,ë¶'0,e,ǦŽo•ؤýúÎïã‘Òºg|¤´˜oüjÝ&­+ØÌñèDDDDD¤cÐw‚ÆQ ·V08áÈ&ïsXâÑ|[ðÅA‰§³ŠµÅqxÒúÆ"ÉžBÐ ±Û»ƒo ?§8PÐÖáÕ*7\w+Ǽ°~Uh ý.�Ob˜Ëůrs(ho³´2¿?€ÃáP+7‘N(‰à÷Ú:ŒC‚¾1µ‚Æ´lk‰}¤~©®.ŒL�eÁNïV ,úÆæŒÌ ±¶¶¯Vùõ$Ü ;yâç`˰ٸ))…GÓº0ÌåjëpÚ•ŠŠ 5#éd"‘mÆ!C-ܤӨåÝÆK[þAY¨Ó08;ëbº¸2Isue·oW[‡XCši㎔Ô:·ÿ!9…?túWËå IŒ‹‰å‡€Ÿ ÓF7»>.÷ˆD,<žr\.§Z»‰ˆˆˆˆtp‘H„`0¨–mM¤o�­¨±3�Ö7©‚4ŸeE¢É6ª&%00°¬E�Â6�m_N îNM£¯ÝQg™¾vw¥¤qCA4{BK{ÞSÆ[Vü55ƒnmP;ä÷ôŸ®ˆˆˆˆˆH-”pke{’iÿÜ0«ÎÇrpeÅõ£·»?=ãú‘`Oæ«‚O DÚ×äSãâèWO²m�þ“ÝqÌ)/o•¸:“m! *""""""Í£~@Òéô�ÈQI£Hq¤¶Â$Ø’0ÛÙŸÂI±îF—=9&î Æ""""""""M£n­¬z ¶ºËÁµ ÿcÌ%ÝÕ…ãÓ'sLÊq,?K ¿jëТz7a¼°>�h '"""""""­G ·V¦n¤íCØ ±Û·‹/ó>äÜž—Ò3®_»J¸�½»}Mà """""""�×¾úщDNÓ‰ÛžPc]Š3o¨ýOmüa·|Ø­G[‡!""""""" P ·VP*ÃmO [LVƒÝH3czF÷‘–ÕÇ=˜“ºœA¾?›²P ÉŽ4R]XV„U%KÚ:<é ”pkëÊ~`XÊXÎΚÞè}~*[yPcꌊylð¬"36‹4W|a/Û*6²¼ðk²};Ú:<é ”pkßÎ`P‘ûuiÜWy¨ŒŸÊV²¸pA+E×yäùs˜»û�¶CA7æµu""""""rQ­D¬0ß|Î7Ÿ·u(r{É£nÆ"""""""‡%ÜD/zJÛ:iÍR*""""""""Ò‚”piAJ¸‰ˆˆˆˆˆˆˆˆ´ %ÜDDDDDDDDDZ�n"‡  ›� ›­­Ã‘Zh–ÒVà0]“<Šþ CI°'Œø( 䳬p!;¼›ëÝ÷²~7´‚üwó#-O¿øÃ˜Üí.`IáüFís q4§ÎÎêñ´.ôw8ˆyá0+~þSVJa$L¬iðLzW"X\�›ƒß²uÜ·ºv§$á×y9ù g\L,w$§ò¢§”—Ê~�Íåëö;¯­S¯Ü²˜ë­à× ‰dÙ+ÿdßêÚ¿eqAnvôùW>/ވŸØl¼_QÎ žÒÇŠ1 nKNe¸+†âp˜Ùå>ô–G·›†ÁyîxNމ#Ãfc[(Ä‹žRû}$›&Æ'0ÒKšiR‰°ÀWÁ=eÑÖv{bÉ ‡™Gv(ÌM…yÄ™—Ç'1Ê léˆÔ§ñ Ëõí"d…ÈpuãÂÞW2&íR�]j”—>™Ñi'b&[Ê×ã0œ,t»ËŒ¡§»?�\bÍ8F¦ž@ï¸�Ñí“»þœ#G’ãÝÉ–òõôr÷gJ÷ó0 €‰ÝÎfHâÑT„ÊÉön§kL�>¯¶¨³3³W^V Ãá:ËLŒ�ãX—‹m¡ †Á…ñ 늩Q&É4éf·³ÂÝεIÉW­Ì IL�O$„ÅR¿�þvw§¤q„Ó €Ï²Kv(Ä¿›ç¸ø¥;¡F='ÇÄrA|e‘›«k·$¥rjœ›‚H˜UA?ƒ«Ž)""""""ÒѨ…ÛAV*ãƒ]¯26}"é®®“rG§Œf£g _å}ŒÍ°34q8Å�^ÛþL­ÝLýa/¯n}’�æØÔñŒL=�ÌØžl­XOº«+½ÜØZ±žÏv¿ €Í´Óß=„${*–½ãà –òÆöçˆahâ0&t™Öìsj‹:;+èëp25ÎMø>¨³¬ÇŠðÛüÝ�óÝ ü:!‘£œ®hë4€ÂH˜ëòs‰§ÄÆqSR §»ãùÆï#ÃfcZœ›­¡ ׿ç¦ÄÆñû¤Îq'ðc Ÿeñ«Ü½“.dÚl<›Ñ�c].ž÷ì�%lÜ\�ÇOÁÊx{ØíŒvÅ�s]A屧ƺ¹6)ù`]:é<žBâãS›¼M¤­)áÖ vz·ðÆögé×�� GÐ/~â‡bYÖ{~Ä4 ¶WlªsL·0‘hWÔßN¨ê �ìH wÜ@®p{�ý\¶Xbln¶{7!€/â= ói‹:;£W»dF‡-øWY1»Âu�û¶`O'Í5U‰®¤}&æZT½"0ßç寤zÚ*?úؘÀR¿Ÿ=µ|áóòû¤zÙ÷~T u:ùYl<ƒ’m6 Á´Õ¨§"‰&ÛzÙ+g]]á÷E�]jEÙ—Óéä�¼�_þò|¨J¬ÕeýúÕüï¯0kÖ}êi  ÒÚÔ¥´•XXl«ØÈÜÝïðá®WèÛ»áÀ0÷RDöIRø"•­—¶V¬çåmOÖXòü9ت^â`µ.ªu10CKÖ)u[è÷ò©·‚ÿzJ¹¢`7sÊ˱W¥º;žîSÕý7T5‘Çžç6cïûÀeX€¿j|¶v;÷¥¤Ó×açáÒb.ÎÏ!@Ã3¥ÚªÊxQV-v»�›o¾�Ï>û�ìì­,_þÏ>û/úôéÝ걜yæx<…ÜvÛŒV¯[DDDDZÎwÜÊõ×_K·n],›™Ù�o¼®Î{À… ¿Äã)Œ.Û·oäÃßeüøãBä5íÞ½��×¶è1›sÏ{0â�†)áv�Ù ;®n5ÖíI®yÃå”*3õ½Üý±¶Z�QŸ¢@Ë¢›+ _¸‚â@At [!ŠC@eO›QÙJÉiÖ;+ `a‘ê̈Æ`ÖKKÔ) û{I1•ñЧŒí¡–™ÑÖe8ªj#\1À¶`å±÷Lb0Ê劖9¶ªÌæ`å¶!'Ã`±ßÇÊ€ŸÒp¤Q‰Ú�¡pôxΪòqFã¼Ò~ÅÇÇ3wîÇüéOw0hÐ@–/_ABBçŸ.ß|³€“NšÐÖ!ŠˆˆˆÈ!è /hò>¿úÕ…õn÷Ý÷xûíwñûŒÍy“5¥ßðQά-]‰ËŒåð¤ÄØÜÑ–a�± ÿ¾)ø ‹aÉcéÓƒ`$myôqöl¶”ÿ„ÛžDzL7æå¾Gy¨¬Æ1æížÃnß.É8L_å\cû¢ü¹T„Ë9‰®»ÿþYx<…œ~zå$. Õ-""""K$áË/çCU� qOxƧ±`Á�çŸÿwƒu‹ˆˆˆHÛhì ¤õMª°¯ÃÊ/~ñs¾úêkhàž°W¯ž¼ð¿ÉËËçé§Ÿ%&ÆE×®]),¬¬óo»ŸË.»„�7òÁ1tè<O´¾ääd&MšÈªU«?þxn»mË–-ç£�>i°îp8Ü"÷¼ûÒ=pëPÂMDDšlÏ/`¹¹yµnß¾½²K|�=˜5ë/Ìšu7§œr2÷Üs/ô§oß><õÔ3 :„É“'ñÑGŸpñÅ•¿ÖÅÅÅqÖY?£ÿ~¬[·€p8Ìäɧ±xqåôgêÔÉlß¾ƒ & ¹ä’é<úèÃ�>‡#�<¢Qu‹ˆˆˆHÛÙ“L‹�O­óqclÛ¶¡Æó{⦅O>ù¬Á{ž=³°Ûí¬Y³–gžyŽ-[¶F�Ñ£Gw.¾x:6ldôèãkJ¥¨¨ˆ‘#�ÃçósÛm3¸í¶ü8>úè“ëŽD"|Ï»/Ý·%ÜDD¤Érrvн{÷Z·wé’À–-[عs .b̘ãHIIáÔS'ðÚk³�{Þ}é¸õ(á&""M¶nÝz,Ëâè£�¤gϬh‹¶=&N< Úýóõ×g3nÜX&LÏ©§Ndûö|ûíwÄÅUÎdúÑGŸpë­wÔ8ƶmÛë¬ßf«œIÙãixlÈ=e÷µ§@Së‘ÖS½[]�ã–[n£°°�¬¬ŒsçŸ./¿üjƒ÷„~¿ŸÑ£�gÚ´)œvÚT~þó³xî¹§(**"!!ÓlÜðø¡PÍîš Õ=uêd8À{Þ}é¸õhÒ„&²°Ú:iû>лE:ê{Àãñðüó/át:yâ‰G£Î\vÙÅœtÒV­Z›âÍ7ß! qƧqüñãxã�7±,‹µk"3zô±²~ý†èRßì¦6l`òäI¸\.k”©¨(Dz,;l011•eö”š]·ˆˆˆˆ´�§0Ú«úãæº÷Þû¸ãŽ[q:� Þ†�a¼÷Þ\qÅ5Ñ–qGyDôžôÔS'Eï7›¢¡º[âžwÓ4U§´µpk¢H$‚Íl\æX:®H$Ò¨r! ÆAGÚ±PG͸3gÞÃñÇ�áä“Odõê,[¶‚¬¬vØ` ¸úêßG]-,,dÞ¼/8÷Üs0M“×_Ÿ À®]Ù<÷ÜøÍo.eÞ¼�yùåWÉÊÊ"11�éÓ/­³î\Å¢Eß0fÌq,X0�\Åi§Õœ…Éçó³|ù †Æ_|FvvN�£š[·ˆˆˆˆº>ÿüK¾ýv1£GË¥—^Ì?ÿù¯zï �:êHÞxãÞÿCŠŠŠ¸ð X¼x)ß¿’¯¿^ȸqc™?sç~Îá‡eÖ¬ûøöÛ¡ûÑ–¸çÈË˧OŸÞÜyçí<ôÐßuÜJÔ­‰BV°­C�v ±ï¿>°É IDATոĜt\ù=�——ÇØ±xä‘ÇØ¶m;cÆG$á?ÿy�Q£ÆÕs àµ×ÞÀ4MÖ¯ßÀÊ•?D×ß|ó­üéOw …¸á†ë8öØx<åFýÙê‹.šÎœ9ï“•Õƒ£�>Š+¯¼†ììœe.¿ü*–,YFß¾}ˆ�wsà ·ÔØÞܺEDDDäàÙsO7zô(âãS£ÝG«?Þã¸ãFCUòª±þò—ÊVn3fÜH|||½÷„¦i²víOœuÖ\{íUx½^®»îF,ø € /œÎ /¼Drr2—]v éÄÆÆ6:–†îG[âž÷öÛïd÷î\.½ô×yäºn%-}5s<£�ÇÕ×™ÕÖí»ìپ繹Ïb¶ªÅ^µØ€ÄAƒ_TT\ܬtš.IÍÚW:޲` �HÃÍmã “®vµˆìÌv‡ÂT43éæóUѬÜ""""ÒÉÜu×�ÜxãuMÚçÁâ®»þ|Ðb’æKIIaÇŽMc€R „ª–pÕb‘}«Úzª=¯¾Pm;ÕÖYµ¬Û÷q]Z¬�’º”6Q â'à°9Û:i#Áp QÉ6€ +‚/bcê—‚Îȱš�lé¬fͺ€ /¼€ÌÌnõ–ݵ+›—^z™¿üå�VŠN¤qÔ­l†�$g F‹_>iï,,JE„­P£÷qÝív½[: Ø °šÿ‰Z¸‰ˆˆˆˆÈ¡®³¶pÓnͶBx‚¥š±´“±°ðK›”lX¹¡°Þ-�ˆä†Â”l‘C—n͈ø)  Ú:iÁp€’@Q£»’î«Âа+ÂQ¦£óE,v…BêJ*"""""Ò‰i ·¶B”†ŠqF\8MvÃ�išêjÚXXD"BV�@ÄßìD[uË";".bâ6 \†‰Ýhù~ÝÒº, dUÎFZ®1ÛDDDDDDD ·–ÑR é*¬aªºª‹ˆˆˆˆˆˆHG£.¥"""""""""-H 7‘¤„›ˆˆˆˆˆˆˆˆH RÂMDDDDDDDD¤)á&""""""""Ò‚”piAJ¸‰ˆˆˆˆˆˆˆˆ´ %ÜDDDDDDDDDZ�½­èœv—ÝÄn31M0Ú: 9`‰@(ÁŠEZìØn‡…Û!ÆÓj±ãJÛ F |a(š”õ """""ÒÙ)ávì¦�ÛeÇa×ìŽÆl&ØL—Ã$²(÷‡EšŸ sÙ,Òc"ÄØ•dëh¦…ÄG_È ßgâësADDDDD¤³R—ÒfrÚM’Ü%Û: ‡Ý ÉíÀioÞŸŒÛa‘V²­ˆ±W¾Ön‡^k‘ÎJ-ÜšÁn$ÄÚÕu´“1€„X;%åÁ&µtsÙ,ºÅ…jlÒþt‹ ³Ãcëp-Ý èßÖ!ˆˆˆˆˆHÛ°ac[‡Ðî)áÖ n—’m�•Qõú—xƒ�Þ'=¦åÆ“CKzL„�å¶¶£Eé?V‘†©Ki9í¦º‘vr»Ñ讥n‡¥n¤�XŒÝR×R‘NH ·&r5s /éXû>p;Ôº­³Ó{@DDDDD¤óQö¨‰ì6]2iüû ¦cõ&”fÐ{@DDDDD¤óQö¨‰L]1iÂûÀaª;ag§÷€ˆˆˆˆˆHç£ôQiô6A漢f)m©ñNÆ L%+-§moª&¶Øœ[Ηkòð5Γìo`Rˆ3ûzž ›;Œ ØYnciž“·6Dz©DÂ"""""""í�¾­d©ñNÎÕ—cÿÆ„N›ÁàÌxÒœÌ^¼ o Ü&1Jûã0-®?ºŒ3ûz1÷iN×71DßÄçô¯`Æ¢dìrµU˜"""""""R %ܲqSq9L¶äU0wu.ßÞ¤ZB¬�3‡g’ïäœc»+é&P•l{x\1#ºF ^ßËGÛcØXbÇ0 BˆÉ½}Œíæ§Äoï´xt|Á0\þEj[‡/""""""Òé)áv�e¥Å0wu.GõJæ˜^‰¬ØZÂÂõ…”yCÌ^¼‹sŽí®¤[ ÊHpqüà4z¥Åòì[ñøCØMƒ}“Ò=·ËŽÇbõÎ2–l.ƲÚÏÀö×]ƈ.r½6nø*™�¥5ÿL×;XSìà‘ï¢É¹!ÉAÖ9Ú,æŽ&Ùáçý¼Lèî#+>Œ?l°²ÀÁ?~ˆg›G›­);nÃÄi˜tôD‹€¡ÜŠPF¨­ƒ‘¢I²=c¶y|aŽé•„Ãfrtïäèvo Ì›‹w‘_ -ÞÉ/ŽíŽÛ¥/ôÍcçÔ#»ðË1=è•»ßö†¤sÜ€T‚a‹ »=8í&c¦2ª_J›Ä[›=c¶#F­É¶ê àÖ¥Œè ßgrë·I­kGÖ?)ÄeC=D,ƒ¥¹N, &t÷óèøbœ¶ö“œíÈìt3œ¤˜œ†­ƒ&Û œ†�ÓA7ɽÞ§ˆˆˆˆH碄[+Z±µ˜`Øâû­Å5ÖW¼µ¤2é–ïäç#3•tk† ƒÓÒ=��E>J¼ÁÛ Ãà°Ìx*üa^Y´ƒ�Èåí%Ùµ&çÚÊž1ÛfoŒ­7Ùpù¦öòQ2¸ñërÊm­gG·"ÏÉ9¦sñ¼TnY”Ìd°¦ØA׸0Õ ©5¤{m�‡Ó°‘n¨¥ªˆˆˆˆHG ¬N+Z¸¾�…ë kÝVóæ’½ÝKÏÖ�×¾ÝAD�imцB–o+fW‘�sGõ )¶ÚWË"²p9Lb�6<þfUºyW±·ÍbÞ׈.>ÞSo¹3úz™>¸œˆ3'±®XÊ-)lAvEÍd�aU®ßV®k]]JJ ñ8NŒ:gYƒÊÊ<5xÌì�.Ù¶‡Ó°‘`ÙÕ½TDDDDä§oŽYE LœÓFR¬c¿VWûòÂÌ^¼‹ó�ëA×$=ÓâØš_Ñj±ê ËP^û6 Xµ³”cû¥ðË1Y¬Í.cH÷vùX¶¥¤µC­S÷¸Êñû6Uµn{êÄB&Üðu2EþÊ á˜®~f +àþe‰,Øåâ?'1à’¹š4¡%�ê`l¦ŸÑ]dÆ…yäû<uùp8dfvÃét6XÖ0Àét’––JBB<ÙÙ9ƒuº�ÎÝøÚm˜”éÇ‘CšnÙ¦ÜrŽÈJäŒáÝ4!B[´¡ˆ)±tO‰axŸÊqô¾ßVŠ/Ø~^“=-„ö¤tì68,9Èã㋸zA ±þ|\ 6þ½ÖÍ»[b‰µ[ N â )ÔÒÆw÷ó‹þ•IoOР[\»!%C¢É¶@ @AA!uN>bqqq¤¥¥ât:ÉÌìÆ¶mÛë<¶³“'Üœ†Yù+�ˆˆˆˆˆ²:÷·šVðÕºB <�è,¤±Îº»IÅ:mœslw’bì.ñ³­@­ÛZŠiœ9¼‰.¾X“ϧ«r)ô8n@ gÏlëð¢ötcìW5NØ�_%³©ÄN¿¤�ŸPÄ߯g·øpk O¯Š UÙl�áÖâþ¶"�ÞêÂ¥óRÙZfç¢Aüßau4£ìDRRR¢É¶íÛwP^^^ïL¿–eQ^^Îöí;8�NRRꛬ¤³'�ë?ÿÿüçî¿V£�ã".®ýŒUÙ�ÿüç<žB<žBŠŠvóã�˹瞙¸\®fÓåráñÒ·oß�µº³Îú³g¿Êºu«ÈÉÙÆW_}Î¥—þú ÕWÝ¡ö‹ˆˆˆtJ¸dþ`ãf!�sÚøùÈÊñÛ =Þ]žM=ß_¥‰z¥ÇÒ;=޵Ùe|¿­„Õ;ÊxyÑ =z§Ç‘×>*ÿ.·²{Þ”^>Šü&W-Hac©�~‰!Òc",Ïsò—e‰Ñ0“«Ê.Ék¸kŸ4]0b°ºÈÁƒ+ÝÕßÖ!µ¹„„ÊdoAAa½‰¶}Y–EAAa�c4Åý®ÁüÎ٫ƺË�=¹ÃÕ¿ÉÇjI™†‹ÙqÇ´i õ¹ùæùÇ?kë0šäé§Ÿ¥k×, ÊÍ7ÿ�éÓÅwÜÚÖaÕéÉ'gÖ¬»yã�79㌳™4iO=õ yy­Rÿ¡ø‹ˆˆHãÜvÛ f̸‰3nâÆ¯cÔ¨‘˜¦ÉÌ™löq¸í¶ÄÆVŽÞ£Gw®½ö*®¹æJ²²z´Xü�™º”¶‚=³�ž=²;é •³�¾¹$›reˤ8§-º­Ð`ö’]TøÛO7ÇŽÀnV¶q»ö¶ G¬hC’p;™�â­M±œÓ¯‚³ûy™³%– %vŠý&×ÌOáoÇcYpË7É#•�Lqf_/ ÞÞ¬Ö -Åí°ˆµYäûöþ&Ñ;¾òo²Ð§ß)ŽÊänEEÓ[áîÙgÏ1šâ¡à^‰=š7‚9ä[R ¿°wã|ïŠ& à:g^ f“c)‰ÚÞÊË+(/¯àÃ?æÉ'ŸfêÔÉmV­Î=÷N8a<£GOYYYtý?üئq‰ˆˆHÇñÄOâñxHOOç7¿¹„üüB¶lÙr@Çôx<¼ñÆ›x½• 8¦L9•>øˆ 6¶PÔ¢oŽ­dOÒ-¿,@j|eÒÍí²+ÙÖJ¶úðøÂôËpóëñ½˜tD.“EªÛÉ–ü <¾ö1#à¦;onŒÃaZ<4®ˆI•qùM.™›Ê¥óR£ƒöLñи"¦ÅìMql.Uþ¼¥œ�éç�iyc÷î,Z4Ÿ1cŽàúë¯å–[näœsΦ¸8—‡~¨œÄbÖ¬»Y³f%[¶¬ã±ÇÁívG�i·Û¹ë®;Y³f%Û¶mà±ÇáûïG»dΟ?—_þò|Þ{ï-rr¶qòÉ'ât:¹ï¾Y¬\¹„¼¼]¬X±˜_þòüýbÝw¿ÆˆD"dgçDco¨»ÝÎÌ™dõêïÙ¾}#O<ñ÷ý¶×w~ ]Ÿên¿ýÌšu_�dÛ¾LÓ䦛®gÅŠÅìܹ™7Þx…Þ½÷¶Öܸq-'ž8!ú|ذcÈÏÏ®qÝšú‹ˆˆHÇ“ŸŸÏâÅKÞÆ’Ê?×I!¦ôòqf_/Óâ»\'�­lz÷<©Ûæ2Ÿn�á¨ô ƒ’C” f»xá'7ß´�îÇ�Õ¿;xÛ=œq¡ÆÛR8·Zë¶q¶®söÁmš¬ {˜éÛ@þàêÇq¶dÂD˜*à±À6¦;z0ÈtóPÌa|)ãNßú:÷;n8_‡‹˜dOãO¾ |.b”-‰�}‰3l5ZÈe˜Nf9ÑÛƒƒÿ³y6°ƒ‡bcn¨�÷C¹\ëìMžàå`v­çÙT'žÌu×ÝÈÎ�»¸ãŽ[yñÅÿ0dÈQ<üð£ÄÇÇÓ¿?~ýëË¢å|ð>23»q §àt:ø×¿žàÏžÉõ×ß ÀÝwÿ‰ ÆsÞyRZZÊ 7\Gÿþ5»î>øà_øÃîฃM›6ظq\ðÿðz½œsÎÙ<ùäã,Y²”õë7Ô¹_CzõêÉEý’3nƒªÖo Õs×]wrâ‰'pþùE㯮¡ókèúìKÿþýøî»ÅõžÃm·Í`Ê”S¹è¢éTTT0kÖ]¼ÿþ; >š@ Ðà5 ¯±ˆˆˆtL.— ¯×[c]BBç�wéééØl6¾þz_~9Ó4¹þúkÙµ+›îÝ3‰D"¼ñÆ›lß¾Ó4¹óÎÛ™9óN;m*iiiLŸþ«ª^å¬^½†åË+ïµ'OžDII)ß|óm�õ¡I ·Væ „™½xg�Ì$#¡rè¼2?o-ÉV²­½þÝÎýÖ•xƒ|üCn›ÄÓþ°Á�_'sÍQ~Þ·‚sûW.ûŠXðúÆ8[íb*-cm‘ƒ™‹“Ú: ©…��ù·ñhìn÷¯ÃoE *ÑugL.¬XI‘äzW.vfñ}¤Œ>f,gT,ÀYÕ´î¿Á�Lt¤1Ó·��‘Š:÷"°�¦‹oÅÜïß„$vî‹Ätïl�ø8ÙžÆUΞF‚ÜXGn$@ªá`vÜ0> æón(—³í]£ ·“í©\ìm¹.‡/¿ü*+V|ÀC=Â¥—þšþýû±fÍÚýÊ&$$pñÅÿÇ„ ÉËËàž{îåÅÿËõ×ßLll ¿ýíeœzê´h·È3nÝo€{îù /¾ø¿ëž~úÙèã¿þõa¦Oÿ#Gލ‘p«m¿}]uÕ\uÕÑç%%%”–îmAV_=11..¿ü7uÆßÐù5t}ªëÛ·/†a�Ÿ_÷Xm.—‹k¯½š©SOgÕªÕüæ7W°fÍJ¦M›ÂÛo¿[ïµØ£)¯±ˆˆˆt<¦iÒ¯__†ÂÿûB�mååå¼þú›”––âv»¹îºkX¹òJJJHJJâ¹çþKQQ£G�bêÔ)<õÔ35öÿý0 ?/¼ð? 2ä0FŽM¸ :d¿}¤aJ¸µo Ì«ßì¤oFe×´Íyíf 1iaƒ¿-Oà­�±œÙ×ËÈŒ=ÂøB¹>“¥¹NÞÙË&u#•NèƒP.÷2��ƒùÑuǘ 80¸'fɆ�Ý‘owÓÇËí®þ|Êç»pI­Ç¬k?¾Ö(»6RÎöHåxkžè¶0 Ø9ÓÙ…nF a ‹éä«P·;ûãÆFO[ Û">ŠšÙ¶![·n£¼¼‚øøÚ»@8Ó4yé¥ÿF»ø:+'éÓ§6›MîµNâãóy÷[—žžÎ¹çžÃ˜1£IKK¥K—.ûÍžYÛ~ûzâ‰2cÆíPÕ½áÿþïW¼ÿþÛL›v&_½°ÞzŠ¿¡í ]ŸêrrvЯ_–.­½µtŸ>½q8ì,_¾·¾òò ¾ûn ƒjðZÔ¦¡×XDDD:–«®ú¡Pˆ¼¼<^{í rsó0ͽ#„E"bcc1bIIID"())!‰PTTyŸòã�«8é¤ õÔTiݺõœyæ¸\.ÒÒR)(( ¼¼éã7wvú¶ÞF‹ »ËÛ: iç6•Úyøûý¿ä‰tfÖ>ÿTX ­WzWïWþ ïRN´§ò+g.!‹ßyWíW¦®ýmìßzÔa˜”[µ·HjÆsGLfù6²9â%Ó¬œ"„ÅÜpã) 2ܼ:Ø­mëþ§¸¸2éxâ‰ÉÍÍÛo»ÃáÀf³a³ÙˆD"�®ÑívóùçŸðöÛïò—¿<Àöí;xûí×›ÿ^�‡üãIÎ>ûgüìg§±bÅ÷õÖãr¹ê�¿¡ókèúTWPP@nn'žÂÒ¥Ëk-ƒÍfÃn·×è>øñù|ÑçM×P?Ô‰ˆˆt{&M¨K�Ý9ë¬3yç�wÉËË'%%¹ÖrápãÆ.‡Ã¬^½†Áƒ‘™Ù�eËš7IYg§IDDä�÷}¸Œ4ÃÁx[ T%Êb0‰ÇN6> æó'ßz†™‰˜UI´"+D¦áªwÿZ는1Ê–Ì@³²•rso ®�fùV�5‘ÊT2pE·Í æ1É–Æqödæ‡ k9òÁãpì{pûöíx<¦M›RkÙM›6cYcÇŽiRÇ#--•?þq&kÖ¬Åãñ4kb�ºäååãñ”7XÏÆ�›ê�¿¡ókèúìë±Çžàú믥oß>µn¯-›Íưaâ]L+*Ê^g¤„›ˆˆ4ɞ܆ь©F÷ìÓ‚y<„¸Ö»šËœ=y>ö(žŒ=œ£l °Åò@Ìa¼;ŒcãÞÀF"U-ƒ^ìàjW/‰9¬Îýk“ p—­:îD{þªcÎ °"¼7œ¿Ç¡˜½ÝFWEÊèkƱ6ì!ÐÒ ;wîdܸ1ôêÕ·;Ž`0ÈÃ?Ê]wÝÉI'MÀf³‘•ÕƒáÇAU‹²—^z…Gý#G'##ƒ3nj°žœœ¹ì²KHOOç¼ó~Á‘GѬ˜ív;.— —ËEJJ gžy&Œç�wæ4XOCñ7´½¡ë³¯Çÿ'Ë—¯à«¯>ç·¿½Œ¡C‡0`@Î;ïL›6�ÇÃóÏ¿ÄßÿþWFŒF—.<ðÀ½äåå1wîç,Zô-Ó§ÿŠ^½zÒ³g_<½I×kß×XDDD:>˲X¶l9¿ûÝoÙ¸qÁ`ˆnø=ÿïÿ]HEÅ�wÿܱc'éìÚµ‹P¨q-ã¤&u)‘& 8�Nâââ(/oZ×ø¸¸¸è1ÄÑž¯÷[÷CÄÃtïÊýÖ_æý¡Öc,—rAÅÞqµêÚŒç›ýÖÍ 0/´ÿ@ùe„¹ÉW÷ ö;,?„òëÜ~0¼üò«œzê$/^Èüù_qä�þ†×ë寽Ÿ¬¬,rssyä‘GY¶¬²[äM7ÝÂ}÷ÝËo¼B(æµ×ÞÀ²êîbº~ýþøÇ™Üqǘ9ó>ÿüËhB©©.¿ü7\~ùo(,,äÇWqÁÿ�•++_ˆê© äÅÿWcFԆί¡ëS]0ä´ÓÎâw¿û-¿øÅÙÌœyáp˜µkâÙgÿÀÍ7Ïàž{fòòË/âpØ™7ï Î:ëÜè/ÓwÜñ'þùÏÇY¼x99Ù<ÿüKþýêªKm¯±ˆˆˆt ÷Þ{�ÛÞ}÷½èã—_~µÖ23gÞ}ìóù¹ï¾¡jÜ·êÛþþ÷Ç÷Û·°°�+ö¿?–Æié© s<£�ÇÕ×™ÕÖí»ìپ繹Ïb¶ªÅ^µØ€ÄAƒ_TT\ܬLOp6k?éxòËNôOÒ/Kš÷Û†ÏWA¤N^œ’’BZZ*�@€íÛw4ºÛ aôì™…Ó餠 0:xë¾z™±µ®?Ô¥^Š;ŠÓÊ—E[ÙÕe[¤á‰ZS×®]ذa ÝñùŸ:Ttôói*·ÛÍUWýŽ|耇 IIIaÇŽMc€R „ª–pÕb‘}«Úzª=¯¾Pm;u ÷\×㺴XWu)‘&)**"¨låÖ³gn·»Þaàv»£É¶@ Pg²­RÇ ~ª=ƒy¡Â“míñü�>ú(6oÞÜa“QýüDDDDšêè£�bõê5-:&og£.¥­à±Yd$¸ø×¼-ø‚Mo®råÄ~x!þ=[³c¸rb?‚¡O±¥ÙÇ�Ö5¥—�É=½ Há¶[ì(·ñÙöžÿÉݦqÍ;3—Š�Áéïg4ª|ŒÝÂn@EÈ rŸÕ'õðsïqÅ<³&žgW·í5ÈÎÎ!3³N§“ÌÌn�Þ/���S+‚Ó°µ@”íËKÁ]�*¨§Ûfk4h ƒ dþü¯èÚµ wÝu'�<òX[‡Õb:úù‰ˆˆˆ¨… µu‡<%ÜDÚ›÷�)æøL?Þ°íŽ8 1tHvQ½mD)“²|üßgi¬of×Ji‚Á Û¶m'%%…„„x'u5r³¬Ê1ÛÊÊ< ´l«TÞAn�UÞnÉÉIÜ|ó�<÷ÜÓìÚµ‹§Ÿ~Žçžûo[‡Õb:úù‰ˆˆˆHÛÓ·_‘væÂAåŸégaŽ‹»'R¨ìùmà2ÕœWÚ—¢¢¢F%Ñš¢ŒnËì”I·€¦Œ¶O¬÷Ý&L8¥­Ã8h:úù‰ˆˆˆHÛS­�Å9mŒ�Jï´XÜ.;Þ@˜u»=|³¾�Pµþw»�iÇt¥WZþ0Ë·óÃŽÒ½Ûm&c¦Ò¯K.»��Å^æ¯) Ä¬µÞþ]ÜŒêŸBŠÛ�?¡Èäƒïw7«Ë«´›)§®:“|+H:tª¤[À “oÕþ™-"""""‡MšÐÆ‚áýºÄQì ²!׃aˆ>ÉÛ/¥F¹X‡IbŒƒíù^’âœ|xý2öŽc5íè®Ý+‘ìb?›òÊé“îæôaÝ0kéã•ëà´cºç²±r[)w—ã …•lkzƇˆµY¬)vP¨ûÏóÆcJ¹üp¡|³ÛÉ ä WÌ1é5gN�ÚËÇqÝül)³“æŠ#<ý’Büyt NÛÞäî…+8,%ÈÒ\']c#Ì^Ê ÝëHüÏÇ•ð‹þüXà`AŽ‹ãºùy`l1¦ŸïˆaSU7Ò·6ÅòÜšøFíp×±%œÞÇK�ÏdE¾ƒ#Ó”ˆèLBXäXŠ"AV¸]N$Ð2,V˜¢H�+@¨Ãž§ˆˆˆˆHç¢&#m,¶xö‹­ÑçIqm« IDAT¦�ïEŸŒ8m(Œ®/÷‡xõÛ�X–Å�î œzdŽê•Ȧ¼rÒ]ôɈcs^­Ü U-Þtu“ìvPè©™„IŽs`PXä‡í¥u¶‚“Ö—_™ô,õ×�lë款^6•Ú¹xn! ~ÖÇË­#J¹hPE´µ€'`pþÇé„-øÍP— )çý-±Ü·,€—O- OBˆÞ aÖW~øL¦Vy܉Y>î]Â9ý+˜¿Ëµ_,“BŒíæçëw~—€Ë„“³|ôŒñùN'eùè—â­MqÑ1ÜÚϲ ÆeúÙ]aã’y•±œÕ×ËŒá¥ûÅ [!ʬœo‘I ·v {²‹£{%Ó5ÙEœÓŽÄ8j&\Â+:ïú“ŽìBª»2±’êvÐ7#ŽßOî_c¿ûþ-ܲ‹½x‚ôJ�å×'ô¢°<Àâ�E¬Íöij”ÆÈõVvŸëá®»µaÿĦßîvªJB|º#†[G”Ò7±æØO! ÂUeVV¾OªÏºªÐAŸ„Iνƒ´"Fô¸_îra½ãk�§OBe}ãºùÿ?{÷Uµ6pø7=�„„ž½HÿD¤w Š€XAT¼Añb¹`A�&Šõª¥# Hè �PC $�$“2õû#É�6É$™�ï³ÖYÌœ³Ïngfȼ³÷>„ º–똗Ö~„¤¨ó|t™åº~»�7 ñ'„B!„BT$p+g>îžü¿ZÜJ3²óT z/=Xè9jUfàÁœ€Ëž —Êž³ñ¹ÒÞJË¿ø¶ÁleÙ¾(êVq£^UwT÷ O‹j¤-\ŽOubëDq]NVa±Bo#õ¼L„°n™‹:óº«rÄR]TV¬@šÉÎm"“5ÿ1s£†Ü²ÊʰœovìïX_üã‘ëXLªýµ·Š:¯sÖV}!íB!„B!**2RÎjTrA­T—JTbi cP«”¨³· ôsE¶©¢‰ÉF,V+5¼u¤,$é�¶Íœc8SörnЬíâu=;N]ç@xæÔÕ*žù§ Š;+ì`e¸JLo“€<#ËT ¸”œ„{¸F†míµÕ3P€mZhi¸k¬xh2ó}°ªp!O¾Ùë¬E$«±Xá_#7 J"SԶ͘¤3e5ÁKw{]QçEfµ±cõ 4Ywfu×XB!„B!î2Âíêõ@,9bg®&s#ký´æþ™kjUóÒ¡*àFnZÃ:úsýVAU3G¹t€” §¢“iàÅ�öµ8“Œ§‹­ZÉ–2§ë¥LTrÕбAe.Åééת:×õ¤-4©™YvìÍô²ïQ¤ïC=hék¤±�‘e½¸pSÍÍ õ½M„Äè˜qÔ‹×´´¯f`q�DÎ&©y¤VF‹‚Eg<(¡p^ ‹z$p*AC§X�eçÜlÇ“2”Ôt73¦Y ?ŸugíE7ÕKåûn‰l½ìJ573î+ïÈ\›íÂM �ÎÄ–Éì�Ññc˜;qiÊBÏ»pSÍ? ZúYÔ=‘ ·Ô¶QoB!„B!DE'#Üî  *îÔ¯v{óq×r5)�ƒáIX¬Ð¬–')é&¯ëó�{2ê&é õªºs+ÕÈÆã׸št;@öçé8ö�OÀŠ•vu½©^É£Ùj,·÷\©fšTÂÇCGbŠ‘zÕ>>DG_ìÜÌ€)k3gmVÀ’g³æØOŽç97r'Ç>kûò>¶Ç‘4‘á"B!„B!„B8‘Ü„B!„B!„p" ¸ !„B!„BáDr—Òb²–ÁÂwâîã´IÝL÷õUË» B!„B!Ä]OF¸“Åâ@"qÏsôu`´Hxö~'¯!„B!„¸ÿHÀ­˜Lf‰¸ Ç_ér‡Éûž¼„B!„âþ#·bÊ0IÀM8þ:Ðå-v¿“×€B!„BÜä›`1LŒ¦{u/á£ÉŠÁရ‚t“L)¼_¥›è�rý…B!„â~#·Ðg˜îÙEóEá¬Y׿8âÓåmv¿’k/„B!„÷'ù6X&‹•ä4 ºÝo¬@rš “¥xW>ì 6UUfõSlªŠ ³ŒnB!„Bˆû‘ÜJÈ`²pSo”é¥÷ £ÉÊM½Ñᩤyé� ¢ST2½ô>�nʼÖ2•T!„B!î_êò®ÀÝÌd±r3͈V­D§V¢V)Q*A¾fßý¬€Å’y7Ò “¥Ä�¶œ2Ì ®èU¸k¬¸k,¸¨@£”€í½ÀhQ�nμA‚Ú„B!„BHÀÍ N ȈûƒÞ¨@o”)¦âîvöì)jÕªi÷øÜ¹ŸóŸÿ|X¢¼Ÿxâ1–-[ÌŒ³˜1cV)j)„B!„åCnB!ŠmÛ¶T®ì@ëÖ­ ¬ÍÞ½Ÿ@XØér®¡B!„B” ¸ !„(¶qã&Ú/\¸€^ÉÇÏdï޿˵^B!„BQÈM„B”•JÅÛoOâÈ‘ý\»Å_í¤OŸ^¹Òxzzòõ×_rñâY.]:Ç«¯ŽÎuÜÏÏ�ùógsâÄaââ®ö3f|„‹‹€½{w“’’HÇŽlçÌ›÷))‰tîÜéµT!„B!n“€›Bˆ23wî,>øà]ŒF#ü±‹–-`õê_sÇ~úé{ž{n8±±±ìÛƒþ_®<ÒÒÒ0 ?—Y¿~jµšqãÆòÖ[“X³fݺu±�Ó«WOâããÙ·/䎵U!„B!²IÀM!D™ð÷¯ÅK/½ÀéÓgèܹ;Ç?Ï„ ™A² þ@ýúõèׯQQÑtéÒ“gŸ}ž·Þz'W>z½ž† ›ñă5êUúö} «ÕJïÞ=X»v=Ý»w ^½zÔ­[‡õë7b6›ïp«…B!„BnB!ÊH³fMQ*•üñÇ.ŒF#+W® I“FYÿ6`÷î¿lióåÕ¾ýƒ,Zô§N#$ä/ •+W "âG�£mÛ6xzzæ Ä !„B!Ä�&7!„eÂÍÍ µZ•kŸÕjE¯O…¬5ÞRR’íæS¿~=6mZOóæÍxýõq<ð@222r¥Y³fjµšÎ�¦W¯$&&Ê „B!„åFnB!ÊÄÙ³çèÛ·�í½{÷D¡Ppòä).\ OŸ^èt™i¼¼¼råÓ¾ýƒ¸¸èؾý‚ƒ÷Ÿ€B¡È•&{4[¿~}éܹ6lÂd2Ý�V !„B!D~êò®€Bˆ{SXØiþøc={vçï¿ÿâøñxôÑddd0kÖN� %$d?:<Äž=»8u*”úçÊçâÅ^xa$­[·D«ÕæJsùr$GŽcĈah4Ö®]wÇÚ)„B!„yÉ7!„efäÈùñÇE¸»»Ó§O/'w)Bq×Û¸q3•Ë»B!„B2ÂM!„B!„Bç’€›B!„B!„N$·{T­š5©U³fyWC!„B!„â¾#k¸•Ò®�ÛhÞ¼Y�ǪVó¿ãõððð $$‹ÅB“¦-IKKÃÕÕ�FMJŠ‹ÅR.õB!„B!„¸HÀÍIþøciiãÎxiiiœ>s«ÅBFFŸ>‡'>A·î½ +ï* !„B!„Bܳ$àæ$“&¿MLLlyW³ÙLŸ>Ê»Bˆ{PýúõÊ» B!„BˆrváBxyW¡Â“€[òõõåí·Þ¤k×.Ô¨Q�øøx6ü¾‰O?ýŒŒŒ vlßLË–-xü‰Aì߀™Ÿ~ÌK/½À�¡ÃÙ³g/ãþ5–AO?I­š59wþ³gÏå�?vÙʈ¸x–�7͈áÏrùòe{ü)".ž%##ƒÆMZðÝw_ñäÀ'ؽk;&“‰šµêàææÆ»Sß¡oß^xyUbÿ�¼ûŒ _¿¾¼9q ÔçÖ­dΟ?Ϩѯ‘””T.}*„(_ò«B!„BMnN2kÖŒ\SJ7oÞÊì¢oß>œ={–#GŽòðÃyýµ1¤§§3sælÖ®]OË–-èÚõ[À­G�î$$$°gÏ^>�ñ/¼ðaa§Ù½û/úöíÍ/Ë–ä Ð<ýôS( Ο¿ÀéÓgòÕí÷ß7Ѥqc7nÄâÅ?{Ívì‡ÿ~K÷î]Y·~&£‰'ŸÈÏKèÞ£þþµøñ‡o‰�Oàÿ[ŒNçBÕªU$Ø&„B!„BQ ¸9Iß>½s=�ˆ¸Äúõ¿Ó²U;Û¾ºuë°?d=ºwcæÌÙ¬[¿�ÿüç=ºvíÂÌ™³©W/ˆÀÀÚüôÓ"ªW«ÆsÏ�àìÙsôêÝ£ÑĈáØ7o6cǾš+àf¶Xxüñ§8zôX�uÛ¸q3�=6€Æ�±hñ϶5Üš5kJÏžÝÙ±c'¯¾ú®®®<öØ‚‚êR«V-Ôj5gÏžå‹~¶�zB!„B!„öIÀÍIZ¶jWànÿ÷í5êEÚ¶i�¯¯/ …‚Ê•}¸z5†ýûÒ¾ýÿáãíM�îÝX³v=Mš6F©T²k÷Ÿ�&Ö®ÛÀ¼y³iÔ°a®2R’“íÛ Ó°AzõêÁõkѹŽy{{søðΞ=G—.�pøÐ>Ξ;Ççó¿`õšuÅ.K!„B!„â~¡,ï ÜËêÕ bÍê_iÚ´ &LæÁö�0 ¹Ò¬Y»¥RI§ÎÓ£Gw¢¯\áСø¹¹ VÝŽ‰ºººbµZIMMuJý³¦†îر“ŽwɵýóÏ RRRèÒµ'Ï=ÿ2Ë—ÿŠ­Z|óÍBºwïê”ò…B!„B!îEp+CíÚµE§Ó±sçnöþ½�„„P(r¥Ù°a#&“‰~ýúÒ±ãC¬[»«ÕʹsçèÝ»':�€=º¡P(lSB‹Ã”5JÎÇÛÛ¶ïܹs˜ÍfÚý_[¹p!ܶ   …‚­[·1~Â$æÎ[YSQ…B!„B!DÁdJiºté2#†? @Ë–-Ðj4¹Ò$%%ñ×_{xêÉ'P*•¬Y»€3gβ{÷_tëÖ…�;·râÄ)ú÷ëƒÁ``ÞüÅ®Khhƒâ“O>dÛöÌ™3Ÿ˜˜X–,YÊ‹/>ÏæMëY¹r5µükáééÁ+¯¼NóæÍX¶t1Û¶m'éÆ † ~€£GŠ?}U!„B!„â~!#ÜÊÐ�™7&“‘aÏ áê•«lÙ²5_ºÕkÖ¢T*¹p!œS§BmûG�~•ÅK–âîîNÏÝ9|øýú?NxøÅb×åÇŸeÔjÕbØ3CiØ0sý¶wßûò)&³‰qãÆÒ¶Mkôz= …¥RɹsçxôÑþ¼þÚÒÒÒxëíó÷¾�RöŒB!„B!ĽKá@gç§(âqÎ}ÊûònÙdzŸ+ól @•µ©³6àÕ°a³�¤7JÙT!„([éé©XÌå] !„B!„(9¢£/vnfÀ”µ™³6+`ɳYsì'Çóœ9Ž“cŸµ€}yÛãH‡È”R!„w…»…« «ºâ ÎV˜,XÓÌXõÆò®ŠB!„¢‘€›BˆŠM­Dé­ÅªV:ïç&'±ª•à©DéªÂrÃ&‹g !„B!îug˜€BQ€ì`[EfÍ !„B!2ÂM!„³øøøàéé�F£EagEO«ŒFÉÉ)$%%™§Â]SáƒmÙ¬jef}ez©B!„÷= ¸ !„(�FC�ÕÑj‹á¥P€V«Å×·2žžÄÄÄb4ÚP)\Unia®* ¸ !„B!$à&„¢t²ƒmƒ�„„DRSS±Z “) ÜÜÜðõ­ŒV«¥F�êDFFÙÍûnÝ–ín«¯B!„¢lÈ7!„%æããc ¶EEE£×ëíÛ¬V+z½ž¨¨h Z­Ÿ;Zçò´hѤ¤$’’’È­[ñœ8q˜_~YLóæÍœVÆ¡Cû˜4i‚Ýã:�Ž””DêÖ­ë´2ï4g¶ÁÅE‡››k®}EõaE,Þ'Û^sm Ô/2�àà�<ÿüˆ2¯«B!ĽDnB!JÌÓÓ€„„ÄBmyY­VsåQ.ãÀujk\ßo‹Ûge>žÚíÀâ`”>:\&·*vù¥ñÃ?Q³f‚‚3fÌÄÅ%¼“§Ÿ~Ê)ùoܸ™ãÇÿqJ^÷ƒ·ÞšÄ×_™kŸ³ûðN”aOÇŽ]©Y³5kÖaÆŒY„„ì·=¯Y³áá˼B!„³Œõ"íڵɵÏÅEÇÔ©SP©TeR¦§§'S§NÁÕÕÅiyN�:…)S&3eÊd&MšÀƒ¶@©T2mÚûN+'§²h‡(œL)BQbMæºm©©©Å>7ûœì<Š#ý‹“�0Ó½Ö”´ÇŠ�GyÉÈÈàÖ­[ÄÇDzŸèèhæÌ™ÉŽ;¹yóf©òŸ>ýc'Õôþu'úðN]§””ÛãôôtL&“íõ'„BÜmNœ8IÓ¦M8|ø¨m_£F�8sæ,f³ÙiåôíÛ›��ܼy“””V­ZCZZºÓòøê«oIIIÁÏÏ�Ñ£_">>‘K—.9µŒœÊªÂ>á&„¢Ä²ïFZœÑmٲϱwGÓûÉ—_~…B¡`À€~@æ�%>ùäCNŸ>Á¥KçøòËÏqwwÏuÎØ±¯qäÈ~¢¢ÂYµj��µ¡€éjµšiÓÞ',좢Âù꫹òq¤¬lJ¥’É“'rüø!®\‰ÈUnvÙ“'OäÏ?ÿàÚµhBB‚éÐá¡|ùhµZfÎü„'w•ãÇ1lØP»ýSÚ6ôêÕƒàà�\¿~…“'�0}úLœ8Ž·ßžÄ AOrãÆuæÏŸ]`Ö®¢Úâh¥é[…BÁž=»˜5ë»}X˜ðð3tíÚÅö¼uëVÄÇÇ”8}pðN¦L™LpðN®]‹b÷î´jÕ’±c_ãðábc#Y±b)~~~%ª¯BˆûWhhAAA¹nÖÕ¬YSNž<åÔrêÔ©ƒ‹‹²þf=wî¼SóÏ)>>žC‡Ó¨Qƒ2+ƒ;БŸŒpBqÏQÖñDûxnj¬· d¬ºˆõzªú^h«ƒB§ÂrÃ`;Gá¥E;¬> ?j%Æ=1˜v]A÷|#Ì'0�@Û¿6–›FLÛHWzz¡¡aÔ¯_€Ù³gR£Fuy¤Z­†ï¾ûŠ�?žÆÄ‰oAVgÈ�§5êU®]»ÆÃw$>>¾À¼§Oÿ€®]aèÐáܺu‹7ß̽nXQeå4uêúöíÍðáÏ“ššÊ'ŸLgÓ¦õ´iÓƒ!³/{öì΄ “¸rå*ï½÷o–.]D“&-lÇ ááy晑¤¥¥1hГ|ûíB>ÂùóœÚooo–/_Ê;ï¼ËªUk¨Y³†m*Åüù_àááA½zA¼ð¨B¯Qaí*¬-Ž–QÚ¾½z5†øø„BÛp'uíúo¼1�ØØXfÍšÁž=»øê«oyúégP«Õüò˦M{Ÿ7Þ_ÞUBqÑëS‰ŒŒ¤Aƒú„††¡V« ðgÅŠßðôôdÈ�Aøùù¡R©øûïþú+ÿZ Ð77WRRô,^ü3:�®Àô�;w¢F�ê >ŒË—#Y»v=|ð.Ó¦}@``múõë‹»»·n%³nÝâââP*•Lœ8Ž«Wc¨Y³‹…U«Ö]d»t:iii¹öÙkOaåu,»EÕ5((ˆþýû Õj‰‰‰ÅÛÛ›o¾ù®L®é½LF¸ !„¸·¸©Ñ=׈Œ_Γ6óÆÃqèF6@á¦F;¼?Ÿ#mæ±\A3kŠÊ ¤r”ô9ÿ éREeL‡ãPµôµ¥S6÷Á|¼ààViÄÄÄâëë‹§§'/¾øŸ~úqqq\¹r•�>šÁ£�€¬Ñ^o½õ&ãǿɱcǹz5†•+W£×çŸÖëâ¢c̘Ñüë_9yò—/G2eÊ¿mÇ‹*+'�NǸqo0~ü›„††q‰Ñ£_ÃËË“þýûÚÒ-_þ+Ç�ÿC\\óæ}NµjU©W/(_~ÿýï�„…�&"âsæÌ'22’víÚ:½ 5kÖ@«Õ°mÛvnܸAXØiŽ)þäÂÚåh[ìqFß:œÙ³ç»]eeÅŠß8qâ$ׯDZ`ÁB  |É¥K—¹p!œŸ^FÇŽùG? !„E9yòM›6 ~ýzœ;w‹Å‚^¯gåÊ5Ìš5‡ Ò©SG|||²kO³jÕæÏÿ‚¥K—a0ì¦ß³g/11±,[¶œÕ«×æ*ÛÕÕ…gŸ}†•+W3wîç=z”aÆ؎WªT‰­[·3wîçìÛ·Ÿ~ýúæ«NJ¥’úõëÑ´iN� ÍuÌ^ýŠ*ÇÑ:ØKçææÊ3Ï fùòߘ7o'NœD«Õû: á&„⣪ã‰%F�5>s} óÁëhû ðÒ ô÷Àr5ÕvÌ­¿}¢ÅŠÂU…º�? o-˜Aá¥Á|: íSuA§Béç‚5>«ÞèôzרQ�-[¶Ñ A}”J%Ë–-¶M»Õh4xyyˆ‡‡G�/2Ï:uê R)s-ΟsöoQeåÎ+�Fͱc·óÒëS9xð0�5,°üË—#ÑëSñðÈ?EÕÏÏ�ÁƒÑ¡C{|}+SµjÕ|wòtFΞ=GpðaË–m,Zô3þùW‘}W˜¼ír´-ö8»o+š3gÎàââšcßY»S—…BˆÂ„††Ñ«WO”J%Íš5åøñX,\]]hÛ¶5•*UÂb±àååI•*~\½CBBæHðì5Ìì¥OJJ²[v`` ±±±¶¼Ž9F¯^=ñôôD¯×c±XlçŸ:J·n]ìæ5v쫘L&âââøí·U\¿ž9J.›½úݼy³Ðr­ƒ½t���ÄÄÜî¯+W®:t]D~pBqoQ) =Ç¢¹J¨`²‚Z™ûXJ´ƒ‚0¬ Çr-]å¬;8Y¬˜O% n⃲¦¦ÃqN¯²‹‹ŽfÍš2wîçܸ‘yÓ„®]{rýzþ²¼½½2ë«,z�ºN§C¥R¡R©°X,ùŽUVî:º R©P«Õy¦‡f�ž^Øâ»ù×÷swwg÷îí¬[·�O?ýŒ¨¨hÖ­[Y&m0›Í<úè“tî܉#†±|ùþúkÏ<3"_Úâ±»-ö8³oKª¸k)'}AK<–dÝG!„ 55�˜˜‚‚êR»vk×® V­š øë×o ..oÈú[¢ ¨ì¥/ŒJ¥"==Ãö\©T¢R©0›MùÒ´/§ì›&Øãhý +§¨:”N©Tæj£(9™R*„âžb¹”Œ²¾Ên¨šû`�KÇšjÊ<Ö ’혢Êí7ŠnX“ X¢3§f*ŸëxBB"���¶÷lQé…Bˆ²všjÕªqâÄí»“†††a4šxóÍñŒù,©©™?¢&%%±vízž{n8¯¼2Š!CžF£ÑØM°gÏ>z÷îɈÏæ*7%%…U«Ö0tè`Æ�ƒ6mZ±bÅoNk—ÕjåèÑc¼úê+„‡_´[¿²”œœÌÚµëyöÙg7n,íÛ?(#ÓKH¦”ÞaJ%¸é¤¤É Vq÷3 hµZÜÜÜÐëõœq››››-�’²$e�6#ÿø–ÓI¤Ÿ.xý óÉDÒN0J-ÝLÆ’sv˲&¦c:Rú餣G¿ÌèÑ/c08sæ,û÷àÁ¶€>ûl.iiiÌ™3 ®_¿ÎçŸÁÑ£™m}ýõqÌžý);vlF«ÕrâÄIN� -ðLžü63gÎ`Õª F–.ý…‹/:\VNo½5…�>šÆòåKÑhÔìÚõ'.öaçÏ_àý÷§ñÞ{ï0mÚ{ìÞýW¡�¥Ò´ÁÛ»O<ñ~øžž^œ?ž#ž·M•X¾üWz÷îÅ¡CûÞËàÁÜÞGÊ(Mß*•JK¼ÆÊ{ïý‡o¾YÈ¡C!ÄÆÆ°dÉ2 †ÛSI.üš æÑ¤Ic† Ydz!„¢¬¥¥¥óþûÓríKOÏ`ùò_ Lüø?¹Öƒ0±›>""‚… ¿±=ϾC)YëÞ=›ÿoF‹Å’+]zz3gÎ.0ÿ3fÙmÛ† m�íÕÏ^9…Õ!ç±¢êvš°°Ó�uªÞ½{Ú­¯°¯øCJŸŸ¢ˆÇ9÷)sìË»eÏ~®Ì³)UÖ¦ÎÚT€WÆÍB’nÜ(eS÷`S]ZÀß'­Ì|Ý•†µ•|ñk:3–:Ñm!Ľ#==KÁË�U>>>øúVÆ`0ípàE¡Pà�V«%!!Ñîâ´ŠêÅqTî\Æ7'íÓãEɳÆÞ™_…B!„( ^^^èõzÌf3�=6€ë×ã8pà`‰óóññ!:úbà`LY›9k³–<›5Ç~r<Ϲ‘ã89öY Ø—÷±=N%#Üî€)õ4«¡gâPÔšÌb3 ¶ !î~IIIxzz Õj ð'!!‘ÔÔT»�7…B�››¾¾•Ñjµ †BïUQ¨Ûøa:•äüù¯B!„BT0Í›7£]»6X,.^ŒàСÃå]¥»’ÊÉù9{„[Î}�p+h¿¢�QoJ@çë[uTáwýr®¡=´T×ÌÅÓÓ $ßHaO¨Š›©ÅdøÝw_ñÖä7Y¼øç�?ð@sN�<ÊßûöíPžÛ·mÆb±pòdæx�N‡V«Ådº}·’=Á»ðôôàÀ�C%ʳ¸ç q¿3™ŒwE|'55 77W´Z-žžT®ìCåÊ•íl>xzz R©0 ÄÄÄxçÉlJUæ]FË™%2ËÙ¢GF+L¬©ŽÝ J!„BˆŠ(**šqðàaΟ¿Pê5Ü\]]¹u+éG #Ïh6kžQiyG¯áÀˆ³ û�IF¸Ý{Ž*1¦V¥Š¯‰zµn’t- w¸»”<Ï&MÓ«g¶ïø#ß±ñãÞ(]…�‰ÇQ·nÆŒkÛ·eë¶\‹RWiÏâN `@Öbôz½žM›·UÞÕªpŒF#‘‘QøødÓ4-öî¡`µf®Ù–œœâÐÈ6kš<ïžûûXÓ*ø`!„B!Ä!·2Ô @IÇæ*ù{¯a÷OjúZ1)’ùq»†«‰%µÇøñoä ¸Õ¥C‡öܼyË -È­°…ïÄùBÜI …‚¡CžfŊ߈¾r…–-[ðô '™ÿùå]µ +))ÉéÓC­z#JWVuź)L,zY.@!„Bqû¦‰:= bÓl7ö~íÎì±.<Ñ-•a�&2í_14mbeþ]©‚m¿ý¶Šzõ‚xè¡ö¹öÿë_¯óã�‹ÈÈÈ}·°S'�ѹs'Ûó–-[^`Þo¼ñ:'Œcà�sõÊ%fÍü²¦ˆöö�Õ¶oÛÌèÑ/±iã:.†ŸaëÖ�´nÕÒn�óž0æ•QìÝ»›³gO±lébÐj4|øá8°/‘—/²/˜Áƒ³‡„(•J…Z£&>!€sçÎËí°Ë‰å†…Éþ´ÓŠ@a²`¹Qò»­ !„B!î-2Â͉ ˜:RǸÁ™Ó©Ìf—¯j9êFËÆ©4¨“A—v|a÷†ÙÔj5Æÿ‹¡Ï çŸN°fí:Ûñÿýo±íñ‚ þì0Z·n%7qGíØ±“1¯Œâ¹çFKØé3å]¥ûšUoÄZÁ[2æQ!„BQ�Š3Là.×8PÉÄ¡ZÛó„j.Dêx´Û ºµOÆ¿º�u;¼ÐéT>>|øÑ Ξ=GJJŠ,V/äjÕ¬I­š5¨TÉ‹5k�˜˜XÞUB!„BQÁIÀÍ ¼=Tr¿=RË`Tðó:_._Õâîjáñ7صߓ¼1£ÁÝ44ª]úK0gî|ž4„ðð‹vÓÍŠÉÚ¬aZ�•^ßâÇ•~¸ê,\OTS»¦�¼q'…Z5Pq6ÒRªò“’’Ø·o¡i¦ø >ŸËÞ=»ˆ�½Æ/ËW�‘q{>ë·ßý—9³?¥q£†<ÿÂ(~[¹šž=»³'x'ï aĈ‚ïz¼‡>x—jÕªrøðQž8ƒÑX`žyM˜8‰O>þ�ß7¬A£ÑrêT(¡a§¹p!œ?šÁ”·'1õßSÞß—ª�„(‰£G�qôè±ò®†B!„Bˆ»Œ³õr$?E�sîSæØ—wË>žý\™gSª¬M�µ©¯† ›…$ݸQʦæöÃ;®<Þ)wüòx˜ò U“4j•‚N›Zäco§r ÌìÔºÜ)Û·mfñâŸYöËòò®Š÷¤ôôT,wçÇC™P¸kP¸ª°ª+Îàl…É‚5Í\áîž*„B!DEáããCtôÅÀ-À ˜²6sÖf,y6kŽýäxžs#Çqrì³°/ïc{œ¶ž•Œps’÷¾O§q7úßþ"ظ^:µk¨ì�ÿޤV+ü𻑃wi°M!îµ¥·«Zé¼ÿýœÄªV‚§¥« Ë ˜J7bY!„Bqo�€›“Ä&Zé=!•½Õô~PMÓ:J*y@eïÌ/_V+LuÍÂþP3+vJ°M!‘l«È¬YAAK|º©…B!„÷: ¸9Qjº•ï7ù~CæÔ"W®:J¥“’õV ù» !Ä=ÁÇÇOO4m¾5+³Y­`4HNN!))©È<îš lËfU+3ë+ÓK…B!„¸ïIÀ­ ¥¤YII«h œ§wŸþå]!D Ñh¨Q£:Z­¶È´ hµZ|}+ãééALL,F£ý•ÂUUᦑF᪒€›B!„BnB!J';Øf0HHH$55«µà0™B¡ÀÍÍ _ßÊhµZjÔ¨Ndd”ݼï–ÑmÙî¶ú !„B!ʆ|3BQb>>>¶`[TT4z½Þn° Àjµ¢×ë‰ŠŠÆ`0 Õjñññ¹£u®|œÕ«åܹPbc#Ù»w7/¿ü­ƒN§#%%‘ºuëpèÐ>&Mšà´ü]\t¸¹¹:õüàà�<ÿü'Ô.¿¼ýQ^JÛoÅ�ìOg¾v‹ó+n+ʵÍÛ_wú½&„BÜ/$à&„¢Ä<==HHH,4Ж—Õj%!!1WÅá2î\§¶Æõý¶¸}öPæã©­Ñ,Þ—{¥�—É­Š]~i|ûíB>ùäCV­ZÃc�=I¯^ýùþûˆ‹K¸£õÈkãÆÍ?þ�Óò{ë­I|ýõ—åvþÝê~mwi8ûµ[V*ʵÍÛ_¥^BáˆQ£^¤]»6¹ö¹¸è˜:u *•ªLÊôôôdêÔ)¸ºº8-Ï©S§0eÊd¦L™Ì¤IxðÁv(•J¦M{ßiåäTí…“)¥B!JL£É\·-55µØçfŸ“�Gq¤q²fº×š’6ãX±ó(ƒâ‘G:Ó¾}'’““mûOžýãò®‚%"¯Ýâ‘þBÜÍNœ8IÓ¦M8|ø¨m_£F�8sæ,f³ÙiåôíÛ›��ܼy“””V­ZCZšsïFÿÕWß’’’‚ŸŸ£G¿D||"—.]rj9•U;„}2ÂM!D‰eß�´8£Û²eŸc÷¢wß}‡O>™™+Ø–—R©dòä‰?~ˆ+W"Xµj��µ>¼“aƲqãZbc#éÞ½+jµšiÓÞ',좢Âù꫹ÊÍ;…,8x'“'OäÏ?ÿàÚµhBB‚éÐá! óÆ3g~‰‡‰‹»Êñã‡6l¨í܉ÇñöÛ“4èInܸÎüù³mç}òɇœ>}‚K—Îñå—Ÿãîì�ðÈ#� ¬Sqòw¤?ŠÊ+8x'¯½6†�;·ÉŸþAÛ¶­ê{×É^»ÃÃÏеkÛ¹­[·">>¦Èkîh8Z_{¯Gú³¸eÔžÂög¿v/þ‘o¾É=ZkÒ¤ üòˇÊ.Lam,«÷D¯^=ÞÉõëW8yòÓ§�¯^?ýô=‹ý`{®Óé¸té3f|dÛçîîFRÒ5êÖ­“«¿Jú^Ë©°6v=iA×|É’Ÿò�È{óÍñ¬X±üŒ,ìµ\œÏ!Ä�FPPP®›u5kÖÔé?^Ö©SdýÍzîÜy§æŸS||<‡¦Q£eVw "? ¸ !„¸ç(ëxfN;}§5.¯7CQõöúDªú^¸Ll�ë;­Ñ ­oÛ¯ðÒ¢Ó—wÛàúŸv¨»×@÷|#Ômülé´ýk£~¸F±ëäææJ½zAüy:uê†Á�Á¦MëmXu`öìOY±b%={öcÿþLŸþ½zõ`èÐátêÔ ½¾èQ‰={vg„I4oÞšƒ³té"Ûš}ááy晑<ø`G–.ý…o¿]Hƒ™ý9þ|öÙ\V¯^‹·wU&N|+«^3iР>�<Òƒ‡îJݺ�|üñ´|åÚ;Ÿ¬?€ß|ó­|u*NþŽô‡#y�ù,S§~@›6í9xð ¿ÿ¾–J•*Ù?ö®Saí.JA×ÜÑþp´¾ö^ŽôgqË*¨=…í϶råjúõëƒRyûOÜú³jՇ˶§°6–Å{ÂÛÛ›åË—²dÉ26lÆÐ¡#ذá÷|õÚ´i �<ÒÙö¼cLJÐjµ<úh?Û¾‡îHDÄ%""r�œ(é{-÷µ²ß†Â®GQçÞÎ?÷5_½z-ýúõΓg?Ö®]~FöZ.ÎçˆâÎÓëS‰ŒŒ´}¾ªÕjü ¿ˆ§§'/¿üS¦LfêÔ)téòˆí<ÿZŒ3š‰Ç1zôËhµZ»é;wîD�Õ>|ƒ=™ošg``m^}õ&MšÀèÑ/S¥JÈ øOš4�aÆ2iÒ&NG@€¿CíÒétdddäÚg¯~…•SÔ±ìvU×   Þxã5Þ|s<Æ åµ×Æ”ðŠÝß$à&„âÞâ¦F÷\#2~9OÚÌcǡم›íðdü|Ž´™Ç0ý}{”�5ňaÅÒ?9JúœÐt©�¢² ¦Ãq¨ZúÚÒ)›û`>_ìjÕ­[…BA|¼ýµÚt:ãÆ½ÁøñoFDÄ%F�~ //Oú÷ï[äñl}ô)K—þ©S¡¤¦¦áâ¢c̘Ñüë_9yò—/G2eÊ¿‹¬óòå¿rüø?ÄÅÅ1oÞçT«V•zõ‚øï$,ì4—˜3g>‘‘‘´k×Ön^žžž¼øâs|úégÄÅÅqåÊU>úh�>: Xý¸dÉÏ=z,_�Š“Qýáh^ß}÷_8ÈÕ«1¼óÎ{ÄÇÇ3xðS÷OÞëTyó*n;R_{¯‡â¾¾JÓ7EõÙöí Ñhø¿ÿË\ §Zµª4mÚ˜­[·9\vAi£³ß5kÖ@«Õ°mÛvnܸAXØiŽÉ?}~ÇŽ�øøxÓ¸q#zõêÉܹŸS­ZuêÕ«@×®]غu{‘íÌÉÞ{­8m(ìz8úÍ{Í·oß�››»m §*UªÐ¢E 6oÞêðg¤½×²³>§„eëäÉS4mÚ€úõëqîÜy, z½ž•+×0kÖ,XH§NñññA§Ó1dÈÓ¬Zµ†ùó¿`éÒe »é÷ìÙKLL,Ë–-gõêµ¹ÊvuuáÙgŸaåÊÕÌ�û9G�eذ!¶ã•*UbëÖíÌ�û9ûöí§_¿¾ùꟓR©¤~ýz4mÚ„S§Bs³W¿¢Êq´öÒ¹¹¹òÌ3ƒY¾ü7æÍ[À‰'Ñj5žNBÖpBq�QÕñģǟ¹>…ùàu´}PxiPú{`¹šj;f�Öß>ÑbEáªBÝÎ…·Ì ðÒ`>�„ö©º S¡ôsÁŸ�Uo,v½bc¯T‡#G’ LS§N �šcÇn/h®×§rðàa5jÈéÓg =ž-==-O¾uP©”¹J/î,àË—#ÑëSñðÈœZåççÇàÁƒèС=¾¾•©Zµj¡w`lР>J¥’eËÛ¦k4¼¼<‹W;u*NþEõGIêj±XØ¿ÿ õëgþâîHÿä½N¥‘7¯â¶¡¸×3gß÷õUš¾)ªÏ ë×odÀ€~8p�þýû²eË6[p®¸íÌæH�ýž8{öÁÁ{8|8„-[¶±hÑÏüùç_ùò¹uë{÷îã‘G:sæÌYzõêÁ�!Ãiݺ}úôâë¯ÃéÚõþýï’/Â�÷ýïh »mÚ´vè5š÷š§¥¥³eËVúõëËÁƒ‡éׯ7»ví&99™F�:ôi¯meñ9%„p¾ÐÐ0zõê‰R©¤Y³¦?~²þ/vuu¡mÛÖTªT ‹Å‚——'Uªøqõj ™?zf¯af/}RRÁ§kËëÈ‘côêÕOOOôz=‹Åvþ©S¡tëÖÅn^cǾŠÉd"..Žß~[Åõëq¹FïÚ«ßÍ›7 -ÇÑ:ØKHLÌíþºråªC×Eä'7!„÷•Òs,š«T€Z&+¨•¹�å ô÷@;(Úp,×ÒÑUκƒ“ÅŠùTê&>(kºa:W¢j%$$pýz={ö(p” €‹‹ *• µZ�Á`°í72HOO/ò¸=:�•J…J¥Âb±”¨þ™2¿€º»»³{÷vÖ­ÛÀ§Ÿ~FTT4ëÖ­,ôÌ7nеkO®_/YV§âä_T”´®f³™ÔÔÔõOQŠ»ÖaqÚPòúfö}q^_eÑ7y­\¹Š9sfñÁÓyôÑüôÓ¢R—]TËâ=a6›yôÑ'éܹ#F cùò%üõמyfD¾´›6m¡K—ÎlÞ¼¥RIDD¿ÿ¾‰gŸ}†_]I�:�ìÛâP[íËEuäufïz”æ3aÍšu¼÷Þ¿™>ýc èo›NZÒÏÈ’|Ž!ÊOjj111Õ¥víÛg@­Z58ð Ö¯ß@\\<>>Þ�õž÷ƒÂÒF¥R‘ž~{ê§R©D¥Ra6›ò¥-h_NÙ7M°ÇÑúVNQu((�R©ÌÕFQr2¥T!Ä=År)e}/”5ÜP5÷Á—Ž5Õ”y¬A%Û1E•Û£O5ܰ&°Dg®Ë¤ð¼=tÞ|8U _” ¼±„%–¸n_~ù'Ž£nÝ:¿ˆÕj¥cǶ}*•ŠÖ­[Väq{ :¯4Ú´i�¯oeÞ§OŸ!%%¥Àgh4·û0**Š”””\ÓºŠ’óü¢'ÿ¢úÃѼ<=s�ziÛ¶ §OŸq¸ìÉÛîÔT=�5røüâ´�b\O{Šóú*mYŽÞ‹··7-[¶ uëVüñÇ®R—]TËò=±gÏ^ÆŒK�}yôÑþÔ¬™ ÉÍ›·Ð©SGz÷îÉ–-™Óg·lÙÆC=Hÿþ}ùóÏ¿0í�Ì-Î{-'GÚ`ïz”ä3!Ûöí;¨];€Æ�Ñ©SG6oÞ |†:£=BˆŠáĉ“ôíÛ›ˆˆK¶BªW¯Frò-Ûˆ¬ìÿ§££¯@åÊ•!ëæ(…¥'ëÿÞJ•*å+÷òåH‚‚êR½z5š6mB||B©—†È–ý‡R©,´~e)22*Wýü|‹ÇÉßµ±&ÉXŽvxC\&·BÝ®*†e™wd²Þ2`XŽndC\Þl‰ªEe0fþ‘f>™& ®SZ¡{©1ÖÔÛ_NÍQzU]±\Õc5•¼Â ~ñcÇÙ»w7¯¼2ЦM›P¿~=† yšþýû’’’Â’%ËX°`mÛ¶¦jÕ*|öÙ âââØ¹sw‘ÇíIIIaÙ²|ñÅ\ÚµkC•*U˜2er‰Û‹——£F½„ŸŸC†<Í4Ï•æÊ•+<üpj×ÀÝÝ £ÑÈüù_0}útëÖ•J…¿-Ú´i]`yÏ/Jqò/ª?ÍkêÔ) Ð???¦N�‚‡‡ë×ÿîPÿØSP»CBðüó#¨];€€^|ñy§öGiêK1__¥-Ëf³™µk×1oÞgl۶ݶµ#e'$$˜ï3­¨6–Å{ÂÇLJ‘#‡S³f ÜÜ\éÔéaôúTóý##£ˆ‰‰å�7^·ŸnݺÅþýù÷¿ß.tý¶â¾×rräufïz÷3!§ôô 6oÞÊìÙ3ùûïnݺYש$Ÿ‘Åi�¢b ;MµjÕ8qâöÝICCÃ0M¼ùæxFŽ|–ÔÔÌQ“’’X»v=Ï=7œW^Å�!O£Ñhì¦سg½{÷dĈgs•›’’ªUk:t0ãÇ¿A›6­X±â7§µËjµrôè1^}õÂÃ/Ú­_YJNNfíÚõ<ûì3Œ7–öítú�c÷ ™R*„¢ÄŒFZ­777ôz½gÜæææfË£¤,I¤ÍÈ?=Ór:‰ôÓ¯¿a>™HÚÉF©¥›ÉXrÎnYÖÄtLGJ7ÅÈh42`À@^}õž~úI¦M{³ÙÌ™3gùñÇÌiVo½5…�>šÆòåKÑhÔìÚõ'¶ý¡SÔq{&O~›™3g°jÕ #K—þÂÅ‹KÔŽóçr°Ú IDAT/ðþûÓxï½w˜6í=vïþ+ß—ÙåË¥wï^:´�àའ<ŒÏ>›KZZsæÌÂßߟëׯóùç_pôhþkXÐùE)NþEõ‡#yíÞý<�êÕ«qàÀ!úõ{ ƒÁàPÿØSP»ß{ï?|óÍB !66†%K–a0=ÕÃÑþ(M}íOg–åˆß~[Å«¯¾Â§Ÿ~V¬².üš æÑ¤Ic† épËâ=áí]‰'žxŒ?üOO/Ο?ψÏÛ�æ³iÓÆŒÅ�mû~ÿ}#Ÿ>—;vÚí«’¼×rräuVÐõpô\{Ö¬YÇŠK=úµ\ûKúéŒ: !´tÞ?÷„ÓÓ3X¾ü×Ó?þO®u8ŒFì¦�ˆˆ`áÂolϧMûÈöøìÙsœ=›ÿoF‹Å’+]zz3gÎ.0ÿ3fÙmÛ† m�íÕÏ^9…Õ!ç±¢êvš°°Ó�uŸÞ½{Ú­¯°¯øCJŸŸ¢ˆÇ9÷)sìË»eÏ~®Ì³)UÖ¦ÎÚT€WÆÍB’nÜ(eS…¢l¥§§b)x¹± ÃÇÇ_ßÊ ¢¢¢þB£P(ðG«Õ’��hwqZEõâ�¶(+ w .㛓öéñ"‡äYcï̯�¢|ïäÇÿÇâÅKË»*BÜ—êׯǡCû l`á&„Â9¼¼¼Ðëõ˜Íf{lׯÇåúA§¸|||ˆŽ¾Ø¸˜SÖfÎÚ¬€%ÏfͱŸÏsnä8NŽ}Ööå}l�Ó†óÉ·2¢R)Q)L™ß–• †)„¸Ç$%%áéé�V«% ÀŸ„„DRSSíÞ nnnøúVF«Õb0 ½TE¡nã‡éT’óç¿ !„(‘ÇÀŸK°M!Ê@óæÍh×® ‹…‹#8tèpyWé®$7'P(Ô¯êƒ�› É& £‡ô¤_Ǹê4œ¹ÃÆ­!˜SÒH39p1šÓ1 å]e!„pš˜˜XjÔ¨ŽV«¥F�êŸg0ˆ‰‰-4�ÂdÁª.ÿåF�{bJ§0Yœ÷“˜B» z’ü_yWC!îIûö…8áîÖBnNйAm3ïõpÇ<Òùöªm×ÁG§eÅo;pѨèÞ¸.çb1Ë( !Ä=Âh4…��žžh4ZìÝCÁjÍ\³-99Å¡‘mÖ43x–ÀÍQÖ´ >X!îAAA´hñ›6m)ïª!„vIÀÍ W÷³=öðÈ¿ÞP``u<<ÜHIIEûÿìÝwtUUÞÆñç–R(!¡%ô@è‚£H¥“€ŽŠEÄJQ@�w,Tl€èŒ�ÐIDé5 �I€’@zroîû�I¨!91”ïg­³Ö½{ï{öïœÈ>kïs¬9Y-²gÛ =ßœ93õT÷'%IÙÙ6…G„ë믾Õü/Ên¿ø?{ëWkÑ¢¯õíw‹ =O^ÁA›´ì‡5}úLéÒ+Öǽ?V={v×¹s záÅA×|p$€{Gbb¢áÛC©Ù2»Xn‹Un7c²å('5»#q7hÛ¶SI—ܳÂÃÃU¶¬WFPrÜ �w%G™2ù·ÈmÛ”–˜¨ºÕ*hoHšÉaÀ†£… ¿Òã?”«««Ú·o§ ãß—›››¦N›^äs_Ëšµ�ù^¹Ü¯o=üpµm×I99%%ÝþÏ`®¥zõêzìÑ®rssSjjª~^½V‘‘‘Ò¥íâ?üW5mÚDnn®JLLÔÒ¥?(99¹¤Ë¾§ä$eÉ\¾Ômº™l9ÊI*üÛVÜ]Ü �”–!×RN2›ÍJÍÊÒsc&ë«ßVŽÍ¦ ¿îÔô-û´ø�uÀbVÜ…Tee}ËQfV–.\HÖ… ÉZ²ä{•/WNƽYl�Û•¯-öõ­£½{÷)&&¶Xæþ &“I}žî¥%K¾WTt´š5»O½z>•ûï¨S§rqqÑܹód³Ùåå奔””’.ûÞcËQN|†LnN2Ýf«ÝL¶9Òí¬l��›öEƨJ9w=p¿ŸªVª †uªËž“£ðèXÝ߸žÞÌÉ‘·o-e>«UÁ{‹å�Ú¿íØ¡ þ•»J'¯RNNzïŸÿP€U­ZEÑѧ5eê§Z¶ìÇÜ1ëWëçÕ«Õ­[W5¨ï§ˆˆ=æ½ÜWÿæÝ¢:iÒÇz¶?IR¯^=¦cÇŽ+55UÆ�È=ç›o¾¦> çžX W �Åb‘Õɪøs_dvTÚ·“$9;;«IãÆš1ósÙl·€ÇÅÅ•h½÷:Gj¶·Y°ÅÓ8\Ëí³LàröœfmÞ©ðó©ªìå¡1ƒžÖä…ÿQ“§^Ó–øL=3d°\*TP??Í{³»šùÕ0¼†Ê•*+&&öª°M’²²³qBϨGÚvÔ’¥ßkú§ST·®o¾qڷרQcô`‹6Ú¹k·æÏ›£RNNW�oĈwôùçs´té2yûÔR‡ŽþZ¾b¥üý;ËlþßR]üµbÅ*ï0ŠÍfÓ‘#!êÑ£»ªV­¢G»(((X’äåé©sçÎÉ×·Žúöí£gúõU�ÆÿÛÜ}Ü ’mÏÑä¯Ö‰3ñJKÏЉèÝß ŽÂNF+ÓîPü‘ÃJ9{FecOiâs]äìdUûé¡&¾8ûõY­V5mÚDï¾;Z³f;î¸ )$$T'OžÒ§ŸÎPdd”î¿¿y¾1Ë–ý¨ýû(>>^Ó§ÏT¥JU»NíÕ±aÃ&¹ººæžÓËËKM›6QຠEº> ¸­_¿Q•+UÒsÏõ—»»» ‘$¹»»ËËËKÞÞUµbÅ*ý¶c‡úõë#W׫_Œ@^l)5Ðù”t…Gƪfå š:j�Ìf³Ìf“,‹²ÜÜrÇU+ï¦Ýß} ä´ u~å£BÍ5øå—4øå—äp8têT¤fÏ™« ]w¼§§§zôxRµh¡ žT±¢—\]\®;>22RiiirËS÷�ddd(pÝztÑ®]»åïßY[¶ñpyÜÖ¬V«^4PË–ý¨³11jÕò!½úÊËú|öJMKSVv¶¶l ’ÃáÐñãáŠ��SõjÕÆy×Ç 7ƒ9;[•ž� ˆÕ?ëäÆ Š ÚªŒÄDÙ3³äóPKUiÞ\êÖÕ7«Õãæ(%=£Pó,\ø•êÖk¨ê5|Õâ¡6š?�rrr®9ÖÍÍMk׬TÕ*U4iòT=ÿü@:tø¦s8·öt¢åËWªk€¿$©kW¶“âöçë[G±qqŠŠŽ–ÍfÓ/¿nÓ¹sçT§Nm%&&ÊÍÍU¦<¯!ÎÌÈTŽãÚÿθŒÀÍ`!§åâá!³““ÒÎÉ­J•*SFåkÕR…ºuU±Qc™,VÍùÏfÅ%^(ô<—ßRš••uӱ͛Ý'½?n‚BCÔ’’rËaZAlܸYÕªù¨¾ŸŸZ·j¥uëÖ>`¤”äùx{ËÇÛ[’T®\YUõ®ª„„¥¦¦êÔ©H=òÈÃ’$�òåU¥JeEFF•pÕ€Û�›Á¶8&“Å¢º]»*¹î}ªØ°‘ÌV«L®nZóëÞK£JMÏ,Ö:T£fu™L&ÅÄÆªlÙ20à9yzzªg�îjܸ‘ásfff*pÝ�ÿoý¶c‡.\`;)noѧOkã¦ÍêÙë)�x{¸ž}¶¿×éìÙIÒO?­�·wU ú¦úôé­ÿó_ednU*àÞÁ3Ü v.)E’”’iÓû‹VkíCM%I#§}§ÿnÚ©S«?•d’›‹³2³²‹­ŽÙsæjÒÄÕ ¾Ÿžð’Þ7AïŒz[ÿóŽ‚‚‚µeKP±Ì»|ùJ}µh¾^ch±œ0ÚîÝ{´{÷žköeddhñâ¥zM€;�›Ñ.mÕLÏÈTjÆÿ¶{8¥.Í}•röŒìîå•–Qønƒ¿~Ó1[¶lÕƒ-Úä~Ÿ1c–f̘uÝñþ�^ÕV»Nýëö�ý÷×<ÏÑ£G•�mS`ປÖp7"p3ØÓíîSvZšl99*í\*·½t)'ˆÐÿÍ_©?Âc”‘Y|«ÛJR·n]ü ÛIÀ=‹ÀÍ`ë·í—«Ù¤µNÈápèlh˜ÌV‹rìv�OÏÔ7›÷à,w®îO>®E‹¾.é2J �›ÁVí:ªU»Žæ~o3b–¬«’RÒJ´®?CíÚµÔ¤Ic­ äí¤àÞEàVÌRÒ³$e`ä�/"KT­QÒe”(sIÜMܸ"p DàˆÀ 0�` 7À@n€�ܸ"p DàˆÀ 0�` 7À@n€�ܸ"p DàˆÀ 0�` 7À@n€�Üî>ÞÞòñö.é2€;ÚØ±ÿÔØ±ÿ,é2wkIp7°Z­zãõWÕ¹sG5lØ@11±Ú»o¿>úh¢N�:U¨sîÝ󇼽«^·úô™ú`ü‡ŠUjjšš4½ÿšãÜÝݵ}{�rrrÔ°Q3¥§§ßr-½zõP¯ž=Ô¨QC•)ã®'Nê¿?-×ôé3où\&99Y•’’ªœœœ’.Ü#ÜŠÈÝÝ]?þ¸T÷7o¦ÄÄDíÛ@õêÖU¯žO©k@ xa�‚‚‚où¼6n’Gùò’¤æÍïSõêÕµmÛo:wîœ$)$$¤@çIOOב�P9rr”™™yK5X­V-X0Wþ]”––¦#G.ÎÙ¨QC5lØð–¯éÏ6mÚ$=ÕýIuèè¯C‡—t9àAàVDÇ ÑýÍ›iÍšµüÊÊÈÈ�ÉdÒ˜1£4l蛚<écýõáöÊÊʺ¥óŽñNîç)S&ªÿ3}õÉÄIÚ¶í·[:�ÝnW@Àc·ô›Ë^}õeøwц ›ôúC•˜˜(I2›Í*]ºt¡Î p·ãnEPªT) ~e�ÒÓÓõÖÛï(##C’äp84aÂÇÚ·o¿jÖ¬¡G»u•$E„‡ê³éSõá„q:°·Ú«Q£Þ6¤Ž�?¯#‡÷éà�=9ò­|ýá¡ 9²?÷{·n]µ~Ýj�ˆÓþ}»ôãKäáá‘ï7V«Uo¿5LÉÉÉzãÍa¹a›$åää(--M’d±X4|ØýòËfE„‡*0ðguîÜñªùg|6M4^öïÖÞ=hèÐ7TßÏO˾ÿNÇŽQÐÖ�jݺe¾ßŒûO}6}ªBCè·íÁzþ¹þ¹ýŠ�‰ÒšÕ+rÛÆ�«Ø˜(uí 9sfê©îOJ’6oZ§ÓÑ'rǹººjüïk×Îí:vX_½@5jÔÈ7÷gÓ§jÔ¨·µß.­\ñŸBþeÀ½ˆÀ­êÔ©­RNNÚ¿ÿ@îVϼV¯^+Iò«_/·­OŸÞêÒ¥“ÂÂÂäáá¡o¿* ºUåË—S§NtøHˆ¼¼<5rÄ[êÒ¥Ó5ÇÖ¬YCóçÍVåÊ•µ`Á"­ZµZ‰‰Iù5IªS»¶\]]µwß~%$$\wî'ŒÓ˜1£d˶ióæ­jÚ¤±¾ûö+µjÕ2߸§Ÿî¥Ú+ìèQU©RYïþc´6mZ'ggg��9« êkî³åììœû›×^¬æÍ›)8øWùøxkâÄ�Ôµk@�îÉÊ•?+$$T’´hÑךã®|ž{–’œLØ …nEpìX¸‡š4m¢j>>¹+Ú.ëØ¡�$]wK¢Íf¿f{QÜìœ)))j×¾³üý»¨[W=ñÄßôùç3”˜”¤M›¶äŽ;zô˜ìv»7n¤† \ó\]]%IVËÿþ3rqq‘ÃáÈ}ÆÛµk´]Ýf¿qÝnnn’¤ŒôŒ|íæ<Û@ "áÒÖÙõë7ê_cßÏ×wêTä-� w§ë­T»¼²�•l€›a…[¤¤¤è»ÅKTÊÉIS§N”»»{nßóÏ?«¶mÑ‘#!Z¿áê­�%Åd2Éd2iíÚ@ ö¶&OùTº´Õ2¯ŒŒ Íÿr¡,‹f>CuêÔÎ×oµZvT’äïß9÷Ùk�:u�ÉdÊÝÂYîeʨlÙ2’¤öíÚÊd2åiiir8ªïW/wnçR¥òýÞviuœGž•kaaa²Ûíz°Å:w.AÇŽÏ=nõM²× ·"?þcµnÕJíÚµÕ®�Ûµwï~yûTU}??%$$hø[#e¿Éê­?S“&�õí7‹¸N‰IIzºw/)ϖμ>úh¢Z>ÔB͚ݧ  M:tè°Õ¨QCmÜ´IÇ�ÔæÍ[Õ¡C;mܸVû÷ԣݔ••¥)S?-r­åËkÃúµÚ¹k·ü;ËáphæÌÏ%I™™™Ú·ï€š7¿O�kWéìÙµoß6ßï:¬Þ½{jüø÷¸n½&Mšª3gÎꫯ¾Ñ /<¯Õ?/ײe?ʧš�Ê”q×Ë/¿VäšXáVDñññêØ)@3g~®ÈÈ(µlÙBއ¾ùv±Ú¶ëtÛ=Ìl6+,,LûÛ£zíÕÁJOO×ÈQcôë¶íW�MIIQ·GŸÐ¸&hïž½ªë[G÷ßßL'OžÔï¿ï”$½4è-úê¹¹¹©s§ŽÚ¹s—º=ú„Ž/r­‰II:yò¤í S§"ÕÿÙÚ½gonÿ›C†i÷ž½ªY³†ÜÜ\5zÌ{ù~?ÿË…5õý{ùù]|~Û»ïýKŒÿP6»MC†¼®þr¿RSSe2™Š\3€Ñ CAÎgºÉç¼mæ®!3櫞_c]ˆ: Œ¤3²çH§S¥øÇ-�wΜ™ÚºeƒL×Y×´iÅÆD©M›V]‰äìì,—ؘ֥(EG�Ppð&½|ˆj×®¥Áƒ_¿î˜… ¿Òã?”«««Ú·o§ ãß—›››¦N›nx=’´fm öï?˜û½_ß>zøá6jÛ®“rrJJJ,–yqwòòò’¿g¥¤¤hÅŠU’$“ɤ‡þ«š6m"77W%&&jéÒ”œœ\Òåncn±Z­êÝ»§/^*³Ù¬Ê•+)6.^=_®v=zÊ-#Ei§ÃåhÑVûmYªµa±Î¤f((Ë^¨ùâââ4tèWnuêÔVëÖ-uþüƒ®¬à2³²táB².\HÖ’%ß«|¹r6ìÍb Ü&Lø8ßw_ß:Ú»wŸbbb‹e>ܽ:wî¨zuë*úôé|í�:u�‹‹‹æÎ�'›Í.///¥¤¤”X�€;[J b³Ù´té2IRNNŽÎÆÄê±^UÛî=”N{‚¶hÑâe ?¸Wgš>¢é¿ ÿV®£0[N¡æûþûäë[G­ZµÌ×þ曯iþü…ÊÌÌÌ×^ÊÉIcÿõžvïÞ¡#‡÷iòäOäææV þ7ÞxMÇ Q÷'ŸÐéèúø£ñªñ·;T¡B…|óä�ïý÷ÿ¥¿ý¢S'�iû¶ õîÝ3ߘu�«5tèZ»v•ND„ió¦ujÙò¡|ý—·¨Nšô±^}u°úôé­ÓÑ'´yÓ:ÍýâsM›:éªûóÕ¢ùª÷Žjöœ¹:vìxn›³³³š4n¬5k•�m“ÃáP\\œŽB,IÜSÜ äc6«}éÒzÞÍ]žì¥Š~ }Zç’TÁ³‚J;—’gO9qR‘‰‰úídD¡çJKKל9óòm­ZµŠ}´›¾\°ðªñã'Œ“o]_ùû?¦N�»ªVÍú¿þ£@ý3fÌÒÔiÓõÓòòö©¥wF¿[ +Wª¬˜˜X¥¦¦^Õ—•�­ˆˆz~À@=Ò¶£–,ý^Ó?�¢ºu}ó�ëо½F�£[´ÑÎ]»5Þ•rrºê|#F¼£Ï?Ÿ£¥K—ÉÛ§–:tô×ò+åïß9÷¥’Ô5À?w» pYLLìUAš—§§Î�;'_ß:êÛ·�žé×W5jÔ(±w7ƒ<æâ¢ñeÝÔ§´EMkx«V÷ÞJÏÊTJrŠr™*xë¥AƒmwÒÑS‘:¹y­ì™EšóË բŃjܸ‘$éÕWkñâ¥JJ:Ÿo\™2eôlÿ~š4iªâããuúô}øÑDuëÖµ@ý·ÊjµªiÓ&z÷ÝÑš5köuÇ-X°H!!¡:yò”>ýt†"#£tÿýÍó�Y¶ìGíß@ñññš>}¦*Uª¨Úuj¨Ž 6ÉÕÕ5÷œ^^^jÚ´‰×]ýÜ;àJîîîòòò’·wU­X±J¿íØ¡~ýúÈÕÕµ¤KÜæx†›uqÑS¥­Š±] вl-gwwy¹¸(&ñœªzVTZ–Mœ�Ó®�P� ^§´øµmûˆ‚ƒ)ôµóç/hÁ‚E2äu�ýžúôé­ví:]5Î×·¶Ìf³|ùEî\V«“Ê”q/PA ~ù% ~ù%9�:©ÙsæjÁ‚E×ïéé©=žÔC-Z¨‚gU¬è%×¼ 522Riii×Ü¢z- \·^]´k×nùûwÖ–­A<ð’𖦬ìlmÙ$‡Ã¡ãÇçêÕª)4,¬¤ËÜÆÜ àk•íY’¤ã©T/yïØ¦øF;{õW´L²¥g($2J‘AëuþÄÅçDyî9_ÌÓ¿ÿ*»Í®Ÿ^£³gc®sù ]W\\Ü-÷Ôå·”fdd*++ë†cÝÜÜ´vÍJ­\¹J“&OUtôi-YüõMç¸Õprùò•ýÎHM˜ð±ºve;) .11Qnn®2™L¹ÿÝefd*ÇQ¸ç.îl)5ÀŒätÍIÍÖ–ª5ÑTÕ¢"TkÑlEU¯!çZuu.!Q¡¿oSÄÚ•aìʘøøx}<\s³ IDAT÷ÝRõèÑ]3g~~Í1QQQJIIQ€çBõ_æd½úÙiy]~KéÍÂ6IjÞì>yxxèýq¦”””byýÆ�›U­š�êûù©u«VZ·n½ásàšªS§"õÈ#K’<Ê—W•*•UÒ¥nsnpH:_άñS[ªc¹&ª¤ˆ²n:Ù¶‹víØ.·]ÛÔi߯JŽ9+IªW¯n¾ùÕ¤ÉSÕ£çÓ:~<üšýÙÙ6͘ñ¹Þ{oŒÚ¶}D‹E>ÞÞjÞü¾õKÒéèÓjݺ¥ªU«VègX%$$¨FÍê2™LЉ�UÙ²e4`ÀsòôôTÏÝsŸEg¤ÌÌL®Û ñãÿ­ßvìÐ… l'EÁýôÓ y{WÕ°¡oªOŸÞúñ?ÿUFFÑž½¸û±¥Ô ƒž®,—„ºÚÿñr¥ûzªù+m´mâ—z2òŒÊ[JéPv–.¯ß²Ùl2™L†Í�˜˜¨mÛ~»á˜©Ó¦+##C&¼¯j>>Š‹‹×Œ³´wïþõ¿ìGuîÜQÁAõë¶íêßÀ-×9{Î\Mšø¡Ô÷Óó^Òûã&è�QoëcÞQPP°¶l *丱åËWê«EóõúC‹åü¸{>|D‡Éýž‘‘¡Å‹—–hM€;�q©OÁÏgºÉç¼mæ%I‹Òn¾ÕÆóõ­£ ­›Ô°QSV¸áŽ’‘‘¦{IW…çáᡨ¨ðÖ’.H²K²]:ì—‡¤œ+Gžvåùž÷Pž~åis\£íÊÏ×cس®ØRj€¶-ʨ²gŽœŸPË‘ÞÚùû÷8æ�ªYœe’cËTpVvI—yÏêÖ­«‚ƒ!l ¶”`Ûîd5 Ø,W³Ê—±*4"]‡ô³s¦|,&MKNV¸Íø `º?ù¸-ºùPŒ@àf€¬l‡²²íº�b×Ù¸ÿ­dû%+SÇ’²mϹáïQ|j×®¥&Mkm o'·bdw8mge[IŠˆ8¡*Uk”tàÂ3ܸ"p DàˆÀ 0�` 7À@n€�ܸ"p DàˆÀ 0�[ ²˜Lr2•t0�[1²Z-jР~¾6‹IêP΢ÏykU7-­í¬ò&R7€»�[1êØ¡ƒ>ýtŠÌæ‹·¹º��¾nZUÓÛ´T«r¥ä®ledJeù+Ü5ˆzŠÑ¦Í[Ô­Ûãr8jÕõq ™1_õüëBÔe$�‘=G:�*Åç8né¼sæÌÔÖ-dºÎʸ¦M›(6&JmÚ´2èJ$ggg¹¸¸Ü°¦Ø˜(ÅÆD):ê„‚ƒ7éåAe±XrǬ \­gúõ5¬¦à M2äõÜï‹EÆ�ShÈmûu«ê×÷3l.€‚"p+F6›M&“I�|MÏŒ-‡Ù¢í5ÉnÏ–$E'K!Y9J»µ¼M’Ô°auéÜéš}C‡¼QÔÒ¯2|øM›6é†c.üJuë5Ô¶ÔÌ™³5zôH yóõþ¦(Ö¬ Ôþýs¿÷ëÛG?ÜFmÛuÒ“Ý{)<<¼ØæÆÝËËËKýúý]O<ñ·¶p=n±Z­êÛ·�$Él6«jÕ*²X­êùú[ èÿ¬Êd§Ëq:\Žmµ¿ó�7•Ö™T)(Ë^¨ùâââ4tèÕÁZ�:µÕºuK�?¡È×t«2³²táB²Îž�Ñ’%ßë“O&kðà—Šm¾ >Ö–-[s¿ûúÖÑÞ½û«¸¸8egÛŠmnÜ�:wî¨Þ½z(%%å†mÜ�›Al6›–.]&IÊÉÉÑÙ˜X=ö«jÛ½‡RâÏiOÐ-Z¼Lá÷êLÓG4ýáôßÊufË)Ô|ßÿƒ|}ë¨U«–ùÚß|ó5ÍŸ¿P™™™ùÚK99iì¿ÞÓîÝ;täð>Mžü‰ÜÜÜ ÔÿƯiø°!êþä:}B4¾@5þ¶c‡*T¨�ož¼ó½ÿþ¿´ã·_têä1mߤ޽{æ³.pµ†}Ck×®Ò‰ˆ0mÞ´N-[>”¯ÿòÕI“>Ö«¯VŸ>½u:ú„6oZ§¹_|®iSó¯Ê{óÍ×ôÕ¢ùª÷žjöœ¹:vìø Û¸7ù˜Íj_º´žws×€'{©¢_CÅGŸÖù„$Uð¬ ÒÎ¥äYÁSGNœTdb¢~;Qè¹ÒÒÒ5gμ|ÛG«V­¢Gí¦/,¼jüø ãä[×Wþþ�©S箪U³†þïŸÿ(PÿŒ³4uÚtý´|…¼}jé�Ñï¨ÆÊ•*+&&V©©©Wõeeg+"℞0P�´í¨%K¿×ôO§¨n]ß|ã:´o¯Q£ÆèÁm´s×nÍŸ7G¥œœ®:߈ïèóÏçhéÒeòö©¥ýµ|ÅJùûwÎ}i…$u ð׊« T?î=11±r87màFÜ ò˜‹‹Æ—uSŸÒ5­á­ZÝ{+=+S)É)Êq8dªà­— R´ÝIGOEêäæµ²gfiÎ/,T‹ªqãF’¤W_¬Å‹—*)é|¾qeʔѳýûiÒ¤©Š��×éÓgôáGÕ­[×õß*«Õª¦M›èÝwGkÖ¬Ù×·`Á"…„„êäÉSúôÓŠŒŒÒý÷7Ï7fÙ²µÿÅÇÇkúô™ªT©¢jש] :6lØ$WW×Üszyy©iÓ& \·¡P×PÖ’.àn𨋋ž*mUŒíb€–ý`k9»»ËËÅE1‰çTÕ³¢Ò²lúãlœv…„êTð:¥ÅǨmÛGüK¡WÏœ?A ,Ò�!¯kôè÷Ô§Ooµkwõ‹|}kËl6kÁ—_äÎeµ:©L÷õÔà—_Òà—_’ÃáЩS‘š=g®,XtÝñžžžêÑãI=Ô¢…*xVPÅŠ^r½Á›P###•––vÍ-ª×’‘‘¡ÀuëÐE»ví–¿gmÙ¤äää[º.€[Aàf_«”hÏ’$wH¥*xÉ{Ç6=øÃ7ÚÙ«¿¢e’-=C!‘QŠ Z¯ó'.> *((¸ÈsÏùbžþøýWÙmvýüó�=sÕ˜Ë/Pèú¸ââân¹¿ .üJŒÿP™ÊÊʺáX777­]³R+W®Ò¤ÉS}ZK}Ó9n5œ\¾|¥F¿3R&|¬®]ÙN Š[J 0#9]sR³µ¥ªE�F4Uµ¨ÕZ4[QÕkȹV]�KHTèïÛ±öG%F„:w||¼¾ûn©zôè®™3?¿æ˜¨¨(¥¤¤(À¿s¡ú/s²^ýì´¼.¿¥ôfa›$5ovŸ<<<ôþ¸ SJJJ±<'kãÆÍªVÍGõýüÔºU+­[·Þð9ò"p3€CÒùrf�ŸÚRË5QÍà E”uÓɶ]´kÇv¹íÚ¦Nû~UrÌYIR½zuó=È¿¨&Mžª=ŸÖñãá×ìÏζiÆŒÏõÞ{cÔ¶í#²X,òñöVóæ÷¨_’NGŸVëÖ-U­Z5¹ººªÎ„„Õ¨Y]&“I1±±*[¶Œ xNžžžêÙ£{î³èŒ”™™©Àu4~ü¿õÛŽºp�í¤ x±¥Ô ƒž®,—„ºÚÿñr¥ûzªù+m´mâ—z2òŒÊ[JéPv–.¯ß²Ùl2™L†Í�˜˜¨mÛ~»á˜©Ó¦+##C&¼¯j>>Š‹‹×Œ³´wïþõ¿ìGuîÜQÁAõë¶íêßÀ-×9{Î\Mšø¡Ô÷Óó^Òûã&è�QoëcÞQPP°¶l *丱åËWê«EóõúC‹åü¸û>|D‡¹i×b\êSðó™nò9o›9OÛ•ÇåþËßÍW&I–K‡õÒa‘TÖϯñöĤ¤"^jž"Í&íø©‹¬Çkéø¯‡Ôbô£:¸w™‡‡Èߥ¬L’¾OIÒ¢´›oµ„ñ|}ë(hë&5lÔ”n¸£dd¤)Ç^ÒU@áyxx(**¼µ¤ ’ì’l—û¥Ã!)çŠÃ‘§]y¾ç=”§_yÚ×h»òóõö¬+¶” m‹2ªì™#§Æ'Ôr¤·vþþ½Ž9¤jg™$ÅØ2œ•]ÒeÞ³ºuëªàà_ÛÀŸ‚-¥ض;YM6ËÕŬòe¬ �H—Ã!ýìœ)‹IÓ’“n3þ…(˜îO>®E‹nþT#¸ +Û¡¬l».¤Øu6î+Ù~ÉÊÔ±¤,EÛsnø{ŸÚµk©I“ÆZÈÛIÀŸƒÀ­ÙEÛYÙV’""N¨JÕ%]¸‡ð 7À@n€�ܸ"p DàˆÀ 0�` 7À@n€�ܸ"p DàˆÀ 0�` 7À@n€�ܸ"p DàˆÀ 0�` ·ÛŒ�··|¼½KºŒ{÷•µ¤ ¸ÛE„‡*55MMšÞÓ±îîîÚ¾=H999jب™ÒÓÓ Ÿ£(\\\äädUJJªrrrnÚžW‡íÔ³ÇSjР¾êÖõUllœÂŽÕªU«µté29Žb­½ ®uÿÿ¬{ î¬p»�¤§§ëHH¨BBB•™™YÒå\eÚ´I:vôˆ6lP vI*_¾œfÍúLK—|«¦M›èÀÁƒš6í3mݤj>>šþé­Y½B•*Uü¯äÚn÷ûî ¬p»�ØívV¸�§§§>þh¼vüö‹N�<¦Ý»~ÓØ±ÿ”³³s¡ÇG„‡*äÈþ|ß?›>UN§ûwëð¡½5êí«Î]ªT)}üÑx9¼OìÑÈ‘oåöyxx(6&JkV¯Èm7n¬bc¢Ôµk@�æ™3g¦žêþ¤$ió¦u:}â†í’Ô5À_O<ñ7�ûàC}óíb=þøc Þ¤£a‡5yò':{æ”Ìf³æÎûRþ]:«}ûv¹¿uww×Ô©uøÐ^Ø¿[cÆŒRDx¨F�™ïÞÌølš>þh¼ìß­½{þÐСo¨¾ŸŸ–}ÿ�Ž=¢ ­ÕºuËBßÿ›±X,6ôMoRøñý¼ê§Üë°X,>lˆ~ùe³"ÂCø³:wî˜ï÷·z àöGàVêÚ5@'OžÔªU«e±XõÚ«ƒ5|øCÆ_Ö§OouéÒIaaaòððЈ·‡_Ü”/_N�:uÐá#!òòòÔÈo©K—N·t=7šgåÊŸ*IZ´èkMž<í†í’Ô¯_EDœÐÂ…_©M›Vš7w¶ÒÒÒõÅÜyzªû2™LJNNÑsæI’îoÞ,÷·Ÿþ™žé×WgÏÆh×®ÝzýõWåæævUÍO?ÝK:´WØÑ£ªR¥²ÞýÇhmÚ´NÎÎÎ:sV Ô×Ü/fËÙÙ¹Ð÷ÿF>œ0NÿøÇ;r²:)pݹ¹¹)%%%·o̘Q²eÛ´yóV5mÒXß}û•ZµÊžÝÊ5€Û�[¤¦¦ªYóõtŸgôÚëCÔý©^r8êÔ±ƒ!ã/;þ‚Ú´i§ž½þ®?úD’ô×6­ó�ILJÒ_î ž=ûhò”‹¡W›Ö­nézn4ϪU«u$$D’´pÑ×¹s\¯]’êׯ¯}û÷+''G¯ $Iz÷ÝÿÓĉS4kÖIRrJ²¢OŸVjjª4¬/Iòõ­£ÿ.ŠŠŽV@×Ç4à…—ôÿ÷ïë×ü×vêÙ³�¦N›.IZ²ô{=ñdO=üp…=ªJ•*ª^½º…¾ÿ×ãí]UÏ>ûŒŽWÛv�ôê«o¨}‡.Ú¹s—|¼½õÜsý¦.þÝôâÀ—5jÔIÒ믿Rèk·?·"jÑâAÍ™3S;ÿئMe2™T¡‚‡aã%Én·)+;[’´sç.éÒöȼ²³²sôyL¹òåoéZ 2OA•*UJ5kÖPxx„$ÉÏÏO‡C”$ef]¬599E‡C.$+55M’T¯^=IRÐÖ`egÛ$I±±±×­Ùf»8f÷î=’¤»=·÷®‹mïqaîÿõ4lØ@‹E›7oUVVVþ¾F d6›µió–ÜkøïO·ôÖ÷ó+Ò5 dŒûO�ûÏ’.pॠEàë[Gÿùq©Nœ<©aÃF(4ì¨öìÞaØøk±Ùì…c¶X �çF²³/€ž*H’ÒÒÒd2™T«VM…††©Â¥ðèÂ… rssSÅŠ^:yò¤$©T)'IRJjê-Íy9´Ê×–'¸2âþçUƽŒ$Él6]Õçêê*I²Zþ÷OÌÅÅE‡Ciii…¾†{�ÕjÕ_þr¿š6m¢ªUªÈf·)>>^ûöÐîÝ{d·Û5pà ª^ÍGcÿýAI— ¸G±Â­|ð9;;kãÆÍúå×m:wîœdº:|¹Èt¼ÑÒÒÒäp8T߯^îsÀœK•ºåóØ.­Ôò¸båܵÚ‡Ž=¦º—¶AnÞ¼U’4aüû9â- ø‚tiµ×À�d6›õŸÿ,—$?.IêÜ©£J]ªÓÝݽWž_aïÞ@í‰'þ–û¢‰ãá—êìÜñªç«……•$ùûwÎíëÔ©ƒL&“:\äk¹•-[Fƒ^zQ�>ÚUÕ«W“ÕɪҥK«Zµjzì±nøâ•)SFÕ«W+éR÷8V¸Á‰Wdõ¦Ÿ$©Y³ûTÊÉ)ߘsçΩF�3f”¶oßqÓñÅ!33SûöPóæ÷)pí*�=£öíÛÞòy:¬Þ½{jüø÷¸n½&Mšª¬¬¬ë¶ïÝ·_ýúöQ}??M™ú©ªzWU€gU®RY£Ç¼§Á/¿¤9sfÊápèÝ÷þO‘‘‘¹óüþûzè¡Ú°~�>¢®]Š| ò÷ºRÞ¿ßš5�š7w¶$é/i©jûöjݺ¥Ö¯[­Í[¶ªQÃúdâýñÇNmÞ¼U:´ÓÆ�kµÿA=Ú-@YYYš2õÓ"_˽Æjµªÿ3ýT©r%ÅÇŸÓ† uêT¤,‹ªW¯¦.]:ÉÛÇ[}ÿþtI— +ÜŠbÇŽß5eê§²Ù²Õ÷ïOëtôi­Y³6ߘ±ÿþ@±±qzþ¹þJOO¿éøâòæ�aÚ½g¯jÖ¬!77W�óÞ-Ÿcþ— µlÙ�òññQß¿÷‘Ÿ_½¶Ož|Dsç~©óIçåíã]Ò¥ £÷3ä|¦›|ÎÛfÎÓvåq¹ÿòwó‡I’åÒa½tX$•õók¼=1)©ˆ—Š‚èÿL_Mœø‘¢¢¢5aÂÇÚ½g�Ξ�Qµj>ª_ß/7H»™çŸV?ùP#GŽÖ¢¯¾)öºq{üòKªê]U?üðzô˜\\\”žžîÔ:*79|T’Ô䖛˼FÁÜ‚µÊ‹ÁPô·Aáá-´oß~9rT6›M­Û´.ì7� kÑ\{÷æ½_®aÃP=ÿü³zç�wõÁû£åí]µ\k¸ž¸9 rûIR‡íʼFÁÜ‚µÊË�!ƒÖ\Õ«W×þó¦ŒF£-ú])))úqÆ,�ýè}…·S�5ôÞ»ï(!>Q«V­–ÑhÔøÏ?Ñ„ 5ñËIŠÜ¾]ï¼óV¹Ö p=#psÀš5ë”�˜¨ÐÐu¾«S©çw¾«“BCC”�˜¨5kÖ•K�Ö®]§©S¿Õ†õ«Ò@ö¬lIÒo¼¥åËWjêÔÉúsÕ2yûø(¢ßÙl6=óÌY,}õÕ×’¤×_{S½¸_;´/×z®W;Æ8{=Ã~=çRäÜ…­ ¿àØå‚f�dÌo¦üf”TµQ£&’ΞuðVótìØ^O~R’ôÑØO´k×ßvÍkÖ¬‰FŽxI’ôõ7ÿ+÷À Àõ'=ÝªÜœŠ®ÊÎ××W±±‡ÛJ:')GRv~ËÉo6I¹4[‘ó*r\´©H¿Šœ³•pîÂß—bÏ»°ÃÍAkÖ¬Ó²eË%I#G¼d×N·Îwu* Û–-[NØP‰íSÎÞáVô\I;ÜJ:o¸Ì®7In~~5Ÿræ×6wìÜ%/OO…„4P‹ajÞ¬©LF£ÒÒÒ”––.ÕªUS­ok¥Çö×]ù¡Ü²eË5ý»�V€Ê%;;KWøà0\ÓÜÝÝuî\ÒdIìf³]°+íÂÝk²cÇÙ5û_L¦Š. ²˜þÝ�:rô˜z÷~@¡¡! ¹äØ„ÄDÍ›÷+;Û*!7'Z³f�Ö¬Y§ŽÛ+¼E˜‚ÔW5__IÒ™¤$9|T‘Ûw´Tbnå  xÀ�‡�&NDà8�àDn€¸NDà8�àDn€¸NDà8�àD¦Š. RjÞZ m*ùו<½óÎ¥$K'£¥ƒ»¥�›*ºB”7gjÞZêØSªê{q_Uß¼vSXÞ˜5‹Þ*!7géú�Ôòö¼ßÇ�Ȱë/ÙŽ�Î&æ�óñ“¡^CÙšÝ&Õ –î Õ ’–ͩвà\nÎP$l3,ž%[ä:Ù.sæ´lgNK‘ëdo/[�ˆ:B7€JƒÀÍQÍ[ÿœÍš(Ûá(Éh’nm/ÝÒRªáŸ×Rú{³¹^¶ÈuRr¢ñlÞܸ˜R=^:iÒj|ÓMêtgWÙlE{jÖ¬©–ÿ±X½|Hë×otÚ­àÊÜÕ±§T°³íp”äå-=üRÍ:ÅÇÔËkÍÛH³'I‡£òæôˆÈ[£”ïs»ùæÆêÚ¥³–.û㢾áÆ:vOÀ ¨zõêêÖ­‹RRR4þI’Á`P‡íÕ¬YSY,JJJÒ¬YstþüùŠ.p #psDóÖyB8~$oךÑTrØVT­@©ïiÚ'ys ÞéÖ¼u©B·øøx >ô¢À­Aƒ`µmÛZÉÉç¹3à†Ò¥Ë]jªã'N;ß¹ó�rww×7ß|«ììU¯^])))V'àúàRÑ\×B›J’ »þÊ;¾µýåöµ¥ðvÅçæ¯e¯Ÿ~š£��jÓ¦u±óÏ?ÿ¬&OžªŒŒŒbç]Íf½óŸ7µmÛ&íݳCü‘,K©® TV»víÖW“¾ÑÁƒ‡ Ϲ¹¹©i“&úý÷%ÊÊÊ–ÍfS|||‰�qP�›#üëJRÞ×H%©IKûçæ�-œ›¿–½¬Ö4Mšôm±ÇGýýk«gÏ»õ¿)S/?zÌ» Q·n÷¨s—ª_¯®Þ~ë�R]¨¬ââN_¤U÷óSbb¢BBè‘G"4 ÿ#ª[·tÿžnLnŽðôÎûçÙļúÕ¶nuÿâs Ö*…ÿM™ªV­ZªI“[$IÏ<3D3fÌÒÙ³ÉÅÆyyyià£ý5nܧJHHЉ'õþcu÷Ý=J}MàFáéé©êÕ«+ À_óç/ÐÆM›Ô¿„<<<*º4À5Žw¸U[®ÃK$'ŸÓ”)Ó4lØszíµ7ÑWwÜÑù¢q!!ÁrqqÑ”ÿ}]¸‹Çd2ËËËÓá€Ê*ÕjUfV–V­Z-›Í¦C‡ëôéxjßþý]àFàæˆ”ä¼�&øøIgNK‰§$ÿzöÍMŒËû§�ß?k•Á¤¯¿Õæ¿Ö)';G þ®S§â.Sð…î=îS|||™®Üh’’’d±xÈ`0ÕéÊuBX¨Üx¤Ô'£%I†z óŽwo¶îß[ŠÏÍ_«´ôã�³Ô»w/}ñÅ—%މ��UJJŠºwëR¦k7¢ÔÔTEGǨcÇ’$_Õ®]K11±]àGàæˆƒ»%I¶f·åG®—âìø�ñ¸XiÛºâsó×*‹qªÞ}Ö¡C‡KìÏÊÊÖ„ _êÍ7_×í·w”ÑhT�€µhѼÌ×n¿ü2_þzaøóŠˆè«¹ó~VzzzE—¸ÆñH©#vn’:ö”êËÞ^¶ÈuÒìIRß!R­À’çÄÅæ�ÉÍÉ›S'X:—”·V%%%iýú�—óég㕞ž®1cF)°NÅÇ'h„‰Ú¾}g™¯ T6{öìÕž={ �ÓÓÓ5cƬ ­ pý1TÀz†+ü.zΥȹ [AÁ±ËÍ É˜ßLùÍ(©j£FM6$�=ëà­ækÞZºg@ÞïY¥ÃQ’‹Qºµ½Ô¤å?_#�?!íÙš·³-7GjÐXŠx6¯oán*§ôt«rs*º (;___ÅÆn+霤IÙù-'¿Ù$å^ÐlEΫÈqѦ"ý*rÎV¹ _Š=cìÂ7GíÜ$Õ ’ZÞ.E<+ÃâYy;ݶ¬Îk%0„·—­GDÞÁ–Õ„m•�›3,›“÷Ï–·çiÍn“a×_²; �MÌëóñ“¡^Cٚݖ÷©òö‚¹¨ÜœeÙ).¦ð�n…¡Z…ûÏ%Ik±³  "ps¦�›òZóÖRhSÉ¿®äé�×—’,�ŒÎû)A@¥EàV ‚7Üp\ìÀNn€¸NDà8�àDn€¸NDà8�àDn€¸NDà8�ÛUæâ"yº*º ”·«à¶[ŒÑϨvM\´êÿYtð'O½ñ¨¹¢Ë@90Ut7‚W¸ª‰ª^Œð”Éœ—q6 ̪è²PØávUäæî*“Ù(IJOË”¯{šêÖÈ-Ój“&}¡?Wý!ƒ¡äGS›5kªÓq±j×®�Ýk.]²Hú?Rxìææ&ww÷bcÖ¬^¡aÞ+óš¥�p=b‡ÛU°f›‹²¬5UÃ/[!u’•—$‹›d©Rö5o¾¹±ºv鬥Ëþ¸¨oø°¡Ž,éŇ)8¸¾† ù' û}ñíܹ»Ìk::¸Ú‚‚‚tOϲX,JMMÕÂE‹SÑe®qnå¨a�‹Ú55ê¦@O�J0kå&/øÙ”m8¯ÉKÍ:q¦ìOˆ��×ðáC/ Ü4VÛ¶­•œ|Î wPܘ1Vè|àj2 Šxø!Íœù“b�WXXs=ÔçA}úÙøŠ. p�ã‘ÒrС™Q ÇzhíD‹Æ>WEÜiÕ#÷žÑ;ÏŸÔ-7Ûôé|7‡Â6Iúé§9 i 6mZ;ÿüóÏjòä©ÊÈÈ(v~÷®HuìØ¡ð8,¬¹b¢•¸öСÏêņ©×÷ëÄñ£úðƒÑR �ˆ.]²Hƒ?©… ~ÑáCQZ¼x�Â[„]²æ çKÒ�§ŸÒÚµ+µoßnýðý4ÉÕlÖ¨QÿѦ�k}ì 6¬_­¾}û”ò/8Æh4Êd6)!1Q’´ÿÙl¶Š. p`‡› ÒÝ4¬¯« )'Ç c'\µío…5¶ªaý ÝÑ2Cï vÓ Ÿ§;t-«5M“&}«áÆjãÆM’$ÿÚêÙónµnÝ^O>ùD™×ž0a¢<=-=RZ’GúEèÕ×þ­ØØX=÷Ü3š={¦þÕÒ¾vC‡>«>½{é¹ç†ëôéÓjÛ¦�•™•¥#GŽêñ')--M½zݯñŸ¢ÈÈí:x°ä�p¶ììlíÝ¥Þ½{iåÊUj×¶�V¯^SÑe®ìps¢—û¹iøÃya[n®ôÿ¦×Ԍմv«§fÿ^M§âÍ’¤žÿÊRõªŽ_ïS¦ªU«–jÒäIÒ3Ï ÑŒ³töl²ã‹Ûiòä©Ú¼y‹Nž<¥·ßþ¯Õ«×Wœg2™ôÂðçõʈ״cÇN�EuT' @’äí]Uþþ:sæLE—¸Æ¸9��§AÞ–vjefôÝ/~:vÂU÷\Ýßù¬VlôÒ…™Qß;ͺ©®ãÿ'÷ñ§êÝça:tø’cþúk³ôD��� ¬SG(ÖæÌÕ­T¸ îÄñjÛ¶µåááqÉu_yå%õèÞM~~~ñÊKòô´hÁ‚…%®YTRR’-Z¬ÞO¡¡!òôôT÷n]e±Xwú´ªVõÒO<&???õéÝ«ð=uÀÕrüÄ -_±R}zP¯¼ü¢|TK–,½ì.RÄ#¥Î‘šfSv¶äš¿!ÌÕlS×öç4yvu¹»åêô“êdêÂÜÉ`�Z44j_t®C×OJJÒúõ/;æ¿£FëóÏ>ÖÚ5+têTœ~œ1Sÿ<ÏúÕ¤o4nìûj|S#=þÄSúiö\uér—Ö¬^®uë7èÑGKþêéêÕkôöÛÿV­Z5µeË6=Ы¯2³²J\óB/¼ø²F¿7J¿ÍŸ'³ÙU»wÿ­¿÷ìÕÁƒ‡4êÝ1zuäËzãõWµzõ­ZµÚ¡¿PÛ¶EjÛ¶ÈŠ.p�qöK½ìYÏp…ßEϹ9wa+è/8v¹ $ó›)¿%UmԨɆ¤³g¼Õâ¾}Í]÷w(ž_nßã¡?7{ªÅÍijÓ"En®?yßH«6íÉqj-WËÒ%‹4mÚwúáÇ] P)¥§[•{}þ¿�$ùúú*6öp[Iç$åHÊÎo9ùÍ&)÷‚f+r^EŽ‹6éW‘s¶Î]øûRœö>+v¸9É›_§«q}5 üçÑÆ!éª�©j>‘Ôf“¾ý-K]§aJFàæ$§ÎØÔí«ífR·ÛLº¥¾‹¼=¥j>ya«Í&efK1q¹ÚøwŽf.'l¨ŒܜȚnÓ×ó³ôõü¼w˜yºäîf�‹‹MÙ9ÒùT›2/Þì€J„À­¥¤Ù”’æ´Ç¯9ݺ÷¬è®9.vŒ`'7À‰Ü'"pœˆÀ p"7À‰Ü'"pœˆÀ p"7À‰Ü'"pœÈTÑTFýÂÝÕ½q…Õ1Éß+/ÓW;ŽgkITºfF¦Ut‰('nNÔ/Ü]#;{*ÐÛxQ_ ·Q�ÞFÝs‹›FvöÔGËSÞ*!7'yÿ/ jc‘$m‰ÉÒ¬È4­=’©cI9’¤z¾FuvUD¸»Z™5¾··ÂLz}áù ®ÎDàæEöóÏiÚfëEc%dëPB¶¦m¶êñV{ÕÂ9„n•MpP¿p÷Âà,búMÛl•«QÜÖC‹‡øéè[µtô­ZZ<ÄOOµñ�«Qš¶Ùªˆég$IƒÚXÔ/ܽTל4é �Ž‹Õé¸X�=ª5kVèéÁƒd4^ü(kY¹¹¹ÉÝýÚ« àZÇ7�ìì)åïl[y SþU]ôãÀjjR»øŸöÖ@³n 4«ÿ­îð}’VÈÔˆùç4öþªÙÙ³Ôïs›:uºÞý¾<<<Ô©Ó3z”,‹>ýl¼SîëŇ)8¸¾† y ¸šî»ï…†„›Ì&¥¥¥k„‰ZàÚFàæ€~áî ô6jKLVáζ’¶¢šú›õã¾ê1)1o§[þ;Ýú…»—*tËÈÌÔ¹sçuîÜyÍœù“|¼½õ ÏWx°u­Ö”Åo¿-,vܹó�ÊÌ̪°z×)u@÷ÆU$I³òƒ²Çoó¸lØV ©¿Y[YŠÍ-X«¬6nÚ¤jÕªÉbÉ[w÷®HuìØ¡°?,¬¹b¢/]²HÇÕâÅ tôÈ~­\±T­[ß&I:ôY½øÂ0õzà~�8~T~0Z’äââ¢áÇjÃúÕ:°�~ø~š‚‚‚JU×Ò%‹Ô·oÍ�3S‡EéŽ;n/óÚÀÕd4Ö¼¹"#·Wt)€k�›Âêä…kk�dJ’ú„Ùÿγ‡šW)6·`­²ªU³–ââN+55Õî9wvꤑ#_WËVí´eë6Mþv’\ÍfM˜0QŸ~6^¿ü:_uêëÕ×þ-I1â%Ýwï=zrÐÓêÒµ‡233õó¼Yr5›KU×è÷Fiöœyº÷¾õ×_›Ë¼6p55n|“bbc•’’RÑ¥®qnð÷ÊûóKÊ‘$ÝTÃþЬq-S±¹k•–ÉdR³fMõ₩‰¿*ÕÜÙ³çjçÎ]JHHÐøñ_¨fÍ n\âXWWW=ûÌ�ñšöî�Ò±cÑznèpyyy©{�n¥ªëÃ�ÆiæÌŸ´gÏ^¥¥¥•zm "´lù/mÙ²µ¢Ë\x‡[ɵÙš?äé§4äé§d³Ù£¯&}£)S¦•y½˜˜Y­ÖÂG?/T¿^=™LfíØ¹«ðœÕjÕ–-ÛÔ04´Tu¥§¥—im ¢øùù©jU/=z¬¢K\Üpò|®½�ªçkÔ¡„lí‹ÏÖ­uì{rÿé¼�mõ|�…k•FÁ×@ÓÓ3”™™YâƒÁPª5m— ݪ¸Éht‘ÉhTfî?µfff*=#£Tu•um ¢´jÕR[·n»ì¿#à‘Rì8ž-Iêì*Iš³Ýþ¯ŒÎÙ™^lnÁZö*øè¥B-«ÕªF�Ûf6ý9rT6›M­Û´.šà ~áî…ÁYÄô3š¶Ù*W£4¸­‡ñÓÑ·jéè[µ´xˆŸžjã!W£4m³UÓÏH’µ±¨_¸{™®}ß}÷èǦkÇö-:|(J,û]�?ö¨$ié’EÐÿ'Þé•Mšô…Þ}÷�«zM€k ;Ü4²³§”¿³må�LùWuÑ�«©IíâÚ[ͺ5Ьþ·ºkÀ÷IZy S#æŸÓØû«jdgÏR¿Ïmü矨}û¶úàÃqzç�wev5+,¬¹’““�z$³Ù¤gž¢U«VkçÎ]]àGàæ€~áî ô6jKLVáζ’¶¢šú›õã¾ê1)1oúÛr IDAT§[þ;Ýú…»Ûºõ~°—:th§;:uÕùóÿ<Žú÷ß{œr_Šë|×]2º\ü1JÂ#¥èÞ¸Š$iV~Pöøm— Û 4õ7k`+K±¹kÙcĈ—ôáG Û.ÇÕlÖ¨QÿѦ�k}ì 6¬_­¾}û³tÉ"õíÛGsçÌÔáCQºãŽÛ%I...>|¨6¬_­û÷è‡ï§)((È®ë.]²HÇÕâÅ tôÈ~­\±T­[ßVØ×]�´tÉ";z@mZ§7ÿýzaßî]‘êØ±CáqXXsÅDºl½öÞçåj’¤!O?¥µkWjß¾ÝÅî×ÕlÖ;ÿySÛ¶mÒÞ=;ôñÇÉb±Øõ·Àõ+00PÕüª)jßþŠ.p� ps@X�¼pmí‘LIRŸ0ûßÅöPó*Åæ¬u%îîîjÐ X[·n³ûZ™YY:rä¨b�:Þ~—fÎúIã?ÿD¡¡!ÅÆ�~o”fÏ™§{ï{PýµYÊ÷î»÷=9èiuéÚC™™™úyÞ,¹šÍv]ûÎN�4räëjÙª�¶lݦÉßN’«Ù,oM›:Y?Θ©°-õØãOjáÂEvßSIõÚ{Ÿ—ªI’†}Výú=¬çž®N�ºhîÜŸ•˜˜˜w½1ï*$4DݺݣÎ]z¨~½ºzû­7JU3®/&“I=ïî^êÿmnlnð÷ÊûóKÊ‘$ÝTÃþ't×2›[°Ö•Ô¯_OƒA‰ ‰¥ªuÊ”iŠŠÚ§cÇ¢õùç«ððÅÆ|øÑ8Íœù“öìÙ«´´4¹ººêÙg†hĈ״wo”Ž‹ÖsC‡ËËËKÝ{t³ëº³gÏÕÎ�»”�� ñã¿PÍš5Ü Xµk×–ÙlÖË–ëìÙdEEíSäö¥º§ ëµ÷>/U“ÉdÒ ÃŸ×+#^ÓŽ;uòä)ÍûùY­Vyyyià£ý5nܧJHHЉ'õþcu÷Ý=JU3®/wÞy‡¶EnWrò9 ] àzÁ;Ü*H®ÍV¦yqq§¥üà-iûY»çùùù©wït[«VªæWM5jT—‡{ñyéiéÅŽë׫'“ɬE^oµZµeË65 -uí111²Z­²X,Ú±c§Ö­[¯5kVhé²?ôý÷3´fÍÚR­wa½öÞç¥jª[7Hžžyµ]($$X...šò¿¯eËÿ¿�Éd–——g©jÆõ#°Nè�?VTt)€ë �›NžÏU ·Qõ|�:”�­}ñÙºµŽ}�Zî?�·³­ž¯±p-{œ9sFñññºóÎNvï³X,Züûoúí·÷ñ§:~ü„fÎøîŠóܪ¸Éht‘ÉhTfî?õeff*=#îk_¨ ¬ÊÉÉQŸ‡ú©}»¶ê×ïaM�ò�Ö­[¯ÇT8ÖPÊ-Ee½Ï‚š¼«V•$¹”pÝääs’¤î=îS|||©êÂõ©yX3Y,=óÌI’——§nnÜXÍ›5Õ÷?̨èò×07ì8ž­@o£:»êPB¶ælO³;p›³3owV‡`×µìõåWß襇iuìXôÇ·k.___�zwLá9›;ìŽ9*›Í¦ÖmZî>3� kÑ\Ó¿ûÞîz/gÝú Z·~ƒ¾˜ø•Vÿ¹\þþµuòä)Y­V5jªÕ«×ؽVYï³ÀÑcÑrqqQX‹0mÞ¼¥X_ll¬RRRÔ½[–Ä¢E‹‹÷ìÙC±±Çµ³ÈŽOJÂ;ܰ$*/4‹Ï{dqúf«vŸÌºâ¼Ý'³ôÝæÔbs ֲǤI_kÇÎ]úcÙb=ùäjÜø&…„4PŸÞ½Ô½[W)'\ÝzA2 Š;}ZU«zé‰'“ŸŸŸúôî¥&Mn¹âuRRRôãŒYûÑû o¦5jè½wßQB|¢V­Zmw½%ñõñÑ#�DÈß¿¶ÜÝÝÕ®][Y­V�9“$Iúë¯ÍÐÿ*°N 8àŠk–õ> $%%iÑ¢Åúàý÷"OOOuïÖU‹EYYÙš0áK½ùæëºýöŽ2�ª -š;ôw•�›fF¦)69G-ƒÌz¼•‡2s¤ß']6tÛ}2K¾ORfŽôx+µ 2+69G3#Óì¾nVV¶úô‰Ðر«×÷iÁo¿hÑ¢ùzâ‰ÇäUÕK’ôÕ¤oÔ§w/M�ò�<¤QïŽÑ«#_Ö†õ«u÷Ý=ìÌÞxã--_¾RS§NÖŸ«–ÉÛÇGý”jçXIªzWÕ½÷ôÔò?kÿ¾Ýøh=9èieä?ªúßQ£uòä)­]³BsæÌTtt´222/»¦#÷Yà…_VTÔ>ý6ž¶GnÖ3Ï ‘¯¯¯$éÓÏÆküø/4fÌ(:¸W¿ü2GaÍ Ün‹-fwÀ.Îþîž=ë®ð»è9—"ç.lýÇ.4ƒ$c~3å7£¤ª�5Ù�tÖþ\N¿pw�ïí-IŠ˜~F+dÊÕ( leÑCÍ«~�to\¶æîL×w›S•™#ÝÙÐU³«&I6/¹T�€CzºU¹9]”�¯¯¯bc·•tNRޤìü–“ßl’r/h¶"çUä¸hS‘~9g+áÜ…¿/űÝEEð7ÍŒLSX€IƒÚX4ë±j1ÿœ¦m¶jòÆTMÞ˜ZâœÇ[yhìýy/蟼1•°  !ps‚מ—$ jcÑØû«*"Ü]³"Ó´öH¦Ž%ýó5ÒÁ®ŠwWË ¼+LÞ˜Z8•�›“¼¾ð¼vœÈÖÈΞjd. ÕJ›œ£�–§°³  "ps¢™‘iš™¦~áîêÞ¸ŠÂê˜äï•÷º“çsµãx¶–D¥´Tbnå  xÀ�ÇÅŽ1ìDà8�àDn€¸NDà8�àDn€¸NDà8�àD¦Š. 2êé㡞UÔØÝ¬¦¼L3>;WQiYZ›’®Eg­]"Ê �›õôñÐS5¼TÛl¼¨¯¶Ù¨Úf£:U­¢§jxéÛøóo•�›“¼T»ªªæ)IÚ�–©ßϦi«5C'2s$I®FýËÃMwû¸«©»«Þ ðQã*&}rê\Wg"ps‚¢aÛØ“Éú9)õ¢1ÑÙŠÎÈÖÏI©zÐ×¢þÞ…sÝ*>šà ž>…Áًщú9)UfƒÔ×Ï¢oƒkhEc­hì¯oƒk¨o5‹Ìéç¤T½�(Iz¨š§zúx”êšµjÕÔ¸qjë– Š‰>¤m[7jâãåëãc×ü5«WhذçÊp·eãææ&ww÷«v=€ŠÄ7=UÃKÊßÙ¶)%C5ÌF}TM¡UÌÅÆÝânÖ-îÞº×ÇC¯ÄœÑ¦” �=™¬þÞzª†—ÝïssuuÕìŸfhÇŽ�ê?àq�9“$ÿÚjÛ¦µ’ÏÙ·Sî÷ÅK´sçî2ÜmÙ¼øâ0××�!W/äʪzõêêÖ­‹RRR4þ‚KžàRÜÐÓÇCµÍFíNË,ÜÙVRØVTÃ*f� ª¦§ŽÄëç¤ÔÂwºõôñ°+tkÑ"LÁÁõuWçîÊÎΖ$ÅÇÇkçÎ]v×=ḟv�n$]ºÜ¥†¡¡:~âÄeÏp9«_¦^ܯÇ�êÃFÛuŸ@Eصk·¾šô�Ú_ãÆ}ª„„�8qRï0VwßÝÃî¿@eÂ;Ü*H®;fRRR4aÂDMšôµºuëªÿ2XK/P÷÷êï¿÷\4>&&FV«µð1Ï+Ö–›«Í›·($¤ÁûCB‚åââ¢)ÿûºp�Éd–——g™ïàzFàæ€øì\Õ6àjTtF¶Žddë; =š™÷ÁƒWcáZ¥•••­… ×’%Ë´fõ ÝÉ�›¤R?—““£´´´+ö''ç}µ{�û_Ê;¨|x¤ÔQiY’¤y¸I’–$_ù+£–$§›[°VYdggëT\œ2Ò3ʼƅ;ÒÂÃ[h_Ôþ+öÇÆÆ*%%EÝ»u¹ìúf“}A$ÀõŽÀÍkSÒ%Iwûä}á—¤TH¿rpv =K¿&¥›[°Ö•üë_·jô{£tÇ·«nݺjÐ X¯¼ü¢Z„5×üß”ù^^yå%õèÞM~~~ñÊKòô´hÁ‚…WìÏÊÊÖ„ _êÍ7_×í·w”ÑhT�€µhѼpî‰ã'Ô¶mkÊÃÃþK\�x¤Ô‹ÎZõT /5uwÕƒ¾ýœ”ªWbÎh\P55¬RòŽ®éYz%挲lÒƒ¾5uwÕ©¬-:kßgÏJ’F�þ¯ëÔQZZš¶oߩ޽ÖÁƒ‡Ê|/«W¯ÑÛoÿ[µjÕÔ–-Ûô@¯¾ÊÌʲ«ÿÓÏÆ+==]cÆŒR`�:Š�OЄ µ}ûNIÒO³çªK—»´fõr­[¿A�>úD™ë®†={öjÏž½W<@I °žá ¿‹žs)rîÂVÐ_pìrA3H2æ7S~3JªÚ¨Q“ IùÁ•£zúxèÍIҋщڔ’!³AzÀ×¢îÞî…_#=”‘¥¥Éiú5)UY6©µ§›>­ë'IzïÄY»·ò°tÉ"M›ö�~øqF™ú”�ôt«rs*º (;___ÅÆn+霤IÙù-'¿Ù$å^ÐlEΫÈqѦ"ý*rÎV¹ _JÙ¿pyv¸9hÑY«W1é¡jžú´®ŸÆžLÖÏI©šs&¯•äA_‹Fø{K’æœI©Ð° ÎEàæŸœÊûRçCÕ<5Âß[wû¸ë÷³iÚjÍЉ̼í)®FýËÃMwû¸«©»«”¶Ì@å@àæ$Ÿœ:§¨ôìÂwº„j%9••£oãϳ³  ânå §�‡:xVQcw³j˜òn!>;WQiYZ›’NÐÀ.¼Ã ÀõŽw¸Ái�µªÜ \ìÀNn€¸NDà8�àDn€¸NDà8�àDn€¸NDà8�[91]äj2» Z®SEP …Öô•¯G�ÏÎÕà‡»èîvÍåîfVÔÑ“Z°xƒrRÒ”–•¥M‡cµ÷dbE— €rBàæé_õü%IíÛ5×íà ûnm\_¾n®šùÓ2U1uWã`í?uF96[V €òÂ#¥NиvõÂßžžõ׫W»ð¼«É(s‘GMËbÒ¤/t:.V§ãbu<ö¨Ö¬Y¡§’ÑøÏºK—,Ò€þ�8t�¢Ö¬^¡aÞ+<6�3ú]í‹Ú¥õëþÔM75rÚµ®gìps‚¢¯góò*¸Å¬_/kR’B«i{”U6›d“ã»Û¦N�®÷F¿/uêt‡ÆŒ%‹Å¢O?ïðÚ%ù}ñíܹ»ð¸ÿ#êС�n¿£³rsm:{6©\® ”·   ÝÓ³‡,‹RSSµpÑbÅÄÄHù�‹wèÐ^Íš5•Å⡤¤$Íš5GçÏŸ¯è²×07'8kM—‡«Y...JÍÌÔc¯¬é↓Üìlý±n‹Æ¯Ú¡¯>©]FÅŸKUfVŽÃ×ÌÈÌÔ¹sçuîÜyÍœù“|¼½õ ϗ[à6ḟŎCBhûöŠ‹;].×®ƒÁ ˆ‡ÒÌ™?)öøq……5×C},ü÷¨sç;åîî®o¾ùVÙÙ9ª^½ºRRR*ºlÀ5ŽGJ�`GLœrm6…‡7’Íjº¹A�rrsuèøi…7i¨çoo¦€�úÊòôЂœ°¿íb7mRµjÕd±X.ês5›5jÔ´iãZE;¨ ëW«oß>ÅÆ,]²HÇÕâÅ tôÈ~­\±T­[ßV¬¿àÕqã>Ô3Ï QDD_�8~T+W,Õ7_©Ï>WlÍçŸVÓ§M.‡»œÃh4Êd6)!1ïC&û÷�-ÿýŠnnnjÚ¤‰~ÿ}‰²²²e³Ù_ØÀ¥¸9AÔ©DM\¹E‡“SU«º¯^ü°>ž:OM|V«24`عW«¦þ�|õíó½Ö¨®Ók¨U³–ââN+55õ¢¾Ì¬,9rT�?1Ho¿K3gý¤ñŸ¢ÐÐ�bãîìÔI#G¾®–­ÚiËÖmšüí$¹šÍ­÷Ê+¯êË/'iÖ¬Ù ¨S_wÞÕM¿ÎÿMݺu‘‹Ë?ÿ“êѽ›æÏ_àô{œ%;;[{÷F©wï^ò÷¯­žww×êÕk$IÕýü”˜˜¨��zä‘ èÿˆêÖuþ¿»€Ê‡ÀÍI²rrõñw uôd‚¬ié:z¯ À@íÛ¿¿¢K\ÃØáædnn&¥�9£#‹êØò?³úO¥'%)'#Sunk­Ú-Z¨Zh¨¾_´N÷½ð‰RÒÒËt�©S§+´áÍ ª¢V·µÓäÉS”››[âX‹Å¢Å¿ÿ&ÿÚµ5îãOõøãƒô÷ß{®x�Ò¾«ê×_S�îÝ$I=zð8)®}!! t:>^±Ç�+;;[k×­Wbb¢4VRR’,Š|†8#=C¹¶’ÿ= �›“E9!w__¹˜ÍJ;“(KíÚrõò’Oýúªª·4‘ÁhÒ¤y+Ÿt®Ì×)øJiffæǶk.___�zwŒöíÛ¯”””ryñûòå+XG75j¤¶mÚhéÒeN¿àL)çST' @u$IÞÞUåà¯3gÎ(55UÑÑ1êØ±ƒ$É×ÇGµk×RLLlW ¸Ö¸9Ù†]e0Ú£‡Î‡6W�›o‘‹É$ƒ‡E¿¯Ûž?ʦԴŒr­ãÌ™3ª[/HƒAq§O«jU/=ñÄcòóóSŸÞ½Ô¤É-N¿fFF†–,ýC£GÿW7mÒ¹sm²ž:¼\ÖœmÛ¶HmÛYb_zzºf̘uÕk\ßÜœ-ÿQÍ´ô ¥¦ÿó¸ç®ƒ±êÚ"D)§N*ÇÓGÖô²ïp2ä¹+ŽYµêOµlÕ®ðx„‰š0aâ%ÇwëÞó¢sÁ nºdÿ;ÿ}¯Äu8 ¬¬l-Y²ôŠ5TFnNöðÍ•eµ*;7WUÜ\ ÏWq5kõ®#z{òoÚ|8Néå·»­"Ý}w­Y³–ÇIÀ ‹ÀÍÉ–­ß)ƒï:*›Í¦SûöËÅdTnNŽ’Ó2ôýÊív¬rýêõÀ}š6í»Š. Â¸9Ù‚­´`ë�Âãv¯L”ÉhÒÙk…Öu5×WÓ¦M´x _'þÿöî<ºªòÞÿøç 21%�@�A¦hÎAËäŠ8`[[KÕÞÖßïú+NÕÚ^ïõïí]¶`ëpm]–J[ëpo‹Xk-8[{+ Z­&�€ HHI8$!É9ç÷Çɉ'›3Ùgx¿ÖÚ+ç<{?Ïþî}Ôµü¬gï�¹ÜÌÑÙ-©;Œ#SßþýŸªxÜD³Ë0�@‚e�§œÓÎWöøYZ8UYÃKdÏ-«=[’äêíT¯ã¨zÚëu²y¯:U©ãàûêi;lvéˆ�@زGjdùUÊ/]ªœ’ò ÇZ³r4dTކŒš ÜIs¤ó<íõ•:^óªZ+7ÈÙÙ:8…#fnq”5bœ æÜ Ñç^+Y,1�•SR®œ’r]òÏ:úÁ:µl{’Yo)€À NÆÌ»IcæÝsÐv ‹E£Ï»N£Ï½VM[Ö¨iËcñqEà£ìâ2-YòÑјY,3ÿVåž¾@�¯¯RgCubχ¨XÍ. •�˜µLSnX—ø°ÍGNI¹¦Ü°N#f-´s"|nQ*¨ø†J–­Žÿ#¤á°XT²lµ *¾1øçFPnQ(¨ø†ŠÝev*Zt¡[’!pˆÐˆYË’"ló*Zt�—&7€d—©äÊUf—qŠ’+W)»¸Ìì2@à™¢%+Íyg[(‹§6˜ŽÀ LcæÝ4¨«‘F*§¤\cæÝdvÏnv騴t†¦Lž¤1c •›“#I:ÑÑ¡¦#ÍÚÿéÕÔì6»D¡¬ã4fÞ-f—Ò˜y·¨µòOêi;lv)‹À-ŽJKg¨¢â<åçå�²/?/Oùyy:ýôɪ¨8OÛ·ÿ�à €R0ç†ä|”ÔÈbQÁœÔðú}fW’±ÜâdÁüÏ©¼Üób††FíÚõ‰êꩽý¸$iøð|M(¯™3§«¸¸H‹.Y¨±c µióV“+¡Ø²Gjô¹×š]FØFŸ{­š6ÿBÎÎV³KÉHnqà¶½õÖUUï<å˜ÖÖ6µ¶¶©ªz§f•�¡… çõ÷!t ¹�,¿*5f·yY,Y~•Z¶?mv%‰À-F¥¥3úƒ³�/¾¢ÚÚ:Ùl6•••jÆôi=z”$éèÑcÚýÉUWרªz§Ú�ײ+/Syy™Ž45‡ýxé¶w·hÊ”É÷nîBíÙ³7NW�µk®/}ñ ’¤žž^íÛ¿Oÿýôoõøož”ÓéŒiìÍ›ÿ¢uëžÕš5�Å\çСCeµZÕÙÙóX€ô–_ºÔì"–_º”ÀÍ$n1ª¨8Oê›ÙV[[§¼¼\]qù¥*,,p\QÑX�Õ¥3õÒ˯©¶¶No½µE ÎSEÅyan‹/•ÕêIÔW¬øZ0ž®ÿú7û÷;'âz}Ñzòɧõ£U÷)''G_¼P«WÝ«ÜÜ\=üÓGb÷ÕW^WeeU\j¼óÎÛ5eÊd­Xqk\ÆCz*,,Ô’%‹åp8´aËf—ÀY#Æ%leÒí+K$I«êã>vNI¹²FŒcñXÍ. ••–ÎP~^žUU½S6›ÍoØæ«°°@W\~©l6›ªªwª¡¡Qùyy*-�Ö9‡ÚÛ�«½ý¸ºººÔëtöoo?.—ËÇ+ŒÞÉînµ·WCC£žyæYÝÿCZ±âƘÇ]µúÇÚ¼yK\jBY¼ø]ó•«åp8Ì.€‰rN;ß좖ʵ§2·L™=p@o¼þ²J&”èúëoÐç—\®É“'kåʻî©hl‘�èĉÏy]õ£{õûçž×•˾¤íÛß“$Ýu×wµìÊ+ôÿé[Züù¥êîîÖŸ_¯!YY_«$ÝvÛ-úÚ×¾ª[o½C_¼XøÃÕÒÒ¢G]£‡úˆ^øÓ�/™¬½{eÄ÷鯱ñˆÜn·Ùe0ÙЩa•œR¹öTFàƒÜœIR{ûqIÒèQ#Ãîë]LÁÛ×;V¬òóóõ�_¿N>ø°š››uèÐaÝ÷ãtÙeŸ½Üñ‰'žRMÍ.8P«ŸýìQúX‡7èù?¾ ŽŽŽî0 Ód /1»„¨¥rí©ŒEL’¨Y3S§N‘ÕjÕ¿ùeÿ9ìö,åççõSPP «¯þ‚*.¸@£ Fk̘Bådgs×.Ï‚Æ û¬m÷îSÝôµâ[7jÅ·n”ÛíVmíA=¶öWz≧ÓÕÙ5àûäI“d·gé£�+ûÛ:::ôþûhú´i_ëĉ§)//W}ôq�;@pö¼Ñf—µT®=•¸ÅàDG‡òóò4|x¾Z[ÛtôX«ŠÆŽ «ï±c­’¤áÃóûÇŠ‡¶¶vIÒ¥K—©©©é”ý¹¹¹zõ•�Ú¸ñE=øÐê¯?¤gÖýwÐ1ý…ƒ¡Cï*¥]]'ÕÝÝVíC‡ •Íf•ÝfS·ÏâÝÝÝê:yò”ãC]ëˆáÃ%IV‹%¬óà�Õx’J¸¼«‘Fº?ÖÕKãQ;"Ç#¥1h:Ò,IšP2^’´{÷'a÷ݵ{Ï€¾Þ±bUWW'‡Ã¡K—,ö»ÿì³fkÔ¨Qº÷‡«µk×n9Ž„Ì¶ó®RnØ&Iû÷*·Û­9Îéo³Ùl:ëìÙÚ¹sç)LJºÖOÔÊjµê¬³Ï xÎ,»ÿwÃD‹n1Øÿé�~údÍœ9]UÕ;U]]£3Jg†\©´¹¹E;ª=ÒÌ™ÓûÇŠ‡žž^=úè/tÏ=ÿ¦Úƒuzûí­*.*Ò˜±…úûß?Vã‘#><_7Üð mÜø’.^8_eegê¹çž�Ëùcáp8ô»uëõÀý÷éæ›oS]ý!}÷ÎÛÕÜÔ¢¿þuÓ)LJºÖcÇŽéå—_Õ�ïû‘VÜt«5÷siËÛ[uâÄ ª?¤o~ãëš0a‚Ž=Ê»Ý~¹z;eÍŠíÝë�fªyg¶Å:“-WogBÆEpÌp‹AMÍnw8T\\¤YegÈét꥗_SssKÀ>ÍÍ-zéå×ät¹4«ì é¸Ã¡ššÝq«ëáŸ>¢Gù¹V¯¾W{÷ìÔ /<§³fÏ–$íÙ³W÷þpµþõ_¾§w¶nÒe—-õf™åûßÿw½ùæÿêÉ'×[}C#FŽÔò¯]p^°k•¤ïÜù=ÕÔìÒÆ Ïëï¾§›o^¡Q£< V<ûû?è½÷Þ׿Moê—¿\3h׈ԳcÇNmØð¢Ùe0I¯ã¨Ù%D-•kOeñ~¹U8ãYB|öm³ú´7ï~ïw«a³H²õmö¾Í&iøŒeïkm�ñR=JKghÑ% %I_|Eµµu²Y­:³ì Íœ1­5Ò––£ÚýÉ^í¨Þ)§Ë¥‰'hÙ•—I’ÞüË[q ÜÒÙŸßxE¿~ü =ó̳f—$\WW‡\N³«0éº_+wÒœ0ŽŒ\¢g¸�8°M~wcBÆǨQ£TW·ï"Ií’œ’zû6gßæ–ä2lnŸvù|÷Ýä³_>mn?mÆÏ�Äí�[�ߎ“Í{¸%ÚÉæ½f—�‘Üâ`Óæ­’¤òò2-\8O3gN×®]Ÿ¨®þ�ÚÛ�K}«‘N(¯™3§«¸¸Hê Û¼}Úm·Þ¬Ý»?Ѷmï™] ƒtª’Î3»Šètª2»„ŒDà'›6oÕ‘¦fUTœ§ââ¢þP͟ㇶoÿ3Û"`·Û5{v¹¾ü•år¹\aô >:¾ov QKåÚS�[ÕÔìVMÍn•–ÎДɓ4fl¡rs<«˜œèèPÓ‘fíÿôA[z{{uÃÿ1ï™s@æêi;¬ŽúJå””Ç}ìD½»M’:ê+ÕÓv8aã#0·ðo =¯y5!�["¯yÕì2–5Œc2ZkåÉ·E,ÏíöÔ S¸„àìlÕÑÖ™]FØŽ~°NÎÎV³ËÈXnahÙödjÌrs»=µÂ4naèi;¬¦-kÌ.#¤¦-kX,ÁdnajÚò˜:ê+Í.# ŽúJ5myÌì22�@__•œ�–ºÝžÚ`:7€t6T«þÅ•f—qŠúWª³¡Úì2@๶ª�j|ó³Ëè×øæj«ÚhvèCà…–íO'EèÖøæjÙþ´ÙeÀ�@”Z¶?­ú�ß7ç�nn·ê7~Ÿ°- ÙÍ. •µUmTwó>-Y©œ’òA9gG}¥__Å;Û’�["Ìž#M›%�›(å�ð´9ڤõҞ*éãmfW⨳¡ZŸ>}�ÆÌ»IcæÝ"Y,‰9‘Û­¦-kÔ´å±ÄŒ�¸ p‹§Ùs¤ù—KÃG�ºoø(Ï6ó,Ï1›_&x Í4myL­•RÁœ4úÜkã¼¹Ý:úÁ:µl{R=m‡ã3&†À-^>ÿéüžÏõûe©Ü.÷�O¤ÖOÛÈY&M—»¼B*™"]q½TtšôÆs¦– â«§í°^¿OM›¡‘åW)¿tiÔ�švÔWêxÍ«j­Ü ggkÜkEb¸ÅƒOØfyu½Ü¾­S^•xôˆÜG�H¾-Ë9så^ºü³€ŽÐ €´ãìlUËö§Õ²ýie�§œÓÎWöøYZ8UYÃKdÏ-«=[’äêíT¯ã¨zÚëu²y¯:U©ãàûÌfKQn±š=ç³àlý¹÷ÕH6»tî\éÌó¥1ã<ûšKÕïIn•û÷¥¶iù-ž¾�#z¼tíÚŸ«tæL]üŸ—ÛÏ*(åå³ôæŸ_Õ¿ômÝúnÜ.D§§í°ÚÚ6ª­j£Ù¥`¸Åjþå’wfÛ¾)„ôÕ›¤±%�?ɳ;PúýZi_�§ÏÒåž1"|ŸÛg”êó‹éõ7þ|ʾ;n¿-¶k2Paa¡–,Y,‡Ã¡ ^”$Y,Í›7Wåå³”››£cÇŽiýúçtüøq³Ë$1·XÌžãY¡~¿gÖšÍî?lóU4Aºf…ôÔyúxßé6{ND¡[SS“î¸ã¶S·ÓOŸ¢‹.𣶶öX® È(‹_¢éÓ¦©þСí‹ýƒ²³³õ«_ýZ½½NÊáp˜V' 5XÍ. ¥M›%I²Tn÷|?wnð°Í«h‚tÎçöí+\Ï>ûœ¦N=]^8g@û·¿}‹üI�x{`ß¾±¢ñàCëê/U{÷îó»¿§§W�>ú ÝsÏ¿iÁ‚ù²Ùl*?^gŸ=;ês™à…6hüøqúÎßÖòå×èÏÿQ]]]f—é ùrž82ã‘R·$‹ ç�¿�·Ió/—J¦ÈrÎ\¹?|[úýZéšRÑÿ}ë<Ǹœž>%S¤öcž±¢tìØ1mÝúnÐcþé#êêêÒêÕ÷jBI‰šššõè£kô÷¿õy�t³cÇNíØ±³ÿ{WW—Ö­[ojM€˜ zPïà+Üñ,†¿�Ú¬†6kßgß­†ÍÛf÷Ùl’†Ï˜QöαÖÖ.ÓÇì9Ò×{>¯_#í«‘¬6éܹRÙùŸ­FÚtHÚñ7ÏÌ6—S:½TZ~‹gßK¿�)p�žºº:ärš]DoÔ¨Qª«Ûw‘¤vINI½>›«/ s6·O»|—Ïwß6wˆ¶`â̱hB¬>Þ&�&�¿@Z~‹,¯®÷Ìt{“góÃrÎ\¹—.÷|ya@!p‹‡7žóü=�'H+¯�¥r»Ü>‘Z[<ûFÈ2iºÜåžÇHÕ¶yû -$Sà–Úïv{ã9©ñ`ÿ;ÝúC5ýóÛ�I›_ff@ü$Í¢ ɸE"P8ç²?ñ7ýãmžmöiÚ,iÜD)o„gŸ£M:\ëY�”  dÙL¨÷¬%Mˆ‰T Ü‚1¦œ7x@()ªc ã˜dbüÒî@jg@ɸEz3ƒMM€ùâ‘ß$uÞ“ì�[$‚Ýh× Öÿ‚e4I¢E"·HSÐP/ß@b8}>‡“ѤÅÓ‹ñÜâq¢�BN?·$·ÓÕë²ZS1kH V«Un·»Å›Ç„Ñ%ÚISfäQA™�:…{1‘, ë ò¹%9{{]í6›Ù—�¾l6›,÷®¾Yn�ApxÌ4’,(–ã¬Ô)Ü›Iúé¯Ý»Ï7„s¹\½Õv{V˜¥ RYYv9�®¿ùjnÃçXBµp3$S‚·T›æåcz¡;ÀqÞ¶žŽ�Ï Bà�(YYCÔÙyb³¤žYM¨°,ÜGR“F*n‘ÜÐ@Ǻ|~œÞ––†mÝ'{ê† §à•�=L‹6´¶¶”Ôë“ËZ¥4ùOÒH…ÀÍÓÝ~öûþ�¾¡[÷‰ŽŸd&»Ý>H%¤?»Ý®aò�'NJR·Ÿ°-Ðû÷ýÍdKúpÍ[Æ´Dxœñx‹¡Íbh³øi Ônõùëm·Jrwv:³†æçædÏìéé•Û�’¿€4ÖÛÛ#þÓ •X­Våææª··÷Þ––Æ÷%�ì Øœ>A›oð¦1Má†c‰3Xàfl·úÙçÛf1„jÞï¶¾¿ÞÍÞ·ÙúþfŸ6qÊÃC† �ÛÑÑ©ÞÞÞ(/y ÒÒš2y’ÆŒ-TnNŽ$éDG‡šŽ4kÿ§TS³;.ç�Þºº:ärš]„Çn·+''G’û§‡×þNRgßã¤Î¾¿½}!›ËOç; .ÐB˜¾m2´[5q ù¸E2n,³ÜŒ�›1xónÆÏY}a›µïó°âñ“WÏ˽ª³«K]]]Q_tié UTœ§ü¼¼ Çw8´}ûßÞEà UdgÓ°aÙÎîîî9R÷Ф®¾Å\}A›wáß�Í8ëÍíg–›1pó÷Z±¤ Û”â�[ ÎêÓfœáfõ™ÝfóÙ†]˜››ÿ/C†fMèîîQoo�œN—\®@ïòhÁüÏ©¼¼L’ÔÐШ]»>Q]ý!µ·—$ ž¯ %ã5sætI’*+«µióÖ0o€LCà YY­VÙl6eeÙ••5D‹68íO·µ­í Ûœ>[¯O¸fœá&ŸÀ-P¸FàḑnÆÏþ+•a–›¿Í`VPPtANnÎr«Õ^f·[‡Û¬ö� K\tQ…Î<³T’ôöÛ¹VZ:Csç^(IÚ±£Fï¼³=Ô)d ®“�n’‘Óív·H®Ý.—ûýŽÇ–¶¶£õ~‚6ßͶ¹¼ÓÍ8»MB7ø.·À�›¢˜åæÂY ßý=Zj7Ì€ómÏò áŒ5D+Q÷ \±„KƠ˦õôÍbsÂ5§ŸvßÏ2Ìn“Ÿ™m‘ÎnS2nöx!w_åŽ2�òíçûÙeݼ߽?ª­ï—áG°ùüCl5T€Lâ/è2nNC ÖkhwûYðÀ߯ÏÑÔiêJ§‰ Ü¢ ÐÂÓ_Hç/lsûùîmó Ýl}íVŸq¬fÓE‚`$»Hƒ)³Î| õ�Ýf Û‚­Dê¯cx–ˆ-!ÁœÙ3Ü‚ñ^°ÅÐf ²|8ùù,Ÿη¯Ó'd³ùüЖ¾ã�+¡ú ù^7€4a\QÒ¸‚¨Û¸9ýkÆGGeÝŒŸ�ü½§ÍÔYlÁ$CàÍc¥Æ�M†Ùnò άB4ùìwŽõþuúY A>«hˆ™l  ³\†ýÆnþf±ù{O›¿d謎`5›Ä%2p‹×c¥ÆGGb–›ñÑR—!@ó²úxg»Y}Â9ùmÞ¾�xö Yù›=êcðæ/tó Öœ>Ç» c(DXæ/”‹‡„s‰†¹Z©±_°LeXDÁæÓ&ã£�%eá�‰…]þ-•Ÿ@Í_Øf|¯›±M~Úà»±žpƒ´´Ü$tó×*t ÄYý|6î7žƒ  ø£Ÿ ¦{ŒÔ_ÐNØf¬%X{¸×W‰~‡[<+ ¶PB c½ãÍå¢yd«Ÿ6ï”#l™.Ô*¢þ‚¶pg±…:_°¶H%ô=oƒ"™5Ë-T{¨ïþÎÉ5¤ŠHg† ÞB…kÁf±¥Åì6%É*¥áð·(‚ï �f´ùk7ŽiñóÝ÷xk?‚oÈfúJ1'Ûp¾Gú.¶x…mIi°fc%j–›ü¼wM~f¬ùî ¶ ‚Å0^8µGº0€Yâµ €q¿+@(f\H!Ø{àü½Î8NÒÏnS’nþúEºùëìñQãZ= �{‡Z PLaÌj ´/ظ�¶@u’‘�›‚kÁö…ºù~ö×Çß÷`ûÒY$A—¿à,Ü N„m¡ö“6�[¤ç µ:h$¡[ öP #ª7ÒER™ñ}jÆ}ÁŽ ªÅ¶ÚÈ ¼.Y7ãñ‘Ì> ºší&?íÁ¶pkH%‘¾·ÍØÎ{Öeá<žξPÒ.p‹æ|ñÝŒûC-ŠÉl7€LjV›¿cÍj3î3îO¹°M)¸…Ú*X w5Rãq™Î’yE¦…ÚÏGI£9>jfÌÜÌÐ-Ôlµ`ïc‹¤�p ]„ ºÂm5S-ÒÙk)¶ÉÄ h0C7˜¥ê=náÔN;@ªˆ4X3îõh©ÌŽK›°M)¸û„3Ë,œÙnáŒM�0P4ïV ç]oñÛ¢íÛ`ŸÐ‡¡›;@{8ç‹aHV±Qáaþ‚6}Ò"lSB±RªO¬çTÉ6%*t g2Þ€TMÈîþXÎ=è’5`ŠG]±¼¯-^5¤³XB¶p�Œ1â*™C¥xÕÉ8±†té(ÞáY¼B²¤ Û”áQ<ëKô£ªñ<À`Ì ,žYR†mJ¡`(™‚7D&#‚6¯T ŸQk*]?@*ID0–ôa›R0pJd½©v/’M"±”Û”¢!Ó`ÕœŠ÷`0 V–2a›RÄGF†l¾šãÞ—ñáš?„JÑãÞ€tG @êúÿjNô—âIEND®B`‚alainm23-planify-69962f8/data/resources/screenshot/screenshot-04.png000066400000000000000000003470101517337276100253040ustar00rootroot00000000000000‰PNG  IHDRܰå]i¿ IDATxœìÝy|SUþ>ðçæfmÚÒ•B)›ì›ˆ(«PDGÇ•Á}—qG:3ãŒ+*"Ž2*àQ˦ˆ²—”}/Ð…Ò=mö›ÜßmCš&iÒ¦MÚ>ï×ëN“»œ{nZFúð9çDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDAwš1~vDDDDDDDÔÒÉáî@sÄÐÈ7~6DDDDDDDDþ1�ó‚¡R%~DDDDDDDD¡ÑêC¸Ö4µæg'"""""""j ­2|kM¡SkzV"""""""¢HÔ*¸ÖBµ†g$"""""""jNZtðÖRè–ú\DDDDDDDD-M‹ ßZZ0ÕÒž‡ˆˆˆˆˆˆˆ¨µh1Á[K ¨ZÊsµvÍ>xk AUS=C}ïÓ>c"""""""jYêj5UÖ¬C·æ5Fßi³9fDDDDDDDDõHÖ!Y³ ÞšcxÊ>ûk«9~6DDDDDDDDMÉ_ ʰ¬YoÍ-T E}µÑÜ> """""""¢Hã+ E`ÖlB·æ25¤¯ ÙˆˆˆˆˆˆˆˆšVc„oÍ"tk.�S(,hŒàŽˆˆˆˆˆˆˆ¨¥ uPé 7Ô[¤HáÚsØ*Q¤iÊáž­"x‹ä`(Ta[]í{ŸHþ̈ˆˆˆˆˆˆˆC°áV]ç{oQ¡[¤†GõéW0A[ í >^µf²�×�œ_×±úhºEb�Ôа­!A›¡Ÿ Q$“ëQÕæëX³Ý"-\jèðÎú¬Fª¨ç½ˆˆˆˆˆˆˆˆZ›@ƒ-g=Úhhµ[Ä„n‘"5$l 6hó²…b8kCÚ""""""""j �_ i ~·@îß,C·H „‚éK}Ã6_A[ ÃP#é³"""""""" Ùã«¿soÁZ‹ Ý”Mu£ b¶ù«j«Þ§ðsm }!"""""""j ä²ÁK¥Zõ{§Û~ÑË*¤Þî!{´)¸í´£)ƒ¢PV·Õ7l=Þ{m �ýþúâ¯ïDDDDDDDDÍI°•bžÃGá6ŒÔ[ð?Õn�Vº5›*·H¬p d(©·ýþÂ6Ϫ6ÏMá±h‚µq¥R"""""""j�<0_óÝ+ªB¶êàMá–‰!œ@¥›ç}<÷Z פš*p e@èÜnð¶¹W±¹muvþîMDDDDDDDÔ’yVšyi²[Xæ¼9«ö¹‡pÞB74Q Ö$CP›*< ô>õJê9'›gõÜ^»½mªª RYuܳí`ž‡ˆˆˆˆˆˆˆ¨¹ó¶x�³jˆ¨TµÙÝŽWoŽª¯N�¯ð~ê9dÔs(*|œçÙÇ@ƒ´FÜ"qH©/þÊDØ&z ß@@�””:B¥¹W¡PP*±¢Bémx)Q£³XÍpz®ûCDDDDD~Y–‹A>êtÊ;ÍfÓÏ%%Yl¬nm¢[…›Ã­ºÍ³Ò Õn ·ëÜñˆ\ Á›¦¨Ô æþæN ¤ºÍ}Ÿgð&¸U¬ynº¤¤ÔQQQQ/«5ª4›ÍI²ÃápÂéô¶�Qã³XL ܈ˆˆˆˆ(") ˆ¢•J •J …ß�Æ�JJ N0{©jsz©x“ÝÞ£Ž<�{ Þ‚ q5¸‹¤ÀÍßpR_«Žz«nsŸ£Íý½è¥ºM ª}j—×c¢õÓÌ ,K=‘ˆ(ô¸Qs¡Ói¡Õêv»ýåüüó+˜ª†šºl·•J�a›3€¡¥Þæ�s1ÃJÅÆl¼J �[]Õmž_½-ràYÑ·Ê6ÏÕHEúŽ�º~¨Õj'�&Øl¶<&QhI’r³(–&""""¢ÖN’$H’¤P«ÕãbcãÌååe‡Ü7÷…·`Lp{ï.�,ÉWÑVDüÕØ�[0t ©nó7”Tt ØÜö¨ö©]þ¦Õj'TTáp°Œ„ˆ" 7"""""jNœN'ìv;Ôjõp½>ö‚Ñh8é6ŒÔ=\óµò¨ì‘yžïùÕ›@‹jÔQŸ‘² @°ýðö¡xp¾‚8EåâíGÇDë§™LfÎÓFDDDDDDDN§&“ *•ê¯ññIݨ½ä2ð“ßx 6‹ˆ¬+":ჷê6x¼÷µnßDÏo @¥Ñl±@’¤F|"""""""¢ÖE’$X,fQ¯�~€Îmô¡¯éÀP�ìÇ×Z¡1·Æxho¦·ÕK=ÓQ÷¡¤ª¤¤öÃÕUH """"""" =³Ù§Sãã“:Py™_^2˜ý„J£v‘PáV߇ó–hz!Uxœ/P颴wÙlöt™ˆˆˆˆˆˆˆˆü±ÛmÐjõ×Vnž¡™gvã/ç VØ+ß"9p󵈂¿v¼•"*ܾ*( eIbàFDDDDDDDÔXìv ¢(  ô¨ló Ù@[09Q‹ Üú`Þ‚3o馯Å"""""""¢VE©TB¯×C§Óz=®P( V+ V« ³Ù£ÑØÐàMô’Çø ß¼mîÁ™·-¬Áš/‘¸"�±»ž‹(øºŽˆˆˆˆˆˆˆ¨ÅŠŠÒ!666¨kt:-t:- L&sCnï9|Ôá'ÃñÜqaZ "aÑ„`ÔUå�Iø|'"""""""jôz}Ða›»ØØXèõú†tÁÛ" îÇ|å\mMª1§@?€@ç^ ´Í@“Q"ŠPÆ Å‚óñÛ¯{��}¿îß��>zC‡ w׈ˆˆˆˆˆüZ¿~-Ö­[înÔ¥CLLtƒÛ‰‰‰FT”®!M3R1�v ãšQÕ[cPÁ<Œ¯ÛóÃóL:½­há¹â…èñZUµÅöìÙ/³¤´´�HD¡¤T*ñúk¯`æÌ>Ïùä“OñÒ_^ið¤�͉Åb‚ÓQÿëÕj5^zéÜqÇíh×.% kòò.àË/—àõ×ÿ›ÍVÿ›µ2Å€èè„pwÅE©T"))1¤mõ{Y||<²³O_ÀÀ^µ9ªæpsz¼–«ÞW#•«6§Û{xy/ûzêk¿7!º‰Ã+ƒ ëZ� %E¸ê°Íl6cÞ¼aÈÐáHK늡ÃF`Þ¼Ál6ãþûgâµÿ÷×°õñb~v½¶pzñÅçñÄ�¶@ûöíðÔSsñ Ï6øþÑÑÑxá…g±gÏväâôécX¹rÆŽSçµùùçqêÔÑ÷ÁÝÔ©7¡¢¢8¨gkh?êsO""""Š çÏŸBEE±ßíܹ“áî¦_ ÚXm6FŽq¹O$nu©o bÄ}øDT9Œ´:l»yúmxóßoáìÙs°ÙíÈÊ:‹7ÿý¦ßr;Ìf3î»ï^„;î¸ðúëÇÌ™º6Tý«›·-=}"à®»îhнEQÄ’%‹ñ Ï"))™™ÛQVV†Ñ£GA¥R…à鈈ˆˆˆ—,7˹ú]”J¥ÏÕHB§ÓB©¬÷œ­&Ói«”†b¼m³ûƵ÷ÝW9Œô�wÞÇÞ½û¼ž³gÏ^¼ûî|<óÌS˜9svîÜÕĽÚ¦¤5ù=ª}ûv€“'O|ÍŽ;k\[_W\q9®½v ¶mËÄ„ 7ºþ²¢×GÁl¶4¨m""""¢¦Ð©S÷pw¡A4�ßã'OÁîÝ{0kÖc(.®‡÷߯ E÷î}ü¶Ý€é~êÊoI:#~õÒ–RáÈ1"Š@×\}5àÿ–ã÷¼å߬ ¿æê&é5L‡:��Úµßh4Á鬜nAEüéOOb÷îL\¸pëׯEzúX×¹�ÿùÏ?‘•u§N­5,S¯�Â?ÿùÚ�œœ3X¶ìKtéÒÙu<&&óç¿‹Ó§�!+ë8yäÁ×'$$ ¢¢?ÿü£kß¼y¯£¢¢7Þxƒ×çjè=‰ˆˆˆ¨ùñ7´4’‡”Ö¸�8qW]5‹Š„„ÄÇÇcñâO1lØPœ:uºAm×S‹Ê{¸5tõˆ`¯ivߢÖ"!±rBѼÜ<¿çåääC<á'5ŽÝ»÷Àl¶`Р+°ÿn¼þú«èÛ·æ¿�½ùæ<¼üò‹P©”X½z-ôz=***\ÇãââpÝuãqèÐa$''á…žÅĉ׻Žþù§xøá±sç.¬Zµ×]—Ž¥K¿€(Š€E‹àÞ{ïÂ… °m[fH†#‡ãžDDDD^Íuh©R)ú=>sæƒ8{özõê‰Å‹?ÅâÅŸ¢OŸÞÈÎÎÁý÷?Ô ¶ëÐX9N(³¦kCJƒÕ«öˆZ­â¢b´k—‚Ô©ÈÊ:ëó¼R]ç‡C}@hŽCQC!77¿ûÝxã�ÿ‡úãñÇgã±ÇÅòå+ðôÓÏA£QcæÌ8yò†  «ÕZ«�’’\uÕÕ°X¬xá…gñ ÏbäÈX»öG Ð&\‡µktÍK…iÓ¦ [·Ëàt:1iÒœ?Ÿ�1cÆÃn·ã¾ûfà�wþSïg Ç=‰ˆˆˆ(üšëÐR…Âÿ~"¾òe„M5_[HïÓ+܈¨ùä“ÿâæiSñØc�bÃÆMسgo­s®ºj0æÌ™Y–ñÉ'ÿ K?[k¥ZCɲŒuëÖcݺõøüó/°jÕ·9rV­Zñ/c’Tó»ª'u]»öG<ÿü‹5Ž�;w“&MTT”×Ùvõpк„òžDDDDÔü4·¡¥N§Óïß·“““°xñѽ{7לmݺ]†Å‹?ÅÝwÏ@AA¡ß¶É?¿$¢°Ú¹s>ùäSèt:|³|)ž~ê téÒj• ]»vÁŸž~ß,_ ­V‹’’œ>}&Ü]¦h4 tE�}*Uå¿ñ\¼xѵrêõ×_­6ø W�=‡Ã�aÆ ¨¨'NœtmV«ÕÕþ„ ×¹&t���­Ñ†Éd„,ËèÝ»—«Þ&U(„�Ý“ˆˆˆˆš¯N�º#::¡ÆÉÕmžÿhíé“O¸Â¶»ïž�»ïž�S§N£[·Ë°hÑÇ j›"¿Â-Ã@9””(½ô—W î»ïxæ™§ðÌ3OÕ8.Ë2 ‘””„+–áæ›oCAAAØúKu»îºt,Yò?äå]ÀÉ“'¡×ë1pàå€ â×_ÃÖ­Û0bÄplÚô3Ö¯ÿýúõÅë¯ÿ;v쬳ýÜÜ<,Zô_<øàýøùçðÕWK‘––†ØØ̘q?<„ÌÌí¸æš«±yóÏ8xð&O®¹ò¨Åbž}ûq啃°aÃOÈË»Pc•T(((D—.�ñ—¿üÿþ÷Û ¾'QS±Z­P«U>�÷íÛGŽÅ}÷=èªf»ûîX´ècôéӻζ(TyOÄ–6· 7ÏoÃ4¢@’$<÷ü‹˜|ã4|³â[äææÁn—páB>V|ûnš2£ÇŒÇÑ£ÇгG¬X± ÉÉÉMÚÇ‹ùÙõÚÂ)/ï G�ÀÿÕí꫇U�VC;vï¿ÿŠ‹‹qÅqÙe]±{÷^Ü{ï}øüó/wÞ9‹�¸¸8<ðÀ}HNN‚N§ øúÓóxùåW!Iž|r.† ŒŠ #¡ò? wÝ5«�–Ö^ŽY³æ¸>“j?ü(vïÞ‹®]» :Z�'Ÿ|¦Æñ?ÿù/ÈÏ¿ˆûïÿ è’{QËRQQ\cŽ_Ï÷áRW(Ö½{ÜtÓÍ5†Ž⦛nF÷î}Ôvˆ4ë (Ô� ´=Áã«û~÷} �ó縿¯~-º½VTUñUo"€Øž=ûe–”–6à1‰(’’’ðÍò¥èÝ»~ûíÆ_7©ÉîŽUJ-œ ¨Ô~å•¿à©§æÖëÚþóßxå•×ês""""¢VbÓ¦õ¸òÊA5öíÙ³cƤ‡­OÕÚ´i�NÒ6Íf ÊÊÊ>?>>ÙÙ§¯`¨Z‰TrÛœUUjΪc²Û¾ê×ðñnïÝÏ�Ç>Q ×*M$ÌkVi'§°°Óo¹_|ñrsr›ôÞÍqÑ„×_ÿ;àÎ;�öíÛtMnn¾øâ+¼ñÆ?¹wDDDDD-Ãôé·cÕªoѯ__Àñã'pÛmw„»[£ÑòÀÍh4†´=7� �èa¤î"©ÂÍÛ>÷ 7Ï ^*ÜÜ7V¸Q³ÖÐ 7"""""jÉÉÉX¾| à–[~QsNGEéB¶˜—Á`€Édêš *ÜÜ7_n²G%›g…<9V¸5G=:üCH½1™Ìbb¢ÔNyyEÐa[kÖÜM """""""¢ �F †z_o0s(i‹Ä 7"""""""¢Îd2Ãf³C¯×<¯›Ùl�Ñh„$I�Þ¿–&�6 """""""jb’$¡¬¬ F£��J¥…¢r¤Óé„$9`µZaµZ[RÐÖä‹-´ô 7†{DDDDDDDDn$I‚$Iá&Ú¢3ÎáFDDDDDDDDB ܈ˆˆˆˆˆˆˆˆBˆ�Q1p#"""""""" !nDDDDDDDDD!ÄÀ�ˆˆˆˆˆˆˆˆ(„¸…7""""""""¢bàFDDDDDDDDB ܈ˆˆˆˆˆˆˆˆBHî‘o’d wê¤R)!ŠJ(B¸»BDDDDD!âtÊp8$ØíRƒÚq8"ÿwšÆÀÀ�ˆ(‚‰bäþß´ Ðét ÚˆˆˆˆˆZ, œNf³²,׫…"r§iL­ó©‰ˆš�È ³¢¢¢ Ppf""""¢–L+ÿîo4šêÙBäþNÓ˜¸E0AˆÌÿ8i4*ˆ¢înQEZ­V«=èk#õwšÆÆÀ�ˆˆ‚¦R©[í8‰ˆˆˆˆZ#•ª~�[kű@DD4%%""""j]ø;@pXá‚* µ‚¨…À!V-†ìp@vXà´™!Ûë;V½6A§‚B§„ VBP²B¨%�%²M‚Ó,A6ó_|Z“¨Ù# vŒƒã|)Lïm wwˆˆˆˆˆ(B0pkATCÔÅCPiÂÝj‚(BõP¨õ�íV8Ì%�°œ± !Æi!hʶ4‚R€ TA¥‚lUÃQj�lw„»[ÔÄŽq5¾�CJëOPEAÛŽa[+!¨4Ußï¨ú]¯SA™¢gØÖ ±ò{­S…»+a§R)1uêÌ™ó(z褥upëÒ¥ zè<þøÜzët¨Õê:Ûš={ èïÚ÷Øc³ñØc³1{ö,Ìž= éécý^ÿÜsÂÍ7O­uì©§æ¢_¿¾µöët:<ÿü3HII â©ë¶ÿnìÞ�‰]»2‘™¹~ø:tH­óº””ìß¿±±±E'NúÞZ­ÇŽÂ{ï½íµ_S¦ÜTk|| ¦M» Ÿ~ú9 ÒÓÇbòäIX±â;Ÿm�;¶Öª¨jµÿùÏÛp8êþŒ»wï�C‡£gÏžP*•�$©Æñ‘#GàСšÖ°aC¡RùëkÒ¤›PPP�Fƒ{ォWg`ìØëP\\ìóš‚‚<ñÄÓ0 õ^!vüøqÈÈX‰ë®µZ ›­æÿ—Í™3 ߟQcßý÷Ï„NçûÿÃêjÓ—›nšHKë€åË—aذõz&""""¢HÄ ·zuñáî…Q°ß1NÛh}¡ÈÖš¿÷�={öÄæÍ[ Ë2Î�;�³gÏ¢_¿¾èØ1 ¹¹y(++ƒ,ËØ°aºwï�Æ{ÅpZZ$$ÄãØ±ã5ö‹¢" °  臽{÷!;;—]ÖµÖq“É„îÝ»¹Þ«ÕjôíÛÙÙÙA?{0¬V+>þø¬]û}ô�~Ïu:�øå— ºß´iSñÅ_aïÞ½3fT­ã%%%7îZ×{½^�É“'aïÞýõn“ˆˆˆˆ¨5bà$AÅa¤­œ Ò<´TЩ8Œ´4b«Z�âââ•dÙÙ9HLL„(*k !u80›Íˆ‹‹Cll,ž|òq$'WV+•JLœ8«W¯­Ñ¾B¡€J¥ÆÌ™3ð‡?܋ѣGA¥ò^´­Ñh�””„œœ\9r½{÷®uΖ-Û0jÔ¥ «Áƒ¯Äþý¿è5Ôš5?`àÀË�ª¡£Ë–}‰]»2±ÿnÌž= |#]¸ð#ÜrËÍ®÷/¼ð,fΜQ뼘˜hôèÑûöíÇÊ•«qà “j�óÎ;ïcΜG]ïï¹çN|ýõÿÁjµzíw mµF Ü‚¤Psh þs ÐqÔvk×Z¢£õµB³ÙŒ¨¨(œ?©©©èÒ¥3ôz=ÆŽ¥RDTTL&23w ¬Ì¸öÚÑØ·o? ·E}eYÆ‚ãÿûß¿;¦aâÄ ^ûÒ»w/;v pìØqôèѽÖ�Ìììl8Ntì˜Q1hÐ@ìÞ½7ôŒ.\@bb ¨¨�?þ† ¹ééððàS§Ž>¯ýúëå¸ñÆ\ï'L¸ß}—Q뼉'à‡~¬[÷Æ�[+¤Ü»wìv C†\•J…Ûo¿ Ÿþ?Ÿ÷¤M""""¢Öˆ+’ ¶Þ!btI ?‚šÄZ»Öú3`6›¡ÕÖüs¢Ñh`4V ¢ÂˆeËþ#GŽ€ÓéÄž={Ñ©S'��$ ™™Û:¤"55ë×ÿR«}Y–qñb ¸¸+W®ÆC=€ŒŒUµÎíׯ/Ú·o�>}*'ý×é´èܹ3NŸ>]ã¼Í›·bäÈ8~ü8>ð\d¡�’’‚¬¬,€$Iˆ��Ám·ÝŠÔÔö�$RRR�““ëõÚŸþûÛ«ˆŽÖ£K—.ÈÊÊò:ÜÔ©S0`@W8‡áÇcãÆM5Î{÷ÝÊ*·~ø«W¯EE…Ñg¿ëjS¡j]#dYêó!""""jnZço‚ Ôs¢jjYý9”µÙ¤Ö¥µþ — 99 *•v{å°ÒöíÛ»B¥¬¬,×k•ªrØhIII�6.¿|ôú(<òȃ€èèôîÝ ôÇ—_.©q®¯!�QQQˆ‹kƒ7ßü�kßàÁƒÐ¯_ŸZ�Û™3g�ž>#FŒÀÂ…‹Bò9j„ë°yóV ê¹çÍûž{îÏ8yò:vLó{­Ý.aíÚ‘žžŽ~ýúà믗×:'!!ii0pà`×¾»îº7ÞxC­Àmóæ-xî¹?aöìY˜Ÿšq IDAT<¹öª®�¶yáB>Ú¶M©µHErrrs½‡‡DDDDD-‡”QÈ™Ífœ8qcÆŒ† HIIA×®�qøða( ÄÇW.>¢T*1aÂõØ¿ÿWØíDQÄСC R©°f꿈ĨíàÁƒøé§Ÿñå—KƒÔÔT j>·Ñ£GÕZTúôé�S§ÎÔØwâÄ)ôêÕ EíÿþôÓzlݺ&“©Ñ>wJ¥÷Üs®¼r/þŸ«Ï/àÀ�ƒ€””¶µ®“e‚ ¸†ÆV+5j$~üñ§ZçOž<©V°¶aÃFLœx½×O_{í ¼ÿþ~WM­«M‹Å‚ÌÌíxþùg]÷¸ï¾?à·ßø­š#""""j XáFÔL¨:µ�lwBÊ+wWˆ²råjL™r#fÏž“É„%K¾†Ý^9\òÖ[§#&&f³¿ývÛ¶U#Õëõ5jΜ9ƒ‚‚BŸmëtQ¸þúñˆ��ƒÃáÄ™3g\s‰¹ëß¿6mÚRcŸÁ`€ÉdB§N�\UvÕ²²Î"+ëlÈ>_V®ü’d‡ÅbÁ–-Û0}úm®JÀ5kÖbܸ±Ø²åää䡨¨¤ÖõN§K—~�ï¿ÿwÞy/öïÿÝ»wÃîÝ{¼…�:u Þ~ûÝûrrrQRRŠ«¯Š­[3kËÌÜîÚëK m>ñÄÓxõÕ—±cÇX­VìØ± sç>ÔgEDDDDÔ…z¬S í u¼vß§pÛç¹U¯~¯ðØbÕ¦¬ÚD±={öË,)-­×ªâ;Õë:jyì%çê[„?\PgPFDDDDT_Cð ñññÈÎ>} ©jsTm2§Ç&»í‡Û{÷ nÇá¶Oö²Ïóµ/!›l˜n�L›:qC„“ÔuöÒó(ÝölE§8›Z:U§6ÐjÈ2Œ+�ÞS¿‡ˆB+Ü![µÄÄDôîÝ ;vì wWˆˆˆˆˆˆ�[ã‹»æ�£ƒ¾N×ñÃE~ÆS�Ò/j^¢§ö©ªå ¿©J?Üî.µhŠ ¢Æv…vp*ĶzÀæ€ídÊ¿> é‡ôRä¹ùæ©X»ö8�ÎÎ&""""¢ÆÆÀ­‘U‡m9‹ÔuîùÊ6©WÔœTW·É6A€nH3Ž±Ê­);Ä"fZØÏ–Âv¤ªnñÐ^™ Uçx<¿²=BÇyR«ÕÔ«ª‘ Ü"™ê)ö(Ò)“õP¶�†Ø>Êv1P¶×C™ÖÓ/§QýønHxn¤œ2Hy�.!åW@Ê3À‘Ï•ÿBÁ~¼ŸùŽÂÊ•*A@âKc êeZ,ìgjObODDDDDDT��QQõJB›ûAð[e³ÆÕ' +èFv†"Z u¯d¨{%Wžà�QòÑ.n!";eWØrÕp^Ù)Cʯk߈ˆˆˆˆˆ(ò1p#Š æ-g‡m A`=teŸîƒ£ØäZ+%ÿÑ•tˆ»ÿJ¨{'¥î‚ewN¸»ßâhúµ…f`;húµ…˜…ò¯@6ÙÃÝ-""""""Šp ÜšH‡{¾v½.?°†ýKj�½â÷ˆpKzF‘Æœy²äDÜ#C é×úôË`XvðÒ NQ×vq…m%ów²77œ]n±4W´ƒ~|7 ªÊPLŒDp„l¥h""""""j�¸5‘êE´#ºÏäZÇÕɽQô˰dï<:j},»rP ~ÖPè'õ@ùÊc®Ê*EŒÑ“{Jæï€eo^˜{Ûr¾ø †e¡Jkƒ6w„~bw8MvTd w׈ˆˆˆˆˆ(‚)ÂÝ�ÖÆzá7ˆúDD÷› AA…˜þS!êâ`Éû-ÜÝ£R=1¿³ÌÙd‡æŠöÐ\žg¹Î +Àv¦4̽lìNØÏ” ìóýÍåmÃÝ#""""""Šp¬pkb²ÃŽÂu¯ nÈLÄôŸ°æ@ÁºW‡îîQQ¦Ædɉ¤Ç@Õ-`;QÙæ¨Rc`-1‡µŸ-‘B«´"œ¥×>eûÊÌÆžQsÀÀ- ¦bm|3ÜÝ §l £ &FÁa°Bu�ÄKçtˆ…õÐÅ0ö²eÒ n�6÷_ éL)E&(ÛEC™Ö²S†qýépw�ˆˆˆˆˆˆ"·H&;ÃÝ #e‡ª 7£kNÀøÓI@ ¢'ö„ W¹Î¡Ð’r °lφºG"TÛÀi´ÁúÛT¬:Û‰¢pw�ˆˆˆˆˆˆ"·Fæ0@Ô'×k{ɹFé5ÊÄ(T¬:ŽŠ5Ç!í®ý+�ÃøÓièÓ/ƒªgRXûØRÙ³JQº`w¸»ADDDDDDÍ·FV²m>Ú ½ªØT@p� Ù {IJ2?hìîQ+yw;œïóúÉ «ŽCàðF¢&' {hÓ(; yǼpw‡ˆˆˆˆˆ"·Ff½p¿"ÜÝ fÈWØæNà" ±6�k~%"""""òÀÀ�ˆˆERR"Æ�O‡ÑhDFÆ*ÄÅÅaüøqHMM…J¥Â¾}ûðóÏj\“��€ñãÇ!99:�YYYÈÈX«µruX•J‰n¸�:u„ÕjÅêÕk���SëÞO=5‡ IdffbÏž}®ck×þˆC‡׸F§ÓaîÜ9X´è3äçç‡ô³Ø¿7$©rh¸R©ÂªU«ñò˯B’ZFh^ý|Ç¥¹GŸþÏ8tè~øaF�ƒÁPãQqôèôèÑ7 =&""""j\ ܈ˆ(äÒÓÇ¢{÷îÈÍÍuíKNN®]»qîÜy$''áÞ{ïÁ¹sçqòä)×9’$aË–mÈÍÍ…V«Åu×¥côèQX·î'Àĉ`0ðÞ{óѱcn¿ý6¼÷Þ|W çnáÂE¨¨0"113fÜ�¢¢deeFŽQ+p6l(T*u£}&“&Ý„‚‚B¤¥uÀ矊3îÁ'Ÿ|Úh÷kjÕÏçN¡Pà‰'žv…m/¾ø<>ýô3äääúh…ˆˆˆˆ¨epR1""¢À“É„îÝ/½W«ÕèÛ·7²³³Cöø’��ƒŒŒ•èܹS£ß+ÜœN'~ùåRã°aÃÖ>5nDDrùù!˲ßsôz=Š‹K‹'Ÿ|ÉÉ—VÝU(èÔ©#FŒ¸¿ýv�âââÃ0³³s�˜˜XgÔj5¬V›ëý–-Û0jÔ×ûÁƒ¯Äþý¿º†¡6¦ØØŒ77nŒ{-Ö¯_‹íÛ·àã�?Dll `àÀËñÝw˱iÓÏøæ›eˆŠŠ\uÕ`dd|‹mÛ6bùò¥5‚Ñ#‡ãÇWcË–_ðÑGó±rå·®cÞî#Š"¶nÝ€×_û÷ïÆ¸q×ÖèkJJ –-û»vebÿþݘ={VPÏ*Š"Nœ¨¬$üãBß¾½±páGøÏþP©Tøàƒw±mÛ&lܸƒ]á÷¾Õýýè£ùضmc�kˆˆˆˆˆ" 7""jr))m‘’’‚'NÂd2!3sÊÊ.ÍñõÐC÷ãÞ{ï†ÓéD^Þ@t´¾ÖÐQ³Ùì ¢¼Q(¸ì²Ëлw/9rĵ?;;‡;¦AE 4»wïm”g­öÍ7_ã—_ÖáÀ�}X¶ìÿ°~ý/HIIÁ?þñ~ÿû»1|øhdggcöìYˆŽÖãý÷ܹ߯Ocôèq˜9óA˜L&´iÓü!æÌ™‹áÃÇ`Ù²åøè£ù@U 9þ{xè¡Y9r,¾ýö;×gãë>ЩS'lÚ´ƒ ©5§^QQü) r ÒÓ'àá‡@§N½>ßš5رc«kóôÁ pøðQ<ðÀÃx≧‚ `Þ¼71|øh|úégxùåë¼o‡ðÚkÃðácj\CDDDDI8‡[h;ùŸP%tÁ…åÃa*èšÔ;Ãa1 Å£�Þ?Šmßœ1AëóxÅêã(ÿúP½ÚÖ]Õq�Eù·GQñÝ‘® jjµÓ§OCFÆ*WEYfæöç|øáÇP©Tèß¿|ð>¼ûî|˜Ífhµ5ÿ|h4�^ïóÀ÷A’(,,ÄŠßÖš_lóæ­9rŽ?ŽÃ‡�Âf³ym'T¦Oÿ ±bÅר¨¨ìóСWA­Vã­·ÞªB³¼¼ 2d<„3gÎÊÊÊ\ç>|Ø5ÝÒ¥ËðÌ3O"%¥-ˆ¸Ž8pÐuo_÷AÕÐÝ~øÑkŸ%IBll n»íV¤¦¶‡$9�’’‚sçÎ×:×Ûnu±Ùl®þfd¬Âœ9³üÞ7''v»çÏg׺†ˆˆˆˆ(’0p#Š Ößò Ðkª®q“¢`=Z¹¼2�² u´@Ù ¦OŸ†ƒãôéÓ~ϵÛíØ·o?ÆŒ…èèh— 99 *•v{å°ÒöíÛ»OÕ‹&øræÌ¤§�ň#°pá¢>YàÞyç}¼úêËøî» ”—W °°wÝ5£Æ9S¦ÜˆÄĤZתT*”—_ EQ„F£�Íf‡R)Ö8æÎ×}DQôÛ×Ë/€yóþ†çžû3Nž<…ŽÓ‚|ÚÀÙí—Ï@ïë~ Q$á�R¢RöÙ~”Ìß�’ù;`=|`üîˆkŸ9³vU Qs!¦M›ƒÁ€Í›·¸ö‹¢ˆ¡C‡@¥R!%¥­k!QѧOoÈråb f³'NœÄ˜1£!RRRеkg>|ØÏ]ýûé§õغu+L&SHž1¿ü²F£S§Þ„={ö mÛd¤§�(•Jèt:ìÛ·ƒB—.�À54t÷î=1âôéÓ0qâõ8uê4JJJ°gÏ^Œ9Üuì²Ë.sÝÓ×}êÒ§Oo\¼XખKIiÛ g/..F‡©M~_""""¢¦Æ ·0H½c1Ìç¶C¶›¡ët dA€éø�0üº¬Æy • £Ÿ„¶ý@8,¥¨8œ㉟\Ç…Ñýn†®ëH(õI°—åÀðëRXsöF=]—á(Ûû?Túʘ¶h{Ó[pZÊp1ã)8íM÷ &…– Ðߨº«;BLÐÁžW�ŠoÃú[¾ë…V…˜;@3°�rkVÇ)b4ˆ™Öš~)P$há4XaÙ�ƒòåG ÛHúëX¨:Ç¡è�M°/´¹{ ¢Ò/CÑß·Àv¬ ÉŸ›š·+¯¼ýû÷Gii©kþ°ââb¬\¹£F�À™3g Óé0zô($$ÄC¡PàâÅ|õÕ× +W®Æ”)7böìY0™LX²äkWµ[}de�EVÖÙ�=c Þ~û]¼ðÂsøþû•˜1ã~üõ¯/aîÜÇ`±XñÖ[ocëÖL<ýô³øï?Aii)Š‹‹ñè£�ãâÅ<ñÄÓxÿýwçÏgcÖ¬9@ÕBO?ý,ø6› gÎd¹>·òò ¯÷Ù¾}§ß~®Y³ãÆ�Å–-¿ ''EE%>Ï]¹ò;8—¾þóËØ´is�s>úh^~ù%Ü}÷�xðÁ?†ä¾DDDDD‘HC{B¯Ý÷)ÜöynÕÇ«ß+<6€Xµ)«6@lÏžý2KJKëõ€ªøNA_ã9‡[ê‹!(µ�*òá(¿uJ?  þ›+,«>ÇVt c!tiW E¿Ìƒ%{7 nØÐ÷œ{ÉYHå íxADá��5ÿDm´�ú ˆ¸øícˆ> šÔ+P¸þÿÁšw ^ÏO—ØKÎÕyŽ*-¶Þí·™9Q£» xÞfX�Öœ©Í½W jlWHçË`ϯ€öÊT ¡F8–0÷h¶ƒý\Fh/o¨®9Ü­mÿ6öÜr8 Vhz'A¯CÅ÷ÇP¾â0¢'÷DÌ­ýPñýQ”¯¨œó-ù×C¡Uââãkê\�’.±×s(°Åb‚³ñͬ—ê•4[#aس@›Î@ÙYÈ;æ…»;> ÐÏ>û'Ü}÷ŒÎ&""""ª›ÁPô5ñññÈÎ>} ©jsTm2§Ç&»í‡Û{÷ nÇá¶Oö²Ïóµ/!ûE—na"ÛLÈÿn.à”ÓbÝmJ?WàNs) Ö¼ÈNDuƒøá³¡ï5–ìÝõIÐ÷¸ö²l\\ý,àt@ß#qW?‚è¾S`Í?‡¥ e»>CüˆG‘tÝKPÆuBű5 Ûš91A‡¨1]`Ï1 ð•_‡Œ¨Ñ]Ðfæ DOê�âãEP¶‹†f`;8ŠÌ(|µêœk»¢ÍŒ+\íÈ ùO®½ÔnŠm߸šËSP¾â0,;ssk?¨û$+Ž@L‰†2YÓ†,†mÔªErÈÖ¾}{Ân·ãöÛ‡uë~ à*""""" 5Îá&²,ÎÊ¡7¶‚ã…¶f5”Óaäʰ֜µ �e¨ÚTÎ}£ŒëŠÊ€®ªÆtf+@Õ¦£« Óé °äý e\'Håy0ìù¢‰ž�‹2-P°Ì•Á—ygåŠ}ÊÔØª¯•ÕGÖÃ]çȵ'W÷HDÜ#C�ü�ë‘ü×q€(¢Õ©Àû™¨º%@¡UA; ¥ò^»²›èIÃëéöÉØØ§Nì��}ºáéöÉáîQ�&Ož„µk3ðë`³ÙñÅ_…»KDDDDD­+Ü"€,;ëi/O�¥‚íÐEȶÛØîYöæ!oæŠpw#,þ•WÀj6""""""ªV¸Iv´ž*ò-ПY Ù|‹ÔLñg€ˆˆˆˆˆ¨õaà$Ùa w(ús Û¤Fï E6þ µ>R$§Í …ZînP˜9mæÀÎ3KPD©½?¹œfn-�0ìY Mg ì,äóÂÝ"""""Š@¬p ’l7A¶[ÃÝ #Ùn…l÷¾Še­sÍvÈVCn­d«²ÙînP¨µé\ó+‘V¸ÕƒÃ\¥ª]¸»Aaâ0—w~©ÊVE¶FŽÒÖ=]¥Râ†n@§NaµZ±zõdgç’’1~|:ŒF#22Vu­¿cîžzj.Uó-J’™™™Ø³gŸëØÚµ?âСÃ5®Ñét˜;w-ú ùùù!ý<´Z-~ýuÖ­û ³g?îÚ/Š"Ž=€=ú†ô~DDDDD>¬p«ÙaƒTQînPH…�¶ ®‘íHE� A¥–C*2C¶·îêÆ‰'À`0à½÷æcíÚpûí·A£Ñ =},n¹e:ŒFcÐ×ÖuÌÓÂ…‹ðÖ[ï⫯–b̘ÑèÒ¥‹ëØÈ‘#j�?lØP¨Tê�<¿§ñãÇ!#c%F� µºqîADDDDD‘��[=Év$Ã/m%d»µêûØPÒZ×›í�ò�^Ú ÈVGå÷º•%Õh4èÙ³'6oÞY–qîÜyœ={ýúõÅÁƒ‡°`ÁBœµo'NÀ?üX·î'üå//B¥RÂn¯½Šmjj*~÷»;�““‹Ù³gᥗþŒÉ“§Â`0àÕW_Æœ9�â¹çþì÷~)))øÇ?ÞÀ 7Ü„¢¢b¼ôÒ ˜={æÍû:uê„M›¶àÅ_†,Ëøùç X°`!AÀÒ¥_àË/—Ú´iƒ�?þ7ßü;deeáöÛoÃGÍGzú„�>DDDDD- 7"" 9³Ù ­V[cŸF£�ÑXáõ|I’�™¹½Îkƒm÷�îƒ$9PXXˆ+¾EAAÍù77oÞŠ‘#Gàøñã8|ø(l¶†U²ú2uê Ð7Þx ..ÇÇÆ�›j�k·Û‘““ Xµj ¦OŸ†’’ÊÅZV¯^ƒY³©ó~C‡^µZ�·Þz¨ª8ÌË»°X,®ðÏÝÿø.\ÈÇ·ß~çjãðáÃÈÊÊ,]º Ï<ó$RRÚ"?ÿb> """"¢–��…\qq ’““jTqµoßÞÞÔ÷Ú`Û]¸p**|/ÎpæÌ¤§�ň#°pá¢z>­ HKë€�»öÝu׸ñƼnîìöš ÍV³:V©ôþŸñòò â®»fÔØ/Š¢×ó è�ßÿþvÜpÃM®}*• åå5®Õh4µú@DDDDDµq7"" 9³ÙŒ'Nb̘Ñ)))èÚµ3>ìõ|Q1tè¨T*¿×Ûn ~úi=¶nÝ “©q¦˜}ú:vLsÛ³gÚ¶MFzúX *˜Óét^ÛÑétxç�ÿà‰'žªNîÞ½#F\ƒ>}z&N¼§N�vUÛ‘o¬pk0‚ë¥àÿTj~ª&vwÿ_" ÌÊ•«1eÊ�˜={L&–,ùÚëœe ×ë1jÔœ9s…~¯ ¦Ý@de�EVÖÙz__—©S§àí·ß­±/''%%¥¸úê¡Øº5K—~�ï¿ÿ÷Üó‡€ÛµÛ%<ÿü‹X²äÈÏÏÇ�—;(/¯ÀŒ÷ã¯} sç>‹ÅŠ·ÞzÛ·ï¬ÕÎC=€ŽÓðÚk¯ºöÝwßCÈËË–“� IDATÃO<�÷ßpþ|6fÍšSÏO�ˆˆˆˆ¨u uBH{B¯Ý÷)ÜöynÕÇ«ß+<6€Xµ)«6@lÏžý2KJKð�U·ª:©€PõžZrÕJŠN8«Þ_ à¾Qã³XLpFè‚§±±1áîBØÞÚtÊÎBÞ1/ÜÝ!""""j2CyÐ×ÄÇÇ#;ûô5 ¤ªÍQµUþâ]s“ÝöÃí½û·ãpÛ'{ÙçùÚ—�ý²Ï · ¸m•‰žQ!B)¨ T‚ ¨<‹yLó%Týé•�pÈH²’l‡Ãé€,8à T}¼µ> Ùˆˆˆˆˆ¨. Ü‚%!@TP)ÔЊ:hÅ(èDT «*ÝÐ„Ôøäª°M†Ø�V˜fX&XfØ�68d;Â¥á¦DDDDDDDDî¸CPTmQˆVÆ"FÕ1Ê6Ð+c¡Uh! JœË­Ù“eY‚Åi�Q2 \*C¹½ ’‡ ²Ó§à`%#ÕÂÀ-@•sµ) Vh­ŒAuÔIˆS'Á,™�oÉA™½§¹jÞ/jÎA€V¡CU"ÔÉH‹J@©­ŶB”ÙŠQ!•Ãæ´À gÐÃJ£ô A¥À:ÈæN É€UvÂè”a’�\EDDDDDD-·¸Â6Aƒhe,âÕÉHѶ‡RTãTù”Ú‹ÂÝE 1Y–av˜`v˜pÁrqªDtŠî�B”TØeØdkÀ¡›Z�¨¡U0bkI*P D+‹S�"§6ïDDDôÿÙ»óø(êÃÿ㯙½²»¹OnáFEEEA°à�GÕzÔ¶ÖjkO­V­¶µ×·ß^¶ö×~íamkmmmíeÕÖï“KÅ<@�I€ÜÙ${ÎÎüþÈfIÈA€@€¼Ÿ>æÁîŸùÌd²¸o>‡ˆˆ [ ÜÀ0:ÆlËpÈõæS’1€wš_Sk¶a¢9Ñ@Ks#ӳޥ$c$“)$-ljïñ9&Ån—Z³ ¦Á(ÓM­•Tk7‘aÊê êŒTû6¯éíhÝæ)Äãò±®uµÂ¶aÆqÖµ®Æãò‘ç)$Ó��×ôb`îšÁ¶^ÃPØ6Ì@±Û…Wã9Šˆˆˆˆˆ K Üö £u›ŸËO–'‡Í{ï­ívŒßïçÆ¯ç�ü3;wîÔû2{öqÜrË—™8q"~¿Ÿ÷Þ{�/|á:ZZZõ<½)))á©§gÁ‚E„B¡RÖ”)“¹úêOrë­}ÿãÒáÌårñþûï0yòŒ¡®ŠˆˆˆˆÂ¸S³ŽÞëc¦eÏRà6Èü®3sf3!s 9î<ŽÅÎH¯4¾@süМ}¶6Ùw+Ǻ¤}Pë2\•y<|:3‡ã|>®¨ÝAƒ­–§uöÙ‹ …BÜyç]Œ;†�|ä2î¼ó.,ËbÙ²ÔÔÔ�‘‘Á™gžÎ‚óyæ™g\F,ëwÛîî¹ç�´µµSPPÀUW]ACC•••œzê¼�Ûœ9'áñxýž,^|·Ür_ùÊ­¬Yó6^¯—iÓ¦”°  ®®Ž›nº%�}ë[_çÞ{ÿLuuÍ~—ÕéŠ+.ç»ßýÁ ÕYDDDDäp¤I‚€+ó #ýË÷sBþ|ª#[0p˜�9•óG^ŽÛp uõzUßOàÖ¨àç€*r¹¸%'�_sœÏ7ÔÕ9ìø|>¦L™ÂÒ¥Ëp‡­[·±eËfΜA(¢¦¦#à‰F£¼ûîZ²²z~æõWFÛúÓÐÐÀ›o®fòä²ôºp8̤I»Þ{½^f̘FUUÕ Þ�ÇÃw¾óM>ûÙkX½z Žã‹ÅX³æíA=OlÛæ…výcΜ9sÈÌÜ·¿ov/«ÓÿüÏw‰D4£·ˆˆˆˆ o Üdب‰låþÊ»ø÷¶?ðÄö¸¯ò—ÔÆ¶“éɦÀW2ÔÕë¡Àtñ­¼ü>·ßš›G�yh…G‚Ïgåpº?À{ñ;,k¨«sØÉËË£±±«Ë½«ªª¦   ýÞ4MÆ�˼y§ðöÛï���Í—¿|EE…ý–1�òûâõz‰Åâé÷Ë–­`þüyé÷³gÏêÕkÒÝPˤI“hlÜÕ²nw%%%üë_cÕª•¬^ý:×]w-¤º0.]úwÞù ^zé9ž{îIfÏ>®ßcfÍ:†ÿþ÷A^~ùyzè_\.åå­ù®¹æs̘1�{îùwÜñÓý* à„fóè£ÿaÅŠ—xðÁ¦CL—ËÅòå/ò»ßÝÅŠ/ñÒKÏqÜqÇö¸~·ÛÍ�~ô–/‘—^zŽ[oýJzÛÂ…à¹çžä•W–ñûßÿ–ìì,\.+V¼Äïÿ[V¬x™gžy‚sÎYÌ}÷ÝËk¯­àÑGfôèQ{¼·}Õ­¿û!""""²'êRz tÒþ&U�}ç86­Vó®÷©1ØǦ)Þ8¤uÛ�ƒïå0ÁíésŸ nßÍ+àË uÄÔ@rÃØ}m­<nã½xœŸæ1b¨+t˜ÉÌ öèÚ‰D()ÙnîsŸ¦°°�Í›+ؾ}¤Z›­\ù*--¡ôØl½•1�òwgš&¥¥¥L›6•¿ÿýéõUUU$“6cÇŽ¡¦f;Ç7‹{î¹—É“'ï÷}誴t }w_ohhà†nfûöíðâ‹ÏðÈ#�R]]øqc¹úêÏR^¾‘³Î:“ßþö.N9e~ŸÇ466òë_ÿ‚O|âj***ÈÉÉ!ãrí éó›»9÷Üs¹å–¯²~ýÜn÷>—•““Ãïÿ[.ºèÃTVVò‘�\Æï~w§Ÿ¾€Ñ£GóÑ�^Á¶mU|ò“Wò�ï|‹}èÒn׿pá˜4ióæ}RÁ(©àë'?ùçž{> �|ûÛßàºë®åöÛʨQ£øð‡?Fuu ×]w-ßþö79ï¼ …B|ï{ßáúë¿È­·~³ß{ÛWÝú;FDDDDdO¸d�aÚo6þ°Ï×r`� Ld|°Œ±�‰d¹sYÖð qûК|àœ@€‰ý„m�Ê<<ÚÞ~Pê5œlµC]…ÃZ$!##£Û:ŸÏG{{[úýoû{<G5“Ï~öj~õ«ŽñÝV®|e�e ¤ü®>󙫱¬$õõõ<ü𨫫ï¶}éÒåœzê<6lØÀÚµï�Ç{-gìÜYËøñ}ÏhjYÙÙY\vÙ¥Œ5ËJRRRBuu ñxœòò�<ó̳üä'?büøqlÚ´¹×cÊÊÊx÷Ý÷¨¨¨Ðq}� e�tÒ ¬]»6ÝzïŸÿü_ýê—)))¦¾¾�D"Á¶m]t}ôq®¿¾gk±òòr&N,åG?ú�?¾„eËV¤Ëöz½üüç?ƒTëÉ΀6‘H¤°Ç‚‹/þMMM,Yò×^û…=ÞÛ¾êÖß1"""""{¢ÀM†� �É•s1;F–+›Cg‚…þà€÷]”¡ÀM=��Mâñ¸I$:º}Ž9²GwÊD"Á[o­æ´Óæ“™™Ù-Ì鯌�–ß©sÒ„¾TTTpúé ™7o÷ÜóÇA¹»[¿~%%Åœxâ ¬Zõz�íÇs4·ß~·ÞúM6nÜÄØ±cz-Çq,+A,ë󘬬L ÷ª~ûS–Ç㡵uWØér¹ðù|Äã=ƒëD¢÷0³²r óæ}€Å‹Ïⳟý ×]w-ýè´¶¶Q__ÏÇ?~U·ý»¶°ë­Ü®çè½íZÆ@�é�Æp;È~³ñ‡éVl}½–kiýSܽévªº—–xÇæ�Ìqùs‡ºZÝŒw< /@K8‘ƒ-‰P^¾‘ÓN[€a”””0aÂxÖ®]KII1ÅÅE� M¦OŸ†ã@(ÂårqÒI'âñxú-£¿mûêÙgŸcùòå„ÃáA¼»´··sÛm·óÛßÞÉüù§bš&n·›3¦0}ú4jkëxç�w())Në÷ûY¸°£«åܹ' µR]]Óç1o½µšÙ³�£´´£E] èµN���éqÎö§¬×_ƒyóNaúôiœ}öYlÚ´9ÝÚl ²²2 ƒü÷¿�pÓM·pÒI'bš&o¼ñÅÅEœ~úBH�õæ÷û\n×¶/Ç8Žƒa=?‘®ÔÂí S7ÒCCұح᥺'øðØO360‘7— uµÒ.Ú©.Krø{ì±%\pÁ¹îºk ‡Ãüã�HXøý~,˜O~~¦iR[[ÇßÿþÇ! 2þ<***¨««ï³ŒþÊßW••[¨¬Ü2ˆw §¿üå~jkëøÊW¾Ì¯~õs,+Á{ï­ã‹_¼ž'žx’E‹²lÙ TWo§¡aWXeYŸýìÕ|ÿûß¡¶¶ŽÏþZÇéó˜mÛª¸å–¯ñ§?ý�ææfùâoèÑUöw¿»›ï|çÛ\qÅåÜxãÍû\Vmm7Ýt ¿þõ/ÓÇ\{íõ{uo¦N�Ê­·~•¼¼ššZøú׿�mÛ´¶¶qÕUŸæÿ÷ÛÜxã—ˆFcüüç¿à•W^pÙýÝÛ½=ƶmþùÏx䑇¸üò+Ô]WDDDD†cÊ3öðºë:³ËºÝ—Îí�ïÍÝp¥wjqÙS¦Ì\ÙÔÜÌž†‰Çð�íÎeT`<¥ÁÉ,¯f—ØÝÞŽÛ¦ îÀðš^<¦�v«5½nrÖQœQr!›ÛÖóÔŽïUyó Ϥ²½œšðBV3 '�ãtï–:Á3x­Ïž1€svTZ™20?Í/b¦×˵;h°÷~æÊŠÄ¾��†Ù‡ÓÙÙYC]…!gÌù䌇–-8¯Þ~ÀÎãr¹xÿýw˜êb;xn燺rº¥±n¨«pȱmÓÔ¼;C2™TwRr¶m`/é¤Àí °�$¯4¼À+ / uUä0v›ºË¡#‘Hàóù†º"""""r�$öqlêáJ�›Èaâ¯m¡¡®‚HZ,Çãñ¨•›ˆˆˆˆÈ0`Û6±X|{J'}S‘}‡Õ¬\DDDDägÛ6ápx¨«qØQ 7Ù'¶íÐÖÖŽÏçUk7‘#ŒmÛ$ µlÛG ÜDDd¿Äbqý%,"""""Ò…š#ˆˆˆˆˆˆˆˆˆ "n"‡¡"—‹"—k¨«!"""""""½P—ÒƒÀcú86÷$ʲf�åÎ%aGiŒ×ófã ª"ýû™‰_!á$øsÅÏ­>3§±xÄ%¬j\Êë�/è˜ý­Ç¾œs¸º³ ˜2�¨K&y;ãO­!í$~ÓàžÂl>Z»ƒ˜ã ¨Ü‡KFÑbÛ|²nǾ‚�™—áç[¹ùüµ-Äým­C]‘A£n˜iœ3òRNÈ_€ß ²#²•X2ƨŒñ¸4À¸ôã•X”×bQ2 ƒ3ý~œ_ˆÇ0ˆ9PiYl±, ÛDDDDDDDäàQ ·¬Ð7’ÑþR¶G¶ñßê¿àÐ�¸MIÇêêÉ!쎖&B¶MÐ0¸£ ˜±n7s}¼�pCCíPWODDDDDDDú Àí º³ °¹ ËI`Ù‰ô>¦aplî\¦dE¦;‹†x¯7.e[x3.ÃÅ‚¢³™˜9‡µ-o°ªqiúx·éaNÁB&'ã33¨‰lcyÝÓ„¬f¼¦—¹…gQ,LšâuÝê˜áòó© _fg´š‡ªþÀ¼Â39&÷$žÜþíz\×þžS®Ýqx.æ“YÙŒqwüÊ>\2Š˜ãðÑÚíé÷Ë¢"¶Ã<. ·ó—¶P·²2 ƒoäæs¼/ƒæd’ÛÛx"ÒžÞn—3Y” Èåb«eñ×¶«bQrM“Ë3³8Áç§À4i¶m–FÃü¹­5ÝÚ®³.µÉ$gl·’ÜÒXGÀ4ø|f'ùü`À6+�ˆˆˆˆˆˆÈ‘H}°Úh –cQäÁåã¯å”‚ÓÉ÷wÛg^ábæ|Ó0©l/Çcx‰;±ôvŸ™ÁØ` ñZüf€ò0>09½}qÉÅ�};"ÕT¶—3.XÆÙ£.Ã4 ÎqÓ³g¶ÚÙÙFIÆèý¾®¡8çpæî¸­4&“}îs†?À‰>[­Y†Áå™YœèËè¶OŽi2Âífu,J‰ÛÍ—rr9¹Ë>×dåpUf6oÄ¢”¹=|/¯€£¼^¢ŽÃÜ ?Û-‹¥±(.. fñ±`V·ó,ÊðóÑÌ,Zm›ŠT°öÕœ|Î i°“¼—ˆ15U¦ˆˆˆˆˆˆÈ‘F-ܰv«•%5ÿdnáúJ86ïdfåÍaSÛ:–Õ=…Ëp3#ûxšã ükÛ=½v3�%#üsËo±œ$'æÏç„üŒô�eK¸œB_ ã‚“Ø.çÙ�ÿÀeº) N'Ç��cÀøÀ$Ú!þ½í�ØØÌÈ>ŽÓŠÏÝçkŠsW&0Áãåœ@�°&ïsß6Çæsõ;I fñɬlŽñúÒ­Óí$7Ö×b§ûÜ’“ǃ™¼‹Rärqn È+Á—êk±€³ýnÈÉã’`ïÆˆ:WÔîšta¤ËÅŠFp¢ÏÇ}m»ê’4 ¾ÒPÇúDG}G»ÝÌñeP›LrcCGÙçøƒ|)'÷@Ý:‘!£Àí ¨ŽTòïm`l`"“³Žbbæt&eÎÀqlÊÛÞÅ4 ¶…7÷9¦[;ÝuG´RÝ@r=ŒLæšIßìvœÏå'Ã`[¤€¨Ù¯ëŠsGÿ,™~�tàw­ÍÔ$û÷/é@g'Íu© +g·‰9©Ÿ¼�psNc]¥n&ðF,FçY^ŒF¸!'�qî]3¼^.ðg2Õã!×å²LW·ó„m;¶Œsw̺º:M—rlDDDDDDDŽD ܇­áMl ob}h ç�þ8£üã©h/À0Ö»×Þ-¤ˆÚ­—¶„ËYQÿ\·m­‰JS]O]º¨öÅÀPóœÒ·±í¶CMÒby4Â6kà“lôÝñt—ŒT÷_+5‘Gç{—±ë9ðK�Ï6ÚíæÇy…lOZÜjfk2ÁŸ‹Fìñ\®Ô9"hVU9òi ·Ìe¸)òu$:õH²�–x#ã‚e¸ W¯eô§)^‡í8Œð�!š ÓoH/IÇ¢Ùj:ºxºŒŽ|Õkv;˲ã88ä{‹Òu0û©Ë`œSöì-Íü_KÿhkÝ«°­?>ÃÀ“ Ôfû20€­‰Ž²;'18ÉçKïsbjŸŠDǶé/Ã`U,ÊÛñ¡¤=  ¶ÚJ¦Ëó¦ö xEDDDDDD7jáv€� Lä쑦Ýj¥%шÛôRèíàÞmy�úø¶G¶2Ò?ŽKÆ^ͶpÞ"V5.eG´j�å·[­¬ ½ÉÌœÙ\4ú*ÊÛÞ%Ó•�×åãéÓ«e{´Š‘c¸tì§hˆÕ2!8µ[–“¤.¶ƒbßH.s5íÉVÆú'vÛ'b‡ÉvçrRÁx«iå~ŸS†F®irgAå–Å\oÇd †[¨´,ވǘíõñë‚bÊ­8s}Äqø[{Ç>ÛS]ZÏd0ÅãÅ3€óVX Þ‹Ç™éõò‹Âb*¬8§ì6¡ƒˆˆˆˆˆˆÈ‘B-ܰ¦Do7¿FÔŽRèIŽ'�ºh Ïìxˆu¡5<¹ãß¼zŸégfÎl2\Át˰�XZÿ4¯4¼€ƒÃq¹s)ÎMÂŽ§[=µýA*Û×tçP˜1‚çk£ÝjíVÆó;eg´†lO.ÓDzú§ºm_Yÿád;3³�§Ð[4(甃ïñp;­¶Í<Ÿ�¶Å÷›y·ËD ·57°$ÜN†ap’/ƒuñ77ÔQ�ja÷^<ÎßÛZ±‡3ýAê’IVF6>ßZX�Pär1Éíåç-Í4Úéü*""""""rxì>])ÏØÃë®ëÌ.ëv_:·w¾7w[ À•ZÜ©ÅdO™2seSsóž+j˜x Ùî\FÆSœÌòúgp‰2Ì+<“ÊörjÂ[YÍ$œÎncìMð ¤ý—é:»äî­h4Œ2I9œåååQUµù ”rÜJ-ÉÔâÐ1¿_×Å鲞.ï».tÙN—uN/ëvÝ—Ax\-ÜÂè˜ô@dwÎàÇÖ"""""""rXSà&""""""""2ˆ¸ €8Žƒã¨•›ìÒùLè©‘®¸õËéøÏ±qp°±1 õ0 »ÛóÑ[Wo…q¢g@DDDDDdøQàÖ§£“íØXN˶È0ýC]+9d˜~,ÛÂrØŽÝÑú±—dÅRÚ2ìé~¸í�ƒC‹„'æDÈö u•ä�í) æDHØq’X}NªÛmÖR~ô ˆˆˆˆˆˆ ? ÜöÈÆ²“D“‰6 ¼EC]!9x‹'Úˆ&#Xvr·™ˆwi·Õ¼i¸Ó3 """""2ü(p뇓j·”t,bv”¶dˆ€+H®Z¹ k¹ž® mÉ1;JÒ±R#¸õ VÂŽMT�˰µÂjá&"""""2ì(pÛÇq:·d„ÖD MñzÆgNÖä ÔaŒÏœLS¼žÖD ±d¤#pëgÛ;©�ó‡!'õ³‘áG�Û8©ùIãvœ6+DS¢žD2Æô¬cº 3†a0=ëXÉM‰zÚ¬q;ŽƒÝçnqÇ¡ÖRè6œ8@­•$ÞO+""""""G.nà8I;AÔ Óodgt;G瞤î¥ÃD®§€£sO`gt;ÍñF¢V˜¤�è·u[§°cScYê^: Dm‡ËRWR‘aÌ=Ô8t´q³‰;1Ú¬à`c‘ï-¤,k:+Lc¼Ž–DQ;2 Fm†a�aúÉñ�ï-ÂïЯ§1^OK¼‘6«•¸ÃÞCë¶®âŽÃö¤EÀ6 š>ÃÄm€ÚIÞÀr:f#mטm""""""¢ÀmàÒ¡›£Ír°‹X2J›ÕJ–;‡’ŒÑŒ”á2Üêjzè»/jGi·B4„wÒšh¡Í M†‰Ûñ½ Ûº ;6á$€Æ÷9)pÛ؆MÂŽa;6 ;N$ÙNÈÕŒßåÇcú0qaFªÕ’‚·ÃOG„æ86IvŒH2B4&šŒ�°ã$�6”MDDDDDDDz£Àmo9I'N2™$áĉ$ô\† Ã0;b6…1‡/ƒTèf“t’XNËI�´“8$±éxDDDDDDDDz£Àm/tv4:B#‰mÛ$IÃLµlS«¶#…ƒ“�ÏÆîüù§‚¶}éJ*"""""""÷}�[#õÎVÒ#Q:`CÍEDDDDDDd@¸í·.m�ÔÍPDDDDDDDdØ3‡º"""""""""Gn"""""""""ƒH�›ˆˆˆˆˆˆˆˆÈ ÒnƒÀë6ñ¹MÜ.ÓÔÔ G°m°’61Ë&nÙƒVvÐãôØd¸ÀcjÜ¿#AÂ6ˆ&¡=aÒžÐ'€ˆˆˆˆˆÈp§Àm?¸Mƒ Ï�Ç­/ØGp™à2M|“„åг°ì}È|.‡Â › ·B¶#�Çtð˜�åIµ ê£&±¤>DDDDý’¯ IDATDD†+u)ÝG^·INУ°m˜ð¸ r‚¼î}û• zÆd&¶ uУŸµˆˆˆˆˆÈp¥Àm¸Mƒ,¿[]G‡Èò»q›{÷“÷¹F’¬^rhHâs)tŽ¸íƒ OaÛpe¤~þ{£0cðÆ“ÃË‘ü³÷x<\wÝ5¼ðÂ3ìØ±•µk×ðÓŸþ˜ìììnûsÌÑ<úèôµ52jÔÈ~ËüÄ'>ΕW~¼ÇúóÎ;‡o|ãkø|¾në øá¿G àßëú»Ýnn»íûäççïõ±""""""{¢Àm/yݦº‘s·1஥A�£n¤ÃX†Û9b»–^ýµüøÇ?$''›wÞy—1cFó…/|ŽßþöNÆŒÍÝwßŲe/°pái*sÆrÆ��atÿŒ�1c:Lž<©Ûú²² TW×GñÊDDDDDDöŸ·½äÛÇ1¼äÈ2Ðç è9r[8ÉÀ©ÏÀÃ?ÂE}˜ã�ŸÃ™gžËñÇÏ!�qþùç‘™™Éí·ßÆå—”åËWPY¹e@e–—oÄï÷3bDIz]aa!�‡·ÞZÍÔ©Sºí?qâD6lØ0è×&"""""²¿4Ké^r»¸ÉÀŸƒ ׯŠâŽÔg ¢¢‚ŠŠŠôû�7QYYÉ´iSÉÍÍáûß¿�;ïü +W¾Â3Ï,¡´tüËlll¤¡¡� &°}û¦L™Ì† å¬]»ŽK/½Ã0pœŽVƒ'Nà•W^ÀårqÖYgpÌ1Gãv»Y»vK–ÅÅEäääP]]C$`íÚuÌ›w O?ý,ee)/ïèZXXˆa|üãK—cšfzVÓüü< ຺f¿ê&"""""2Pú¶~€ågz¹ì¤Ñø<=z]SGfR˜ååÁU5DâÉ!©£z<¦ÃM³Z¹pBs·æt²-&d[\Ræk+sYZãªjŠpüñÇqï½÷‰D¹òÊOÓÖÖ¶_åÅãq¶lÙBii)ÅÅE¬_¿kR„õë×sÉ%‘——Ç„ ¥,Yò$@:�»ë®ßõz~·Û�iš˜¦I2©ÏY9ð¸`ó&çãó˜TÖ…ynm-mÑ]_ö²ün.<~$™^.9q”B7�TØvǼffÇIØlôóä¶ 6µ¸1 (˲X<>ÊÜ1Zb&™^‡_Îo"‘„Ï¿˜?ÔÕ—aäØcgñÈ#âr¹¸ôÒ�²zõšA)wÆŽqÜFŽÁý÷ÿ=½¾½=Ì–-[Y¸ð4Âá0���477‹Å˜>}*«V½Ñ£¼††ŽýÆ�ÏæÍ›¥Ž""""""ýQàv€�)ðÜÚZŽ—˱ã²Y½¥…å�´F,\UÃ%'ŽRè6ˆŠ²|œ:µ€q~þðâÚbnÓ`ö„\¦�Ê"èsÓ³X[ÝÊëÍû5æÔ`»iV+³‹ãÔF\|yY.›BÝM×5{X×ìáçk²ÒáÜôÜï7y†¬ÎGš\ŸÍÅ#œ6*ʘÌ$±¤ÁÛ îz'“­múؘ4©ŒÇ{˜ÜÜ\6nÜÄW|Œ+®èèÒùØcKøÏÙç²ËËËY´èD"vî¬í¶mݺ÷9ûì³xõÕUéuÉd’—_^ÊYg�Icc3dee‘••IUU5±XŒ7Þx“‹.º€ýëß4661oÞ)ûqõ""""""ýÓ7Ǭs̶¶h’cÇåàqÌŸËŠòŽ‘x’‡VÕpÑ £(Ìòr鉣xèõí´§B"¸Ì 7s'ç3md&†ÑsZƒÓ 9zL6õ­q6îlc\a€¹“ó1 ƒW75I�w×9f[Â6z Ûº2€¯Ï1»8N}Ôäë¯æÔºÉÊr,>3£�õMÞ¨õ23?Ái£bL˵¸ìéâIM›1sæ rss!¾MšT–Þ¶eËÖý ܶoßA,ëÖ�´ÓºuïsÎ9‹Óã·uzñÅ—I$,.¸àÎyç�ÕW^A2™äÍ7ߢ¡¡aŸë("""""ÒŸÁþÖ8�òŒ=¼îºÎì²n÷¥s{ç{s·Å\©Å�Z\@ö”)3W657ïÓfy÷jÿw| ýÅS›˜;9ŸcÇç²zKs:pëðºÒ¡[c[\¡Û>8oÖ&�RÕ!Ëï&ÇïI·p3 ƒkN/%a9üñ¥-$‡¢,—ÏCMS”^«ÞëóÕ·Æ÷¸OYÎÞý o9¶•KÊÂü£<À/ÞÎêwß/ÕÆUSÛ [×¼”φfåçƒÅe@±?Éö° Ó€{52=7Á§ŸÏgí^¶&Ü´�“[D£al5x‘ÃX^^UU›OB@°RK2µ8€½ÛâtYO—÷]ºl§Ë:§—u»¿îË uë9’¿0+ʹëÙÍ=Â6€p<ÉC¯×ÐÐ'?ÓËùÇ�è1X¾ôoåÆFx­šWÕÐÝ-¥p–ƒÏcâ÷¦B”ÔÓ_Ó‚ÚönvqGˆ÷Ô¶Œ~÷;B„«¦¶c;ð¿«r¶ ²¤C:lëd8ë·¶ë^‹ˆˆˆˆˆHÿ¸`áÔxl9þ=·ˆ‰Ä“<¸ª†–H‚’cSã¿ÉÀ4¶Ç©iŠöºÍÞ«á2 >vÊæO-àÂãGRÓåÍÊ–ƒ^×¾Œ t›)¹?8¹—÷¾ä‘J?~·ÃÔ¼¥™ê‚<Øæ�Šñ‘IaJ³,6Œ$q+o‘=Pàv€-ÛÐHC[<= i¡›ßëâ’G‘ã÷°³%ÆÖ†ðA­ë‘Ì4 .<~EÙ>^\WÏ3ïÕÒØçäIy\xüÈ¡®^Zg7ƉÙáÙÍËrÙÜâfbŽÅ� šøÙ¼&n‡'¶dðû÷2(Kí»½]�î`ûÙê,<\̧ŸÏgK«›�O så´ö¡®–ˆˆˆˆˆˆâ¸`±DÇ,¤õ­¡Û¥'Ž"èë9TÀëââFQ�Ù1iÂ#omÇ´¡úd\¡Ÿñ…ÞßÞÊš­-¬­jåï+«hl‹3¾0@N`ïÁ?P^«í˜”ãìq]c›b&_\šÇ¦�›‰Ù…6oÕyùÑ›Ùé‘§ö}½nï&ô��IØk›<ü¿Õ“XÌ)‰ u•DDDDDDä§Àí Ç“<üzGè–ŸéåâFv ÝvŸ¡ôÁ×kÇ�nŽGwjŠ oW+°¤í¤ûn&íC#Ý|x³¸hb„I©N›c&׿œÇºfk›<|õ•\vGÅ'çZ\8!‚íÀ*üC\û#GÐãP˜aw[7>³ãw²1ª�M韦Û;H:C·Î`íâFòÐëÛqGaÛA°­1J[4ÉÄ¢ Ÿœ?Žê¦(ÅY^òƒ^*ëôE�ñÏ6·¸yhS€KÊÂüß¼&¾¼<��-nšb&W?—ßmßɹÿ7¯ �éðÀ¦!ý:–#c|ë„Ö5yØv1.Ë¢,Ç"éÀƒ›4™‰ˆˆˆˆˆˆôo°}ÈpâÆ^÷µn÷¥¯õ]³—ÅWPPü™h´÷Ù,÷$àÛ÷[–H:lÜÙNiQ€‚L/Š‚Ì�MA¦—†¶8®ª!WØ6fŽÎ&Ëïæ­ÊâI›¤í°¹¶� �InÀKI®�DÒáݪ/¯«'¹ ÜÂøYåïÖJj Þ¨órTA‚É9%?Ã&7 ÅMÜ&L˳¸rj˜¯×J–ÇáµZ/?x=ÛÑhþƒÅm:Ü¥ÙI¦çY¬®óò£7rx«~ï»î6Åö­Uœe%Ôµ\DDDDDk~¿ŸP¨é@ p;µ8©….¯»®c·×½9d¿1 ö7ôÁÜÌ.ëz ÜÌ~Â5#(ºR-ùÜ©×ÙS¦Ì\ÙÔܼOX˜µÿãdù½..:a$EY>êZc<üúv…m‡™úÖø÷)ËÙ·–s^—ÃõÇ´qñ„0f¿U¶nð«·3Ó]Låд©eßZF£al},ˆˆˆˆˆÈa,//�ªªÍ§! X©%™Zº†p»‡q�­Xvä:ƒ¶®­\œÝþìïu_-ÀS´!‰'ùç+ÕL(êèšVQ>dÆ“CC}û9Ä\>¥�SGÆX±ÃÇ÷VeÓïèùmà3÷£‰˜ˆˆˆˆˆˆˆ ܆XÀëbΤ|Æø úÜDâI6ìlã•òF¬.ýïnœÕÊŒ¼µaÿou«ë½éc®ð“ëu˜72F(nð· AþSáï³Î~—ÃŽjcþ¨Yn›Õ ^îX“EM»‹ïÍiáÌ1Qî;£�¤§>T²Çょ�ie›Cú¸:Tù|^<¦©aAEDDDD޶m“H$ˆÅâC]•Ã’¾ ±DÒfbq€æH‚�µm&Ì.ÍåĉyÝöó{L²39Ì´¼oÔz)ñÛ|íø FÅú¬ËNnáÒ²0ï6xXºÃÇÉ#büdn3¦/Te°9Õ�ôáÍ~þ¸.s@Ç|÷Ä>X¡!j²ºÞÃѽ‡Ç2tLÓ 33ˆÏçSØ&""""r„1MŸÏGffÓì™-HÿÔddˆ%’xqKú}NÀÃUóÇQZ`寯ôúö˜Å?_­Æq¦�Ê⬣‹9f\6›ëÚ)ÌöQZ ¢.Ì“oï„T‹·I%ArƒÛº‡0¹†�­ ÞÙ곜|c2;BÏP¬ïð¢$�äC"l¹ùÔsX\Páë³C||J8ÝZ  -nð‘§ I:ðÙm\=½�Ç+ýüøÍlþ~V¥Yã³’”7w|4DM®z¶£Ü3ÆDùþœ.) ór�¯G]&çXÌcùÿóZ>�‰26Óâ…j ÇD™˜cñðæ@z ·=ç8óFÆØvqõóuùЄ_;>Ô£2t�€‚6‘#œišÚÚÚ‡º*‡n‡€Q¹>f�Ë¥$×GÀëÆ2<Ý¿Ä&mÇéh…T¾£�3�.&?جä=L( pÃâ²nÇe¸{¦ÐÛ›#4´%Wèç“ ÆÑØgÕ¦&ÞßÞv¯R¢6ÒÑ�rt°ïÖ†eÙ¦¯îôb¥¦=S•Á×g‡˜�Ý}R ƒdjŸµ�ÏI×™BßkôPše‘ãµÓëâ¶‘.÷¥0>³÷ú”fuœoÞˆ+/ÙÙm[¶·ïñæöt\ž¯ã|«jw]cK?-þäàóù¼ ÛDDDDD†‰ŽÖn^u/Ý Ü†X^ÐÃE'Ž&IðÜ»u4´Ç¹zÁø~�q»:¾ä&S\gWЊº0K××wÛ7é9«e<épÿŠmL( PVdòˆLSB$a³¥><ˆW'{kK« Û�ɹ ʲ-6õ2nY†»ãçîê’¥f¸ bõÝÌ×rznKîa†@ê\1»÷r;C°å;|ürMf·mÛî>ËÝÓqóS]XÛû¹Z�g¨« """""‘ÇãQà¶Ô½‘õMnŒŽ‘° þô~æÎпl�ÍŸNoàÝ§ŽŒá÷o¤·7ÅLF“|~fYäáÍ.) s÷ÂFžÜâ§$�$èqøö«c³mlñQnšÕʲí>þ°6H]Äì÷¸�-nÖ4x˜U�àO‹Ùr§[½‰J×ÍÃ56—ä¶fÂw.êꈈˆˆˆÈ!BñäA4±(Ȥ’]K^ÐKMS”×65a;0stmQ‹Mµ="|g[ ѸMYq�P8Ác«wRÓ´+ {q]+Êpp8aB.#r2H$�tc¹eÇ’56‡¼L�m ÊJ29¾4—DÒæùµõT5FâÝ�¾„-ƒÏ¼�Ï]ïf²®É͸L‹éùÕí.ÞN�ÃöÍWsùO…¿Ëaîˆ8ï6xøÌ ùlmë»ç@…&Õí.ŒŽQvñ•幬mÚÕ}ðÎw²hˆš|hb„É9w¬Éâ7ïf’´ >1­�™ù " #ýìý{³Ÿ'¶dPâOrÞø¥ÙMÞötÜ7^ÉååÅ�$Sr-n{=›ú¨>²äÐâ›ÛíOèµóâ/ÏØÃë®ëÌ.ëv_:·w¾7w[ À•ZÜ©ÅdO™2seSsó>]`a–w{ÉpPߺç¾ëe9=ÇÐ;”=a-Íq“‹Ÿ(êªQ6µì[câh4ŒÝ÷üC*;;k�ûx//�U«VpÁ³víº—YZ:žûî»— uÛÿ‰'åÆoæ§?ý ÅÅE¸Ý.ŠŠŠØ¾}Ï<ó,ßúÖwöêºDDDDäà…Z÷ú˜¼¼<ªª6Ÿ„€$`¥–djq{·Å鲞.ï».tÙN—uN/ëvÝ—�ì3 êR*""ÄÙg/& qç�w1vì>ò‘˸óλ0M“}è|î½÷>B¡§Ÿ¾�óÎ;§GÖÕÂ… q¹º·àôz½ÜqÇ/H&÷œJNš4™÷Þ[Ë”)Sp»ÝXV÷0üÔSçõÜæÌ9 �çÀü#Ë9çœO]]=>Ÿ�+¯¼‚%KeáÂ3illì󘺺:nºéB¡P�{1Pgœ±ˆG}Œ3Ï<¯×Û#ä¼þúk{nŸþô§ðûýû\f_Î?ÿCŒ3šüsæÌÛ§k9©–ˆˆ :ŸÏÇ”)SXºtŽã°uë6¶lÙÂÌ™3;v 55ÛiiiÁq^|ñe&Mš„Ï×ûÄ-cÆŒ&??�õë7t[ïr™ ÛŽ>z&o¾ùUUÕLœ8¡Çöp8̤Ieé÷^¯—3¦QUUµ××¾7b±¿ÿýxòɧøâ¯éw_Û¶yá…÷ë|úÐ…ÜÿßyóÍ79í´ù=¶755±hÑÒïƒÁ ç�wo¾¹zŸËޏ‰ˆÈ ËËË£±±±[K²ªªj p¹Üx½»ZŽ%“I"‘¹¹¹dggóå/ß@QQG·f·ÛÍÙg/fÉ’'»•oš&�—O}ê*>ùÉ+Y°`>Oï�¶}>………TW×°nÝ:¦M›ÖcŸeËV0þ®V³gÏêÕkèí¯'žxŠY³Ž�T×Ñýëo¬Zµ’Õ«_çºë®ÀårQ^¾¶Ç±÷Üó;.¹ä¢ôûo|ãk|êSWõØ/++“É“'ñÖ[«yì±%œ{î9=öùå/Íõ×1ýþŸ¸œø7±Xï“– ¤L‘áH�Û^´Î¼rX;RŸƒEÿ-Öøm2(23ƒ=BšH$B `Û¶­Œ5ŠÒÒñƒA.< ·ÛE  ³rå«´´„øÀðÖ[« …Bt�ÀÙqî¾û÷üõ¯ã‘GcìØ1œ}öâ^ë2mÚTÖ¯_Àúõ˜ò‘˸﾿öyî�”)""""2éÿŠ÷’mƒK1å°gÛØ HØóH�çd ö`ÏMsxˆD"dddt[çóùhoo£­­�ýëßœzê÷¹Ïðè£='.˜9s#GŽdúôéøýŒ?žÍ›7wÛoéÒåœzê<6lØÀÚµïx,²ÁPRRBee%Ð1‘Bvv—]v)£F�IJ’”””ô9©ÂóÏ?Ïm·}�ÌÌ ¥¥¥TVVö:Ü…^ÀÑG•çrss™;w./½ôr·ý~õ«ŽVnO=õ4K–ñ‰�süñÇñ—¿ü5]çÚÚ:Þyç]JJŠ{ç8†a¤»Ævv+�?ÿTž~úÙûŸwÞ9=‚µ_|‰³Ï>«×Oðƒñë_ÿ¦ßYS÷Tf4eåÊWøú׿–>ÇÕW’·ß~§ßVs"""""GµpÛKqË&a9xÜó›˜@Ârˆ8Dï‚j IDATp3ˆZnuŸŽ¢–A{bø~V<öØ.¸àƒ\wݵ„Ãaþñ�H$:ºK^zéÅdee‰DxûíwX±¢£i0dþüyTTTPWWßgÙ~€³Î:ƒ¼¼\’I›ŠŠŠôXb]uÔL^~yY·u¡Pˆp8̸qãÒ­ì:UVn¡²rˠ݃¾<öر¬Ñh”eËVpñÅ—¥[>ñÄ“,Z´�eË^ ºz; M=Ž·m›þóyä!.¿üJV¯^äIe¼þú½v…½ð øÅ/~Õm]uu MMÍœ|òI,_¾²Û¶•+_IwííË@ʼé¦[øÞ÷¾Ã«¯.#‹ñê««¸ñÆ[öê^‰ˆˆˆˆŽû›à@Ê3öðºëºÿÏÞ}‡WY¤}ÿž’„Jz B ½‡®AÅ]A@°­îê‹bY ˆ�ލ»€¬RB ½�ÐkB¨ %@ ¤'§¼ $��‚òû\×\žgfž™û9½r;óŒ1KÝ�åZûµkã Ř2‹9³˜€þþõCââãïø!ÍF%=]œþåɽÏ\NÊÀbË{ÍÍd§²×}º¯ð>•h"Ízçÿ¦HMMÆv�þÑ)Q¢xQ‡pOðÞS•RX#ãIþvK‘Æ2{öL&OžzÛD™ˆˆˆˆÈ�ºr%!ß÷x{{u¼%p°–ÌbÍ,vÀvC±g©'ËuÖB–v²ÔÙs¨»ñsnœ¶ZF+Üî€Åf'!ÅBqw³’n÷;��bÉW² Íjà|²‰ò÷hæD Åùä‚%ÛäÏ¡¨“l×øøøP‡íÛÿ(êPDDDDDDïp»sé—“2Ȱh«àý ÃbçrRFž·’Þ()Ã@T¢‰T‹0u©–«?ëûy+©Ü}�=Ö‡ààØòz„²ˆˆˆˆˆ*­p+‹ÍÎå” \ÍFÜÌFÌ&#F£ó÷éÊÝgl¶«§‘¦YlwœhË*ÍjàL’ O;ž.6Š™ÀŨ„í_A†Í@ªõê J´IQ¸Û§ªŠˆˆˆˆÈ­)áæéNJÈÈý!)Ã@RÆÍ§ŠˆˆˆˆˆˆÈ_ƒ¶”Šˆˆˆˆˆˆˆˆ8‘n"""""""""N¤„›ˆˆˆˆˆˆˆˆˆ)á&""""""""âDJ¸‰ˆˆˆˆˆˆˆˆ8‘n"""""""""N¤„›ˆˆˆˆˆˆˆˆˆ)á&""""""""âDJ¸‰ˆˆˆˆˆˆˆˆ8‘¹¨ù314 JVƒË§°oÿ¬¨Ã‘{�V¸‰ˆˆäGÉjÙÿ)"""""r­p‘BQ¦Œ�;’””DPÐRJ•*EçÎ�¨X±"...ìÞ½›µk×g»§téÒtî܉²eËâîîÎÉ“' ZJZZ..fzöìIÕªUHKKcÙ²åDE�¹iî1cFaµZ°X¬„„„°sçnG[pðJ<”íwwwF�ÁÌ™³‰ŽŽvêw±gO(Kf³ K—.ãý÷Ça±Xœ:OQ¹ö|V«ÍQ÷Î;ïrðàaV¬XJ»v�¸råJ¶{L&GŽì§vízE±ˆˆˆˆHáRÂMDDœ.0°#µjÕâìÙ³Žº²e˰cG(§OGR¶lž}öNŸŽ$"☣�Åbaóæ­œ={–bÅŠÑ¥K íÚµeÕªÕtïÞ�+W®ðí·ßS¥JeÀ·ß~ïHÈe5}úL“ðññaÈ�ÁÄÄÄqòäIÚ´i}S­yóf¸¸¸ÚwÒ£G/.^¼DåÊ•øé§Y ò 3fÌ*´ùî¶kÏ—•Ñhdô豎dÛ{ï½Ã¬Y³9sæl.£ˆˆˆˆˆü5hK©ˆˆ8Ý�™:u:ÇuG�FpêÔiìv;.\$,,ŒråÊf»ïÊ•+Ž$]jj*¢xq/ÜÜÜð÷÷gÓ¦ÍØívNŸŽäÔ©SÔ¯ëR111ìÚµ‡Úµk:ê’““©Uëúµ««+õêå´ï 7QQg ZBµjU }®¢f³ÙX·îú*ÆæÍ›ãååU¤1‰ˆˆˆˆÜ J¸‰ˆˆÓEG_Àn·ß²�§§'±±q”(Q‚×_IÙ²emF£‘ªU«ÐºuKöíÛ€··7±±±Ù¶aFE�ÁÇÇç¶ñ¸ºº’––î¸Þ¼y+mÛ¶v\?øàìÙ³×± µ0•(QœN�:²aÃF:vìÀš5ÁlÛ¶™iÓ&S¢Dq7nÄ¢E¿±qãZ~ÿýW<<<xè¡ ZÈÖ­øí·yÙ‡mÚ´båÊelÞ¼Ž)S¾gÉ’…޶œæ1™LlÙ²žñãDZgO(�:uÈ«¯¯/¿þú_vìaÏžP†–¯g5™L=zu%á+¯ ¥^½¦OŸÂ„ _àââÂ?|ÃÖ­Ù°a M›6¹å¼×â�2å{¶nÝ�í‘{‰n""r×ùú–Ã××—£G#HNN&$d;—/_Ç×СÏó쳃±Ùlœ;w//Ï›¶Ž¦¤¤8Q91�øùùP‡Ã‡;꣢¢°ZmT©R“ÉDÓ¦� ÝU(ÏzÍï¿ÏgݺUìß¿›_ýkÖ¬Ã××—ÿûž|r0­Zµ#**ŠáÇáååÉwß}ͨQci×®ûÛ‹$''S²dI¦M›Ìˆ£hÕª=¿þúS¦|™ Éï¿ÿ–¡C‡Ñ¦MG.\äønr› jÕªlܸ™¦M¾é�z111Œ9†‡nI``7^zéªV­’ãó-_Äöí[åF?ü0•C‡Žð /1zôX Ÿ}ö%­ZµcÖ¬Ù¼ÿþ{·�·R¥J|ôÑÇ´jÕ>Û="""""÷½ÃMDDî*WWWúõëKPÐRÇŠ²��mÙúLž< 4¨Ï‹/þ�o¾ùž””Š+–­Ÿ››II‰9Îó Çb±réÒ%,XxÓûÅ6mÚB›6­ çС#¤§§ç8޳ôë÷/^bÁ‚ù$&^�¹Y³‡puueâÄ/!3ivîÜy~øa8ȉ'¸|ù²£ÿ¡C‡7ïWÞ|óu|}ËѸqcöïßïhÛ¿ÿ€cîÜæ!sëîŠ+sŒÙb±P¢Dq èOÅŠ°X¬øúúrútäM}sz‡Ûí¤§§;â ZʈÃn9ï™3gÉÈÈ 22ê¦{DDDDDî%J¸ýEUªX€3gõbj¹w�FúõëË�‡8~üø-ûfdd°{÷Ú·o‹——±±q”-[3W·•V¨PÁ‘°¹ÑµCrsâÄ ;Òºuk¦OŸYÀ'Ë»I“¾cܸ÷Y´(ˆ„„D.]ºÄÓOÉÖ§wïGññ)sÓ½...$$\O0šL&ÜÜÜHOÏÀl6ekË*·yL&Ó-cmÔ¨!Ÿ}ö1o¿ý.ǨR¥r>Ÿ6ï22®'<ó:oÖ{DDDDDî%ÚRZ@k׬àBtTŽ¥¨xyy²‘-[Öãî»;%JÇhÔ�\DІÁ` oßÞ\¹r…M›6;êM&Íš=Œ‹‹ ¾¾å)˜L&êÖ Àn¿z˜BJJ G�Fо}; ¾¾¾Ô¨Q�C‡ÝbÖ[[½z [¶l!99Ù)ϘëÖ­'))‰>}z±sçNÊ•+K``GÌf3îîîìÞ½‡lJõêÕ[CCCwÒºuKêÖ  {÷®;vœ¸¸8vîÜE›6­m~~~Ž9s›çvêÖ àÂ…‹ŽÕr¾¾å ôì±±±TªTñ®Ï+""""r·i…›“¬^½–”””¢2ßitøHv›Íñ¾£‰¿à±¾}èØ©+Þù/§""wê�šÐ Aâããï‹��eÉ’e´mÛš'NàîîN»vm)]Ú£ÑÈ… ™3g®ã†%K–Ñ»÷£ >ŒäädæÎ�ïXív'Nž<ÅÉ“§œöŒyõõ×ßð�¼ÍâÅK2äy>øàŸŒõ©©iLœø5[¶„0vì[üøã âãã‰��åÕWGráÂEF�ËwßM 22ŠaÃF@æAcǾÍÔ©?�žžÎ‰'ß[BBbŽólÛöÇ-ã\¾<˜N�:²yó:Μ9GLL\®}—,Y„Õzýgñî»ï³qã¦l}¦L™Êûïÿ“ÁƒŸâÅ_qʼ"""""÷"CŒg¸Íç¬uÆ,u7–kí×®�7`Ê,æÌbJøû׉‹�/à£^µvÍ 4¨Oã&9Þ‡s/š2å;%ÜDþdRS“±þ¡™wäÚIš÷#Có· d5¸| ûöÏŠ:œ\5lØ€·ÞzƒÁƒ‡ä¡·ˆˆˆˆÈí]¹’�ï{¼½½‰Š:Þ¸XKf±f;`»¡Ø³Ô“å:k!K;Yêì9ÔÝø97yé“'Ú_Xˆ|||øìÓñlß¶™Ó§"صs|ðOÜÜÜXµr¢£hÑ¢¹ãžO?ùˆ ÑQtèГÉÄèQ¯±yó:NcÅŠ¥tîÜ)Û'އñͤ ¼ùæöíÝIÐâßõGïƒ,É6€ukWröÌõ÷yxx0þ£qì áhø!~þyU«Vu´÷èÑ�U+—qòD8ûöîä·ÿÍÅÛÛ»�¿9‘{—}ûgØW»'“m*TÀÅÅ€�Ÿ`ÕªÕE’ˆˆˆˆÈ}I[J�ä³Ï>ζ¥tÙ²`V¯^K÷îÝ cçÎ]´nÝŠa¯¼Djj*Ÿ~ú9 ,¢qãFtèÐŽmÛ¶؉˜˜6mÚÌ'ÈsÏ=Ë¡C‡Y·nÝ»wå¿ÿù‰Þ}wôèß¿ƒ�£G#8|øÈM±-¥n@u˜=ûgΟ�v´MŸ6™N�:°pÑb,{¬/?ÿT…N�ݨ\¹3¦OæÒ¥fÍš�›[1Ê•+K\œ¶öˆˆÜ‹y¤ƒ Àb±²eKÿùÏœ¢IDDDD侤„›“tïÖ5Ûõ‰'Y´(ˆÆMrÔÕ¨Q�m!›ìÔ‘O?ýœ…‹óþûïÑ¡C{>ýôsjÖô£ZµªÌœù#å}}yöÙÁ„……Ó¥k22, ~z_}õ9¯¾úr¶„›Õf£wï~ìÚµ;ÇØ–,YF¯^�P‡gÿìØRZ¿~=:wîĪUkxùåá�y¸B¯^�àçWƒJ•*a6› cÖ�?súôéBúöDDĦOŸyWO\‘œ)áæ$¹½Ãíá‡â…þƃ4ÅÇǃÁ@éÒW·dž={ŽmÛþ yó‡ñ.UŠÀNWO�û}Á"êÖ Àh4²vÝzÇ Á,\ÌW_}Nÿls$&$äšl»ÿÚµèÒ%ð¦SUK•*EhèNÂÂÂiß¾¡;¶ÎÄ “øí÷…ùžKDDDDDDDä~¡w¸¢š5ýøý·yÔ«W—Q£ÆÒ¬yÒÓÓ³õù}ÁBŒF#mÚ¶&0°QgΰcG(˜M×s¢îîîØív’““�_læÖÐU«ÖЪuûleïÞ}$&&Ò¾CgžòŠ+ÆÞ½;Yµj5Ç�tÔ›L&ŽÙOíÚõœ:Ÿˆˆˆˆˆ­p‘Bѽ{7®\¹Â·ß~Opð €››��yüñ~$%%åûÞÛµÝhúô™Lœø sæÌ£}ûvT¯^ÝÑÖ¦Më›ú7oÞ W§<ÿ�:wîDPÐÚ¶mƒ«káÌ!"""""÷%ÜDDÄéÜÜÜð÷÷gÓ¦ÍØívNŸŽäÔ©SÔ¯_�2uêt""ŽçûÞ[µÝJLL »ví¡v횎ºäädjÕº~íêêJ½zDEE9ñ›¸®oß>üç?sصkíÛ·-”9DDDDDäÞ „›ˆˆ8�··7±±±X,G]TÔ|||ˆŽ¾€ÝnÏÖ¿D‰¼þúHÊ–-sË{oÕv;®®®¤¥¥;®7oÞJÛ¶×W¹=øàìÙ³×± Õ™Š÷¢víZìÞ½‡%K–ѳg�û™L&¶nÝÀ´i“Ùºu#«V-§G�nüôÓ,þøc+AA ¨T©"åË—gãÆµŽ{Û´iÍÌ™S×;v`Íš`¶mÛÌ´i“)Q¢8&“‰-[Ö3~ü8öì ¥S§ ú«V-gÕªålß¾…#G8Æxè¡ ZÈÖ­øí·yÙ”"""""’;%ÜDDÄé¼¼|U«VeãÆÍ4mú0k×®gêÔétéÒƒ®]{rêÔ)Þ~û]J–,É´i“1b­Zµç×_cÊ”ï�ú½ˆˆˆˆˆüUéÐqº””Š+–­ÎÍÍ�¤¤Äû[,BB¶ÝöÞüŽû Çb±réÒ%,XÈÅ‹—²µoÚ´…6mZΡCGHOOÏqœ‚êÓ§7 6àÑG{PªT)Zµjņ oꛑ‘Á™3gXºt9ýúõ%..€eË–3lØË·�¯Y³‡puueâÄ/!sÅá¹sçHMMu$ÿ²zå•¡œ?ÍÂ…‹c:tˆ“'O0oÞ¯¼ùæëøú–#:úB¾ ‘¿>%ÜDDÄébcã([¶ ..f22®nÿ¬P¡‚#ys§÷æwÜéÓg’˜˜ûá 'Nœ 0°#­[·fúô™wø´·Vºti*W®DãÆ:êž~z�>Ú3Ç„[VÙ€ééÙ®Íæœÿ3ž��È¥K—xúé!ÙêM&SŽý6lÀ“O¤gÏ^Ž:³ÝëæævS """""r3m)§KIIáèÑÚ·o‡Á`À××—5ªqèСû›L&š5{—[Þ›ßqóbõê5lÙ²…äääŒGíÉܹó«ÒnäééIÛ¶­)UªämïÍϸyqòä)vîÜ}Ç÷ßNŸ>½Y½zm¶º3gÎO‹ͰÙlÌ›7ŸÅ‹§dÉy7#ÃÂ;ï¼Çܹ¿°rå2zèú º„„D† yž‘#G´€9s~á�šä8ÎС/P¥Je>úhË—±|y*TàÂ…‹Œ=–ï¾›ÄÚµ+0à † Q€oBDDDDäþa(‚ñ ·ùœµÎ˜¥îÆr­ýÚµñ†bL™ÅœYL@ ÿú!qññ|T‘•ššŒÍùf:E‰Å‹:„"chþ”¬—OaßþYQ‡#""""r×\¹’pËv£ñúº.›Í™ïŽŠ:Þ¸XKf±f;`»¡Ø³Ô“å:k!K;Yêì9ÔÝø97yé“'z‡Û]f4‚‡›�ħý EDä.R’MDDDDDnG[Jï‚fõL¼ñ¤‰Võ�¬ÿÆ“ˆ_½øÇ`—¢KDDDDDDDD �V¸Ýo=íJý IŒè…Ùåj޳~e�ò&"^6›-Ûrqùk»¶ETòF¿-ÝÜÜ]1»\=�.5%o÷ª–½³?¬S¦|džõ«1r~e^Æ ¸E«V-ò<æÊËxú©AŽk77·›N´Û´q-¯½öê�™ßûEäÞ•‘¡ÿi """"r?Ñïù£nwÁ¦]F2’ËQÖÇBÍJ—‰‹ŽÃÓ <‹Ýù˜uëÐ¥s +W­¾©mäkà 00zôkÔ¨Q�—^ºž [¼‚}ûÜñ˜½_än«R¥ �ô쎧§'III,]LdddQ‡uOHKKÇÅÅE«ÜDDDDDî6›�´´ô¢ãOE ·BT»Š‘V LÔ©ìÅùK.¬Û^œŠ>v,†f¬tálì�{ñâEFŽ~SÂÍϯ-[6çòå+Nx‚ì>þ¸`/ /èý"w“Á``à€þÌ�û+QgÎиq#ú?þ&N*êÐîÉÉÉxxx(é&""""òf³ÙHNN.ê0þtô[R!hÓÐÄÒÏ=Øü½'Ÿ¿ZŒ>“ôh,Œ8G½ºv&,v+P² à×_ÿGÍš~´hÑ<[ýˆØ1ãGÒÒÒ²ÕØ¿›¶mÛ8®7nDäéc9Ž=|ø0F�z�¾}zsöÌI>ût<ä°EtåŠe¼øâßYºd!Ç�!8x M›4Î5æïxiè lÞ¼Ž°°üç—ÙT©RWÆ�{ŸíÛ6súT![7òÄ�çó)“É„ÙÅÌ¥˜ÂÃ�b·ëtá¬l6;‰‰I¤¥¥é}"""""1WWµ¥‘˜˜„ͦ߅òK+ÜœÈ`€<ãÆkO¸b0€ÕjàÔYWvô q@2µ«§Ñþ¡4>zÑ�Q_§h®ää¦L™ÎÈ׆³mÛv*T(OÏž=hÞ¼5ÿûsw<ö·ß~�——çM[Js2èÉ�¼õö»DEEñꫯ0þ\|(o+ì†Æãýúòê«#¹pá-[´ &&†ôŒ Nœ8É�çž'%%…¾}{3éë¯Ø½{9' EœÍb±pøðúõë˺uëiÕ²7n*ê°îIiiéZ^."""""’…V¸9ј'Ý9àj²Ífƒo~*Çœ%¥Ù¼Ó‹ùËKsþ¢ =Ì L‰‚Ï7sÖ�<üðCÔ¯_€W^y‰9sæ¹àƒçÑŒ?²cG(çÎ�ç_ÿú?bbbèÛ·Ïmï3›ÍŒ9‚±o¼ÍÞ½û8wî<¿/XèX¦:kÖlŽ ãÔ©Ó|ýõ·DFFÑ´i“»ðD"×­ZµßråxöÙÁxyyqèð‘¢IDDDDDDþ”ps’€jFFtu\ÇÄ›‰8íÆ£ãéØ<�ÊåÓY¸ªnn&V·xÎË—¯0kÖl^{íU¼½½8ð &OžZàqï”ÍfcÇŽPjÖô»mߪU«àååÉÞ½ûrl÷ññáÅÿδ©?ðÛoó([¶ 7œš*R˜Ìf3C_|žùóãË/'rìØq^yy(ÅŠà´¹/hK©“ {Ì—,ßfo ~©Ìþ½ =Û_¦yã$âL¸{ºñ|#!GRI-à.¬)S§³ã�-X-V–.]Îùóѹö5 öÞ¸¼°Z­¤¤¤Ü¶_ÉW—øsˆÉÓÓ“àåA-á‹/'pæÌYæÎù¹PâÉMÍš~\¸x‘¨3gؼe+~~5ðó«Á¡C‡‹:<¹‡i…›�ЭEöÜåîC¼0àU*¤³lCIu'Àïú{Ûº6wá‹á_)séÒ%þûßyôë×—ï¾û!×~ÉÉÉøû×Êר.f—Ûö)^Ü+ÛuÓ¦M;~ÛûNž:�Ñh¤q‡,4iÜoooÆ}ø1aaá$&&êeõr×%&$R©bE*U¬@É’%¨P±±±±EšˆˆˆˆˆˆÜã”ps‚R^Jz^_©•žaàç…>œ:늧»�Þ�ñ¬ÝVœsFOtt¡NÕ‚ÿ¾ørýÀ±cÇsíóÇ;xú©AT®\™Ê•*ñÌ3Ogk���¥jµ*ŽUpgÏœ¥eËæT®\�\Ç;öuºwëŠ��oŒ}//O–,Yšã˜YÅÅűlY0Ÿ~òµjÕÄË�㉠IDATË‹n]»àééIô… ”(Qœçž{ï××ñž:‘»åÌÙ³¬Y»ŽÇû?ÆØ1£yæ™Á¬X±ò–«HEDDDDDDЖRçHJ±c±€kæ‚0W;]Z_aÆü2¸»Ù¸k¦jÅtnÌ; Ф¶‰°Ó¶ÍÇÖ­ÛnÙçÿÆ�çë‰_²yÓZΟ�æ¿sæf;Upò”i|ñù'ÔñgÈs/ðëüßèܹ›6®aËÖÎùÔÓ�7ñ¯½‹¯o9BCwѧï¤gdä8æ�F�Ãø�Æ´øw\\\9pà &"âã>ü˜·ÞÃ?Þy‹�7±~ýÆ}G"wb×®ÝìÚµ»¨Ã‘?g¿Ô+/ãnó9k�1KÝ�åZûµkã Ř2‹9³˜€þþõCââã ø¨ÙMÛ�Þm²ç/÷ò`Ã/šÔM¡E“DÜ\oÞÙëÍd¶²:5–»eåŠeÌžý3ÿùEä/)55ÛŸó_"""""r2¯ïâ³Ù®..òöö&*êxKà `,™ÅšYì€í†bÏRO–묅,íd©³çPwãçÜ8í}VZáæ$ïMM% ºþ•¯ÿá ¨™JÕŠé”.uó‰¤v;LÊà�?i²MDDDDDDDDr¦„›“œ�µÓuT2ƒ»šéÚÌL½êFJzAéRW“­v;¤[ 2ÚÆ¶ƒVæ®Q²MDDDDDDDä¯H 7'JNµ3uqS_}‡™—»w7F£‹’ì¤ß¼ØMDDDDDDDDþB”p+D‰)vSœ¶ý÷žÓµ[Ï¢ADDDDDDDäžcÌCÉ#%ÜDDDDDDDDDœH 7'RÂMDDDDDDDDĉ”pq"%ÜDDDDDDDDDœH 7'RÂMDDDDDDDDĉ”pq"%ÜDDDDDDDDDœH 7'RÂMDDDDDDDDĉ”pq"%Ü ‰ÉdÄÕlr\ †"�GDDDDDDDDîsQðW`0¨UÎo�b$Xl¼8 3=Z5ÂÝÍ…#'ϱ$8kb )l?Åás1E²ˆˆˆˆˆˆˆˆ%Üœ mí*>®Pæ)lUªTᑞÝñôô$))‰¥Ë‚‰ŒŒ„ÌíâmÚ´¦aÃxzzǼyÿ#!!¡¨Ã‘{˜nNŸœŠ‡« F£‘¤ôtž}çK~úd 6‹…Õ[B™´~/sÞú;ûMF.^I"=ÃZà9ÓÒÓ¹r%�+W˜;÷WJ•,ɨQ# -áöñÇŸe»®YÓ�={ö}¡Pæ¹ ôgîÜ_‰:s†Æ�ÑÿñÇ�;âîîδiÓ±X¬”)S†ÄÄÄ¢[DDDDDDîqÚRê{#£±Ùí4mêO…r¥©ëW«ÍƱ3hZ¿6#Ú5¤bÍêdxy°dïQ'¬o»Ù¶íÛ)]º4žžž7µ¹º¸0nÜûlß¶™Ó§"Ùº‘'žx<[Ÿ•+–1räp‚ƒ—pòD8ëÖ®¤yófÙÚ¯mQýâ‹Ïxå•—8ð Ξ9ɺµ+™6õ&Nø"Û˜#F ã§Ù3 áiEœÃd2av1s)æêA&ááG±g¾_ÑÍÍ�õë³|ù 22,Øív.^¼èhÉ�nNpä| ߯ åøå$|Ëxó΋øòÇßiðØ0Ö_Jãé×^½tižò÷fúˆ¾4ö¯êô|Ëù}�¤¤¤›ÚÒ328qâ$Cž{ž¶í:1wÞ¯Lúú+jÕª™­_ÇxóÍwxèáV„îÜÅŒéSpuq¹i¼±cß⇦0oÞ|*VªNÇN]Y´8ˆ®];c4^ÿ#Õ½[W/^âôgq‹ÅÂáÃGèׯ/*”§g�nlܸ €2>>ÄÄÄP³¦ƒ äé§QµªóÿˆˆˆˆÈ_�nN’aµñåÏK9yîÉ)©œ<MÓ?ÂO�!ÍjçÒáC$ž?G‰ §ùüÙ.¸¹˜éðP=š5¨™‡Ñsg6›iذï¾û6ß?9×~³fÍæÈ‘0N�:Í×_KddM›6ÉÖgþüߨ·o?—.]bÒ¤ï(W®,5üjä)ŽÕ«×âááá³L™24lØ€+WèùD ÛªUkð-WŽgŸŒ——‡ÀËË‹2eÊP±b/^¶íÛyê©�xxÜ|0ŠˆˆˆˆˆˆHVz‡›]NLáxäªù–f›/b41 ˜L&Ò³lõ¬\Ê“]ÿýˆ„äT:¿üéÍõÒÐxiè ØívNŸŽdò”iÌš5;×þ>>>ôëׇf?LiŸÒ”-[w÷\ûGFF’œœœãÕœ¤¦¦²bå*ºuëÂÎ�»èÚµ3ë7lÔËååžf6›úâóÌŸÿ磣iѼ¯¼<”&O%)9™ôŒ ֯߈ÝnçØ±ã\¸p‘*•+^Ô¡‹ˆˆˆˆˆÈ=L+ÜœÌÍÍLJl,'–-åÔšÕDnÜ@j\Ö´t*5kNù&M(]«¿,ÛB¯Q_‘˜’zGóüøãOÔª]—*Ukòp³V̘1 ›Í–c_OOO‚—Q¡|y¾ørC†<ÏÁƒ‡n;G~ßUµhQÝ»u {wm'•{_Íš~\¸x‘¨3g°X,lÞ²•˜˜üüj‡§§†,ǧ¥¦a³çü÷LDDDDDDä%Üœìȉ³¸{{ctq!%6Ïòåq-^œRÕ«SºV-ÊÖ«�ÁdfÊïë¸wåŽç¹vJizzúmû6iÜoooÆ}ø1aaá$&&Ê‹ß׬YGåÊ•¨ãïOË-X¹r•Óçq¦Ä„D*U¬H¥Š(Y²*V 66–¤¤$NŸŽ¤mÛ6x—*Eùò¾DFFqÔ""""""r¯SÂÍÉBöG`0™¨Õ½; µQ¶n=Œf3O–oÙ“ÙËNRJZ¡ÆKÕjU0 D_¸@‰Åyî¹gñññáñ~}©_¿žÓçLKKcÅÊÕŒÿlÛ¾�+W´�TîmgΞeÍÚu<Þÿ1ÆŽÍ3Ï fÅŠ•œ? ÀÂ…‹©X±£FŽ`àÀ'øí÷¤¦ÞÙªT¹ènNŸ@bš…q³—ܬ!oLü/ Ö†rzÙ×€Ow7ÒÒ3 -ŽÉS¦ñÅçŸPÇŸ!ϽÀ¸?æ­7Çð�wÞbãÆM¬_¿±Pæ]´(ˆŸfÏàÕá# e|gÛµk7»víα-55•9sæÝõ˜DDDDDDäÏM 7gËܪ™’šFRêõížû#¢èÒ¤&‰çÏaõ*Erê�¯p{é¥WoÛgýú <ôp+Çõ·ß~Ï·ß~Ÿkÿ®ÝzÞTWïN®íüßG9ŽsôèQ22,¬X±ò¶1Šˆˆˆˆˆˆˆü)áædÚ7"#9‹ÍF17WG}1W6î?Á¿f±ãx4©i…·º­(õèÑ�M›6k;©È}äõ×G2nÜû<ñÄ –/_QÔ!eãááŽÙìBbbb®‡Ë\c4iÙ²�7¢\¹²$$$²�­[CòÔž_ÅŠ¹Ñ¢E 4¨‡��ééé>|„àà¤fù3õêÕ¥G�nlÙ¶mÛïh.¹{”ps²U[÷áa4¼ÿ$v»�óaáÍ&lV+—SÒøeÝž<ŒòçÕ·O/fÏþ¹¨Ã‘»¨_¿¾¤¤¤âî^ŒÞ½½çnßÿ ýû÷£eËvìßà–}6l@Íš5^I\\þþµèÝ» ìßà¶íùe6»àí]Š¥Kƒ¹té>>¥éÕëúôéͼyó©T©"={ö tiïl'抈ˆˆˆÈ½M 7'[²ó(Kvu\·û=f“™øÄä"�ën¨Q£: Ô'x…N'¹_Ô¨Qƒ&MóÍ7ßóÌ3OñÈ#=0›ÍX,–¢íŽìÛ·Ÿ½{÷9®·oßAõêÕ©[7€ýûܶ=¿Y°`‘ã:!!�Å‹—ðÜsÏðàƒ²ÿvìå¹çž)ð󉈈ˆˆÈÝ¡SJ YbJú}‘l8qâ$å+TåâÅ‹EŠˆÜ%�?ހŋ—°råjJ—.MëÖ×ßYºticY»öú{?ûl<‰‰±<úèÕwCzyyñÝw“8q"ŒˆˆÃüë_ïÉ?ÿù�<�Ñ«×#lÚ´–èè(Ž=Ä’% (]º4?þ8�þýû²‘øø ·|{æ{8³JJJÂh4æ©Ý\\\ˆ‰‰`ñâ ¶mÛŽÕjuÚø"""""Rø´ÂMDDîX¿~}‰��å�?vP©RE èOŸ>�²aCÞOBž9s*={vgß¾ýœÂôé39yò”£mÑ¢ {¬õêÕeÆŒYùÞöY·neÊøzGíyÕ±c{;AddT�Æ‘¢¥-¥""rGü1€Ì¤ÛÏLžü-iiiT¨PžfÍÊÓuX·nWOoŽŽŽÎWÛ·ïàðá#têÔ�v€ýóý<7*^¼8�=Ö‡%K–f;14¯íù±fÍ:Þ{ï}¾øb/^bøðW(UªT�Æ‘¢£n""rGúõ»úþ¶úõëQ¿~½lm½{÷bûöŽk“É”ã...$&&Üv¾ÜÆHLL¤yó6ôìÙ�GéA¿~}™9s*qqq¬Zµ&_Ït�Ùlfðৈˆ8ÆÎ�»óÝ~­Ïü3[Ý´i38uêtŽým6±±±-¥zõj4jÔ��7ÝQü"""""R´´ÂMDDòÍß¿6õë×cÙ²`¼¼J;Jݺ�èÝûQ’““°ÛíÔ¡X17ÜÜÜãDD [·.ŽúâÅ‹g›ëvc  K–,ã•WFðé§ŸаaÇÊ9ooï<=›Ñhä©§’‘‘Îï¿/Ìwû5‹…÷Þ{?[É-Ùvó½VGÜ"""""òç£n""’o×¶“Þ¸‚,22Š£G#¨]» 6`ÿþìÞ½‡hÊúõ«9wî<��ý÷ï?À¶mÛiÑ¢9›6­åÀ�ƒ<òH�lc¦¦¦ÝrŒF�ò¿ÿÍeéÒåÄÅÅñÔSO°cÇNǃ äóÏ?aÙ²`>ýôsÒÒrÞj00 ?ÞÞÞÌœ9£Ñè8ÀáZìVíyyo]V~~~øsøpqqq”.]š êáãSšƒåk,¹w(á&""ùvm;éêÕkoj[³f-µk×¢OŸ^ì߀—^z•~ø–ºuë���À믿Éĉ_8ú?ýô¾þú+Ú·o‹‹‹ ‹/aР�Ù’W·Ãh4räH}ûö¢xñâDFF1jÔ6mÚ ÀÔ©Óiذ�<Òƒgžyš ±oßþŸ+  �5à�wÞÌÖöïI… åoÙŸ¯ïñòå˘ÍfúöíE©R¥HMMåôéH¦M›Á•+Wò5–ˆˆˆˆˆÜ; E0žá6Ÿ³Ö³ÔÝX®µ_»6ÞP €)³˜3‹ (áï_?$.Ÿ¿‰ˆÜm©©ÉجEÅÝ÷ câÄ/9òufÌø±¨Ã‘<2¯¿¹Ìf³Aæ«]¢¢Ž·®VÀ’Y¬™ÅØn(ö,õd¹ÎZÈÒN–:{u7~ÎMþ¶¬Ü‚Þá&""EêÚÁ ×<òHOЖJùsÒ–R)RC† fÈ�gر#”zõêÒ¦MkÖ­ÛÀöíuh""""""wD+ÜDD¤H]ºƒ››Ï<3˜*Uª0yòT z¦¨Ã¹cZá&""EjáÂÅ,\¸¸¨Ãq­pq"%ÜDDDDDDDDDœH 7'RÂMDDDDDDDDĉ”pq"�R*""ùV«VÍ¢ADDDDDˆcEŸ†n""’oú­ˆˆˆˆˆHî´¥TDDDDDDDDĉ”pq"%ÜDDDDDDDDDœH 7'RÂMDDDDDDDDĉ”pq"%Üî•*V¤RÅŠE†ÈŸÚü“>øgQ‡!""""""æ¢à¯Àl63üÕWèܹuë}�={÷ñé§Ÿsúôé;sÏîT¬X!×öI“¾ã£ñŸpâxIIÉ4hØ4Ç~^^^„„lÄf³Q·^cRRRòKÿþýèÿx?êÕ«Kñâ^œ|uÎzõêR·nÝ|?ÓÝ6qâ<Ö·;uåàÁCEŽˆˆˆˆˆˆˆÜ'”p+ Ñ£^£i“Æ,_ÌK/'55ƒÁÀ;ï¼É¨‘#øò‹ÏhݦéééùwìØ·Ÿ¿úês?=ˆþ[·nË×8V«•nÝÉ×=×¼òÊPºuíÂêÕkyuøHâââ0�+VìŽÆù«Ó;Ü ÀÕÕ•—^~‘””^ó©©©Øív>þø3öîÝGµjUéÙ£;'އñͤ |òñ‡ìß·‹C÷ðæ›cœÇgŸŽçð¡½Ø¿›7Þx=[û‰ãa9¼ÏqÝ£GwV­\ÆÉáìÛ»“ßþ7ooïl÷˜ÍfƼ>Š„„†�åH¶Øl6’““0™LŒõ›7¯ãÄñ0V¬XJçÎ�nšÿÛo&òÙ§ãÙ¿o{vï`äÈáÔñ÷gþ¯ÿ%âèa6nXC˖ͳÝóÁÿä›I;²Ÿm!›òì`G»··7¢£X¾l±£îÃ?àBtÝ»wcÊ”ïx¬oÖ­]ÉÙ3'ý<<<ÿÑ8v††p4ü?ÿ<‹ªU«f›û›IxóÍ1ìÛ»“ Å¿ßáOFDDDDDDDîGJ¸€Ÿ_ \]\Ø·o¿c«gVË–à_§¶£nàÀ'èÒ%�ððp¼½½;fôM ªü*Uª$��9tøeÊøðÆØ×éÒ%0ǾժUeÆôÉøúú2kÖl–,YF\\|¶„€_�xxx°gï>bccs�û“�?ä�wÞÄ’aaݺ 4lPŸÿþç'Z´hž­ß€ý騱áG�R¾¼/ïþãmÖ®]‰››ç£ÏP‡iS'ãæææ¸gØ+/ѤIc6mÚB¥JùüóOéÞ½[ž¾“  ¥9ÀìÙ?óå—mÓ§MæùçŸcGèNV¬XI§Žùù§™˜L&GŸþýûñúè‘\¾|Ù±•VDDDDDDD$/´¥´ªe®ŠºxñRŽíQgÎP±ÂõÃ._¾B«VíIÏÈàµ×^å½wß¡u«–¬^½öŽãˆ‹�§u›Ž¤¥¥ñƯóÆØ×iÕ²«V­¹©o�50›Í„……1ëÇŸs=Ô¡F�êWÇŽ�˱�ÌÓOŸ}v0aaátéÚƒŒ ƒŸÄW_}Ϋ¯¾Ì¶mÛ³?wëöX,Þzk,c^ÅÜy¿2fÌ›lÞ¼ÿÚµ©]»àÂ…‹t ìJF†…¾}z3uê÷<ÿ÷!¯¸íw²dÉ2zõz„€€:ü8ûgÇ;ÜêׯGçÎ�Xµj /¿<2WèÕëüüjpôhV›�Þ½û±k×îÛÎ%-·;‰4·ö>ø°�"‘?­p+€è ѹž&Z¶lYN�ºžÔ²Z-¤gdºŸÅ‘‘žá8áÚ˜%3\¸QhèNÂÂÂiß¾¡;¶²iÓZï×÷¦~gÏ� zõj¹Î[·^F£‘µëÖ“‘a`Á«[<ëøûgëkµZ°X®ö¹–IJY­Žö];¯ÖeÝÚš––êwÙò`ìv;5kÕÌÓw’ÿÚWWvéÈ…è(.DGÑ«×ÕwÜ•Êò�%&$(Ù&"""""""wD+Ü "â8v»� P¹R%ÇŠ¶k:ul�ë–D‹Åšc}AÜnÌÄÄDÚwèL×®]èѽ+½{?Ê?|K\||„U«oÞÚYT ƒ�ààŒ5†/¿ú2·Zf•ššÊŒ™?b2™˜ü÷øùÕÈÖn6› ? @×®�ï^ ìˆÁ`plá,¯âÅ)Q¢8Ú·Ã`08ÉÉÉØívêø×vÌíæêší~Kæê8ï,+×ÂÃñZ­<ôðƒÄÄÄqÌQò{’¬ˆˆˆˆˆˆˆHN´Â­€Æ�ÿŒ–-Zо};v††°gÏ>*Vª@bccýúXo³zënjР>ÿùe6+V¬$.>žOô‡,[:³úôÓÏiÞìa7nÄÆ�k9xðq±qÔ«W—5k×2zô¬[·�ŽÛ³fM0ûö g�n¤§§óÕ„¯ «w©R¬^LèÎ]tëÚ»ÝÎwßý@ZZ{÷î§I“F¬^ÂùóÑtèÐ.Ûýâ‰'güøq¬X¹Š/¾˜À¹sçùé§_øÛ߆°lé"æÏÿ�J•+Q¼¸C‡+pÌ""""""""ZáV@—.]¢S`7¾ûî"#£hÞüaì6;¿ügíÚÞsï3�„‡‡óè£=öÊK¤¤¤ðÆ›ï°ekÈM}éѳ7~ô1{vï¡VM?š6mÌ©S§øã�P^xñefÿô žžžtìDhèNzôìͱcÇ k\|<§N�¢g�nœ>Éàgžc×î=Žö¯�b×î=T«VOOÞ~ç½l÷ϘùãÕ„Z¥J zr þþWßßöî{ïóÑøO°X-¼öÚ«<ø@S’’’0 ŽYDDDDDDDÄÙ†¼Œg¸Íç¬uÆ,u7–kí×®�7`Ê,æÌbJøû׉‹�/à£Ja:q<ŒØØX|¨eQ‡"Eô·ÔÔdl÷ÎY‘[2¯¯ë²Ùl�y8bTÔñ–ÀÀ X2‹5³ØÛ Åž¥ž,×Y YÚÉRgÏ¡îÆÏ¹ÉKŸ<Ñ 7'Ò;ÜDDò@§“ŠˆˆˆˆˆH^i…›ˆˆˆˆˆˆˆˆˆi…›Ü“jøÕ)êDDDDDDDDîˆV¸‰ˆˆˆˆˆˆˆˆ8‘n"""""""""N¤„›ˆˆˆˆˆˆˆˆˆ)á&""""""""âDJ¸‰ˆˆˆˆˆˆˆˆ8‘n"""""""""N¤„›ˆˆˆˆˆˆˆˆˆ™‹:€?›š5ýŠ:ù;vìxQ‡ """"""…L ·|Ò/Ë""""""""r+ÚR*""""""""âDJ¸‰ˆˆˆˆˆˆˆˆ8‘n"""""""""N¤„›ˆˆˆˆˆˆˆˆˆ)á&""""""""âDJ¸‰ˆˆˆˆˆˆˆˆ8‘n"""""""""N¤„›ˆˆˆˆˆˆˆˆˆ)á&"""""""òÿìÝy\”ÕþÀñḬ̈È"Š (àŽˆ¢©·Ì}Ap7+M³²4½¹›–ZvëWi™™fj¢¦i‹[VŠ$*n(n ,Ê"(;Ì óûC˜@vBíû~½Î«yÎ9Ï9çy¼âå;g€$à&„B!„B!„IÀM!ÄC±´´äƒfqòäqb¹~=œ]»þÀÍ­‡Áú077ÃÊÊ ¥²òÿ¹Š‹‹âÂ…ÐJïG!„Bñô“€›Bˆ S©TlÚô|0 [[‚‚ŽsïÞ=ºw±±ÁúY±â;bc#qumi°6…B!„¢²Uõ„B IDAT;±±‘üõ×Qºté\è¹,--øé§uÄÆFz‚·Þz£Pyyúõö^·ÎæÊ•0öíÛc�÷-„B!„x²(ª =EŸ æ) ä=˜òËó¯•$ ÊKFyIX9;»%ß½ûˆ�*„•+++ƒ\mU�¢xööõ8sæ$ffÕˆŽŽaÛ¶?øå—�„…]Ô×Ù¶m3}ú¸³mÛ¨Õj^~ùE._¾BçÎ=ÐjµÄÅEaaaÁÅ‹—¸t)œ¾}½¨VÍ”W^Å®]{øùíçÍ7ßfܸ ìÞ½W×–4mÚDßN\\<�;÷àµ×Þdüø Œ7€íÛwêx?ü°Nl+oÛ÷îÝ£]»ôï?„¯¾ZÀÏ?oÄã?Ï>Û‘ððËØÙÕÁÙÙYÏíÛqôìÙ‡W_}ƒ‰§OyûÕjµ¸»{Ò¾}g ¶ !„Bñ/%{¸U"##NNN\º®ÏS) »•Š¡v8éRÈÌVóVDwu ¢ !Ä?Âßÿ0�;÷ wï^¼òÊ0ÄK/ %77W?#ÌË˃´´¤B÷Y[[ë?gee¡V«صk:�ŽfÍœJí·ysçrµ­ÑhÐh4„„œ„¼`X¾'BhÞÜ™Zµjéó²³³õßÄýþûx{/ÇÙ¹Y…úMMMåĉ“¥>ƒB!„âé&·JÔËÍ�3§Ó·ï@rss©ïàÀ›\Z;4&ën,YwÕ$gƒ•î>¦ËÆ„¢4:�Ž}û°oß6lø…Ý»ÿ¤k×.üüó¯øøø1gÎÜB÷ܼUl[�„+MRRR…ÛμÎ+ý¯™™9juÎC÷+„B!„øw’%¥•èà!úöˆN§££×@¦,û�fή¤DŸ#ëî-´¹›‰¹›Ýæí½œÃþûQ(Š_�Úºu+âã¢éܹ£�žLMM133+uLñqÑÄÇEI`àAƽ=•J¥¯ã织WGŽ0ؘ2eÊDýµJ¥bþ¼Ï¿tŽcGëg£! ÏÔÔ”víÚÊ36¾ÿN||<—.…£ÕjéС=wî$qåÊU}ÊÎÎÖßceU+++zõê‰B¡àÂ…0}yþì·‚3ÈÊÛöð°0§Z5Sz÷î…B¡àâÅðJïW!„Bñt‘n•H£Ñ R©ðÖ;ô1’Ì´ ‚´¤mØ@L*\ÊÉ%ã!V“¶háBŸÞîøíÛ_¤lê”I†y€¦OŸBãÆ�?~b‰u~üqŸÏûssszöìÁüyŸbaaÁâ%K >€½>¾œ={^=rÄpºvíL÷îäæê¸{7¹RúO'[[[<>��>úDŸ×¶í3øùî¡q“椧§ã织õëâ—_7bblÌÜ�>ÀÓ£õêÕ%&&–oËÖ­Ûô÷ûùîa÷ž=ôíë…Ksg"""™=g.ÁÁéËóÛûúë¼6j¤~Œáá—¹zõéééL›þ÷)�“'O ýsÏòºÌFØÙÕ!>>�-\prjÊŽ»055å�ÿŽcÙòï‹ÝÿëŸ�••AîS¼¿c\\‰‰wpum[ŽÚB!„BˆÇ�Rù÷¼®üøˆµµ5ÑÑ×;)€Ðä%m^Ò¹$]�| \L(§@ž®˜¼?—Ä`'ZÊ 7rP*éY­oXX2zðKÔvnAbL,÷’îR˦ÕLM°©eÃÅÈD%'süFÄC÷•‘‘‰·÷šBËGëÕ«K¿~}Y»îÇ"õçÍÿŒ¦NMñðè�{o/5lÀÿ>ú \åË–­`ñ’¥ü¹}ö�ŠÛJbWÇŽ¸¸x}P¯ µšˆˆHÞ=†nÝ{±ió–~û NNM ÕsëÙ“÷ߟÃsí;rò?¬ñÆÄظH{3gÎâûï½Ù¼y+ö�pëåÁö;ñðè]è/¼—§‡~¹ ùâââÑ=pR°­� wîÜ¡iÓ&Œ1œWGŽ AƒU6F!„B!„O ¸H33æYY0¼šŠÖ ìi4äe2s²IKM#W§CQËž±o¿MŒÖ˜+7£¸qÈmvé'ñ•eíºißþ9\][ðÎ;ãÙ¸q3wïÞ+T¯zõê¼6j$_½˜ÄÄDbcoñÅ— éÛ׫\åeddDëÖ­øðÃÙ¬X±²ÄzëÖ­çÒ¥pnܸɷß.#**ºÈ&ì[·nãìÙs$&&²térêÔ©Mã&�Ë5Žýûbnn®oÓÖÖ–Ö­[áëWtß;!dii‰­­-ööõرcǃƒ9r8æææU=4!„B!„�994Áú™™ñB5#â4÷hêç:aji‰­™qÉw¨gS›Œ 'n'pòR87ýÈHŒ£{÷n)2³¦¼îÝKaݺõL™2‘Ù³ç2|øËôèá^¤^Ó¦�Q*•¬[»Jß—‘‘1Õ«[–«¼¼Æ�ËøqcÑétܼÅJïÕ¬[·¾Äú666 :˜çÛ·§–M-j׶ż”“P£¢¢ÈÈÈÀ¢\ãÉÊÊÂ×ožž}8yò½ñ? Þ‹rIÏÈ G­Æß?�Nǵk׉�O ¾£#á—/Wõð„B!„B<Æ$àfM� Y›À5˜Ô²Å>øÏýö3!/�"šÌ,.EE°�{‘×|ä¾½W­áÄ_GÑj´ìÞ½—Û·ãŠÔÉ?@ÁÓk ./¯üSJ³²²ÉÉÉ)µ®……>{w²sç.¾^´˜˜˜X6mü©Ì>*œÜ¾}'³g½Çüù ðò’夢ü’““±°0G¡Pèÿw—�•M®.·Ì{EùØÙÕ¯ê!!„B!D¥�%¥°,5ït5þõT´œÙÇè­_Itý˜6râNR2á#ÂgɆ�“˜˜È¯¿nfèÐ!,_þ}±u¢££IKKÃÓ£÷C•ç36*ºwZAù§”–lhÛæ¬­­ùô³ù„‡_&--í¡gú•æÀ�C8::ÐÜÙ™N;âç·Ïà}ˆ§Szz:7oFÑ­[W¬kÖ¤n];¢¢¢«zhB!„B!sp3p¯†’y‹;ЫF+aeÁ�î}8„ÅÉc¸Ÿ9JjÜmš5s*´‘ÿ£úzÑb†¾8Œk×®[®VkX¶ì{æÎ�C÷îÝP©T8ØÛÓ¶í3å*ˆ�‰¥S§8::>ôVIII4hX…BA\|WóåæÞßÿÚÚÚšèèë�€@ hò’6/é€Ü’®@>® & ”S OWLÞƒŸKb°½®dI©to_;›\Œ]#éðž=!maÌœ 8ªLQqšlsÔU=Ì­¾}½ <"Á6!„B!„Bü#dI©;•J+ÏC˜›)©Y݈ðˆLt:Ømš�ƒJÁ’ÔT®k  €(Ÿ!ƒ²~}Ù'  !ÊÏÉ©iUA!„Bñ»zõZUá‰!7ÈQëÈQkIIÓr;áï™lGr²¹z7‡mn©÷‹ÊÓ¸q#ZµrÅÇWN'Â�äZ!„B!„(™Ü*‘V§#F+3ÛªRDD$uë5¨êa!„B!„â_DöpB!„B!„€$à&„B!„B!„IÀM!„B!„B’€›B!„B!„$7!„B!„B! HnB!„B!„B�Ü„B!„B!„0 £ª€Bˆ'›©© ÆÆÆ(•òŽB!„O‹ÜÜ\Ôj5ÙÙ9U=”'’Ü„B<¥R�¹¹¹Ú„B!„x )•JLMM166&##ƒÜ\]Ué‰"¿% !„x(lB!„âé§T*177¯êaûlž>oöì÷HMMcùòï+Ô¾J¥âÒ¥s4kÖ²\ù¥ A£Q£ÕæêóæÌù�ƒý+4¦|vvvøúî¦{÷^¤¤¤[[ð¡}ûç å¯YãÍ‹/¾ ¿þàƒY¼ùæzŽ.]:áç·‡£GýYµê{öîÝ @ݺu 8¨¯×µkÖ®]y³�¯\ Ó <IJeßrøððáÙgÛéï{î¹gÙ¹óOŽ;̶m› CËC¥Rqô¨?óæ}Jhh½zõ,µÝüúÞÞ+8vì0‡ ]»¶¼óÎ8Z¶taÍo/.ý‹'!„B!òIÀÍ@4 ›7o…¼oñoÇÅÓÿÍwè>d(i‰w8àÏú�[¹~>”[­»±´ë›üaׄ˚Ü2Û.Ζ-¿Ñ´i:vìP(òä üðÃ�dggÊ716æ“�çrêT0ÃΰhÑWXXX”«|Ò¤ LŸ6…!ƒÉ‚/çQǃƒ©U«V¡~ ö÷é§|ü7o\%èX/¿üb¡:~¾{˜:u>>»ˆŒ¸Ì¡ƒ~tèð|¡òü%ª_½€wÞÏðá/É¡ƒ~¬^õ=Køåhòä lXÿC¹Æ/þ}Î�;ÏJïÕ\½z­Ô<}f…ŸS!„Bü;É¡ ä TÒÔÄ„†*#”ýP:· 1&–œÌ,jÙÔ¢š© 6µl�¼ATr2—oDJ¥’ÜÜû�M/OÖ­[_¡w-þ=âââË•'Ê–™™IµjÕ å™šš’žžFZZ:[¶üF×®]ÈÍÍåäÉS4hЀôô44 AAÇËl£´²¹º¶¤^½z´hÑ3³j4lذȲóÀÀ£tíÚ…Ë—/v©ØC Áßÿ0}8sæ,aaÑjµœ;w{{{¬­­éÒ¥+WzðüóÏabbÂ’%‹ oæà­[·KÌ'o–õºu?°eËo8p¨HÿdþüO±´´ Q£FDFF’””TìXûöHBBb¡¼çŸoϹs爌Œ„¼ ôÃÈÉÉáÊ•«ìÛ·Ÿ¯¾ú‚† ФIcÂÂÂôíoÞ¼…÷ß;»:Åþ},nŒYYYøúú÷s%¶›˜xµZMTÔý%Ä;wîfòä EÚB!„¢¼$àf ýÍÌnfBz®†ôzö¤y™ðèhÒRÓ0R©PÔ²gìÛos&2†+7/sã�Úì¬Gêsíº™8ñ\][ráBï¼3ž�7s÷î½BõªW¯Îk£Fâé5€ÄÄû¿”|ñåBÖþ°ŠY³?,³¼¢ŒŒŒhÑÂ…?œÍŠ+K¬W0ðõí·ËxuäÚµk[(à¶uë6Ξ=ÀÒ¥ËyãõQ4nÒ˜ððËeŽcÿþƒ˜››Ó®][Nž<…­­-­[·Â×o…ŸIQ1IIÉÔ®m‹±±‘~yw½zõôÁŽÈÈHýgcc#¼¼>€ÔÔ4yõÕÂK>{öìQl¾J¥"77—€€@^|ñ6nÜ\$p¨VkðññÃÝÝW×lݺ­Bã766"5µä%ÖÅJQ�N‡F£&;;ccãBí«T*LMMÉÉQ—ÚFY*Ò®Z]9ÁV!„Bñï!KJ  Ÿ™/T3"N“EZ®†œç:aji‰­™qÉwÈÕéÈÈÑpâZ4A.q3Ð�ŒÄ8ºwïVâI£åqï^ ëÖ­gÊ”‰X[[3|øË¬\¹ªH½¦Mߟñ°v'C‚8Äk¼©^ݲ\åå5~ÜØ¼SJ#XûÃ*ÖoøïUkJ¬occÃÛo¿ÅêUß³mÛfj׶ż”“P£¢¢ÈÈÈ(v‰jq²²²ðõÛ‡§g<…ÀÀ#ú¼“'OR§NmÜÝÝ ï}™™™•˜ŸoéÒeDDDê÷Óét( ýRÚüe¥Ýºuů‚_B„„œ¤[·.´hq/¼&MšèËîÜI¤n];ýlÂúõKlÇÌÌ 7·û{«uîÜ‘””Tbbb 9I—.�ôí{yypíÚõ"ÙŠz”v“’’ä”R!„BQ!2ÃÍšA²öþ·á×t`RËûàc<÷ÛÏ„¼4Šh2³¸MTÀ>îEÞŸÁøÈ}{¯ZÉ¿Ž¢ÕhÙ½{/·oÇ©“€‚§×@*\^^?þ¸�Ïç}AVVv™K±,,,ðÙ»“�;wñõ¢ÅÄÄIJiãOeö‘¿‰xymß¾“Ù³Þcþüxyy°cÇ® Ý/„xx»víaРLš4�ŒŒ 6mÚŠZ­Áʪ:/½4”êÕ-ÉÌÌäìÙs;v©……ݺu!""‚„„ÄÛ(­ý‚Zµr% àH¡¼””222hРA‘q‘‘7ˆŒ¼QéïÆßß7·ž…–r9r “B‡Á¤¦¦ñÆcøä“�˜6m YYÙ,Yò-G�›üø_ú{gΜŖ-¿2cÆ4-ZÂæÍ[Ù±ãwFŽ|�ÐÐ3895%$äd©?¯wíÚŽVû÷;ýðÃ�9tÈŸ™3g±jÕ÷äääñ÷;T«5Ì™3—M›~&..®Ôå¦�†·ß~‹Ï>û˜øøÆ�Ÿ€N§#>>�éÓg²|ùR¢¢¢™0aòC¾é¿=J»ÞÞ«øøã�5j$o½5î‘Ç"„B!ž~p3€e©™4U)iîT Ï‘-É:Aƒ#�\wi‰i#'î\»Æís§‰8s‚”¸Ûí;11‘_Ý̘1£éÒµg±u¢££IKKÃÓ£7?ÿ²±ÂåùŒ�ŒKKþ)¥åѶÍ3X[[óégóõy ¦•Ç�‡XöÝš;;Ó©cG&Mšjð>„€ Ê IDATÅËÉÉá·ß~/’Ÿ’’ÊêÕÅ^’’’¢EKÊl£¬²|ë×È/¸Ü½`å½_ïÞ ¨Ñðþ+`Ñ¢%EúÍÉÉ¡Y³–Eêž:ušAƒ†–;?¿ µZÍ /¼¬ÏÿðÃÿªwóf¿ÿþg‰clÛö¹Ëöîõeï^_ذa�¾lóæ­úC„ Òjµ…žO­V3räëŶ¿ÿAöï?XlYyÆø`_eµû`ý””Tž}¶£þúرãxzö/såoOQÆç‚yÊy¦üòükåI¨ò’Q^RVÎήAÉwï>⣤RAðŸ}0ºÖˆkG/Ð~v?·nÅwú%<̬P[Òî²>CN=« M›6!àðAZ´l-3ÜÄ%++ƒ\mU�¢xVVÕ«zB!„BˆXY¿S\Í—ÿ宵µ5ÑÑ×;)€Ðä%m^Ò¹$]�| \L(§@ž®˜¼?—Ä`{]É’RèÞ¾:v6¹»FÒá={BþÚ˜9pT™¢â4Ù樫z˜ÿZ}ûzxD‚mB!„B!„øGÈ’R8v*•Vž‡07SR³ºá™èt°Û4•‚%©©\×þ@Q>C,{ãs!„B!„B‘€›ä¨u䨵¤¤i¹�ð÷L¶#9Ù\½›CŒVöÈ©*�7¢U+W||÷UõP„B!„Bñ/!·J¤ÕéˆÑÊ̶ªIÝz ªzB!„B!„ø‘=Ü„B!„B!„0 ¸ !„B!„Ba@pB!„B!„€$à&„B!„B!„IÀM!„B!„B’€›B!„B!„dTÕB!žT擺 ª_mÔ]2–­êá!„B!2ÃM!„xHªú5 ýW!„B!�€›BˆÊbllÄàÁƒ˜oÊ”IL™2‰I“&0iÒÜÝÝJ½öì÷xá…ÁEÊf̘†«kË"ùfffÌ™ó>vvvxê²…††ĉA²rå2ì˼ÏÎÎŽÐЬ¬¬P©T\¹VᾫU«Fxø–-û¶Øq 4°H¾µµ5W¯^¤eËj³Q£†,RïÞ�4oîÌÎ�|”“'�sóæ5‚ƒ�|”Ï?ÿ¿ ?—B!„�YR*„¢Rxyy’’’²e+¨_ß‘áDZlÙ ”J%C† dݺ ¤¤¤àîîFÿþ}ùã�í%¶åææ†J¥*”gbbÂâÅߢÕjË‹“S3.\ÃÙÙ###4M¡ò®]»páBáV‡Ïcl\z ðaõí;�„„DLMMyýõQìÙ³7·>$%%•xOBBÓ§Ï$%%¥È»(¯Þ½{±sç.úôé�‰‰ 999…Ê'OžÀŽ; å�ó&fffÝfI€££Û¶m¡C‡.õLB!„B<Žd†›Bƒ355ÅÙÙ™ÀÀ#èt:nÞŒâÆ�¸º¶¤~}GbcoqïÞ=t:þþ899ajjZl[ŽŽÔªeMxøåBù*•²\Á6€Ö­]9uê4ÑÑ14iÒ¸HyFFNNMõ×&&&´léBttt…Ÿ½"²³³Y½ú|||™8ñ�Rëææærè�ÿ#õ7dÈ`~ùe#§N�¢G�nEÊ“““éÕ«§þÚ‚þýûrêTèC·)„B!Ä¿‘Ü„Bœµµ5III…f’EGÇ`ccƒJeTh ©V«%33“š5kbeeÅ»ïN¥vm[ŒŒŒðòòdÏŸBí+•JŒ�MxóÍ7=úuºwqñ“¶MMM±µµ%&&–‹/âââR¤Î‘#ÇèÖíïVÏ>ûBCÏ”; ÷¨öîõ¥M›g oéè–-¿râD¡¡!Lš4 Äe¤kÖxóâ‹/è¯?ø`o¾ùF‘zÕ«[Ò¬™§O‡²k×úõë[¤Îҥ˙Þzk4gÏž+uÖœB!„O™á&„¢RìÚµ‡Aƒ0iÒ222Ø´i+jõýå’/½4”êÕ-ÉÌÌäìÙs;v©……ݺu!""‚„„ÄÛ633Çã7ÖÖ5Ñjs‰ˆˆÐï%VP«V®)”—’’BFF 4ÐϲËyƒÈÈ{%Ùµk;�š¬¬,Ž9ÆÐ¡Ãô3÷îõ¡W/7Ž9DLÌ-îÜI.rnn.›7oeÇŽß9òuBCÏàäÔ”��“Å.…Bvv6ÁÁ'˜6mf…Þ•B!„O¢¢›«T~{Š2>ÌSÈ{0å—ç_+H @•—Œò’ °rvv J¾{÷U!*WVV¹ÿÌ!™feU½ª‡ðX0ŸÔUýšh£î’±ìh•Žeýúµ¬\¹ªÌ@™B!„+%%µÔò‚«Hrss°¶¶&:úz' К¼¤ÍK: ÷�¤+�O�낉åÈÓ“÷àç’l³a™á&„B<¤ª²å³±±ÁÅ¥9ÁÁUõP„B!„²‡›Bñä{á…Áøøøê¿EB!„BT-™á&„B<áþéSU…B!„¥“nB!„B!„B�Ü„B!„B!„0 ¸ !„B!„Ba@p{Ì8ØÛã`o_ÕÃø×’÷/„B!„BˆG%‡&T²ˆëᤧgЪu»2ëZZZ@nn.-Z¶!33Óà}< 333Œ��HKK/t^Iù¹¹õàÅ¡/àâÒ'§¦ÄÇ'pùÊvíÚÃæÍ[Ñét•:öò(îýÿSïV!„B!„O™áöÉÌÌäâ¥p.] ';;»ª‡SÄ’%_sõÊEZ´p)W>@Íš5X±â;6oú…Ö­[qîüy–,ùŽÃ‡ptp`é·ß°wÏêÔ©ý>Iñ÷÷/„B!„Bˆ'ƒÌp{ŒhµZ<=ûWõ0 êë… pwwãÝwßã—_7šÉ¦P(õê¾úê ¾ùf!£F�®Ò±>�ï_!„B!„ÿ<™áölllXðå<‚�áæ�«œ:yœO>ùSSÓ‡®q=œKϺþnéb¾˜ÿçΞ"ìB(ï¿?£HÛ&&&,ørÃÎpþÜiÞ{ï]}™µµ5ñqÑìݳCŸ÷ÙgŸ�——g¹úñö^Î Cpè ±1‘¥æxyz0hÐ>ûü ~þe#ö'0ð W.‡±hÑWܾu¥RÉê5kñèÓ›ž={èïµ´´dñâ…„]åÜÙSÌ™ó>×Ù=û½BïfÙwKXðå<Î�=EèéL�:‰æÎÎlÝò+W¯\$àð:uêðÐï¿,*•ŠiS'x�ë×.±{ןúçP©TLŸ6…#Gq=_ßÝôîÝ«Ðý}!„B!„B<þ$àö²²²ðòòäÆ�ìÚµ•ʈ ïŒgúô)©Ÿoøð—éÓÇ�Ë—/cmmÍÌÓ‹njÖ¬�»»a/akkÃ{3ߥO÷ =Oiýìܹ›K—ÂX¿þ'-ZRj>ÀȑɈˆäÇ7йsGÖ¬^IFF&«V¯á…!ƒP(¤¦¦±Ê{ íÚ¶Ñßûý÷ßñêÈܾÇÉ“§˜8ñ,,,ŠŒyذ—psëÉå+W¨[׎?˜ÍÁƒ~˜ššr;î6..ÍY½j%¦¦¦ýþKóÅüÏøàƒYãë· ÒÒÒôesæ¼�F­áСônåʯ¿l cÇÂÁ³Š<ƒB!„Bñ¸Ê_Õö8ìÓ^Õ$àöÒÓÓiÓö9† • §0ä…—Ðét¸÷r3Hý|÷î¥Ð¹s^|é¾øò+ºtîT¨NòÝ»téêÆ‹/gÑ7÷ƒ^�;u¬Ðó”ÖÏ®]{¸xé?®ÿIßGIùÍ›7çÌÙ³äææòßñoðá‡ÿcáÂoX±Â€Ô´TbbcIOOÇ¥Esš6m‚§G¢cbðôêÏè7Çò¿ÿý_ÉcîÒƒ_Îâ%KØ´y ƒ¿H×®n\¾r…:ujÓ¬™ÓC¿ÿ’ØÛ×ãµ×^åÚµëtïáÎ;ïL¢§[BBNâ`oÏë¯�"<ü2}<úòÖ˜q¼ÿþ&NüïC?ƒB!„Bñ¸ÒétäææJÀMn�®}ûçðö^Nȉc<à‹B¡ V-kƒÕÐj5ä¨Õ„„œ„¼å‘©sÔú�þóëÔ¨Y³BÏRž~ÊËÄÄ„† pýzÎÎÎèt:Î�;@vÎý±¦¦¦¡ÓéHII%==€fÍšp8µZ@|||‰cÖhî×9uê4¹Z­¾üÔÉûyÖÖ÷ßñüÿ’´há‚J¥âСÃäää.ké‚R©äà!ý3üñçý%½Í��éDÕøä“�øä“�ªzâ1 è0 …Ç fUõP„B!„�)94á4mÚ„ß·m&òÆ ¦M›Iøå+œ>l°úÅÑh´]G©R´ŸÒ¨Õ÷€6µj�‘‘�B¡ Q£†„‡_¦V^ð(%% j×¶åÆ�˜˜�–ž^¡>óƒV…ò ® ñþ ªnY¥RQ¤ÌÜÜ#ÕßÅÌÌÌÐétddd<ô3üÛñŸÿ´£uëVÔ«[�VCbb"gΜãÔ©ÓhµZÆŒy“úŽ|òŸWõpÅÓªFÃÂÿB!„BˆHÀí<÷ܳ˜ššràÀ!Ž=†R©EÑàK~@¦¼õ -##�NGsçf˜šš’���©‰I…ÛÑäÍÔ²~`æ\qù:�Ž+W®â”· òСôjåÊüyŸrüø_Œó&äÍöêÝ»J¥’ßßÀµk×èíÞ‹O?�GNN–––ýüùöý ¨ 4€œ5>>¾\»ž7ÎÞ½0ýÄT?Ãàòå+xxôæÓÏæ‘���»» …‚ ÂùYþ�¬¬ªóêÈØÕµÓçáè舣£#íÚ¶aã¦-Ô¯ï2}ù±`kkCïÞ§³sçnjÖ¬IïÞ½°··ÇØØ˜Ó§Osð ¡{jÕªEïÞ½¨]»6fffDFF²sçnýß/cc#úõëGƒõÉÎÎfÏž½DGÇé{ÆŒihó‚Õ�–   NæÍ�1c>>~Eþ.š™™1mÚdÖ®]O\\œAßEhhÍýÄFFÆìÞ½‡�?þ´Ø û“(ÿù´Ú\}Þœ9ráÂE|}wÓ½{/RRR Ý£R©¸téÍšµ¬‚ !„BQ¹$àö"#ïÏÈõêHÚ´ycãBuîܹCƒ ˜3ç}‚‚‚ˬ_²³³9sæmÛ>ƒ¯Ï.nߎ£gÏînçÂ…0^~ùEæÍû_¿}|ýõbrrrJÌ=s–‘#†ÓÜÙ™oK=ûzxzôÆ®®³çÌeü¸±x{/G§ÓñáÜÿ¥ï篿NðüóíÙ¿o/Â.âåÙç‘ßCyþ¼TðÏoï^_Ö¬^ ÀþÓ�sçÎL§NØç·‡Cþ‡iÙÂ…¯~É!:t7·8àÃÙ³çé×דœœ¾Yüí#?Ë¿�‘‘£^I»:$&Þaÿþܼ…J¥¢~}GúôqÇÞÁž¯ «ê¡Š<îîn899«Ï«]Û–'B¸y3ŠÚµmyýõ׸y3Š«W¯éëh4Ž9Fll,ÕªU£OwºwïÆ¾}ûðòò$%%…eËVP¿¾#ÇcÙ²…ÞùÖ¬YKZZ:666¼ñÆ(îÜI&2òþIÊ]»v)pëÐáyŒ�+þeDyõí;�„„Dذao¼ñ?ü°®Òúû§å?_AJ¥’éÓgêƒmsçÎaݺõÄÄĖЊB!„OÙÃíÿÅ7‹¿E£Q3â•aįIJw¯O¡:ŸüßçÄÇ'ðÆë£ÈÌÌ,³~e™ŒêÕïÏp555ÅÙÙ™ÀÀ#èt:nÞŒâÆ�¸º–>CêÎ�;œ:J³fMõy89ý}mbbBË–.DGGì”$::†�;wѰaƒJï«ªåæærèÐß³;tè`�ËB!„B<î ½ž±<í)Êø\0OY ïÁ”_ž­| )U^2ÊK*ÀÊÙÙ5(ùîÝG|TQ£^ÁÂ…_Ãüù 8uú4·oÇáèè@óæÎú@ZYÞxã5~õï½7›õ~®ôq‹ÇËøqc©g_�ß~û�óç/*3æÍûËH Òé ¾‡[þ� Ÿ|ò™AÛ-MVV¹�é~VVÕËU¯E‹895açÎÝEÊ^ye¡¡gˆ�½ÅرoòÓO¿ègH)•JèÞ½Ç�sõê5êÖ­Kß¾ž¬[·^ßFÇŽ¨^½º~\¾3¦áí½š´´û{Azxô!++‹€€@f̘Æï¿o§gÏn¬[·€N�:¢PÜ?´ÅÇǯÔ%¥ �úÏ:¿ åz¡¡!ôéãEBB"VVÕùå— ,Y²”áæÖ“¹sgcaaɹsç™1ã=RRRiÓæ>ýôc¬­­ILLdÔ¨ÑdddðÜsÏòñÇaccÍ­[·™5ëý,Á®];ó¿ÿÍÅÜÜŒ .âà`Ï€CŠí'==ƒ€€øûп?Þ}wf¡e¾vvv|÷Ýb7nŒ±±1kÖ¬eÙ²¥>_A—�¾óÎ8fÎ|—ØØ[„„œdæÌY\»v‰½{}hÓ¦ jµšiÓfpúth‰ýªT*pþ|­[»¢Vkô÷!„BˆÊ—’’Zá{¬­­‰Ž¾Þ H´€&/ió’È} é äSàº`¢@9òtÅä=ø¹$ÛŸH–”ŠJõó/¹x)œ%‹¿ÆÛ{y¡²˜ØX|}÷é÷Y*ÈØØHº'@_/OÂ.^úF-7µkߟY(_¡P ¶=¢²N"-©üŸ Ä= ììê`ggÇ•+WQ(sïÞß{|�7[[[®_�àÖ­ÛXZZY:𙙉��]‘öó)•J5j„‹Ks6nܤÏ�ŽŽF«Í¥~}GbcoÑ®]Ö¬Y§?%¹2üþûV4 Mš4fîÜ�9pàvvv|õÕôë7�;w’øè£˜4iK—.cùòoyíµ·ˆˆˆ F�dddP£F V¯^É /¼Ldd$ÇÃÛ{îîžX[[³bÅ2 Jdd$}ûzòÞ{3 /pV\? |Mƒ 8Âܹ™E|çΦN�Á­[·°±±Áß;vìäæÍ¨"Ï·wïÎB{¸uèÐ¥Pù÷߯¢_¿~Ìœù>áá—Q©T( ,XDdd$£G¿ÎÇÏeÈ�—Jì7&&^yeQQÑ…îB!„âq"7QéNžJ�ݰ´´$))™Úµm Í€­W¯Þÿ³wßqUÖýÇ_‡ÃŠ€¸p¢‚3s¥ˆ‹©iYjÃ~�[ëNñ6KÓ†YÝÝuÛ}WZjjfë.GÓmnEDÍ•5¨ !KA†pàüþŽlËÕûùx\Îõ]×÷ú^‡£çÃ÷{]–€MA¹M(Nxx8��½ð÷÷gÁ‚…å<3ë}üñlÞ~{Ë–­ )é ±±±<þø“ùÊ <ww�BuíììHJº`4�888�žž�­­1_^^ÅÇh4–Ø×6mZ3}ú»L™ò'Ožªð¥yed\ xZ{ܼuDDDDDn%zh‚Ü’V¬XE÷�ÔoàCû]xõµ©–!"EÍ®iܸ±±q7¡Gb ƒÁÀ &11‘ààí–t£ÑH§N±³³ÃË«¦åA F£??_Ìæì‡)¤¦¦râÄIzôèŽÁ`ÀËË‹F�VÂQK¶aÃFBBBHII©�s´ÆæÍ[HNNfÈ�ûÙ»w/5kzØ ržÈëèèÈþýhß¾ 6 jÕªìÙ³ÿ.øùùп_N�:MBB{÷î£[·®–¼Æ�[ŽYÜq®ÇÏÏ—‹c,³å¼¼j–ëÜããã©kÅCùw IDATÃM*ú¸"""""7šf¸‰Èm#!!�ùó?'555_º££#={v ,ìèMê�\ÏÝwßE«V­¸téAAÙËãããY¹r5þ„‡‡ãèèH÷îÔ¨á†�� /ưhÑb˽ÅV®\ÍàÁƒ CJJ ‹Ÿï~�¥q†ˆˆ3vŽÖš9ó^}u Ë—¯äÉ'ÿÆ›oNå…þAZÚUf̘IHH('NæË/?çÒ¥KÄÇÇ3vìx.^Œa„‰Ìžý1çÎE2fÌ8¢£/2qâæÏÿ”ôôtÂÃ#,ã–”t¥Èãìܹ»Ä~®Y³–Þ½{±}ûf¢¢.—PlÙ•+—‘™yíZ¼öÚ4¶m ÎWfÞ¼ùL›6•‘#côèç+ä¸"""""·"=¥TDni¹K9/œ¿@í:µ‰��gÆMœ:•½±qãFôéH�5¸}‘ùŸ}ŽÉTöÌõú¡§”f³ö)¥w"CçÉP­\>ƒy×­»Ô½uëVLž<‰‘#Ÿ´¢´ˆˆˆˆÈõé)¥ÖÓ ·r5êi\œ]°±±ÁÙÙÉòÆ;vüÖ¬Yku;Õ«Wã±ÇeΜ¹%–sqqáïÏ�æ“YsHKK+wÿEn'ß-ZÂã�=B­Úµ>¼ð ÿ¼ð'ß~·¸R‚m"yÝÊA¶ÚµkKFF#F cýú 7»K"""""I ¸•Â_@NÀìé§žä£Wêñ®\¹Â/Ë–_7ØÖ§O »wÿÆåˉ•Ú‘åìÙs$%%ñÙ‚…´o7mÛ¶ÆÓÓ£�‘ó.pðà!öï? `›üå x�>:“)“��P¾ývÑÍî’ˆˆˆˆÈ_’n·³Ù̉'¯[®AƒúüþûÁÒ'‘Ê–w gff&»wÿÆîÝ¿ÝÔ~ˆÜª,XxCŸ¸*"""""ESÀ­y{{ӯ߽T­Z•¤¤+¬X±ŠØØX5jH¿¾}°w°/4­¸z666¼2åeþõ±±á¾ûúѤIc²²Ì=z”�7ãßµ µ¼j1bÄ0Î��ä—eËoÒÙ‹ˆˆˆˆˆˆˆü5)àVIªT©Âˆá³ð‹¯ˆ��§Ý]m>ì!æ|:GGG~x(Ÿþ%ñññøùùÒ«WÏëÖË«©�|üñllm³/eÈŽPüZø²|ùJ.^Œ¹ g."""""""ò×fcE)ƒõëM||<ûüŽ££#...Ô÷öæÏ Zò.\¸`U½¼.ÆÄàáîÎÀ�÷ѨQCÝ»JDDDDDDDä¡€[%±1Ú�võêµ}Œ¶FL&F[c¾–¨¨óÔªU‹¥K¿£{÷Þ�3cï™gžä™gž W¯ž¼þúœœœ9tè0/½4‰ää¶mÛÈ–-Û8p/¾8† {r®CµjÕðõm@‡í™6m*îîn\¸ð'“'¿j/)žn¥ôWù²,"RÎÎN\½z5_Zjj*^^^E–OII!4t—/'ZîÍVTÝÒ¶ `ccCÆ ñõm΢E‹-é‘‘‘dffáí]�óç/Ю][,ø¢Rnýû÷ã×_×°~ýÞxãuììlÉÈ0*[§N† {”¨¨ó�aêÔ×8p‰‰‰¼ýö4Æ�Ë”)¯•xù7Æ�ÇŠ?³hÑÿ¸ûlçÙgGáí]�wÞy›5kV°fÍ j×®ÍÅ‹1L˜0‘Ù³?fÓ¦u >Œ1cÆ•c$DDDDDþ: 7¡=Ãu^çM³É“VpËÍÏÝ·)°cÎf›³×fÍZ†&\ºTÎS©\ii)deÞì^ÍÕÕåfwá¦1tž ÕÀå3˜wM¿Ùݹa“J]ÇÍÍ�ÈÈÓ]€D 0ål™9›È*°™ó¤“g?ïFž|ò¤™‹H+øº8Ö”±Šîá&""R ²‰ˆˆˆˆÈõhI©ˆˆˆˆˆˆˆˆHRÀMDDDDDDDD¤)à&""""""""R�p©@ ¸‰ˆˆˆˆˆˆˆˆT ÜDDDDDDDDD*�n"""""""""H7‘ d{³;p' ð§Ý]miÔ¸!5Ü܈OH ütûüNppÈÍˆˆˆˆˆˆˆTÜ*P@€?C‡ÁÃݽPž‡»;îîtìØž¡C‡ðÓOËx¹)àVAþï‰ÇèÓ'€“'O±}ûŽ„%&&OOZ¶ð£[·®øø4áÙÑÏШa¾þæ»›Üs©H ¸U€¼Á¶/¿ü†�›¶*óçŸÑüùg47m!°wOžzê KÝDDDDDDDDîzhB9ø[gïÿçÃ"ƒmmÜ´…÷ÿó!}úà_ªcΛ7›þóM«Ë¯ûu5�?öh©Ž!""Å3tžŒ¡ï �'—«�º5L|02ކž¦ 뛈ȭJŸy""òW¢€[9 :rf¶:tÄêz‡áË/¿É׆ˆˆÜ&ª5Èÿ³Œ&�tfØO&¼T1ý¹…é3ODDþJp+‡€<ÜÝ9yò”U3Û Ú¸i 'OžÂÃݽԳÜDDnuî<òÈpî¿ %ÍÎΖ!C3nÜXž}võêÕ-²nIå¬m#·ì”)“xðÁÂØxé¥hÙ²E¡tGGG^yåe¼¼¼ÊpÖÖó©gÃC›aëRƒ~�ŒøÕI/¶ì�{س'”={B9p`ÿú×ÛØÚÞø»BÔ«W—M›ÖUê1¼¼¼8p`®®®¥®[¥JŽ?¬Y3+¥oå^—]»B,[ïÞ=KÝŽÑhäĉ° ï_qcÙ¬YSþýÝ=Î×cÍû²¸1öö®Çܹ³ æàÁ}Lž<Ñ’W¥JfÌø€;¶ñ믫hßþî éKEºÑÇ+�Ò|扈ˆÜ p+‡vwµ`ûöen#·nn[e±î×ÕŒÄÚµ+‰ÿƒÍ›Öѹs§|eúô dûöÍœ>uŒXL“&�-y666ŒDèŽmœø#Œoÿ÷ÞÞÞLšø"[6¯·|±srrâÀþßxä‘áeÜù{ñÐCCINNΗ޿?™5kk×þʈÃqpp(T¿¤rÖ¶àãÓ”#GÂhܸq‘ªnÝ ÿ±£sçNØÙÙ—ãì­óÂÓuɲubó[Ì®uê—Xbùûº0hкt¹‡'Ÿ|¢ÒûXV¯¿þ uëÖ)Sݘ˜&L˜HbbÉãQ”{ïíÍŠ+ 膽½õ×°<ý½ï¾ûéÜÙß²m*Ãà*Kqc9räc¼õÖ;en÷fŒseiÞ¼_~ù5]»vgøðG9ò1zõÊš¾óÎ[œ?ÿL�ú&_|±ç›ÝåÛVi?óDDDnw ¸•C£Æ 8v´ÌmäÖÍm«¬zõìÉË/¿B‡Ž]Ù³wŸ/˜‡½��%¿VíZŒý<={õåbL,¿üüŽŽŽLšô"÷È3{–{ûô'==�ŸZ‚½�3g~‚­�-£þö4“'O$,ì(‹/-WEäÎvøðæÏ_ÀÉ“§-i4kÖŒààí˜ÍfΞ=Ç™3g Í2+©œµmäjݺ%ûöí'22ŠÆ�ÊOIIÁǧ‰eßÞÞž-|‰ŒŒ¬Ðñ(ȧž‘ÁCš|ž7¿®Â–£ÕèÛÑ¿º×ŸñÅŠ+iР~¥ö±<:wsÙYYYlÞ\¶ Õ áÛo±oß>zô°º^yú{++n,ßxã-RSSËÜî�4Î6lbçÎ]˜ÍfŽ;ί¿®Ç×·..ÎôíÛ‡™3?Ál6³{÷o„†îäþûÝì.ß–Êó™'""r»RÀ­j¸¹[æ6rëæ¶UVßÿ#"66–�?žMÍšž4Êóåò›¯¿åèÑcœ={–ñã_Äl63xð ìííóüsLš4…£G�qæÌYÆ�ÇÅÅ…~ýû’ž‘ÁĉS˜4éEúô dø°‡xñ¥Iå꫈Üù¢£/b6›ó¥¹¹¹�ÉtífÙ‘‘Q¸»»ãêêÊ‹/ŽÇÓÓ£Är%åäàà€‡‡QQç9zô(¾¾¾…Êlß¾#ß’þöíïæÀ�ßÉÌ̬�q(Î ÏÔÃÖ”‚=©˜L&ìÌTñ¨EPßëÏøpuu¡wï^lݺ €^½z²qãZvîÜÎgŸÍÅÕÕ€¶mÛ°lÙ�lÛ¶‰Ÿ~ZJÕªUèС=+VüÂŽ[ùñÇ%–€£Ñh$$d ÿú×Û8°Ç²4Òß¿ ëÖ­&$d }ô�¥^^^,]ú¿ý–½Ì5(h Ï?ÿ,-Zø²`Á<>úè¿¥>fÁ¥ÅÕ-ÈÅÅ™¦M}Ø¿ÿ+W®fÀ€û,yµjÕbÛ¶M–ýnÝüY¸p~©ûk­ùó?åᇇZö_{m O=õÅŽY^%õµ¤úE]okÇ2÷:Ì›7‡;¶²uëFÚµ»«Ôã\R;E�sQï][[[Þ{ïBB¶°uëF¦L)úÿŽ/‹k×Zžžž„‡Ÿ¡aÆDDDpõêUKÞÞ½ûðññ©ð¾uíJºÖ¥ý�ÌËh4²cÇV>ûl.;vlcýú5Üw_?¾þú vïÞÁŠ?ç›…Xžk”Wy>óDDDnW ¸Ý�Î�;GJJ NNNEæ§§§³k×nš5mJà °µµã÷ƒ‡,ù)))ìÙ³�¦9ÿ©Ü¹s?ÿ²œo¾þ‚×§¾ÉŸFß°s‘;‡³³S¾/¯©©©T­Z•””BCwqùrb‰åJÊ+È×·9Ç�àøñ?hÚԣј¯Ldd$™™Yx{×Ãh4Ò®][öìÙW�g]XöLH8‹KU3&“ Ç,ŒŽÎôíd‹o1÷5úé§ïÙ¼y=‡ígéÒظq3^^^¼ÿþ{<òÈHºvíNdd$AAcpvvbö왼ðÂDºwïÍÓO�&%%…jÕªñÙgs7îºvíÁÒ¥?2oÞË1êׯ϶mÛi×®#›6m¡zõêÌ™3‹gŸƒ¿O.üÂR6..Žñã_¢cÇ.öã¹çFQ¿¾7Ÿ~:Ÿ°°cŒõ&L,õ1óº^ݼú÷ïǯ¿fßËjýú ôîÝ ;»ëßç®´ý-hÍšùîá°dÉÒ|3¡úõëË/¿,/v̬U\ýâ®wiƲnݺ¼óλtíÚƒ/¾øŠiÓ^/²×çâÚ)8ÎŽw{õê‰��þþ=éÑ#�?,|Ÿ¸’ޗŵk ???|}›³qãF<==¸|90(!!�5òÿ�´¼})îÚw­Ëò;YP�:uxóÍ·éÚµ;Ë–­`êÔ×?þEºt ààÁCŒ7¶Äþ[s�ò*ëgžˆˆÈíîÆßqùŸ�€‡»;žžeByzzXÚªHg–”žžÎÕô«8TqÀh´ÁÖh$=++_~Zž/µg°±±!--­Bû)"©©©T©R%_šƒƒÉÉW0™L„†î¼n¹’ò jÙ²µkׯÏÏGÇ*4hЀӧOç+B·nþüñÇ„…#=½r¿ü�¬:¶IÀ”ŽkU0™L¸æÄ «¸×&¨ï9‚¾ô(ToèÐaÄÄÄòóÏßsåJöùvêÔ{{{fÌÈžåâææÆ… Ò±cG>Bxx8—/_¶” #""rC/¿ü"^^5‰��#--ÍLèØ±=‡¶”?tè°%Ïd2áêêÂðáS§NmL¦L¼¼¼8{ö\¾~—ö˜ÖÖ�޾˜¯ì�!ƒiݺƒ €œ@H×®]-3­Ušc’s·‚3Ý·lÙÆ»ï¾ƒ««+Mš4&,ì(—.e?•±¨1‹Š:oUߊó&Mšy½­=¯ØØ82228w.{)õŠ«7®è ÕõÆÙÚvŠ{ï~÷Ýb7nÈ{ï½ÃªU«‹¼OnIïËâÚ½žÜÀפISÈÈ0‘�p‰êÕ«ç+ãââBllþk]Þ¾÷»ZܵnÞ¼Y¹'322,ï¹U«Ö0tè$äü?tõê5Œó÷r_£¼Êú™'""r»SÀ­ÂOGàáîNË~e¸µlági«2 y_h×î.Ö­ß@xxf³™Î÷t&8x;ä,7h{W¾þæ4mêøqcxóÍòï÷þEpðöBõ¹žøø<==°³³%##{IhíÚµ-_­)gmU«V¥zõj|ðÁG–´öíÛѲ¥_¡€[xx8��½ð÷÷gÁ‚…•vþMêX R³¿Tç~ùt©šýϱÑщ~�Œø®KçØù¢oFÿñdzyûíi,[¶‚¤¤+ÄÆÆòøãOæ+3xð ÜÝ �µ³³#)éZpÒh4âàà@zzF‘ÇrppÈW>¯6mZ3}ú»L™ò'OžÂÛ»^‘åJ{̲ԭQ£õêÕ¥mÛö–´Ç”AƒXAÖ>Õµ<ýÍ•™™É²eËéß¿/-Zø±dÉ÷PŠ1+®¯ÅÕwqq.òz—õ¼22Š:[3ÎÖ´ûÞð÷ïI¿~}=zAAcxä‘‘ùòKz_×nÁÙ­yÙÚÚ2{ö',_¾‚mÛ‚� iS-÷»kÓ¦5!!ùƒKeéK^Å]»â®uEüNæUðå}?”ç媈Ï<‘Û•–”–Ãþ¿Э[×2·‘[7·­ÊòÜs£iÛ¶ L›ö:F£‘Õ«×påʾ[´„ÿ¼ÿíîj‹§§'ïüóMbcâØ²eF£‘�g~ȬYs˜óé<ö8À›oN­Ô¾ŠÈ�)55•'NÒ£Gw ^^^4jÔ€°°0ŒF#�:uÄÎήÄr%åååççË©SáùÒNœ8EóæÍ±±)üO߆  )´ ¯¢½0¼*¶é‰`ÊžAìTl ™TËsù*µK¼¯ÑæÍ[HNNfÈ�ûÙ»w/5kzØ rŽŽŽì߀öíÛѰaÈ @ìÙ³ÿ.øùeßÏ®ÿ¾œ:uÚ2»¥ ß~ÛK@€¿¥|ãÆ×žpíççËÅ‹1–6^^5-yñññ–û@•ö˜yY[wàÀû |¶lÙJÿþ}1�ÄÅÅR«–—e¶cÁ@DEõ7¯Å‹¿gÈ�û騱ƒ%ˆSܘ™Íf ÃuûZ\ýâ®wYƲ$×çëÉ;ÎŽw]\œqrrbÙ²åL˜0‘N�:ú�-é}Y\»yÇ8/fÎü�¨¨(fÌøÄ’~éÒ%6mÚÄ‹/ŽÇ`0Т…þþ]Y¹ru¹û’Wq×®¸k]Ößɲ(Ï5ÊUŸy"""·+Íp+‡àà†‚�O{÷dã¦Ò=U-°wO||šGppH¥õ`ûö¾ürÎNÎìܵ‹‡³ÌyõÕ©¼1õ5¾üòsììlÙ²5˜�<ŽÙlæùçŸÃÉɉ¹s³oØüÊ”× ÞÄO?þBðöÊí³ˆÜyV®\ÍàÁƒ CJJ ‹OF† WWWü '&&¶Ør%µ‘W«V-Ù¶m{¾´ÄÄDRRR¨_¿~¡qgˆˆ8S©çîSÏÈÝóÏà°·ƒ—FØâ”g•¬ÑÑ™~�lñ[ŸÎѨ¢g|Ìœù ¯¾:…åËWòä“ãÍ7§ò ÿ -í*3fÌ$$$”‰'óå—ŸséÒ%âãã;v</Æ0aÂDfÏþ€sç"3f\±}ŽŽŽfâÄÉÌŸÿ)ééWÙ»w¿åzkÖ¬¥wï^lß¾™¨¨ ÄÅ] ÜÌ›7ŸiÓ¦2räc<ó̳¥:f^ÖöwÈ�ÁÌœùI¾´¨¨ó$$\âž{:Ê+¯¼ÎâÅÿ#:::ß2¼òöwåÊedf^{ÿ½öÚ46oÞÂéÓ§qvv&$d‡å!Å�YVVK–|Ïòå?ñØcÿWl_‹«î\d‘×;ïòèÒ^û¢\oœwîÜ]bý‚ã\Ô{÷êÕt¦Ly7·j$$\æ•W¦’•ç–\ç}™”t¥Øß‰¼cœ»tóÑGGðàƒC8{ö;vlàôéFŽ|’—_~…>ø!![‰��çé§GzºkYû’«¸kWܵ.ëïdY×k®ü™'""r;2XQ¦¢Û3\çuÞ4›íÁÓõ�¸Šˆ”@Ÿy"""ZRZ!¾þæ;úô ä©§ž [·®lß¾ƒ#aG-O.óôô e ?ºuëŠ�OÈ ¶åÖ‘;×¥¤,¦ÿ/�êVþ�++‹¨3ŽÄ%]ÿ¾X""·}扈ˆhIi… ðgèÐ!x¸»—X.6.ŽŸ~Z¦™m"R"-)‘[‰–”ZO3Ü*PppÁÁ!·âÙJ IDATøÓî®¶4jÜ�nnÄ'$~:‚ý~W MDDDDDDD䦀[%È ¼‰ˆˆˆˆˆˆˆÈ_�š """"""""R�p©@ ¸‰ˆˆˆˆˆˆˆˆT ÜDDDDDDDDD*�n"""""""""H7‘ ¤€›ˆˆˆˆˆˆˆˆHRÀMDDDDDDDD¤ÙÞ숈ˆÜŽ �'Cµpù æ]ÓovwDDDDDä¢n"""eQ­AþŸ""""""94ÃMDD*…��-  ~}o®^½ÊêÕkˆŒŒ¢F�Ü{oo<==qtt$""‚+VqõêU«Û¸^^^/½ô™™™˜L™„††²wï~KÞÚµë8r$,_GGG^xa ~Ettt…ŽKûöí˜8ñE7nŒ££#GŽáïâòåËzœ¢xyyñ믫èÞ½7‰‰‰•ÒV³fMyæ™§˜2åµ èñ­Çh4rìØ!š6mq³»"""""·0Ü*C›ÎàÓ j×çjÙiW.Ã…³pò0Üu³{("Réú÷ïGbb"³fÍÁÛ»#F gÖ¬9˜L&¶oßÁùóç©R¥ }úÒ½{ë×o°º�«W¯–˜WЂ ¹r%wwwž|r$qq DDDЭ›¡€[çÎ�°³³¯ð1éׯ/'N`Ò¤)üþûAìííñõm~C‚m111L˜0Ñ {ýõWøâ‹¯ˆŠ:_î¶r�ùo½õN…õYDDDDäv¤%¥©Mgû |š·W7°±ÉÞ\ݲÓ>ž]¦Mç›Ý[‘Jãàà@³fÍÞŽÙlæìÙsœ9s†–-[�˜˜ÈùóÙž´´4ÃÅŹTm””W’¸¸8öí;@Ó¦M,i)))øø\Û···§E _"##+tLììì˜6í5F�~ž~Çl6sõêU~ÿý`…§$YYYl޼Ų߹sgœ� �}YÚÊõÆo‘ššZ®~ŠˆˆˆˆÜîp«(}Φ¹ºAT8†µK`Þ;0}Bö6ï�ì´¨ðì2Ï®#"rrss#>>“ÉdI‹ŒŒÂÝÝݲoccCýúÞøûwáàÁC¸ººòâ‹ãñôô(± kÚ/޽½=W¯¦[ö·oßA@€¿e¿}û»9pàwË2ÔŠâããC|üµ™uyyy±téwüö[(ì!(h ä,a Þ̬Y3Ùºu#7®¥}ûv%ÖhÛ¶ Ë–ýȶm›øé§¥T­Z£ÑȉÙ³ùžþYZ´ðeÁ‚y|ôÑËÕ@‡íY±âvìØÊ�?.±1�F#!![˜7o;vleëÖ�´kwW¡ó·µµå½÷Þ!$d [·ndÊ”I–¼^½z²qãZvîÜÎgŸÍÅÕÕ£ÑÈŽ[ùì³¹ìØ±�õë×pß}ýøúë/ؽ{+VüLݺu®;¶Åõ­¤ñ¹-)­}†Ý0¬]‚yæ‚eâ/bŽ¿ûC0´óÇÜ„¥ë¸á]©LÎÎN…–v¦¦¦âååeÙöÙ¿áááÁéÓá\¸ð'äÌ6 ÝÅåˉ–{³Õ†5ídccCÆ ñõm΢E‹-é‘‘‘dffáí]�óç/Ю][,ø‚¦M›–{òjذ>qqqÅæÇÅÅ1~üK\¸pwww¶lYÏòå+ˆŠ:OýúÞ<óÌhNœ8Iß¾}˜;w]º['>>žÙ³gòÄÏNµjÕHIIÁh4ZŽ÷é§ó0`'¾Ìñã`kk[涪U«ÆgŸÍåÁ‡ÁˆÙ7o��ý¨[·.�<2’sç"yê©ÿcÚ´×yà�ütêÕ«'>>>øû÷„œÀ(9�¯÷ß�î'..ž©S_%(h Ó§ÿ—:uê0lØ£DE�'(h S§¾ÆÀ�CHLLäí·§1nÜX¦Ly­Ä±-®o%Õ¹ÜÊ«Mçk�³%s0Ÿ>F[¸ÛZtÏÚÙy1àÈo°æý!p9FŒÉ®}®T÷u›7o6¾Í›Ó³WÌæB¡=Z·nÅÆ kyàÁ‡Ù±cg…�ªˆˆµRSS©R¥J¾4’“¯XöçÎý ;;;ZµjÉèÑÏðÉ'Ù÷w ÝyÝ6¬i?¯Q£žÁdÊ$66–Ÿþ…˜˜Ø|ùÁÁ!tëæÏüAXØ1ÒÓÓ‹l§<¢£/Ò AñO45™L¸ºº0|øÃÔ©S“)///¢¢Î“žžÎ‰'X¿~ï¿ÿ ÔçÔ©ÓEÖiÒ¤ ‡!<<Àª{Äw|kÚêÔ©aaa–Ù{K–,åå—_ÄË«&±±qdddpî\öÝ+V1n\áÙb'Nœ qㆼ÷Þ;¬ZµšíÛwXÚ¶··gÆŒ gödn€6##Ã[µj C‡>@BB«W¯a̘¿_wl‹ë[IuDDDDD®G·ò ¹3ÛN—j0üïP³nþrudomî�ïçÁécÙuú�Èn£”Rðóó¥Ï½�¬+â&ããÿT¾sù òðð oß{¹rå Ë—¯À`0Э›?­[·ÂÉ©* ,YòIII7»»·¼øø<==°³³%##{ÙgíÚµ -§ÌÈÈ`ÿþô耳³s¾`NImXÛ~®Ü‡&'<<œÀÀ^øûû³`Á ƒ‚Žÿ/¯štìØ�ß~ÛS(¿M›ÖLŸþ.S¦¼ÆÉ“§ðö®Wd;f³“)ƒ«W¯[ÇÅÅww�Rõ¯ûlÿýïG,[¶²P)Zjj*'Nœ¤G�î ¼¼¼hÔ¨aaaxyÕ¤fMOÈ šøùùb6Cbb"F£‘N�:bggWb%å•Õ†  !%%¥GâšäädÞ}w:sçÎ"  666ØÚÚÒ¢…äü!åâÅ: €—WMK]GGGzõÊ^jÙµë=$&&u¾Ø:û÷ }ûv4l˜=£®jÕªEö)>>ÞrŸ³ò´µgÏ^üý»àçç @ÿþ}9uê´e¶™5\\œqrrbÙ²åL˜0‘N�:bccÃÞ½{©YÓ“ÀÀ^�s¯7GGG«Û-éÜÊRÇl6c0 üDDDDDòÒ ·òði€áÐîì{¶Ýí_r°-—W=h×ölË®[·Qv[¥˜å¶té<úèî¹§3;w^«7nÜ>ÿüKžyæ©|åííìxõÕÉ r?ŽUª°zͯ¼ñÆ[$'?ãCä¯âСÃlܸ??_Ë�ÞhÕ²%³fj¹1LLÌMîéíeåÊÕ <ˆ  1¤¤¤°xñ÷dd˜ptt¤{÷jÔpÃÆÆ†‹cX´h1f³'''ü '&&¶Ø6Jj¿¬""Îq¦G °o¾ù–‹c˜4éE>ùd&SGŽeìØq¬Y³–Þ½{±}ûf¢¢.w-Xe2™=úþùÏi\¼ÃsÏ�Ál6[çܹH&NœÌ—_~Î¥K—ˆ��gìØñ…–ÊΛ7ŸiÓ¦2räc¼ðÂKenëâÅ&L˜ÈìÙ[êŒ3®TcÓ¼ys¦Ly7·j$$\æ•W¦’••ERÒž|òo¼ùæT^xᤥ]eÆŒ™ìܹÛê¶KÛÒÖÉÊÊbÉ’ïY¾ü'{ìÿ¬Z®+""""=†›Ðžá:¯ó¦ÙäI+¸åæçîÛØ €1g³ÍÙŒ€k³f-C.]*ç©cßÊž�6O½µ‹¿?O>ç#à«¡FMxîuHL€ÙÓ¬ª:oÞlNž8…Éd¢S§Ž<úØÔ®]‹-[6й³?Ûƒ·ðìsÏ[îáöŸÿü›Zµ¼˜0aööv|òñGœƒy×ôJ;ŽÑh䨱C4mÚ¢ÒŽ!""""b�ÄÄÒß^ÇÍÍ�ÈÈÓ]€D 0ål™9›È*°™ó¤“g?ïFž|ò¤™‹H+øº8Ö”±Š–”–‡sµìŸ—rž:ç^Ëúºµó×Ím«~ñ%;v eËì/aÏ?ÿ‹-áÒ¥ümwqqቑ�ñßÿ~Dll,çÏ_à½ÿ‡ûîë_êcŠüU8;;ãááA�:µY¾|%;wíâ±ÇF»4OþzÌ»¦c^7¦Rƒm"""""r{ҒқŜeE¡’]¾œÈ_|Å?þ1–)S^gĈaôèX¨\“&�°±±á‹…ó-O5µµµÃÅŹÜ}¹S%§¤�ž‘Á–-Û0›Íœ:uš‹cð®W�ãüq³»'""""""·0ÜÊãÊåì%¥Õݳ—”Æýiý’Ò¸èìŸÕݯµUóæ/à·Ý!dš2Yµj þ]¨Lîúõ¿_÷ ±RBBNNU1 –@õÕ´«dU@°\¤4233µœTDDDDä6£%¥åq!û^N†M³÷ÿf}Ý#{ò×½P¶ûBÅÆÆòÝwK:ôfÏþ´È2‘‘‘\¹r…~}ï-Ó1DþŠ’““9{öÝp«^�Zµ¼8w.òfwMDDDDDDnq ¸•ÇÉØ[wÊÞß¿¢­ø2 ûBò×Íi«,þûÁG }h8§N�.2?#ÃĬYŸòúë¯Ð½{F£‘ºuêp×]mÊ|L‘¿‚_~YN�:µyaü8FŒÆ�?ýLZZÚÍî–ˆˆˆˆˆˆÜâ´¤´<î‚€P·†vþ˜÷‡À÷ó`ØsàU¯è:Ñ‘Ùe²2³ëÔm”ý„Òƒ»ÊÜ�„„ËÓH‹óÑŒ�IKKãÝwߦ^ݺÄÄÄ2kÖ8XæãŠÜiÂÂŽvÔ²Ÿ––Æ¢EKnjŸDDDDDDäöc¸ í®ó:ošMž´‚[n~î¾M�Ís6ۜ͸6kÖ24áÒ¥ržjŽ6�aàãÙ¯—Ì�ÓÇÀÆwûCËמFsÂöfÏlËʄƾ0bLvÞªoËp‘;SZZ Y™7»Esuu¹Ù]‘,11©ÔuÜÜ܈Œ<ÝH2SΖ™³™�¬›9O:yöónäÉ'Oš¹ˆ´‚¯‹cM«h†[yÜ^ÞС;Œƒaí’ì™n{¶eoE0´óÇÜDöΞm ¶‰ˆˆˆˆˆˆˆÜAp«ëÈþÙ¡{v ­u' ‡vc>s.ÅeçUwÇР)æÖ�²—‘’lË­+""""""""wÜ*Êú úœåžn– Z–y‰‰ ¼Z3ÛDDDDDDDDî@ ¸U¤ƒ»²·6�Á§Ô®ÎÕ²ó®\† g³ŸFª@›ˆˆˆˆˆˆˆÈK·Ê�x‘¿+ʈˆˆˆˆˆˆˆˆˆ•4ÃMDD¤”ªùcô®Næ¹K¤Ì ¹ÙÝ‘Rrrr"99Ù²oc€U�tv±%3#ƒ¹qYùž//""""RZšá&""RJFïêù~ÊíåŸÿ|“6mZÐÔ³ßÜÕ€9[0ÌÝŽ®ö68 7»‹""""r›SÀMDD*…‡‡;�<2œûïhI³³³eÈ�ÁŒ7–gŸE½zu‹¬[R9kÛÈ-;eÊ$|pH¡¼—^z�–-[Jwttä•W^ÆËË« g]¼ö0xðý…ÒÝÜÜ8yò(-Zø•Xßh4râDX‘y^^^8°WWW«Û°¶Îõ¬Xñ »v…°wïNΞ=Å®]!ìÚÂ;ï¼Uªvêի˦MëÊÜ�ãÇ�àäädUÙI“¦pøðü=ÈØYŸÓÐÑ–¤óGÉHOãÔH1›­h%¿öàééayýúë¯ä˯Zµ*{÷î+ƬJ•*̘ñ;vlã×_WѾýÝ–vJÊóñiÂW_}Îÿ;oïzÌ�;›ÐÐ`ÜÇäÉ‹íqeKÓ†ˆˆˆˆ\£%¥""Rá{áããÃùóçó¥÷ïß�ÄÄDfÍšƒ·w=FŒάYs¸zõªÕå¬mÀǧ)GŽ„Ñ¬Y3lmm1™Lùò»uóçÈ‘üA¬Î�;agg_¡ã‘kܸ1,_¾"_Úßþö4ŽŽŽ¥nëõ×_á‹/¾"*ê<111L˜0‘ÄÄD«ë—¥NQî¿ÿÈ ˜ýøãR:wö/W{ee2e�‘‘Qdž³³W®$c4±··'==�ûG�¥÷°á¤ÄIJ¯MwZmþQ‰fö\Í¢ôá¶Âú÷ïË?üıcÇ å]oÌÞyç-Ο¿€¿:vìÀ_,Àß¿;IIWŠÍ C``oöï?€!g†^óæÍøò˯ٵk7Í›7ãûï±{÷6oÞR¨OÅ•5m¬nCDDDD®Ñ 7©p‡aþüœ>>_P$22 www\]]yñÅñxzz”X®¤¼‚ððð *ê>>%æ=z¬ØóÏåééIxø«úQ\ÙÒ´!"""òW¦€›ˆˆÜÎÎN…–}¦¦¦RµjURRR ÝÅåˉ%–+)¯ _ßæ?ž½œïøñ?hÚԣј¯Ldd$™™Yx{×Ãh4Ò®][öìÙW�g�ß¾}ûÉÈ0ѱcììì1b8_ý¿R·óé§ó ;ƨQÏ1aBá{jÕ¯ïÍÌ™ŸÐ£G Ó§Àܹs°µ-þ.ÎÎNÌž=“^˜H÷î½yúéѤ¤¤Çøñ/ѱcûñÜs£¨_ßÛê~V«V�Ï>›Ë¸q/еk–.ý‘yóæP½zuæÌ™Å³ÏŽÁß¿' ~a©WÜq¿ÿþG `)ׯ__–-Ë^¢›’’Rd\ 6¼íâÌ«Nö ñmÎ]÷?È…‹Ñ˜Ò3p¬UŸQ£GñÛ¹‹œÙ¿‡Ë§ÿ°úܬñöÛÿ"(èyÜÜܬ®ãééÁåËù—ù&$$P£†[‰y×ãç燯os6nÜXæ²¥iCDDDä¯N7¹!RSS©R¥J¾4’“¯`2™ ÝIzzz‰åJÊ+¨eËÜu×]�aôè¿áèX… *B·nþÜuWÂÂŽ‘žž^aç\”O>Éžå6|øÃ¬^½–+W’+üéééœ8q€õë7`ggGƒõ‹-ß±cG>Bxx8—/_Àd2áêêÂøñãxùå—0™2Kõ0‰N�:FDDK–,¥zõjxyÕ¤cÇö>|Ø’wèÐaK½âŽ»iÓ&Ú´i�³³­Zµ$""‚øøxÈyä`0ð²KUŒ™W¹œ™AÊ]¨bcÄ9ò,—S’I¾šÁ†ƒÇ9¼w7þŒ�O“"“M›ú°fÍ Ë–÷A%‰‹‹cΜyL�úªÕc–�p‰êÕó?ýÖÅÅ…ØØØóJ’P�4i ¦ϧ`Ù륋ˆˆˆHÑôй!âãðôôÀÎÎÖò…½víÚ–€‹5å¬m£jÕªT¯^�>øÈ’Ö¾};Z¶ôãôéÓùʆ‡‡Ø ,XXiçŸ+8x;S¦L"(h ~zjI3ÑÊÂl6c2eùP‰\..θ»{JoÓ¦5Ó§¿Ë”)¯qòä)¼½ë•êØvvv$%] †�FHOÏÀÁÁ!_ž5ÇÍÈ0±ví:iÙÒ�ï¿ÿÑRçÃgj'3[ÒRhe4ð§WU<i7ë}¢êys¢®7;öy&‚È[0geY‚”�8q’ûî+ü„Yk,Z´„aâsçNV•� iS-AÄ6mZ²£Ä¼âØÚÚ2{ö',_¾‚mÛ‚K<Ÿ¢Ê–”.""""ÅÓ 7¹!RSS9qâ$=ztÇ`0àååE£F  Ãh4Ò©SGìììJ,WR^^~~¾œ:ž/íĉS4oÞ›Âÿômذ‘���b—%V´wÞy�Ù³?µÌÎÊK­Z^øùùä p™Íf ƒeYl||éK§õ«‰N»ÂÉŽÝ9yì8õï#rû&ÌY™ØÙÙ•êܬe6›™2å5Þzë «Ê_ºt‰M›6ñâ‹ã1 ´hᇿWV®\]b^Qlll˜9óC¢¢¢˜1ã“�[\ÙÒ´!""""×h†›ˆˆÜ0+W®fðàA�!%%…Å‹¿'#Ä««+þ„‡‡[l¹’ÚÈ«U«–lÛ¶=_Zbb")))Ô¯_¿ÐŒ¸ˆˆ3DDܸÁ‡†î$4tg¡ôŒ ¯¼ò:‹ÿ�èèè|Ë,³²²X²ä{–/ÿ‰Çû?æÍ›Ï´iS9ò1F�~>_;&“‰Ñ£ŸáŸÿœÆÅ‹1<÷ÜÌf3f³ÙÒÆOø!![‰��çé§GYf´•”WУ�ŽàÁ‡pöì9vìÈ~zééÓŒù¤Õe׬Yku""""rMéžU_1í®ó:ošMž´‚[n~î¾M�Ís6ۜ͸6kÖ24áÒ¥ržjÙØØ@UWR+æ)h"rçJKK!«r–Yn®®.7» 7UÕ ŒÞÕɨPÀ­qãFtéҙ˗+à ò{÷Ýé7µ¾È�d01üa/^JdTmÛ¶áá‡ä£ß쮉ˆˆˆˆˆÈ-NKJ+A·ÖFVýçÿٻ󰪪õ�ã_8�$Å5Er@ÅYgM+-§nNWÅ)³4m2«k]oåOÍ1ÓÊÙ2QÄ14E@pDPÔÃÌùýœ8Lä fïçyö#{­½Ö~×>N¼¬µ¶�ËÌùzr5vUñF¿d>™rƒ&�Õ|³Ó¤BÉ6€-[¶Q¿~=Ú¶õÒ*¿“á IDATŸ2ekÖüHFF†VùÙ?#èØ±ƒæÜã9×â/—Ø·¯ï$fLŸÊ �¸žËÂÿ|%,ݷןqãÞf÷®\¹|�€€]x¶ð(5æ¢í&ŒK`àDGŸå—Ÿ×Q«V-Œ•JæÏÿ˜Ðã�ÄÇ]"$ø(¯½6¤œOHˆŠQ()�Hº{€‹cP«e šB!„BˆÇ“nzd`Œ4aêkÆ@NŽq×�9uÎ w êdйU Æ™0ý»ô ÝK¥JcÅŠÕL›êËñã¡Ô¬ù}úôÆËË›·ß~ë‰û^²dæÅ–”–ä�aCyö\˜åîÝ» 4ð±íŒŒŒ˜>m ïΚÍéÓg¸qã&¿þ¶•JÀÚµë¸p!š¸¸x¾ûn ×®%àéÙâ)ŒHˆ¿ìßÇ55jD�¿PÕ! !„B!„ø�„›ž¸»2c¨±æüî=#.śЯë=ºz=Àå…Lvì·ÀÄDA³:Ù¾çýû©¬]»Ž©S'ckkËС¯±|ùÊ ÷û¤rss §~ýz�½¶víZXX˜súô™ëíìì7îmV­üžíÛ7ãà`�Y‘·¦ Q™ŒŒŒ?n [·ngÑ¢o¹|ù ÿ=žjÕ*ð¶!„B!„ÿ²¤TO&½bŒ²ÐÓ´·Íƽ^:ë~µ§Oçûxy<âÞ¦æ&ŒhHÈ…tÒ3+vß+Wv"ˆœìvïÞÃÍ›·J½ÖÀ bûÆé"''‡´´´Ç^gm•7Åϰ„˜ÌÍÍ Øã‡Ÿß.þ»è¯³iãO•¯¥©_¿·ïÜ!!1€À `êÕ«K½zu‰Š:_Õá !„B!„x†É 7=04Ÿ¶Ú¹Ëˆ(3ƾžD­š™ø±æ\Œ)îõþÚ·­§—’ÿúV|¦LRR6lfðàA,]ú}©×©T*6t+WßJ#åc¯±´´Ð:÷ôlAô…‹�m�¡¡!%¼d¡…Gslmm™ÿÙDG_äáDzY½xê>xˆ³“ÎNNX[[QÓ©&ÉÉÉUšB!„Bˆgœ$ÜôÀÆÂkó¿fjefðÓ;â®cnšË€î÷8tÜ’¢9£×º*iT»âÁ}Ãà!¯sùò•R¯9q"Œáo¾�‹‹ .ÎÎŒ9\«>99™Ú®µ4³à®'^§];/\\\033+µßwß}‡^>=±³³cÖ»ï`aaή]»Kì³°””üýøÏ— ps«�……>=_ÆÜÜœ[·oceeÉ[o�ÂÎÎŽ!ƒiö©âiI¼~�ƒ‡þ`È«¯ðîÌŒ9‚½{÷•9‹T!„B!„@–”êÇ£45ÙÙ`œ?!ÌX©æeïTÖlµÇÔ$—ÛÉFÔvʤhÞÉÀZ4PŸ[¡û§¤¤|¼Ìk>�ÿ9ß}»ˆÀc‡¸yó6n"#ã¯õ¬ËW¬â¿_‰{£†Œ~k,[¶n§G�n;z� àFŒ(ù­§G�ã£�æâèXƒððS ô™YY%öYÔô3ù|Á|üvþŠRiÌÙ³ç8užK—.3ÿ³/xÿ½™|0ç}Ž=ÆáÃG+ôŒ„x§NEpêTDU‡!„B!„âoFß›zéÒŸÁc¾.\fX¨¬èQP_pnXä0ù‡Qþ¡¬6l’rï^‡ªmõlStÐÎ_FF™q$Ì‚�ÓhÛâ!&ÆÅ—EöOEhTŽ^cyZöíõgݺŸøeÃÆªEˆçRzºŠÜgô¯++˪¡Êx½Ö®p?uèªG!„Bˆ§&5õA¹ÛØÚÚ’�p¥� äÙùGNþ¡r‹êBå:/|P¨žBeêÊŠ~]½íg%3ÜôdÞÊtÜë˜ÑÐå¯%¢îõÓ©í”Iu›âo$U«aµ_'þ¦É6!„øÇ²vÕþU!„B!Š�=Üôäf²šžÓUÌ[™ÎÑÈl’îå¢Päj’mj5ddÁ¥„\~Þ›Eÿ÷UÌ]™®¿Ô©BÇ’%ßi•שãÊÑ£‡Šõ·g��5`ðàA:´�“'�³oŸ?3gÎЩï’<îÚ–-=Ù¸ñ'BCƒ8sæ7þ„µµ5~~; âäÉãÄÇ_&44ˆÐÐ ,øT3~{¶lÙȰa¯kõieeÉéÓ'Qæ¿ê[—xu¹_xxˆ¦<44ˆnݺ¶?€-<˜ü † ÊäÉSˆ�¿F½zõX¼øÔ¬ù |YêóÕµmÿþ}ù÷¿Ç3kÖlΟ¿€R©¤qcwnÞ¼Yj¿Oú{H!„BT™áV‰¦©¹s/—[ÉjîÞþ’m=}úÈþmBˆ�={Ž•+WséÒ•2Ë 311¡aÆ;ˆZ­&>þqqq4mڤ̺’4kÖ”S§"HHH¤^½ºÅêU*nnõ5çÆÆÆ4iâNBB‚^Æ_–Ë—¯°aÃ&ºtùkÆÕ Aùå—�œ:uŠÎ�;êÜW‹œ9ó'qqñ�ÿ�K—.k]Sž¾K»V©TòñÇs7n"‘‘§Q«Õdddpúô™rŒüýhß¾�ÖÛ¯{÷îÅÎ�»ž(ÞòÒu}ô)ÿùÏç%¾e»ZµjÌœ9�‰' €+W®0vì¿9r/¼ðB©÷×¥­‰‰ óæ}À¸q‰Š:�Z­&33“Ó§ÏpëÖíRû®Ìç&„B!ÊOnB!ôîÖ­Û¨ÕêÇ–YYYñÎ;Ópp°ÇÖÖ–ääd­Ùh ‰ØÙÙ•YW”‰‰ ööö$&^çüù󸻻»&00˜ŽÿšÕ²åKDFž&'çéì«iffŠJõKK 4p#""’]»üéÓ§·Îýœ8Fß¾}?~,¶¶¶ÅêËÓwY׺¹¹‘œœBlll¹ÇZXrr2'Ož¢K—N�ÿYyz¶ 00¨Üñ> ]ÇL\\ÏÎ�»ðñé @§N9rä¨&‘Z‘gQÔž=~Z{¸•wóçޝïÄb‰Lg’’î”Ø&1ñ:/¼Pú€º´uvv"%å¯7©�?–àà#aãÆŸJl«Ïç&„B!ôCþ7&„¢Êdgg’·}ZZÕªUÓª711áÑ£‡eÖÕ´ijÖ¬IãÆ�05­†««+W®h/e=v,ˆ¼¹xñ"QQ*}Ï«={üÈÈÈàÒ¥+øúN#&æ Y³éׯ666´oßž#GŽ`hX|Y£���f¶`DD$o½5gg'&NœÀŽÛðòò&##ã±}VÖµ·nÝÆÕU?oeõ÷àý÷gaddDŸ>½øõ×:ÅP^%íáVžqܽ{—eËVðá‡0oÞÇ…ú¸…““S‰mk°gÏÞRûÔ¥mRRuêüãÊ•«Y¹r5u긲~ýÚÛêó¹ !„Bý�„›BˆgBrr ö(•Fš ôkÖ¬Illl™u…™™™accÍ¢EßhÊZ¶ô¤iÓÆÅnW¯^¥{÷®x{{³zõ•>¾’@Õ«WÇÅÅ�–š²áÃß _¿>9r”›7oQ£†c±?88Ø[r˜˜x�yó>¦wo\]k“”t·Ì¾ËGtôEkкu+ÂÂÂ+ôîÝ»ÇÙ³giß¾-[¾Ä¬Y³uŠAÊ;Ž�7óÚkCðòj£)»x1W×Ú¸¹Õ×Ú/ÏÆÆ†æÍ›—¹¯�.m=z„­­-mÛzqüxècc|ÏM!„B”Ÿ,)BQe mÚ´F©T’––FLÌ%:wî„��ŽŽŽÔ­ëJTTT™u…5nìÎåËWµÊbb.Ó¨Q# ‹ÿ“wàÀA‚‚‚P©T•>Ö’ôíÛ»XRäðá#ôêÕ…BAzz:!!Ç™3ç}Ͳطß~‹3gþäáÃG¸¹Õ§I“¼™| …‚.]:chhHllÜcû.O�=â‹/²|ù:v쀡¡!FFFš{—×Î�»™7o!!Ç5‰ÄòÄû¤Ê;µZÍìÙsùôÓ�4e�ç&„B!ÊOf¸ !„¨2ææætìèÍÕ«W¹s'‰]»ü0 ¾¾“P©TlÚ´U3£­¬º/¾Ø”£GµÊRSSQ©TÔ®]»ØŒ¸ØØ8bcãžÂHK6pà¾ûîÿ´Ê¯“’r�¶mÛÂŒï2þÇ„†’‘‘AhhÓ§¿ @�LŸ>•zõê¢PqåÊÞzk,™™™:õ]ž8~úén߾ìYïðÿ÷-ÙÙYœ;wžÉ“§ððá£r�; `/_}õ%óç/(W å±k×ïääüõûcîÜ�ùã�ÃåGtôEö2dÈ+š²eË–sÿþ}V­ú RRRX·î'6oÞªÕvÏ?rrr!ÿm¤o¼1R§¶Û¶ýÊ�;I̘1•ï¾[DVV6QQQLš4¥X|ú~nB!„B?Šo Sùý<æëÂe†…ÊŠõç†E@‘å Àªaæ!)÷î!„ϲôt¹O祙åfeeYÕ!T¯÷ÁÚîÇ¡]XÕá!„BñÔ¤¦>(w[[[®´R� ;ÿÈÉ?Ô@n‘C]¨œBç… ÕS¨L]BYѯK£Ë5:‘nB!D9H’M!„Bñ8²‡›B!„B!„z$ 7!„B!„B!ôHnB!„B!„Bè‘$Ü„B!„B!„Ð#yiB%æiŠ�{5<œ�¨i™—Ó¼ñ —Ó‰Ùì½�Φˆ´ªQ!„B!„BTI¸éÑ0OSÞën�‹µ¢X�‹µk}›˜ð^w ¾:øPoB!„B!„Ï!I¸éÉ—}-ÓÖ€ðkYlŽH#ðj&q)9¸Ú*èPט¡ž¦´ª¥dñ`k<œŒ˜³ûAG.„B!„B!ôInzP8Ù6kg*ëÂTÅ®¹œ”Íå¤lÖ…©ÝÚŒ¯XiÚHÒM!„B!„âù!/M¨ až¦šÄÙÐõɬ Sa¬€qí̘`G쇎Ä~èHÀ;ƶ5ÃXëÂT ]Ÿ À˜¶æ ó4-×=W¬XÊí[ ܾ•@bB,ÇŽbü¸1(Å—²>)LMŸ½¸„B!„B!žu2í‚Þënù3ÛþˆÉ¤¦•!FV§é Ú�ö%%/¹(yó%S†ÿœÂ1™ÌÚ™Ê׬x¯»E¹÷sûñÇõ,øüKÌÌÌèÒ¥3_|>sss¾ùv±^Æ5cÆTê֭Ä “Ÿ©¸„xšú÷ï‹[ýúšs#¥iié,Y²¬JãB!„Bñl“„[ ó4ÅÅZAøµ,Í̶’’m…½XSÉ/#léµânÞL·ü=݆yš–+é–‘™IjêRS°iÓl¬­™>}J•'¶žÕ¸„x~~»µÎ»wïJffV•Å#„B!„âïA–”V€�{56ç'ÊF·1+3ÙVàÅšJF¶6×j[Ðד:JõêÕ17Ïë÷ìŸtìØASïáÑœkñ—5çûöú3mš/»ˆ½z‘?íÃË« ¾¾“˜1}*ƒàzb, ÿó9†††L›æKHðQb.FñËÏë¨U«V¹âڷן×^Âöm›¸rù�;wzâ¾…xš Í›YÕ¡!„B!„xÆI­<œó’k�W3â¡ûžg¯6¯¦Õ¶ ¯'åXÑ[·nóèÑ#�ÛtíÒ…÷Þ›C«Öí ?yŠ5«W`¬T²dÉ2¾ùv1;~߉“sÞŸ=€Y³Þ¡¿¾¼=f<=^îEff&¿ýºc¥²\q}¾`>[·ýJ¿þ¯pâDØ÷-ÄÓäîÞˆk <|ø°ªCϯ÷1è¹ ¯÷«:!„B!Ä3HnPÓ2ïñÅ¥äÐÈA÷¤™»£‘VÛ‚¾ÊËÈȈfÍ^dîÜÙ,[¶¼\m·nÝΙ3’””ÄâÅK©QÃ�ºõê–x­±±1“&N`Ö¬Ùœ?�¸¸x&ûNÃÒÒŸ^=Ëׯþ˦M[ˆŠ:OZZZ¹û¢*´jÕ’ðð“U†xVX»jÿ*„B!„…H­ŠäªÕj?aüØü·�^å‡5+Y·þgV¬\ýÄý]»v •J¥YúYTWWŒŒ”œ>ó§¦L¥R~ŠnnåŠ+=-ý‰ú¢ªØÙÙaeeIll\U‡ò·booǰa¯Ó¿_M™RiÄÀ�˜2e2ãÇ�ÅÅŹÌ>”J#|}'Ѭًš²©S}™:Õ_ßIøúN¢{÷®e¶Ÿ={¯¼2°XÝÌ™ÓiÚ´I±rSSSæÌyGGÇrŒ¶l6¬gĈ7µÊ6nü‰?œ«U6{ö,&OžXîþ 11Q:——GµjÕˆŽ>Ç’%ßU¨Ÿòptt$22+++­ò† ðŸüm*Cdd8ô/VnkkË¥KçiÒ¤q¥ÝûqJ{&•Õ®2EF†ãà`�ŸßBCƒ8yò8ññ— "44ˆ >­ê…B!*LnpãA.®¶ ¢ïdëÜöâí­¶}éêÇ×ãÖ 1µj×§u›ö¬Y³–Ü\í> ÊÕ§ºŒ$ I5 CŒ ­òÌÌLÒ32Êדö-DUiݺ'Ož*óψÐÖ½{W† \l™{¯^>¤¦¦²dÉ2ö2tè똘˜”ÚO×®]Qù»ÁØØ˜¥K¿gÉ’e,Y²Œƒÿ(µ½›[Î�‹¢^½zŸ…Ü¡ƒw±2/¯6(•Æ:ŽT7‡¥}û¶šskkkêÕ«G¿~}´®óönÏ‘#GõzïŠêÑ£~~»èرÆÆÚÏeÞ¼98;;éýžwîÜaÆŒwIMMÕ*1âM>ýt�ÞïWØ”)“Š•�ó/LMuß6¢$}V¥=“ÊjWXe}ÎýûÂËË›�‡pãÆM¼¼¼ñòòfÞ¼�õ~/!„Bˆ§Mnp:1/ÁÖ¡nÞ7 Û"uËè¶3éZm úÒUÁÛ@333K¬W©T4lX±ÙaJ£¿öO»z5µZ�W[/M™B¡À£EsΟ?¯s\%ѵo!ª‚RiÄ‹M›qºªCù[9{ö+W®æÒ¥+š26lȱc�¨Õjâã¯Wâ,3gªW·%:ú¢V¹BaHNNŽNq4kÖ”S§"HHH¤^ KæU*nnõ5çÆÆÆ4iâNBBB9Fûx‡¡]»¿n�;wbûößxðà�5ÀÂÂgÎ�«ØŒ4}4h ¿ü²‘S§NѹsG­:///,,,ô~ÏÜÜ\þøãp±ò�>ú”´4Ýÿ­})))tëÖEsnnnNß¾½9uªb/L©è³*í™TV»Â*ësB!„xžI­ö^ÈKš õÌû©÷ú0god=¶ÝÙYüöH«mA_úrâDÃß|\œ�9rx¹Ú_O¼N»v^¸¸¸`ffÆÃ‡Ù°q3_õ%ž-xŸýk4NNNDDœ Aƒâ?¤±´´ A7"""ٵ˟>}zkê&NO“&î¬^½‚o¾ùo©±) ‚‚³bÅ2‚ƒ�päÈA<=[húñðhÎï¿oçèÑCüúëÌÌÌŠ-…mÕª%~~;>Âöí›5IÒÇõ]ÀÑÑ‘-[6Bdd8¾¾Åg±X¼x)S¦LÖœ�ù&[·n##Æui}•‹>žUág¢P(>ªUË >Êþý{èÝÛ‡õë×râD0~~¿if¤}–å½oI±—öyñå—  :Ì‘#™={V©ÏY!„ây' · Ø‘FÂýZÕR2ºµ™90üç”2“ngod1üç2s`tk3ZÕR’p?‡MúýfþÓùŸsãÆM�bÛ¶MÄÇÇ“‘¡û¬³-[·α£Y¹r|ð!þÁ�?®áÈáýXÛØ0tØp½,³«Ì¾…¨ˆÈÈ3lÿuGU‡ñ\°°0×$- ¤¥¥aff†J¥"$$”û÷ó–½uéÒ‰ˆˆHRSS)¼:^­V³rå*~þy;wî¢V-zõò)ñ~îî�ˆŽŽ :ú" ¸[žš��@NN.µj¹ P(ðôô <ü”þŸ¿¬´]»¼™¼-Zxyš}ûöÓ³g¼½½5ËIùê«/6líÛw"!!_ßI¥–°´´`ݺøâ‹…„……kÝëÖíZKX}|zòûï~$%%±|ù*®_¿Q,æ^½|Ø»wû÷ [·®šç÷߯$*êcÇN`ÆŒwËŒÍÙÙ™ ¾ }ûά]»Ž�?žù¿'–.ýŽéÓߥS§nüë_ãP©TZ1X[[³jÕr¦L™Nûö�Ù²e;+V,ÓÔ—ÖwawïÞeÚ´™´nÝŽîÝ}˜0a,µk×*ñs:u*‚¬¬lZ·n…R©dèÐ×Y¿þg�ú*-}<«¢œœœøä“ù´o߉ß÷ãÃç2mÚ;´kב3gþÔJx’û�½¬Ï£k×.¸¹¹áíÝ…Î�»ó¿ÿ=½}ÿ„B!ž5º¿VS”諃Y<Øš¯X/›?b2éµâ.#[›ójójš·‘ž¿•Íö3éüöˆÌèÚÀ˜¯Xiú(� Šÿ'º¨;wîðæðQZe‹/Õ|ÝÓ§O±6uë5Ò|�žžÎ¨Ñc´ê322˜;ï#æÎûè‰ã*龺ô-„øûKKK£ZµjZe&&&seÅ–••ŵkyËtýüvköIkݺ5gÏžãêÕ«Ü¿¿Ä~£¢¢ˆ��`óæ-¼÷Þ;8:Ö )én©}–���••%¯¿þ*NN5ÉÎÎÁÑÑ‘øøk%Žûÿþ/o–ÛÞ½ûð÷àáÃG�í+1ñºN±<é³**++‹ÄÄëìÞ½‡Áƒ‘’’€¿ÿ&Múw¥Ü·¬Ï#&&†zõêðå— Ø½ÛŸÀÀàûB!„ø'�„[mŠHÃÃɈ1mÍÙ<ª:³v¦².LÅšã�XsüQ‰mF·6Ó$ÛÖ¤÷ÙmBñ,JNNÁÁÁ¥Òˆ¬¬¼e¥5kÖÔ|ã^ yóf˜››ñï�ÀÂÂw÷F4kö"6lÒº¶èŒ¹fffØØX³hÑ7÷Ÿ5¤ IDATš²–-=iÚ´q±„ÛÕ«WéÞ½+ÞÞÞ¬^ýƒÞÆ[ÔÑ£�Ì›÷ÑÑ9xðä'<¤YêY�L|ðà!III >Z«�.]:—X®P(ÈÍÍåèÑc ò 7n.–8ÌÊÊ& `Ý»w§iÓÆlݺ½Ìx«W¯Ž‹‹3-5eÇ¿A¿~}JL¸•sÑY…YYÅeii���}™q(•J<øëS …23‹Ï&/ÜwaÍ›7cáÂ/˜={.—.]¦V-—2ïyìX ³gÏÂ×w}ûj¿áV×¾J‹…'|Ve)z]IÏF_÷-ëó¸uë6ÞÞ]ðñéɸqcñõ�İa#tƒB!ÄóF–”êÁœÝ4ɵ¯Xá?ގѭͨoo„‘Â#…õí�ÝÚ ÿñvZɶ9»TqôBñt¤¥¥s‰Î�;a``€££#u뺅B¡ M›Ö(•JöìÙË÷߯ÔgÏžåÀ�Clذ ++Kœœòö¦244¤S§ŽÅ^ªÐ¸±;—/_Õ*‹‰¹L£F�04,þOß� *¶œQŸîß¿ÏíÛwxã�×µö§Ü·o?3fL娱@MÙÉ“'©QÃ�îÝ»BþÞX¦¦¦¥–X¼x W¯ÆjöÚR«Õh*ËJ;vìÀ¾} ?�2fÌ¿033ÓŠ·oßÞÅk‡¡W¯žšþ’““5{…=.¶’DDDÒ²¥'uê¸B~¢´¨ðð“x{·£qã¼=øzõêÉåËW4³¹tѸ±;·oßáÏ?ÏàèXã±m,ø’¥K¿×̬H_èáYéÓ޷pìe}––˜››óûï;™1ã]Ú´i]âŸ7!„Bˆù_�žÌÙý€©¿Þ×ìéöõ+B¦ÙsýG®âHÈ4{¾`¥Ù³mê¯÷%Ù&„øÇÙµË|}'ѯ_6mÚJVV6ææætìè���u™íMMÍèÙ³3fLÅ×w&&Æš=Æ {ñŦ\¼£U–ššŠJ¥¢víÚÅ®���ãäÉ=Œ°l‡&%åžV'00ccc>¢){ðà!£G�aÚ´)øùýÆÆ�?óÒK-J-/ìÝwßÇÉ©&3gN'77—Í›·²sç¯X[[y7·úœ={N3ÎÁÁ�)S&ãââ¬ÕÏÀ�8pà�VYbâuRRîѶmV¬XÉûïÏâ‡Vê[Q×®%ðî»ïóã�kرcK–|[,tûöfÌx—¥KsèÐ>^ý5&MšR®ç¾gOéééæíz÷îã“u!!Çùùç zé =<+}xÒû޽¬Ï£Q£F¬X±ŒƒX¹ò{æÌù�ÜÜÜJ—B!ijÈ@‡kôÝŸÁc¾.\fX¨¬èQP_pnXä0ù‡Qþ¡¬6l’rï^‡Zºaž¦ø¸WÃÃÙˆš–yC¸ñ —Ó‰Ùì½�.KH…:IOW‘«ß—eêMÑ7cþÓx½Ö®p?u誧\Ö­û�åËWjöÌB!„BW©©åŸ8dkkKB•v@*�dç9ù‡È-r¨ •Sè¼ðA¡z •©K(+úuiôöæFÙílŠH“¤šB<ÇþnI¶vvv¸»7"4ôDU‡"„B!ÄsM–” !„ÿ¯¼2�€€½²ÌO!„BˆJ&3Ü„BˆˆÊ| «B!„â/2ÃM!„B!„B=’„›B!„B!„z$ 7!„B!„B!ôHnB!„B!„Bè‘$Ü„B!„B!„Ð#I¸ !„B!„B¡G’pB!„B!„B�$á&„B!„B!„IÂM!„B!„B=2ªêžGÃ}úP»v-222ð÷ßCBBb‰÷V*�˜9sÑÑùí·ßµêfΜN@À>Î�‹Ò*755eúô)üðÃ:nݺ¥×gNvvj5dggsúôi>ûì ¯ëõ> …‚ þ¤Aƒ&zíW!„BQ>òÒ„ æiªIœ ]ŸÌº0Æ ×ÎŒ€ vÄ~èH쇎L°cl[3Œ°.LÅÐõÉŒikÎ0OÓ'ºwÿþ}ÙðËzNG†såòìßÃèQ#طןáo¾¡Ç‘>ÞŠKùì³Ožê=…ϦîÝ»2dÈ`=zTfYaÙÙÙ³té÷,Y²ŒŒŒ :uꨩïÕˇÔÔT–,YF@À^†}“ûrskÀ¹sQÔ«W#£â?[êÐÁ»X™—W”Jã'ñãõîÝŸÖ­ÛÑ¥KNžŒÀßß�êÕ«WÚýžeóæÍÁÙÙ©ªÃB!„¢ÒH­‚Þënù3ÛþˆÉ¤¦•!{ÿmÏç}¬xÉE‰™±fƼä¢ä‹¾VL°£¦•!Äd2kgªVå±ø»ÿñÉÇóømÇï¼öÚô0˜Ö®#éî]½�Qˆ:¥Òˆ©S'Ó¼y³ªåoãìÙs¬\¹šK—®”YVXjj*ׯçÍøJOOçìÙ(,-óþ~411¡aÆ;ˆZ­&>þqqq4mZòL®fÍšrêT ‰Ô«W·X½J¥ÂÍ­¾æÜØØ˜&MÜIHH¨ðØ'##ƒU«Ö°—É“'VúýžE^^^XX”ÿß>!„B!þ.$áVÃþxß¿’¨¨ Œ;�3Þ} OZ!„Bˆ§Onàáœ÷�IàÕL†xè>KíÕæÕ´Úôõ8¦¦¦Ô«W—“'uÿÆ03+‹«WcýÖ:vêÆ¦Í[XüÝÿ´–S|¾`>[·ýJ¿þ¯pâDä'÷ú÷ëËÛcÆÓãå^dffòÛ¯›1V*uºw×.]xï½9´jÝžð“§X³zÆJ%66Ö¬ûq 6n£E+F�~›Ý»ýuSIñê:ÎÒbðõ�İa¯3yò4ºtéÁöí¿q7™îç_|F}·úôìÙ—î=zQǵ6}øA¹b/FFFôéíSîß›BwÙÙÙ„„'33SS¶|ù*.ü/çÏ_`ܸ·Q(¤¥¥Q­šö&LLLxôèa±>›6mB‹-ðõ�ĸqc05­†«kñ7Š;D‡Þ´hÑœ¨¨ Z1< ŽŽŽÄÆÆЦM+Œ��ùöÛEüôÓZ¼¼ÚP¿~}>Š»{#¬¬¬ðôlATÔyîÝ»Wêõ…µiÓŠ¨¨(Í=6oÞ‚��5ŽŽ5ÈÌÌ$&æû÷@©TâêZ€¬¬,Í vïÞCzz:)))äääàᅦZµ\ÊŒ» �k×ò–èúùíÖ´B!„âŸ@ÞRZ5-óò•q)yK�9èþ8Ý�´Úôõ8uê¸b``ÀݤòíÕ¶ví:Í×ß}·„áo¾�§g .]úkÖØÂ¯þ˦M[4çÆÆÆLš8�Aƒ^åüù Lö�FÄ©P|zõ,ö†Á’lݺ]³$lñ⥌5‚ºõêb``€R©äÀþƒÜ»wŸ{÷î—k<%Å«ë8K‹éòå+LŸ6…¡Ã†súô~ým–––Œñ&>½ú‘””À—ÿùšÖ¬äýÙsË»ø{èÚµ3§""¹?ƒªŽæŸ%++‹ˆˆH:w…ÉÉ)88Ø£T‘••·¬´fÍššdR333ll¬Y´èMYË–ž4mÚ˜+W´÷Ž»zõ*Ý»wÅÛÛ›Õ«xJ#û‹�ÏË;ÀƒIJJbøðÑÅ®ûý÷�ôêÕ“&M³yóÖ2¯/<“O©TòàÁC­:23³ŠÝC­V“��Ul!@V–v"²p{]â(©!„B!žw2íŠäÙÇHW·n݆üÄ[yØÙÙ1nÜÛ¬Zù=Û·oÆÁÁ3SíyéiéZçu\]12Rr:?9Eþò¯ððS4ps+wì×®]C¥RannNLÌ%‚‚‚9vì+V,ÕZ>ª«¢ñ¢ã8K‹©víZXX˜k’m…Õ¯_CCCÖþ°’“á!œ aÍêš ÝÅóÇÅÙ''§rÍ&å§P(hÓ¦5J¥GÇÔ¨á )oÜØµ:ïe iiiÄÄ\¢sçNàèèHݺ®DEEiõ׸±;—/_Õ*‹‰¹L£F�04,þOÞ� B¥RUòHÿbddÄÈ‘Ãyé%O~úégNžù�éÓ§’žžÁ·ß~GPPW®\Á‚  `ÍKʺ~óæ­ìÜù+o¾9Š3ÞeéÒÅ\»–À¤IS4ñdgg3nÜÛ|öÙÇܾ}‡ &{©Åã”Çñã'Êl·bÅJ>þøCFŒx“·ßÿOS!„Bˆg›$Ü*àtb6.Ö :Ô5ærR6Û"ÓtN¸m;“7;«C]cM_ºú~ù*Þ™1•í¿þF\\üc¯oáÑ[[[æö…¦L—oª®^�E­VãÕÖ‹cÇò¾�U(x´hÎúüYBPpK—-ç葃Ԭù7nÜD¥RѰ¡›f6‡.žtœbãâ144Ä£…aaáZu <|øŸž=$Ùòáï uÞ§O/5Ë‘…nΟ?ÏùóçK-KMMeÑ¢o¸s'©ÌäWff&Û¶ýZæýÖ­+9ɾlÙrÍ×÷+O{-÷ãÀÚ5ïWµhÑê±×œ:Á€ƒK¬8pˆÎ×Ï�û‘æëqàÀ¡ûÌÊÊâÍ7G+ÏÉÉ¡Aƒ&šó„„Dºuë©9 ×ZBZZ…ûHM}@Ë–m5çÁÁÇññé[b\B!„B<dIiì½�—4ê™·|f}˜Š³7Šï�SÔÙYüöH«mA_ºX±b%§ÏüÉ�ý¼ýö[¸»7¢~ýz <Ÿž/CþL¸Ú®µ000àÖíÛXYYòÖ[£°³³cÈàA4mÚä±÷yøð!6næë¯¾Ä³…,øì’îÜåðá£:Ç[[Þxc(5k¾€©©)íÛ·C¥R‘œœ·Ôéĉ0†¿ù...¸8;3räðÇöù¤ã,�’’‚¿ÿùrnnõ±°°À§ç˘››“••Í’%ß3oÞ:uêˆB¡ÀÙɉ-šWè9!þ~Ô¡ Q:taU‡"„B!„xFI­6E¤‘p?‡Vµ”ŒnmFf ÿ9¥Ì¤ÛÙY ÿ9…ÌÝÚŒVµ”$ÜÏaSDšÎ÷ÍÊÊfÈ�¡|ýõ" ìÏ.¿øûïä­·Faie Àò«2x?®]Å¥K—™ÿÙ¼ÿÞLB‚�Ò»w/�f|ð!þÁ�?®áÈáýXÛØ0tØðr/;*ÊÊÚŠ~}ûpð@£Ï2rÄ›¼=f¼fÃîOçÎ�7 þöŒ5’øøk\ºtY«m¯^>¤¦¦²dÉ2jÕraèÐ×Y²deÖåæÖ€sç¢hذ!FFFdggkÕwèà͹sÚI'/¯6(•Æz½{÷çÎ�$LLL5jþþ~tíú2ÉÉÉ <ˆ�>úµZ])÷¯Lcû»éÑ£~~»xùå“™™YÕ! !„Bˆç„ÌpB¡wgÏžcåÊÕ\ºtESs‰¸¸xÔj5·oß!::š5´Ú™˜˜Ð°aCŽ D­V�¸¸8š6mRf]Iš5kÊ©S$$$R¯^Ýbõ*• 7·úšscccš4q'!!A¯Ï¢¨ŒŒ V­ZC@À^&Ož¨)ÿæ›Å<|ø¨Rï-´ 4�_~ÙÈ©S§èܹcU‡#„B!ž#’pB¡w·nÝ~ìL-sss’“S°²²â�w¦áà`�­­-ÉÉÉZ³Ñ±³³+³®(ìííIL¼Îùóçqww/vM``0;zkÎ[¶|‰ÈÈÓäääT`äºÛ³g/Í¡ÈOGGG¶lÙ@XX‘‘áøúN*±½·w;öíó'(è0ß|³H«®k×.<Àñã�¬Zµ++ËRã(í~FFF|ùå‚‚säÈAfÏžU®ñ½ð =zHsÞ¡ƒ7?ü°²Ì AA‡ùüóùDF†Ó­[Æ�Ëþý{Ø¿¡¡A\¸pV/q[ZZР�‘ìÚåOŸ>½5u%Å¡P(>ªUË >Êþý{èÝÛ‡õë×râD0~~¿i– —õ–ö¹UÖç „B!ª†,)­}lÌè`Q wS%Fy9Í;Ù¹\HË"ða:þ÷TU¢BT)GÇ8::s BBB¹?•Úµk[š––†££#æ¥ÖåîÞˆèèh¢£/òòË=P(ZÉ´„„rrr©UË…ë×oàééÁêÕkiРA¥�»°›7obgW½XùÝ»w™6m&7nÜÀÎΎÇ÷³s§ññ×4×ØØØ°lÙBll,½{û0kÖLÈOÜ|õÕ—ôéÓŸ»w“ùðÃðõ�Ä_,,1ŽÒîרQ#ÜÜÜðöÎÛkÏØ¸ô¥¶{öø‘““ Àýû÷éÙ³O™c/-Æ… ÿKíÚµ9z4�yó>F­VsèÐaV®\���›7ÿ† ›õw¯^>ìÝ›·Úþýøè£y(•Fdeå%t‹Æ¡P(prrâµ×Þ 1ñ:¾¾“øðùôí;�ÔÔTæÏÿ˜)S&3{öÜRcKM}Pêç¦�ÏA!„B<;$á¦G}lÌë`É JE±º” ^P*èbU�±–¬¾ó@oBˆ$ccc„ŸßnM,$ä8ä'ЪU«¦u½‰‰ �=,³®¨¦M›P³fM7n €©i5\]]¹råŠÖuÇŽÑ¡ƒ7/^$*êÂSÝÃËÑÑ‘ØØØbåÙÙÙXYYòúë¯âäT“ììµn­[·äìÙ³šöþyVSצM+Œ��ùöÛ¼ÙS¶¶¶Ü¸q³Ô8J»_LL õêÕáË/°{·?��Á¥öQÞ=ÜÊŠ1==]“+lâÄñܼy‹;~×KÜ Y³é×//9hccCûöí9räh©qdee‘˜˜·/áîÝ{·Êü„B!ÄÓ'{¸éAádÛ×7î3þj¿¥<">#›lµšlµšøŒl~KyÄø«I|}ã>¯V·à�¬ª8z!„x: 4h©©©;¨)W(´iÓ¥RIZZ11—èܹ8::R·®+QQQeÖÖ¸±;—/_Õ*‹‰¹L£F�04,þÏÞ� B¥z:³Ž�ŒŒ9r8/½äÉO?ý\¬¾qcwnß¾£™ýäèX£Ø5aa'éØÑ›Æ�óö¦«W¯ž¦îäɓԨá@÷î]5÷355Õj¯V«100@¡P”z?KK ÌÍÍùý÷�̘ñ.mÚ´.ñù•æîÝ$^xÁQ3˰pâUuÿà IDATP— ˜šš²xñ7̘1S륉»oßÞÅk‡¡W¯ž¥&ýÊ£´ØÊúÜ*ësB!„UCf¸UP3M²mFü]Bf 4€AÕÍñ±2£žIÞ#¾’‘ÍÞû*v¤<â·”G\ÏÊæ›Úv¼ZÝ‚ éÙåZ^êèXƒY³fÒµK'jÔ¨Á�;w8~üsç~Dʽ{�mìè!¶nÛÎâÅK+0rÝ™˜˜`hhHZZÚS¹ŸâÙôÒK-xñŹwïžfCøäädvíò§cGïÿgï¾Ã£ªò?Ž¿3“IHƒ�$@è�”Ea¥H•fÃÊŠ½ÁŠ ö²ú[w-¸®²(" ‚Xv¥‰Bh"Ej=�éɤ'3¿?’Œ )L’ Cù¼žç>Ì=çÜs¿÷"’ùr Ç�'11‰eË–sË-71aÂx²³³™?‘mD[uu¥ºv #2rc¹²ŒŒ ²³³iÕªU…q11'ˆ‰9QïÏ¿lÙ��››ËÆ�›¹ýö»+İbEƒ dãÆ_ˆ�?Mrrj…6 <ÿüKÌšõ ùùyìØñ»m}»ÌL3>ø(ÿøÇÿñôÓO‘››Ç|ȦM[l×[,,XÄ’%ß1nÜøJïשS'^~ùEüü‘ššÎ+¯ü‹Åîç-((ä•W^cþüÿ’��PnúdU1þúëoú;ö1Z¶ æ­·Þ°•=òÈØ*ß“=qßzë-|øáGåÊâãO‘ššÆŸÿܳÒ8j¢ªØªû}«Ë󈈈ˆÈÅÇÅ ý¹œçsÙ2C™²s�ÒúÒsÃ9‡ `,9\K#аcǰ-ö$¦ìñ]‡š›Œ¼w:�ïS³hj22¥ecÚ70UÚþpnÏǦ�XPÄm~^¼Ð¢g Џýp‚]÷ssscõÏ+ؽ{Ó?þ„””TZ´hÎuîÅg³?·ë‡ð¿ýí%6oþ•uëÖ×øykãå—_ M›Æ�{ò‚ÜO¤.üýý:tf³™%K–UYv!äæfc¹0fÖXu»^^î–ûôæj£/»ŠÒ™©õ´DDDDäÊ‘‘‘Yãküüüˆ‹;v�…%GQÉa,çÖ2å”9/{P¦ž2eÖJÊÎý\{ÚØE#Üê`¤¯'ÍMFöåäó}j&ªM¶th`âý–�yìx"ß§fÙÖtéëi×(·«¯¾Š6mB4x……Å##Ù³g¯ÝqWµS�È•nÈ�AthßžøS§ª-“+›’l"""""r>Z¤úzï–·"­xªä¨Æ^Õ&ÛJuh`âV?¯r×–öu>®®FÜÝÝ ª²Íª•Ë™4iˈ9~ˆ_Ö®¢W¯žåêïsO¹óÇ„Ÿ–ýÀ±£ÑDD,£ûÕWÙ]ïf2ñ�×_cçέˆÚÍ”)ÿÆË«øù&LÏ3O?Ũ[oáT| ïþëm»žSÄöîÝǧ3?ãÈ‘£Õ–‰ˆˆˆˆˆˆTG ·:õ(N®íÈ.^eXCO»¯Öȣܵ¥}�ÏŽ¿sà@4K~üމÇØ¢Òv àÅ_ášk{³}ÇNæÌž‰›©ê{Üó—ÑüãŸoѧï¶oßÁ¢EóiÔ¨¡]õoO~“víÛ1tè� 2œ�Ö­øûÿý €éÓg0õƒiüðãƒBxéåWí~G"ZBÂY¬VëyË­!%""""r…Ñw€šQ­šº¿¾SùÅ‹,µq·†n[wS¹kKû:Ÿ¼¼›Ã¸±�³cû¯Ìœù1aa]ʵ[´h1{öì%))‰iÓ>¦Y³¦´iÛ¦Ê~çÌù‚mÛ¶súôþþ÷’œœÌ¨Q·ž·ÞÇLJûïÃûïO%))‰S§NóοÞcĈáv¿ ¹ô8;¹€ô f´†›“Xê0bÆl63}ú fΜÅС7ð×q�³2bÆßÄþýQÚÇÆÆ’��m›æyÞØ,¶mÛN»vmÏ[ß®] s?ŸeäêjÂÇÇ»ÖÏ'"¿¼¼|L&ƒþÝFDDDDärg±XÈËËwv—%Üê ±ÐBs“‘@7#'ó 9žWH;§†Æäoxèf´õUS…üôÓ V®ü™ ‘k¹å–Ên@�§Ä‘““sÞúôô † ¿™ÄÄÄ>�ˆ\ʲ³³ñôôTÒMDDDDä2f±XÈÎ>ÿ&�Rž¾%ÕAtNñpÊžî¬L·ÿ?À•é9å®-í«6 9“�@^n^­û8wDZ÷îWs0úÐyëãââ0›Í :¤ÚþM®ö%"EäÒa±X1›³ÈËËÓz"""""—™âQmy˜ÍYX,Z׺¦4­6šsа#|=ø>5‹R³¸ÉדçÙ©ôpn?¦f0Â×ÃÖ—=zôø·ß6ŠU?¯æøñ\]�Ü~Û(®¾ª/¼ðr­ŸåùçŸ%&æÛ¶ïà‘‡ÄÛÛ‹eË~:o}AA!Ó§Âk¯½ÂÉØ86mÚLó€š6óg×®=œŠ?ŃÜGpp0)))ÊŒ‹\fòòò5¼\DDDDD¤ %Üê`yZ6�5õ¡«‡·ùyñ}jÏǦð~ËÆU&Ýçð|l V¸ÍÏ‹®nœ)(byš}I¨´´4Þ~ûŸ‘““î]{¸ýö»9räh­Ÿ%2rÿû«4cûö�Ü:ê.òË,ˆX]ýÔ¦‘››ËäÉoDbbӧϰ%Ü.ZÌ�!ƒØ¹†M›·pß}Õ:N‘ !*êQQÎ[&""""""R'ôçržÏeË eÊÎ=JëKÏ ç.€±äp-9Œ@ÃŽö¤–$®êj¤¯'¯úðÌÉd¶šó0¹À­~^ käaÛ�ôh^«Òsø15‹+ôòvgj«&¼u*Íî„[}Xµr9_~ù5ÿûf^­êE¤~äæfc)rv""""""µçççG\Ü±ë€  (,9ŠJ+`9ç°–)§ÌyÙƒ2õ”)³VRvîçª8lî¬F¸ÕÑò´lB¸rgco¦¶jÂ{§Óù>5‹oSŠ�ÊÜæçÅ -ðmŠÙ©É6q,%Üà?gŠwê¼³±7/´hÄ_V¤å°#;�SùÅÃSÝŒôðtg„¯]=Ü $ÙVz­ˆˆˆˆˆˆˆˆ\”ps�ÿœÉ :·Ð¶¦[iR­2g Š˜�˜©‘m""""""""—!­áVFúzÒ×»¡&šº?Bb¡…èœ6šs•h»h 7¹Ôi 7q˜åiÙJª‰ˆˆˆˆˆˆˆ\¡ v´;)á&""""""""â@J¸‰ˆˆˆˆˆˆˆˆ8�n"""""""""¤„›ˆˆˆˆˆˆˆˆˆ)á&""""""""â@J¸‰ˆˆˆˆˆˆˆˆ8�n"""""""""¤„›ˆˆˆˆˆˆˆˆˆ)á&""""""""â@J¸‰ˆˆˆˆˆˆˆˆ8�n"""""""""¤„[=1 ¸¹mç§Æ#""""""""†«³¸¸¸¸Ð¾™~ž È,´ðøÝCÑ»î&¢cN³,b Eær Øz,ާ“�²ˆˆˆˆˆˆˆˆÔ%Ü _‡–ôhÝ€>½»q}¿î¶º?…†àçîÆü…?ÓÀddPh�I¡ÈjubÄ""""""""R_4¥ÔB›ûÛ>{{{V¨oݺ¹­ÜÍÕˆ©ÌTÓÚ˜9ócÎ&Äq6!Žø¸6lXËØÇÅhü£ßU+—sï˜{êtŸ²6D®å©§ž´��F&¿ý&£÷²yÓz:uêè°{‰ˆˆˆˆˆˆˆ\Ê4ÂÍÊ.ÏæãS>á»y3Ù©©´nÌ®èl¬V°R÷Ñm_|ño½ýžžž ПÉo¿�——S?˜Vç¾+³"b%{öì³��¹g4}ûöæúþƒ±X¬¤¥¥ÖË}Eê[Ë–-¹qäp¼¼¼ÈÊÊâ§åÄÆÆBÉtñ¾}ûÞ//ORSSY°à[233�¶ˆˆˆˆˆˆ\Ä”ps€´ì\<ÝL ²òóyà•)|õÎsX Y½i;ÓÖífÞK�°×h 1#‹ü‚¢:ß3/?ŸŒŒL222™?!¾�ñôÓë-á6yò»åÎÛµkË®]»IH8[/÷¹\\\}÷�ÌŸ¿�¸øx®ºªwÞq›íÏÑàÁñððà³ÏfSXX„¿¿?f³ÙÙa‹ˆˆˆˆˆÈENSJ`wl«•îÝ;Ò¢Yc:·mI‘ÅÂÑø³tëÀÄëà lB�·'ËvvÀø¶Š~ݺ•Æ�ãååU¡ÎÍdâ�7^gë¯9yâ[6Gr×]w”k³jår&Mš@DÄ2bŽâ—µ«èÕ«g¹úÒ)ªï¿ÿ.O<1ŽÑ£ïâT| ¿¬]Åg³>ჩï—ësâÄñ|õåœzxZÇ0�¸š\IJ.ÞÈäСÃXKÖWtww§kX+V¬¤  «ÕJbb¢­^DDDDDD¤*J¸9@ô™dfü²�céYøûñÊãw3å‹ïèzÛxÖ%åqïSãðhܘ1ý˜=qWulåðš��p–¬¬¬ uù?Ã=J¿ë1ÁB¦}øÚ·oW®ÝÀxñÅW¸æÚÞlß±“9³gâf2Uèïùç_â“Of²`Á"ƒB8h(?.YÊСC0þøOjø°¡,Y²ÌáÏ*â(………8Íí·�¢E‹æŒ1ŒÈÈ ø7iBrr2íÚµåž{Fsï˜{hÕÊñvEDDDDDäò£„›ƒY˜òõOÄœN";'—˜øº‡¶åЉxòЬ$ˆÂ|æ4 Ïžä½nÀÝäÊ€kºÐ³k;;z¯š««+áá]yõÕ—™1ãÓ*ÛÍ�û%ÑÑ9qâ$~8�ØØ8ºw¿º\›E‹³gÏ^’’’˜6ícš5kJ›¶mìŠcõêµxzzÚúô÷÷'<¼++W­®Óó‰Ô·Ÿ^C@³f<ðÀ}x{{u oooüýý lÁ’%ËøuëVÆŒ�§gÅ�QDDDDDDDÊÒn”nÎáXìYZ4fê‹�c00\0�ä—™êìëÅÎoÞ"3;—!ýW­î5nìcŒûV«•“'cùtægÌ�ûe•í›4iÂí·ßJÏk¯¥q“Æ4mê�§‡G•ícccÉÎήtŠjerssY¹êg† »�;v2tèÖ­�ÔâòrQsuueìã�²hÑbÎ$$ðç^=yâ¯cùäÓYdeg“_PÀºu‘X­VŽ=ÆÙ³‰´ æà¡CÎ]DDDDDD.báæ`îî®ä¤¤p|ùOœX³šØÈõ䦦R”—OPÏ^4¿új·oÏ—oâæ§ÿƒ9'·V÷ù⋯hß¡3-[µãÚž½™3g.‹¥Ò¶^^^D¬XJ‹æÍyÊT|ðQöï�:ï=jºVÕ�?.eø°¡ ®é¤rñk×®-g‰‹�§°°��›6“œœLÛ¶mHMMÅËË—2Ûçåæa±VþçLDDDDDD¤”n}ü~~L&rR’ñjÞ7|CBhܾ=M»„ábteæw¿�˜šQëû”îRšŸŸÞ¶W_Õ ???Þxs2Âl6×ËÂïkÖüBpp�:väº?ÿ™U«~vø=DÉœi&(0� À@5jH‹À¤¤¤�••ÅÉ“±ôë×?__š7 66ÎÉQ‹ˆˆˆˆˆÈÅN 7Û²÷.F#í‡'³}7švî‚ÁÕO/VlÚUÒÊJVN^½Æ‘’’B«Ö-qqq!áìY6ôᡇ I“&Üqû(º8üžyyy¬\µš·ßþ'¿nÝJF†¦“ÊÅ-þÔ)Ö¬ý…;î¼�çŸ{†ûï¿�•+WqæL?ü°„ÀÀ<=i"£GßÅâï¾'7·v£REDDDDDäÊ¡5Ü,9Í €9¯�7¾\NDÏp^øà¾_»�“Ë?\ðòp'/¿ Þâøtæg¼ÿÞ;„vêȃ=ÆoN楟ão¯¼DdäÖ­‹¬—ûþøãR¾úrON˜T/ý‹8ÚÎ�¿³sçï•Öåææ2oÞ‚ “ˆˆˆˆˆˆ\Ú”ps´’©š9¹ydåþ1Ýsï‘8n¸ºæ3§)òö%;·ö#ÜÆ�{ò¼mÖ­[Ï5×ö¶�OŸ>ƒéÓgTÙ~è°‘ÊÚ´íTeý?þùV¥ý>|˜‚‚BV®\uÞEDDDDDDD.GJ¸9ØÝý»Q��M¡ÅBw7[y7‘{�ó÷9KÙv,�ܼúÝæL#F gÆ�šN*"""""""W,%ÜìçÍ{ð4¸±7«ÕÊ™ƒ‡0¸±‘ž“ÇÙeG/—®Q·ÞÌ—_~íì0DDDDDDDDœF 7[¶ã0Ëv¶�÷~~®FWÒÌÙN�ëBhÓ&„®]ÈX©ÝIEDDDDDDäÊ¥„[=3çäùv´¼ô?C󭜆ˆˆˆˆˆˆˆˆS)á&"""""""RÏL�ZàÙò<»âîßSà \½cpõÀR˜C¡9…‚Œxò’Ž’sjÙ±Û)H?íìÐ¥”p‘Zsuuå™gžbذ ë™3 ìÜù;o¾9™˜˜võáéé�«« ³ÙŒÅb©ÑýbIJJ&,ìêZ>�ˆˆˆˆHý1zøâ~ >¡Ãñ ¯¶­Á䉛Ÿ'n~Áxµî=ŠË³ã÷’AÚÞ%å¤]˜À¥Î Î@DD.MÞÞÞ¬Y³’×_�Ž;ðûï»ðññaôè»øõ× Øß®~fÌøˆS§b ëRï1‹ˆˆˆˆ\¦F-h>ô:MŠ$`ð çM¶UÇ3(œ€Á/ÐiR$͇¾‚©Q ‡Æ*õC 7©•_|Ž=º³téOtêÔ•‘#o¥C‡.¼÷ÞðööfÚ´©¸»»;;L‘ ªiß¿Òቕ4î1\\×±‹ �{Œ¡Ã+iÚ÷¯ŽëWê…n""RcîîîL˜ðÙÙ9Lœø 99¹X­VþùÏ·øý÷]´iÂM7�Àh4ò ϲ}ûΜ9Éš5 <�/¾˜Í�wÞÀ–-‘¤¥�µÝÃh4òâ‹Ï±cǯ$$IJ~ý† »¡B,ÞÞ^|ýõ\N�Ša×®m<òȃåê½¼‚ƒƒx䑇8p š~ýQPPÀCÝÏôéòôÓÙ¼y‹íú3g0à, cÆü…Y³f0vìc,_AxxW† »�ˆˆU<üðãxzz2jÔ-´k×–C‡PTTİa7²mÛŽzzc""""r¹jÒó¿àœ›»¸tód\=ýHþí+çÄ •Ò7©±3g ¬´¾Y³¦ÄÄo†`4Y½zM…d[Uº`0X½z-,Zô�;w*×6//϶»éwß}�Õj¥cÇtêÔ€áÇb6§`6§0jÔ-øùùÙúÈÌÌT²MDDDDj̩ɶ2¿@“ž8; )C#ÜDD¤Æ:ŒÕj媫ÂiÙ2Ø6¢­Ô�!ƒØ¿?  ûÿ�ÇÓÓWWc¹2«ÕJVVv•×yx_WP�@JJ «xå•×ʵ=y2ÖîxDDDDDÎÕ¨ëÍE²­TÀà(ÌN%}ßRg‡"á&""µa6›ùê«ÿáææÆÇOÃÛÛÛV÷Øc3p`öï�""bGŽ`èÐhР⮥¥#ØÊŽ8;xðdz]3tè\\\lÓNKyyyÚÚ 28@tôAŠŠŠèÕëZ’“S8|øˆí°w´�ˆˆˆˆÈ¹<š‡tÓÛΣ‚ ›ÞÖF  %ÜDD¤Vþñ�79zô(ƒ *j?üð-Û·oღ�œœÌ„ “(**b÷î=lÚ´™��ÖDF®å�wÞbÉ’ïèÕ«'€-�öÞ{ïðúë¯áîîNTÔV¯^K›6!lÚ´ž9sfòŸÿ¼G^^ï¾û~¹8üýýÙ¸q³gÊGM`Ú´�8uê4Ÿþ~~~¬]»’—^zž�>ú€/¿œsÁß—ˆˆˆˆ\>†¾Z¿;‘Ö–‹KqlâtJ¸‰ˆH­$&&Ò»w>øà#NžŒåºëþŒÅbá‹/¾¦gÏ>åÖD3æA¾þúøúúòØc�д©?Ìš5›yóвe0÷߯mݵûï˜9s¾ÀËË‹aÃnà·ß¶1hÐ0Ûˆ¹R³gÏ%--�›o¾‰˜˜Œó@¹M^xá^ý yöÙ§¹öÚ˜ÍY¸\Œ? ‰ˆˆˆÈE¯iß¿^ÐÝHkÊ3(œ¦}ÿêì0®xŽþ¶aO.çù\¶ÌP¦ìÜ£´¾ôÜpÎáK×’Ã4ìØ1lKjZZµj¡¡iÒš¦Íüñ*Y‡(+;›Ä³I�9Atô¡z»·ˆ\>rs³±9; )ejÔ‚O¬¼8G·•eµrø“a¤Ÿvv$øùùwì: ( KŽ¢’à XÎ9¬eÊ)s^ö L=eʬ•”�û¹*ö´±‹6Mp ÐÐŽôìÙŸ2k•òñöÆÇÛ›¶mCèÙ³¿ý¶C‰7‘KH“^]üÉ6Ч–6éõgV½ãìH®XJ¸9Èõýz^¼0á™3 ý+,(~¡Íœù1·�º€‚‚BŽ?Æ×_ý�9ŸAQQݤڰa-óæ-dÆŒOë§»»;ƒ�œœœ:÷%""""""—7ŸÐáΡÆ|B‡+áæ$J¸ÕQÏž= ddÛÉ“qx{{qãÈaøû7)×.  ÍèÚ‰Ÿ–¯ääÉ8Ö¯ßHÿþ}éÙ³‡Ý ·ÁC†c0gÔÇ�{œëûõåÞû´Õ›ÍY}¾Úú⋯xëíwðôôdÀ€þL~û ¼¼¼˜úÁ´:õ±b{÷îsHŒÏ<ómÚ„0nÜ“éO.Oþþþ :³ÙÌ’%ËœŽˆˆˆˆˆ8�©Q‹zÛ™ô·Wƒèùv¼Ãûö ÇÔ¨ÅE±y•Æ`G©BhhG|¼½9s&�}û`4+M¶•åïß„GÃh4²oÿΜIÀÇÛ›ÐÐŽvÝÓl6“‘‘IFF&¹¹¹ÙÎ322±X,vôRÿòòóÉÈÈäÌ™æÏ_È¿ÿ=…qã«s¿oOþ6ltHŒ"ç3dÈ îºóvÌf³³C'òly�³C¨µK9öK™nuÐ&¤5 ,,´Úd[)ÿ&téZîÚÒ¾ÁÍd⯿ÆÎ�[9µ›)Sþ�———­î�7^gë¯9yâ[6Gr×]w”»~ÕÊå<ûÌ$V­\Îñc‰X±”nÝÂ7ö16lX˱£Ñ|õåš49ÿ³–úuëV7nl‹cÕÊåÜu×,þv>ÇŽFÓ¿ÿõ &MšÀ–Í‘>Åÿþû%-[¶,Û½cþX¤²ºg-5nìclÜø î³õ7aÂxžyú)FÝz §âcx÷_o×òmËålïÞ}|:ó3§OÓçòìêìjíRŽýR¦„[4mæ@\ü):vì`÷µ�:¶/wmi_Žðöä7i×¾C‡ÞÈà!à iÝŠ¿ÿßßÈ/(àøñ|èQú]?ˆù 2íÃÿо}»r}ô»¾/Ï>÷={õ%æÄ ~^µœ à î½÷!n:’��^}õe»c h@BÂY²²þ˜òúö[o°èÛï¸éæÛøí·m¼ð³Ü|Ó�<òèX†Ü0œüü|¾ÿnn&S�Ÿ`„ñüå/wóä““0`‹Orr2Ó§Ï`êÓøáÇ%…ðÒË¯Öø=Ëå/!á,V«ÕÙaˆˆˆˆˆˆ“¹û·³£ÕÅéRŽýR¦„[xyz�‘‘ @c?_»¯-ÝL¡ôÚÒ¾êÊÇLJûïÃûïO%))‰S§NóοÞcĈ?wœ;÷K¢£râÄI>üp:±±qtï~u¹~¾]ôûöí'11‘3fâââÂŒŸròäIŽ=Ƽy èÕóÚóÆãêêJxxW^}õå ¼ûï÷™?!QQÈÉÉÁÍÍ�ñOŒã…^æÀ�hNœ8šö6j IDATÉ“&áããðáCkü¬®®®<=i"Ï¿ð2»wïáôé3|÷ýdgg×á ‹ˆˆˆˆˆÈ•ÆÔ0ÈÙ!ÔÚ¥û¥L›&8I}�ši×® ƒ�¹ŸÏ²ÝÃÕÕ„��·­M“&M¸ýö[éyíµ4nÒ˜¦Mýñôð¨²Ïƒ‹7thРÁe‡U˜ºYÖ¸±�1nìcX­VNžŒåÓ™Ÿ1wî—åÚäæä–;iÝWW»÷쵕egg³}ûN:´o_ãgmÕª%ÞÞ^ìÞ½§š7&"µqî¨X‘Ë™ÉÇþ%•.6&Ÿ&ûù]ËíØO ·:ÈÊÎÆÇÛ›† }HKK'%5�€fMíº655 €† }l}9BzzÆßLbbb…z///"V,eéÒe¼?e*ññ§˜?ïëjû¬,9x¾„aé.¥¹¹yäççÛ»{wŒF®F#ùe6ÈÏÏ'7/¯Bûó=k£† 0¸¸Øu±Ÿþ¢‘+Ic;ZU¯t7ÒšÖ×u÷RcýüîšRZ‰g“ àСÃv_{ðБr×–öUWqqq˜Íf† RiýÕWuÃÏÏ�7ÞœÌÁƒ‡0›Íõ2Ú®t—R{“mÇ�Ç`µZéõç^¶2£ÑÈUWwãÀ�ÚŸïYcNœÄ`0pÕÕWUyO“kåkɈˆˆˆˆˆˆÔ–F¸ÕÁñ˜´mB§NØ·ÿû÷GÓ9´Óyw*MJJ&jq©S§¶¾¡  �éÓ?áµ×^ádl›6m¦y@M›ù³k×Ξ¥aCzè–.ý‰ýûÖ…o¿ýÎ!÷¯ ³ÙÌ7óðÞ¿ßá‰'&ŠgŸyФÄdÖ­‹¬Ðþ|ÏšššÊòåüë�·÷×'9s&�>½¯cã¦Ídeeq*þ>pÁÁÁ¤¤¤hm7©”¥0ƒ©nk¯W5R­td[]G²UÅR˜S/ýJõ4­¢£‘i6Ó¼y]Ã:STTÄOËW’””\å5IIÉü´|%E ]Ã:Ó¼y™f3Ñч×Ô¦1mÚÇLžüG�à‡¾åªnÝ dØoN楟cËæHFŒ^i2ËYþö·ÿcÍš_øâ‹9¬_÷3�|}ý—{«…Wݳ<ýÌsDGdé’ïØõû6žxb~~ÅV,\´˜mÛ¶³!r ³f͸`Ï(—ž¨¨,Y²ÌÙaˆˆˆˆˆˆ“šSœB­]ʱ_ʽ¸•=ý¹œçsÙ2C™²s�ÒúÒsÃ9‡ `,9\K#аcǰ-©iiu|Ôb¡¡<¨?K—­àäÉ8Œ]Â:Ó©c{Ûn¤ÉÉ):|”¨ý(²XhÕ*˜›oÀšµëšp»œ­þy³çÌeþü…ÎE¤Þåæfc)rv"""""ÒzÌl¼Z÷²£eÍÕ÷·¬[9ñÍcõÒ·=üüüˆ‹;v�…%GQÉa,çÖ2å”9/{P¦ž2eÖJÊÎý\‡­¹¥)¥u}ˆfMý ãæ›F°~ýFöí?ÀÞ½ûÙ»w¥×t ëLÿþ}Ø»w¿’mvrss£cÇœ8á˜é·"""""""öÈK:Zo ·ú–—¤ œA 7ˆÜ°€ðð0ú÷ïK§N8xð0qñ§ÈÈÈ„’ÝHƒƒéÔ©Í›@I²­ôZ9¿ O>Á¡C‡Ùºu›³C‘+HΩ}ÐÃÙQÔNΩ}Îኤ„›ƒDnØÌÙÄ$zöìA󿶤Ze2Íf~ûm‡F¶Õ€««+ݺ…sÇ�£±X,v\!""""""âÙ±Û�B­]ʱ_Ê”ps èèCDG"4´#mBZÓ´™?^žÅ»˜deg“x6‰ã1'”h«…ÂÂBzØysÎEDDDDDäÊU�~šìø½x…;¼ïúZ» ;~/é§ë­©šnõ 4ñ&"r%pwwÃd2a0hãk¹|ĬƒzH¸Õ§‚˜u4lèS«k- äåå;<®+�¾‰ˆH­ .x{{áîî®d›ˆˆˆˆ\ö²¢—ƒÕa›XÖ?«µ8æZ2 ¸»»ãíí…ÁàâÐЮú†$""µâéé©D›ˆˆˆˆ\1,¹é˜÷-vvv3ï[Œ%7½Îý >ž%K–‘ŸŸ_£>ª««¬Ÿçž{†ƒñý÷?–«{î¹§‰ˆXÅþýQåÊ=<�ÑÃ�F}&:;Ò7}DöÁg‡!%4ÂMDDêÅðáÃÈÈÈ`úôDD¬dôè»qwwÇÃÃQ£nfÁ‚EL›6�´´4n¼qD�ú8_ݹڷïÀþýQ´mÛW׊ÿÖÔ·oŸ e½zõÄdrìNLëÖEÒ»÷Ÿmç�5¢mÛ¶ÜtÓÈríúôéÍúõ‘½wmŒq3½zõ±µM¶$&&òÌ3Ï;,ÙVUŒõ‘l{íµW tx¿"""réËÜ5�ôM9; Ò7}Dæ®yÎCÊPÂMDDÎÝÝ�Ž;²aÃF¬V+'OÆrâÄ Âºвe0§N�&==«Õʺu‘´oß¾B²¬º>ª««Lxx;wþN\\¥aCŸjËKùû7aÍš®½öšrå³gÏäŽ;n³�ÿío/ñðÃÖè9úô¹ŽU«–³iÓ:fÍú„+–мys"#×ÚÚõíÛ‡Ï?Ÿ%ÓZ޲}Þ°á¦Oÿ�õë×°fM=zt·]wÍ5=Xºô6o^ÏâÅ Ê%Cía4Ù´io¿ý»vmgРÕö[Ú~æÌlÞ¼žõë×нûÕ<ñÄXºt eöì™L�ú~�â‘+GöÁÎ.zô‚î^šwf?g=ªi¤)%ÜêC·^pû£ðä?᥊�'ÿY\Ö­—³£©wÞÞ^äåå•+ËÉÉÁÓÓ“ØØ“Ò///ì�««OOO²³³Ù²e+ééÕöQ]ݹBC;qðàA}lÓIø÷¿ßá/¹�Þ½¯'..Ž ÆWY^ÊÇÇ›/¿üœÉ“ß­0ÅrÑ¢Å妰6”\Zi¬+V,eëÖM¶À××—O>ù˜±cÇӧϾÿþ‡*§òV§U«–|øáGôï?˜wß�§ŸÎÀÕÕ•F�ñÙgŸ2qâÓôîÝŸ… 3sæŒ*û)ãªUËËôߊÈÈ�tï~-k×®;o¿AAA¼õÖdz÷îÏܹ_òúë¯ðÉ'³ˆŠŠæ±ÇÆñÌ3Ï×ø9EDDäÊ‘ŸMââÇÉøí³úífµ’ñÛg$.~\$\Ä´i‚#uëýFBC¿Šu ýŠ�NW·Ù°öluF”""õ.''‡ ”+sww'+ˌٜÅÂ…ßÒ·o, ;vì¤U«Vde™),,dË–_ÏÛGuuç ëB‹-èܹ3 hݺ5ÇŽ+×nÆMôíÛ‡C‡]é&ްnÝz†½�Ý»÷u€¢¢"öîÝG`` ~~~ôésŸ~:€ž=¯ÁÍÍ�>(ÞÚÝÏÏ�Ó§ÏTY`0˜;w ~Ëš5¿T¸ÿÚµk™<ù ¼½½ !&&†”””Jc1âf“Ê•õìy-{÷î%&&€½{÷Õê=äççsøð~þy5ÿþ÷;´nÝŠ¶mÛeëÁ‚…¼øâ³4#!á¬]1äææ²råª2q_Se¿IIÉ[<…xéÒŸ˜8q|…>EDDD쑱m.YÑËñé~/Þ]ïÇtlµbÞ·˜ÌßÿGQ¦c6õ’ú£„›£Üp'\s}ñçøã¸ìý ë‰Ã�–\\æÛ—Ö°†÷„ 6pã½Ð~þÖ©a‹ˆÔ‡””Tš6õÇdr¥  xÚg‹-lÉŽ˜˜Ûg“É•áÇ‘ššjwçë¿”§§'¾¾�˜2eª­¬G�î„…u®�p;~ü8ƒ¤OŸ>Ìžýy½¼€ÈÈ�¼öÚß8xðkÖO¿´Z­¬Y³Ö6ÕóìÙD23Í$%%qï½å§|пÒr£ÑˆÅb!2rwÜqóæ-¨�8,(($"bƒ&,¬3‹-®Qü&“+™™›¥*Û”â|¬V+……äååa2™Êõo4qww'?¿ Æý–U“~ ê'Ù*"""WŽ¢ÌÒ"ÿCÆosð IƒvƒpoV«¾òÎì'÷èZ²¢—cÉMwx¬R?4¥ÔÊ$Û\"ÀWS±þ¾ R΂¥¨øH9[\öÕÔâ6P|Í w:7v‘z�““ÃáÃGèßÿz\\\ M›ÖDEEa0ðó+ ìêêʰaCÙµk7…�Fzö¼“ÉTmÕÕ•Õ¹s(G�/WvøðQ:uê„ÁPñ¯ÀÕ«×°iÓ&²³³ëíݤ§§söl"÷Üs7ëÖý±éªU?óÌ3O±aÃF[ÙŽ;hÖ¬)ƒ„’÷åááQey©iÓ¦süxŒmÍ1«ÕŠ‹‹‹m*mé´Ò~ýú²jÕêÅ¿}ûúõëCçÎÅkáµmÛÖV—œœDóæ¶Ñ„-[WÙ�‡‡¯­Ö»÷ŸÉÈÈ$>þÛ·ï OŸëlý>”£G�UHÈÖT]úMIIÑ.¥"""R+–Üt2wÍ#qñãœþê6RV¿�yï·äÆí 0ý–‚ìâé§V+–‚l ÓO‘·óÞoIYý§¿º�ÄÅ�“¹kž’m—�p««n½þÙ¶`ÖcÑ`t…?õ�.×@ÓÅu‰§aÿ6ø}sqâ-=F�/¾6!¶FÓKgÎü˜ÐN�0ðÛ¢Úe…‡weÍêFÝv'›7ÿê°G©‰eË–sË-71aÂx²³³™?…4lèÃ�wÞŽ��7999ìÙ³×öÿ*///úõëÃñãÇILLª²�êú/«k×0"#7–+ËÈÈ ;;›V­ZUs‚˜˜õþnÖ­[ÇÀ�ÊMåܸq3nnn¬[·ÞV–™iæÁåÿø?ž~ú)rsóøàƒÙ´iK¥å¿þú›íÚ矉… ¿á¹çžfÊ”X°`K–|ǘ1°k×nÚ·oÇöí;ª�:»lÙ�ýñN_}õu~ùeÏ?ÿ³f}B~~>Ç�ÿñ yå•ט?ÿ¿$$$T;Ý´°°�Ç„7ß|�³g7n�'==ƒ¹s¿ä©§žäå—_côè»èßp…víÚµÁ`00÷óY¶Q<®®&||¼ëƒÈå*+;›ü‚Ö­‹Äjµrôè1ΞM¤ep0rvx""""""rS­.ÌéÅ›&ø6�”³�|Z´¶ïÚä„â_}›üÑW-Ìœ5›m¿m¢¨°ˆŸ~ZÁ™3 Ú”n 0løÍ$&&Öê>"WšÔÔT¼¼–/_ÊÀ�7�’’Rå5‰‰‰<óÌódddTxö2dK—.ã††àææF~~~¹ú‰dzdÉÒre�>ú0µî³*7ß< €àà /^H¯^}jõL""""rIrDþæ¢Î÷\j#ܪSÝ‹¶\À8DD®xîîîtìØ‘ 6bµZ9y2–'NÖ…–-ƒ9uê4éééX­VÖ­‹¤}ûö¸»»WÚWpp�ûqðà¡råF£Á®d@xx;wþN\\Qm[‹ÅÂ/¿¬«ÓýF�º•ÿýo;wî¤ÿ~êSSS4h€íÜËË‹oÁÎ�»jݧˆˆˆˆÈ9ªËÑ\ÔI´š¸n5Í‚žoñ=q0???RRRÊ�$‹‹‹§I“&�®å¦�‘““ƒ¯¯/ 6äÙg'Ñ´©?®®® >ŒåË#Êõo00™Üxøáy衸þú~˜L•ÚvwwÇßߟøøS8p€ÐÐÐ m6nÜL¿~Œ°êÑãOìÚµÛî„^]­X±’«®ê%SG.ü†mÛ¶°k×v&LPå4ÒÙ³grÇ·ÙÎÿö·—xøá+´óññ¦C‡öüþû.–-[ÎÈ‘#*´™6íc&N|Òv~ÿýcX´è[òòò*�Ûž>EDDDäŠWö‡j{r4—ÅìEG'Üñj;„О묀µÈRh1.Å\£ˆÈ¥ÁÛÛ«B’&''OOObcOHHHk¼¼¼8°?®®F<==ÉÎÎfË–­¤§g0`Àõüþû.222p)³À€ÕjeÖ¬Ïøï¿aÉ’e´lÌðáÃ*�%4´ààÁCtèо”̸¸8ŠŠ,´lŒÑh¤{÷«Ø¾}§ã_LΜ9C“&�HNNfÒ¤ç¸öÚ댕+WðóÏ«4h`…$åÎ�¿SPPȵ×^ƒÉdbôè»ùê«ÿVyo{ú‘+—Á`Àjµ&—æc츤¶ƒ¦œ‘�ª–³*¶w�¶ªÚUVn)SVÙ{E……– £Ñàk±h¦©ˆH}ÈÉÉ¡AƒåÊÜÝÝÉÊ2c6g±pá·ôíÛ‹ÅÂŽ;iÕªYYf Ù²åW‚‚ dÍš_*ôoµZ9{6€””–-[ÎØ±�±téOÚ†…u¡E‹tî\¼è¿‡GZ·nͱcÇʵ۰a}ûöáСCDEEÛ½™#@aa! úp÷ÝwØ‚ÂÂ"ˆ�?Uéµk×®eòä7ðöö"$$„˜˜˜Jׂ»õÖ[ïjKÎùúúÒ»woÖ¯�,×î£�ŠG¹­\¹ŠåË#0›³ªŒû|} ÿêvqqÁj½äþ�RDDDDjÁh4ââb=X2Ê­ªM¬UL3­ê‡F{˜tê�ÎJ¸Ù›@³'!W]_¥,eÎ-Ká~WWSŸ‚‚ÂJ.‘ºJII¥iSL&WJÿ_Û¢E [R)&&ÆöÙd*ž6šššZ®�nÝÂñòòä¯}ooBC;Þ•o¾™_®mUS===ñõmÄ”)Sme=zt',¬s…„ÛñãÇ|”N�:QÙÒ«W¯aÓ¦Mdgg×Û»)ËÕÕ•ûï¿—?ý©;_ý_[ÌgÏ&²wï>šU¸Îjµâââb›[:­´_¿¾¬ZµºBûoQ!±¶nÝz†Z鎧o½õüIµ»¦ž¯ÏÜÜ\¶lù•W^yÉv�Gyˆ={öV;jNDDDD.&“99Y€‚óäjΗ,³wJêEÃÙSJíaï´ÓêÚZÊüæ&'ŸÙêåå× AƒàÜÜ\‡+""Ë–-ÿÿöîîEΫŽøogwm²› •U[|©ŠÚ.V¯ÄR ñJR,¢à…€ôBA¼ñBPÿE/Ä A¯A0ˆ­WBMš¦VP‹RIªM­©±yY7›dgÖ‹î„'§Ïë¼>3óùÀ03çññxýëïŒn·gÏž½µ–XÖûÞw<ñÄÉÛÚ®\¹;;;qÏ=÷ܪ²ë;wîù8wîù‘=ƒ"¿øÅÏcoïfìîîÆÉ“OÆ#�|æV%àc�=ûØGãäÉ_ÇùóÿŠ‹_yÍù½^/~ò“ŸÆ‰?‹Ï}îóñûßÿ!ÞýîwÅ3Ïü.w*ìÃ�oû;·µ�?ÿb¼òÊ¥xðÁâÔ©Ó·õ�>ýÔ­©½Eê\óK_úr|ýë_‹3gNÆõë×ãÌ™ßÆ¿øåFÏ €Ùtøð¡XZŠ—.]ügDìer™¢õ½šj­ßêYã¸æRòžm_Êù¾”ó=}u2ïËÉçåˆX=x¿csóî‡677¿su{û¶©.m±»»½Él’ÙØÑ£ÓB+¬=z,–ßvgtÿy)v¾{jªcùáßûÞ÷+ƒ2Ô•+Wk·²²ÝííËŸ¹téâß#âúÁ:n7Þ»™â¨ìç^Rõ–¾¢ *.¯®é sµiÂ(ôHÞæ Ë9‹ðu"âæÅ‹/=µzÇ¡ëk‡�ooÿ/l @SÓÙú677ckë¾8sæéi€×étbmm-nܸñ�K—.þ#3�´—‚m–Ðú ¶*m Üö“�F—’÷HÚ²çE&Xë÷÷2íý]Lw_zñÜ7ßvÏ;7�Y?¶³smd•n[[÷Æ;ßñöxã›Þëkkñ¿��xùÂâì¹çã¹ç^»Î êSŸz8üWþçSµ²²kkk±ÿ­ ^øeDìf²˜ì+’)¦Ujyk¿¥ÇµÊ8¦”6¹î0ÓJ;9}UÓJ—¦•®´­FÄ¡»ßüޝ=²~üÚîn ³¦ÛÖÖ½ñÀˆ�#GJ�»º½O?ý;ÁPÊ”R Mʦ”>|(:ܽqãÆ7.\x᱃°íæA ¶—©tk2�4r*ãZ?�4fòЇãýï¿?""^zéßñ—¿ü-^8ÿâ­ŒG�nÄ[ßòæ¸ï¾÷ÄÝwßÏ>û§xâ7OÖ|TÀ¢¸m’ Ü:�N,//ÇêêJ¬®¾.––âÄöö•]¾üß„mÝÌk/®e_ýÿâÙÏ´å…k·†×m¸¥ŸÓ*·N¦})'lë$›(¤¯C››w}pm}í³�ÎÊý++�£Ë�•NTøÐ‡ˆ÷¾w+""N�zª²rmkëÞ8vìÁˆˆøóŸŸ‹Ó§­¹¼Öîõk­ Ü66Ê+y€ùsõêvÿcwÿbDﯽÞþ3;;Û'/_þïùœ ­›l’�÷ÚO–K«Û¢ t‹‚ï!p+Üb€*·l×I¾çM-]I*à²í«™.àÆõ¬ê&\Jƒ®nf÷ѽdšh/SÝV4•4’ê¶È©lkZÝmܦ½iBº! 租{Iè–ÝD¡{¤íeÎë¿/gþ‘ä…y!8P^Е¾ºI ¶—´g«Ù¢à{ÞçAÆ9ÕÍÆ¸  Õ¹f^H—¶åíXÚoˆnËíÙ]M;ÕtM怶kLåU�e§†f«ÛÒ°­hgÒªÐmœ!ÚX‚¹iW¸•éÿ।- ²²\ä|ŽÌ.{n7²-gþÐKǧ;¡fU®ë0'Ò%ÓD÷“À­›¬¥SG# ÝÒÏ©¼uÚ¦ZÅV¦ �Û ÓJÓ�-’j·Èg�‚-2ýÝäØþ{7gƒ†Èì¢*Ù€9Tfõ’þ´Â-¯Š-o�¶¼ "9§lecžz7ÎÀmTÓJÓ©£QQå–N-í%Z_'9§_íÖÉ„s‘ ÚúçmðPö ­òªÇªŽIƒ·¼Ð-¬u3Ç÷’kDEX–Ê�ÂØ‚¹qCãÜ­4=¯lÓH6QXδE2u´h*©�€ETvåM-�œ@-/lK×uKÛ"§= ¾§ã©¤Í}à%¡[^{UèVÄur>§ýé=måS?£ L+›Fš´Õ ÛÒ±”µ×ý=#5î5ÜF1­´l£„¢c‹ÖxëeB´þ¹“Ó–·¦œ° XtU»ˆæmu«ØªîWÖÖÔX×y›Dˆ4­*·ªöªïy÷iòfEÓʰ¢à­*\+«b›‹ê¶hÉ.¥uämŠ�Ý@¡¨¢-¯=½æRÎ÷ìñ�„lÈ6õ�0†P'Ûè%ß›®Å6ª°­•&U�5®*·ÈYw-r*Ö²}e",%׫3ö¦CL˨6Hû{¡Xº‘BÙ:pyëÁ¥×i}u[´lUÛ°ç�D[‚¤QV•5 ÞÊúÚòlÚj�]MÇYÕ6Ìy#Ó¦PiÜ¡[Ý{àò ° rî̆m1å]JSÃZ“˜"ZöÆób˜Pm×kEh6Œ¶EÃŽg�€­mÏ`Ö5�RZuΰ÷œ¨6†Mã Ýêô·ñyÌ‚AB¶ºýÃÜ{âÚ0�b\ì×6ª1̳aB¶ºÇLâ#ÕæPiTckr�aC:€y4êðlT!Y붘�ðh”ã÷TÕQÞ `R&”�2 keØ3 µ)x ™…Úúf)|ÇXgé÷Ì’qc­Ûb§qŽwÖž@ÛŒ3›‰°-f4dšÔ˜gñÙLÒ¤B°™ ÛbÆC¥i�}–ŸÀ ¦xÍTÐÖ7áQÛCÛÇ,ž¶Ym_©y ƒæåw,º™Ûbƒªyû=‹b惶¾y ¨æõwÌ›¹ Úú!˜Z„ß0Kæ.dËZ¤0j‘~+@ÍuÐÖ·È!Ô"ÿv€IXˆ€-%tz•ç0 ²e šŠy6å>\Ë#TœgÌ;�Ì®ÿ¿=u­7àIEND®B`‚alainm23-planify-69962f8/data/resources/sounds/000077500000000000000000000000001517337276100213315ustar00rootroot00000000000000alainm23-planify-69962f8/data/resources/sounds/success.ogg000066400000000000000000000233421517337276100235030ustar00rootroot00000000000000OggS‰crä*£’3vorbis€»€µ¸OggS‰cräB£Aÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿvorbis Lavf58.76.100 encoder=Lavc58.134.100 libvorbisvorbis%BCV@$s*F¥s„BPãBÎkìBL‚2L[Ë%s�!¤ Bˆ[(�Ð�U@‡Ax„ŠA!„%=X’ƒ'=!„ˆ9x„iA!„B!„B!„E9h’ƒ'A„ã08 ƒå8ø„E9Xƒ'Aè „B¸šƒ¬9!„$5HPƒ9è„Â,(Š‚Ä0¸„5(Œ‚ä0ÈÔƒ BˆšƒI5ø„gAx„iA!„$AH�ƒAÈ„FAX’ƒ9¸„ËA¨„*9„ 4d� ¢(Š¢( ² È@QÇqÉ‘ɱ  Y HФHŽäH’$Y’%Y’%Y’扪,˲,˲,Ë2² HPQ Eq Yd 8Š¥XŠ¥hŠçˆŽ„†¬€4CSøÚR,1Ö\wƒD‚�3¬$�޲ RŠ1ÆsÎ9ç¤RŒ9æœsB¡TŠ1ÆœsB!”Œ1æœsB!„RJÆœsB!„�RêœsB!„J)�sB!„B)¥ƒB!„J(¥¤B!„B©¤”B!„RB(!•”R!„B)%¤”R !„RB¡„”RJ)…B¥”’RJ)¥J %„R))¥J!”RJJ)¥TJ ¡„J)%¥”RJ!„J)8A'Ua£ €BCVd�¢”R)-E‚"¥¤KFsPZЍr RÍ©RÎ æ$–ˆ1„”“T2æB BêuL)-•BƤØrK¡sA€€�3ÀàástG€ DfˆDÃBpxP S@b‚B.TX\¤]\@—.èâ®!!A, €œpÃox NÐ)*u ð�\ÑÌadhlptx|€„ˆŒ�|$%@DD4s !"#$€ €OggS€^‰crä-ÃãÀ3 %6./56=B<>./635ÿ ñ×ÊÎñ/00220>;7õ¿¼ÁÑÐÑÇÐÍÕ×Üì0/CEB|ÎEhˆ|Ðç“ øœ û�KÄokî;SUóÿo¸œ·ÿÿ¿­ª|ÌýÈ"„&:cºã×Oïô1æÂà2Ãhâ†óõ%åûÖ]Ýì‰2“óûŸŸJd�oémò)¤ÊØCìèÌ}øˆ?>|¸C†Av’Ð"ê7ô™xÆSÜ>CéÖêKúPìËV¤È‡ES¨ÝŒÝ±¯~þË¡!ÕAõä=YÈ ÇÜŒ'Øðç%ý�µvÖëN¯Ý ¬Èš‡”ÌòíëàÆx¥ÝpBSaâTgøÃÃøwoŸþ…Nq«ª~ÂoÖ�Ný‰*Ò) ŒÆn?ÀŠTi¬EêG÷oÑ÷‚[,€·3hžî©Êc´”~[6¸~þZýF`Ý:ë¦ýáÓµExwYšôH _û2µ÷{î«öôžë¬À3”埀֭HÃóËz´êÀ$I„°TL™ )È^-íY;óËlç>gêÑó­ëÚèí¿þúñã­?ý~¿Î½ÛÿªJeü«Ké÷ºnë¿3.µtgÓ)ݵ;þ ÷ ݂͗ëcoÎö‡—ÔÃç?þ}[|ÝŸßÿé*ûÏ7Ïúôâ—š+ÏÔÒžX<¼Ô„ñßXs*[ÿŒÌÕùöËå2û²�£²£íe†ýDöËtÖ-ÏÛýò�sW€ýQª´ió«üŠªT~‘V&â„ï«´*…¬|ÅkJí ‚@ìKš !:>ÿ|°:µ�>ƒPa×rÝ´¸lí+Õu×þɬÖ{ ‚oïX<9Ö[,ž}¦°j¾½zD£ô«)^xùÕöó)4å÷ )òůV[€R ¾€–-ß ­¶tßÙ£î:× o—9—åò®o¹º ÷Ÿ·ëºqŸ|íã U]?ét·'@ÄT`¼»�Ë?ÁéØ+âZïˆ8. ‡V z]£ƒ¹ç-ï•>„ñ‹? gë3·¿0R�§ß€ÏÆ}ÚÞwåª)Í|mz;u¬_6ý˸¿¼ÄR/ Jÿ¥õ*(úi¾d }§½WjŠ™çÓ:q£�G©†¿¹†šâ?0€Ïj4 ì?@…–ÎÌÒ4TB�°DŸîòüýÓyZÜOZ×Êâú¡— >@.~¾xølI,¬ÛíIÞ^æ™3zfÓ®-}>sÃä†õ¹Öû^¯¿›�û-ú��ãÞy;¿ÙÞ¦›së¥d¨µ�„Óèu¦ÆuÕáTõZ» )wåœBkúMÒ$WÜs§)ÍY#HG *ZX�9@ ϳ¬=ÌUŽFTR 'SJÎ~Û·zo^N’T�HʃôÔO—Éㇽ„`l,\=TÒV»Cj™ØÏ¸�æpéîf ØxW `C³= ži¾Û[ìôݯo¨)^–ŸáAÖ8“ä» ¦øð~ü+ ?>BfÏ(9‹%TW_xRµP41¤‚JDZÃüô®šíú®çß¶…RfCaSd»¢þ>&5•Ü?ìS20'! `úqžê¼£› ÜÔŸö™w¡‡Njß0¢/ܽ½ßF²çhúªè|ÊØå)n²vÍ�M}:¶HÞξ”t_ýR •^#—ž¯´¦§×¬œ†ȳ=ãU¥»Zá´œj JfI0½ý-UÈT"bå}¡r# `0Æ€‰Ž 鶃ðä d ³¥9¾I~sdq|nF|r׌™äq!s±û5ù‰·¦ø �MÇøé à¥þ·�sÐÔF¡éÁ%T(|ÎÍtïœ!Äg@:çh!ü7½‡UÙþVÂ�ˆ!­ŸÙÐ îýS1;okŸÅ�˜q¯Ÿ§jèÔ!íöY•ë™ØÇ¢_Ï�æ6Š“ô鞺Án¢©½w9×H£eS� ª„lz\c›Ûê1Šƒ:˜8q ˆÅ{ë=uÕ…½Ÿ^dm0èËH‚kfÝ4)w æ(˜ ^)~)[h±û¼á 5ÅHñS9±Áî×a§7¾šâ€È ô|{u ðÒÃ7Ðj”…NÌ)‚|ι¥9^Wøê+ÀsIö¬.ôñqj‰°uG�W_úªU`Ÿ}5Ð VuMÂèßZ=úôƒœ‰›7â2ÎÞ“€›€¢ÖDØ{ì×zÐMûp6êSs°} :4Qåì®"³¿Hæ I ‰…syÓÁD5ýƒ„Q W Oi?�ÃÑ<2Ð@qâÈàa¾ø}p[Œ‹ã·Ího¨Á/r‹tv¿oZyã®dÔ=ô·Ïko f: UE" 4G;¯ì¼ë »á>{U ¬u¦föˬÓoÛT`Áà8È çX?µ)÷ñÅ4½ë߆)Wµæú%$]C40°¶g):œzê²^,VÏ=UóÔž‹@�†¤’«jTôqM“(J³�"¯³v�—/§ �1 #Ûê?&Úb$î#³ÁÂàZd³¡‚Û@Q6ȽgNä»ÚjŠƒÜ¿E.ß-å-55Å€½7•ASp©B͉Wqõ}g€W<×Äuý_š]zcæönùÃ?]Y<üÙ¡�É=“{öü£ÜxóáþtûöÍI ¶÷¿Û4÷ôõ³:LlÞédÈ*ÀäßcoÇ£¤ð~ƒÖoãìã>!Où2šgµâî&²›ä [Ÿ‹&Õ»çeüÈëÙ—‹Ro'†¦¦®¦ë0O§}6âðdõ_ÆïóôY¦þ•R")\EÕÞ%d`s{ô Ѓ3T$ñ(×]°#g0@p@L_ë=ªÔô½Ù= @|q‡>§þ¶sÎ'E17}²•tãß(“…ãÉ«#Lß+=hô½R™^€Ë‡‡oõ;ææÓg8]nO”¶÷ÏdKé}GFš­TãkÑ)<�¯PFÀÛ΀cwα´Õi{w“|-Üùôí,3øËа&ÐÝÛK¤¥÷JTaëΊç[¯U ½;0O?ÔÏçižæ%—\2Ðú'U=O-“••= ²xŸ¬žÅÓé¤Õ¸W @åÉʦ�f¾–Ê|i6�ëÃí1Ïí1o÷3Ç8¹¼ÿúþ¶í³ÏëÛL' PWø¹Ú…��¤§-Ëò². RQÌ‚ráѩؕ7]mºãǵ€6@63 ÞY¾„¾=Žë ¼#äW3n–OûÁ~âXÚ;Bþ5ã Ž¸¬áñç5Pa@gÔT„@Vîw'>=èÚié]¼ñ+¯r• …´àÖâµË·õÉØw¡]~ZqþjCAÜ$fÖ7Þ]ø„9¡°§0X, À°Ì¸‹%YTô»j(9|®é=íPડˆœpS^2c‘]èGv•J¤ Eå!³Bð®ÉÈŽ_*ذÀ>)¾dn¼«v��ñŽ�MñR|Ï\À=v¯�ùŽ�¯¦ø‚ÁñhÜ>P© šæŠ€!¨–�ĵ ìšüo‡¼šæ.œÓ–L€c¼‘k›ñÁÚ=e;²±³Ì˜¦iÙ{ݦ-`ÿêР XÐ,`€† ­²m ~ŒÙ=‹[fÒ>ú$ó"‰Õqú¬:Ö©–¿œ¼‚Äzk-­ÇôËÚÁͧ,{Í= ú ¦�ä °Ù`¾è½æ®|{ìó!wM±Ñ{Ë\¹�îÖ�ýŽ�¯¦øÂ±„#@c¡RÉPnSSCÕ×P¦ÚËñ‘ƒ»?˜- MÓ0÷Áüg¶ì–0r€œy¦= uõRM“@pþ— r› ™ÜÀ@ÞY ³Z¸h[@ù…‡ Š…åç®Áê18vcœû‘Kw]Ò½¦º( HÜ5'¡)­>Å–•¯ Ì7Sï´sÚN1ZM–fÉQL4ÓŒ–¥_mÄØà2ºÀp>¨½å¯<Çì–ÓÌý¿ä®)j?2§§c�Øïðù׌+›¦K”ªª„àaàâ7¯`Š{ä5»T¦¼èGÓÞÛ²ñ‘íw8z³pmGÎ0H­–iÍÞ5@y/дB¾Ÿ²Gíî gŸ)�¢é'Nðar‹ºÇ•X@(jºjä<×Ȥ†9€È0À0nSsbš'3.вi†Öfq¹âý<ÿu‹ Óï>Ã\߆s·z¶ªÙ‘À¢šð3,1B �ÙÀ†Þf=†ô#oëFúÁWS ¼¾³[ÞeŽk3Ê;ü!oMñ7<=餋\ŒR LަeºõÁ{N?îáåÌX×(§µÔìâË!Û1Mjs|0  à~5m{¨aô€£œI­*á]‰xav ÎV»¡Ê�þ^Y$Fq\ä5E’M¸(¨ŠÖ6˜\=ÔDXw{ôb7 0Æ4gçæ°'�´ÊC0"¦ÐàÃt8�+HA<%|äCà í¢S€ô$Ý@P„ €‚fžG}fö%o=†oXÔûª_¹�oÉÝ2á1jŠ+"Fɤ©b Uôƒg¿-’^yÒYOÒ…óŸœ.êNÈ?yÛ0³Ð°(–tëè·W¢*”!—£RçÌ-c~ÙUs7ß_çô´7Sx˜îµVh7ZW!(r& `Y°BP€B €2 <㕉!j§Õm\|ÈÇc@ÁD°î%½¶UJBn€ÂÄl»jA8Gbîv$$„¶iÙ±›‚&�phÀÆ~'ýgžen ø‹5cÚô’?XÓîVð†šâ j–,4CޱBªà,xãϻިþW‚Ñ�Ée¡þõýò¶û°Nkå·‘Øa†£¼¼$aª·¦X�žFí¾³Pìì—à:ÊôÜ©{êjØ0Å^\Œ²Z�E7A�³AøLšÂˆf¨³0€&‘  ¨ú`ôâtÒ±„t“¥]m² —¹Í,ÂG°ÀÑB®¹q} 0ݺݔ.�äP$Ð ®ÑÀ>=†Öá±€¨)ÆAŸù…o—·~À7TÔ /¸5£Lšf;«ª*y;ô0�û•�¼�ìmøzšÓ�67]ý¥¬ƒ  Ô–ö0¬²õ š `T�ŽšCÚ=@* þ��×tÌÉÀá—ƒ<€zº+ w‹–Pb  ³@žË¼@*„… ,�Z'0æCP% –P  ["Ö€/óÅÈ›M +JÈ“\1²ƒAIŒ e‡”­~0ÞΙÖÁ�… Þæ¼eÞ[¾àýƒZñ­y Vð–� Í3Â5µÁ .@—,4A+ƪªèý9ÕCr¨õÌàÇ-Ì-[ÀŸ!?ŽËÀý*6k†$nX©™»KM“TP.„a›\)ÓŒÀq³±4DÃnŒTdWB� 1­ü›¾ ‡n  j C �À°à ihÄ#.³ªüha k<ܸ.3ww›>f?šŠw+èV¶¸ê5çhÀ� ø¨Ö8/“~¸1"@i7žµ\GžÝ¼.ð„ÚðlùÈtþ=}.ðŒÊ 6\�QfÒ4«ª*àâO½€Ô¿}wÕ—Ç/ÎÓó™&í¢¨Ý¨ÿ‡7 '€‚®¬ŒêI+‚¬ÅÂÙ®ÆQ±¦®/äͯ+ªq'�UM ‹ ƒšHô’¦éÄÀr ˆ\D̰""ŠlAþ@  Õ À¡@ÚÍÃà pnæcçæ8,qAB�™ †B2�Bý`ã ûfz��ov±³vžœq»®õ´°á/Äd@DÈžµ\Gž×|.DaÖrX8?ŸÜ) µâ €Rè¤T+³ªª">nmhGWþ!9Üy•�¥F”k-™ö·�Ù„6$ "2–ï§+cîþQ�=Óî�Ê%�j)r›'ì(ëÓÛmõ#0Ä`,z„ÐÀ°0òJ€L à¤8Ê`ŠŽ@+Q7–ñ°ƒ"•°�}0 € àD6�ß1ÒÞPì.²�݈šÁ¨ }¬�zÍÏ›fÕ{ºÊGu4œWZÙ> “¥°¾µ\²«øÉ×¢Jnkjîå.ÀϾ�àN½P+®I'� ,ƪª`Yý(hSrëpôáàïÇÖ‹Z,Å>û;l]Ÿ°íB ìn-FÕk5uv�3u¡º0 ˜oA Al†žåN¢ñ\vñF�Mc„Ô 4š0 ‘kº˜Ä3„ĬÀA³ð‚Ë&�“ÈÆð $±r@Ñì7_/!<¾êþºÎ16ÓŽEú­~Øë­1hÍ„í² ìõ⃉í!mç«\Ò0ŒÕU �Å`öµ<ÔU¾yÅ;-j‡cË“_Ð[|j#¹Ó.ÔŠ? ŸâÖìËC[6F¡“Qh,ƪªB€:~;ªM=ΟÀ­÷]8ºO¼úd†™‹'m—pe6ýþmäáÔ´¾6˜f3vFÝûÝÅ1Óeƒµ0cu¦õа¨ìÖålh\9*.% CÌ”+‹J#™¯AdHÎÎ&§×¬„2�@°Àf'5í3­.ø,Y$`°ÔH­€�û¡:œÌl�áÒîÒ%k€s�sŽ#è•sQsE_b`Èõ¦6YNCd?›^¡…°ÂÍÑ9€O¤Ðõ•£/tCHÞããü!1 j9~ �5>Ý9s>}ùò´lú�õõX­»ü%FUâ2¼LoޝØû}_i]|Ì Q�£í§~ÑÌhÊs¿]>çI¼y“ôu2«¯Û÷…ÿÔH‚‘ÞÊ Wû³öëŸìZæÜ�„ìÙ{Oõž§]§ø:pþúí¿í/n­ƒÚÁÆÈ:ú¬¿ÁŸ?“$˜×ëЯM˜.†äD~� r¢ð€`âÑg̳‹i¥;Uëí…ÐħþxéõŒýüýë}ŸË¼û‚; Få½´¼'¥wσ_êW=·õ~‘wÞÌH*¶f#M�@Øõz S7-^vç×oõã'�_ÝLj<~ùû�ÿÿÛÕjÛḛ̀XÌŒÄ⵬ðùij…ïalainm23-planify-69962f8/data/resources/stylesheet/000077500000000000000000000000001517337276100222075ustar00rootroot00000000000000alainm23-planify-69962f8/data/resources/stylesheet/animations.css000066400000000000000000000054321517337276100250670ustar00rootroot00000000000000@keyframes spin-loading { from { -gtk-icon-transform: rotate(0deg); } to { -gtk-icon-transform: rotate(360deg); } } @keyframes fancy-turn { 0% { -gtk-icon-transform: rotate(0deg); } 25% { -gtk-icon-transform: rotate(-30deg); } 50% { -gtk-icon-transform: rotate(0deg); } 75% { -gtk-icon-transform: rotate(30deg); } 100% { -gtk-icon-transform: rotate(0deg); } } @keyframes add-animation { 0% { -gtk-icon-transform: rotate(0deg); } 100% { -gtk-icon-transform: rotate(180deg); } } @keyframes breathing { 0% { -gtk-icon-transform: scale(0.9); } 25% { -gtk-icon-transform: scale(1); } 60% { -gtk-icon-transform: scale(0.9); } 100% { -gtk-icon-transform: scale(0.9); } } @keyframes fancy-bounce-turn { 0% { -gtk-icon-transform: rotate(0deg) scale(1); } 20% { -gtk-icon-transform: rotate(-30deg) scale(1.5); } 50% { -gtk-icon-transform: rotate(0deg) scale(1); } 80% { -gtk-icon-transform: rotate(30deg) scale(1.5); } 100% { -gtk-icon-transform: rotate(0deg) scale(1); } } @keyframes notification-bounce { 0% { -gtk-icon-transform: scale(1); } 30% { -gtk-icon-transform: scale(1.15); } 50% { -gtk-icon-transform: scale(1); } 70% { -gtk-icon-transform: scale(1.08); } 100% { -gtk-icon-transform: scale(1); } } @keyframes priority-pulse { 0% { -gtk-icon-transform: scale(1); box-shadow: 0 0 0 0 alpha(@accent_color, 0.4); } 50% { -gtk-icon-transform: scale(1.05); box-shadow: 0 0 0 8px alpha(@accent_color, 0); } 100% { -gtk-icon-transform: scale(1); box-shadow: 0 0 0 0 alpha(@accent_color, 0); } } @keyframes complete-pulse { 0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(var(--selected-color-rgb, 76, 175, 80), 0.4); } 50% { transform: scale(1.02); box-shadow: 0 0 0 8px rgba(var(--selected-color-rgb, 76, 175, 80), 0); } 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(var(--selected-color-rgb, 76, 175, 80), 0); } } @keyframes animate-strikethrough { 0% { text-decoration-color: transparent; } 100% { text-decoration-color: currentColor; } } @keyframes subtle-pulse { 0% { -gtk-icon-transform: scale(1); opacity: 1; } 50% { -gtk-icon-transform: scale(1.08); opacity: 0.85; } 100% { -gtk-icon-transform: scale(1); opacity: 1; } } .fancy-bounce-turn-animation { animation: subtle-pulse 0.8s ease-in-out; } alainm23-planify-69962f8/data/resources/stylesheet/calendar.css000066400000000000000000000004171517337276100244740ustar00rootroot00000000000000.calendar-day { padding: 3px 6px; border-radius: 9px; } .calendar-day.selected { background-color: @accent_color; color: #ffffff; } .calendar-day.today { color: #33d17a; font-weight: bold; } .calendar-day.today.selected { color: #ffffff; } alainm23-planify-69962f8/data/resources/stylesheet/index.css000066400000000000000000000003651517337276100240340ustar00rootroot00000000000000@import url("stylesheet/variables.css"); @import url("stylesheet/animations.css"); @import url("stylesheet/calendar.css"); @import url("stylesheet/stylesheet.css"); @import url("stylesheet/sidebar.css"); @import url("stylesheet/typography.css");alainm23-planify-69962f8/data/resources/stylesheet/sidebar.css000066400000000000000000000031031517337276100243270ustar00rootroot00000000000000.filter-pane-child { box-shadow: none; padding: 6px; border-radius: 9px; transition: all 225ms ease-in-out; background-color: alpha(@colorAccent, 0.15); color: @colorAccent; } .filter-pane-child.animation image { animation: fancy-turn 0.7s ease-in-out; } .filter-pane-child:hover, .filter-pane-child.selected { box-shadow: 0px 0px 3px 1px @colorAccent; } .filter-pane-row.animation image { animation: fancy-turn 0.7s ease-in-out; } .sidebar-row { padding: 0; transition: all 220ms ease-in-out; background-color: transparent; } .sidebar-row:selected, .sidebar-row:hover { outline: none; } .separator-lines row:not(:first-child) { border-top: 1px solid @item_border_color; } .selectable-item { padding: 0; border-radius: 9px; transition: all 220ms ease-in-out; background-color: transparent; outline: none; } .selectable-item:hover { background-color: alpha(@selected_color, 0.65); outline: none; } .selectable-item.selected { background-color: @selected_color; border-radius: 9px; } .drop-css { border-radius: 9px; transition: all 220ms ease-in-out; } .sidebar { background: @sidebar_bg_color; } .sidebar-card { box-shadow: none; border: 1px solid @item_border_color; } .gift-animation, .gift-animation image { animation-name: fancy-turn; animation-duration: 1s; animation-timing-function: ease-out; animation-iteration-count: infinite; animation-direction: normal; animation-delay: 0s; animation-fill-mode: none; animation-play-state: running; } alainm23-planify-69962f8/data/resources/stylesheet/stylesheet.css000066400000000000000000000310621517337276100251140ustar00rootroot00000000000000checkbutton, check { min-height: 12px; min-width: 12px; -gtk-icon-size: 12px; padding: 3px; border-radius: 6px; } .font-bold { font-weight: bold; } .fw-600 { font-weight: 600; } .no-padding { padding: 0; } .padding-4 { padding: 4px; } .padding-6 { padding: 6px; } .padding-3 { padding: 3px; } .padding-9 { padding: 9px; } .border-radius-6 { border-radius: 6px; } .border-radius-9 { border-radius: 9px; } .br-12 { border-radius: 12px; } .border-radius-50 { border-radius: 9px; } entry.flat:focus-within { outline-style: none; } .color-primary { color: #1e63ec; } .color-radio { background: @colorAccent; border-color: alpha(#000, 0.3); box-shadow: inset 0 1px 0 0 alpha(@shadowColor, 0.7), inset 0 0 0 1px alpha(@shadowColor, 0.3), 0 1px 0 0 alpha(@colorAccent, 0.3); -gtk-icon-shadow: none; padding: 3px; border-radius: 50%; } .color-radio radio { box-shadow: none; } .color-radio radio:checked { background: transparent; color: #fff; -gtk-icon-source: -gtk-icontheme("checkmark-small-symbolic"); -gtk-icon-shadow: 0 1px 1px shade(#fff, 0.85); } .color-label-widget { background: @colorAccent; border: 1px solid @colorAccent; border-radius: 50%; } .color-row-picker-selected { background: @colorAccent; border-radius: 50%; } .transition { transition: all 175ms ease-in-out; } .hidden-button image { transition: all 250ms ease-in-out; } .hidden-button.opened image { -gtk-icon-transform: rotate(90deg); } .hidden-button.opened { -gtk-icon-transform: rotate(90deg); } .button-emoji-picker { border-radius: 50%; } .listbox-separator-3 row:not(:first-child) { margin-top: 3px; } .listbox-separator-6 row:not(:first-child) { margin-top: 6px; } .listbox-separator-9 row:not(:first-child) { margin-top: 9px; } .listbox-separator-12 row:not(:first-child) { margin-top: 12px; } .listbox-separator-24 row:not(:first-child) { margin-top: 24px; } /* * MENU STYLE */ .menu-item-danger:hover { background-color: alpha(#e01b24, 0.25); } .header-title { font-weight: bold; letter-spacing: -0.05em; font-size: 15pt; } .editable-label { background: transparent; border: none; box-shadow: none; outline: none; color: inherit; padding: 0; } .listbox-background { background-color: transparent; } .row { border-radius: 6px; background: transparent; transition: all 115ms ease-in-out; } .row:hover { background-color: transparent; } .row:selected { background-color: transparent; } .row.activatable:hover { background-color: transparent; } .row.activatable:active { background-color: transparent; } .row.activatable:selected { background-color: transparent; } .font-weight-500 { font-weight: 500; } .bg-transparent { background: transparent; } .line-through { text-decoration: line-through; text-decoration-color: transparent; transition: text-decoration-color 400ms cubic-bezier(0.4, 0.0, 0.2, 1), color 300ms ease-out; animation: animate-strikethrough 500ms cubic-bezier(0.4, 0.0, 0.2, 1) forwards; animation-delay: 100ms; } .underline { text-decoration: underline; } .complete-animation { background-color: @selected_color; border-radius: 9px; } .priority-1-color check { box-shadow: inset 0 0 0 2px #ff7066; background: rgba(255, 112, 102, 0.1); } .priority-1-icon { color: #ff7066; } .priority-2-icon { color: #ff9a14; } .priority-3-icon { color: #5297ff; } .priority-1-button image { color: #ff7066; } .priority-2-button image { color: #ff9a14; } .priority-3-button image { color: #5297ff; } .priority-2-color check { box-shadow: inset 0 0 0 2px #ff9a14; background: rgba(255, 154, 20, 0.1); } .priority-3-color check { box-shadow: inset 0 0 0 2px #5297ff; background: rgba(82, 151, 255, 0.1); } .priority-4-color check { box-shadow: inset 0 0 0 2px @borders; background: transparent; } .priority-color { padding: 0; } .priority-color check:checked { background-image: linear-gradient(to bottom, shade(#ff7800, 1.2), #ff7800); border-color: shade(#ff7800, 0.9); box-shadow: inset 0 0 0 1px shade(#ff7800, 1.15), inset 0 1px 0 0 shade(#ff7800, 1.3), 0 1px 1px 0 shade(@bg_color, 0.85); color: #fff; -gtk-icon-source: -gtk-icontheme("checkmark-small-symbolic"); -gtk-icon-shadow: 0 1px 1px shade(#ff7800, 0.85); } .today-grid { background-color: alpha(#16af54, 0.15); border-radius: 6px; color: #16af54; padding: 3px 6px; font-weight: bold; } .today-color { color: #16af54; } .upcoming-grid { background-color: @upcoming_bg_color; border-radius: 6px; padding: 3px 6px; color: @upcoming_fg_color; font-weight: bold; } .upcoming-color { color: #9141ac; } .overdue-grid { background-color: alpha(#fa1955, 0.125); border-radius: 6px; padding: 3px 6px; color: #fa1955; font-weight: bold; } .overdue-color { color: #fa1955; } .completed-grid { background-color: alpha(#ff7800, 0.15); border-radius: 6px; color: #ff7800; padding: 3px 6px; font-weight: bold; } .completed-image-color, .completed-color image { color: #ff7800; } .is_loading image { animation: spin-loading 1000ms linear infinite; } .popover-contents contents { padding: 0; } .circle-color { background: alpha(@colorAccent, 0.25); border: 2px solid @colorAccent; border-radius: 50%; } .item-label-child { background-color: alpha(@colorAccent, 0.125); border-radius: 6px; padding: 0 6px; color: @colorAccent; } .item-label-child label { font-weight: 600; } .description-box { background: alpha(@item_border_color, 0.25); padding: 0px 6px; border-radius: 6px; } .checkbutton-label label { margin-left: 6px; } .circular-check check { border-radius: 50%; } .small-button { font-size: 0.85em; padding: 0px 12px; } .tiny-button { padding: 0 6px; font-weight: 600; } .pane-due-button { background-color: @upcoming_bg_color; border-radius: 6px; padding: 1px 4px; color: @upcoming_fg_color; font-weight: 500; } .pane-due-button.error { background-color: transparent; color: @error_color; } .icon-animation-dropshadow, .icon-animation-dropshadow image { animation-name: breathing; animation-duration: 3s; animation-timing-function: ease-out; animation-iteration-count: infinite; animation-direction: normal; animation-delay: 0s; animation-fill-mode: none; animation-play-state: running; } .calendar { background: transparent; border: none; } .calendar header { border: none; } .day-name { font-weight: 700; opacity: 0.8; padding-bottom: 0.5em; padding-top: 0.5em; } .circular-check { padding: 0; } .fancy-turn-animation, .fancy-turn-animation image { animation: fancy-turn 0.7s ease-in-out; } .fancy-bounce-turn-animation, .fancy-bounce-turn-animation image { animation: fancy-bounce-turn 0.7s ease-in-out; } .priority-pulse-animation { border-radius: 50%; animation: priority-pulse 0.6s ease-out; } .pb-6 { padding-bottom: 6px; } .switch-min slider { min-height: 16px; min-width: 16px; } .close-button { border-radius: 50%; padding: 0px; } .min-height-0 { min-height: 0; } .no-font-bold { font-weight: normal; } /* * Theme Selector */ .theme-selector { margin: 9px; } .theme-selector { padding: 0; min-height: 44px; min-width: 44px; padding: 1px; background-clip: content-box; border-radius: 9999px; box-shadow: inset 0 0 0 1px @borders; } .theme-selector.light:checked, .theme-selector.dark:checked, .theme-selector.dark-blue:checked { box-shadow: inset 0 0 0 2px @theme_selected_bg_color; } .theme-selector.light { background-color: #ffffff; } .theme-selector.dark-blue { background-color: #1a5fb4; } .theme-selector.dark { background-color: #000000; } .theme-selector radio { -gtk-icon-source: none; border: none; background: none; box-shadow: none; min-width: 12px; min-height: 12px; transform: translate(27px, 14px); padding: 2px; } checkbutton.theme-selector radio:checked { -gtk-icon-source: -gtk-icontheme("object-select-symbolic"); background-color: @theme_selected_bg_color; color: @theme_selected_fg_color; } .header-item-button, .header-item-button .image-button { padding: 3px; min-height: 16px; min-width: 16px; } .event-bar { background-color: @colorAccent; border-radius: 1px; } .source-calendar-color { background: linear-gradient(135deg, @colorAccent 0%, alpha(@colorAccent, 0.7) 100%); border-radius: 50%; } .icon-color { color: @colorAccent; } .drop-area { background-color: alpha(#1e63ec, 0.35); border-radius: 6px; } .drop-target:drop(active) { border-radius: 6px; background-color: alpha(#1e63ec, 0.35); } .drop-target-none:drop(active) { border-radius: 0; background-color: transparent; outline: none; border: none; box-shadow: none; } .drop-target-list:drop(active) { border-radius: 6px; } .drop-begin { padding: 3px; background: @selected_color; border-radius: 9px; border: 1px solid @item_border_color; } .indicator { background: #1e63ec; border-radius: 50%; } .view-button { padding: 3px; border-radius: 50%; } .video-content, .video-content > overlay, .video-content > overlay > picture { border-radius: 6px; } .banner { border-radius: 9px; background-color: #8bc6ec; background: linear-gradient( 90deg, hsla(242, 58%, 73%, 1) 0%, hsla(157, 72%, 82%, 1) 100% ); padding: 12px; } .banner-text { color: #333; } .active-switch slider { min-height: 16px; min-width: 16px; } .no-selectable:hover, .no-selectable:focus, .no-selectable:selected, .no-selectable.activatable:hover, .no-selectable.activatable:active, .no-selectable.activatable:selected, .no-selectable { box-shadow: none; outline: none; background: transparent; } .pinboard-color { color: #ed333b; } .bg-danger { background: #f66151; } .menu-button-no-padding > .toggle { padding: 0; } .badge { background: @accent_color; border-radius: 3px; padding: 0 3px; } .view-icon { padding: 3px; border-radius: 6px; transition: all 225ms ease-in-out; background-color: alpha(@colorAccent, 0.15); color: @colorAccent; } .theme-mode-image avatar { border-radius: 6px; border: 1px solid @shade_color; } .priority-flying-label { font-weight: bold; color: @colorAccent; transition: all 150ms ease-out; } .priority-label-impact { transform: scale(1.3); opacity: 0; transition: all 150ms ease-out; } .shortcut-widget { background: @upcoming_bg_color; color: @colorAccent; border-radius: 6px; padding: 6px; } .keep-adding-button:checked { background: alpha(@accent_color, 0.15); color: @accent_color; } .add-button { font-weight: 500; opacity: 0.7; } .add-button:hover { opacity: 1; } .magic-button image, .add-button image { transition: transform 0.2s ease-in-out; } .magic-button { border-radius: 50%; padding: 6px; } .add-button:hover image, .magic-button:hover image { transform: rotate(90deg); } .task-item { transition: all 125ms ease-in-out; transform: scale(1); transform-origin: center center; border-radius: 12px; } .task-item.complete { background-color: @selected_color; animation: complete-pulse 500ms cubic-bezier(0.4, 0.0, 0.2, 1); } .task-item.selected { margin-bottom: 12px; margin-top: 12px; margin-right: 3px; padding-left: 6px; padding-top: 3px; padding-right: 3px; padding-bottom: 6px; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12), 0 1px 3px rgba(0, 0, 0, 0.08); } .theme-dark .task-item.selected { box-shadow: 0 0 0 1px @item_border_color, 0 2px 4px rgba(0, 0, 0, 0.25); } .theme-dark-blue .task-item.selected { box-shadow: 0 0 0 1px @item_border_color, 0 2px 4px rgba(42, 48, 58, 0.35); } .task-editing { background-color: @window_bg_color; } .version-popup { background: @card_bg_color; border: 1px solid @item_border_color; padding: 12px; border-radius: 9px; } .border-outline { border: 1px solid @accent_color; color: @accent_color; border-radius: 6px; padding: 0px 6px; } .quick-find-list row { border-radius: 6px; margin-left: 6px; margin-right: 6px; } .dimming-bg { background: rgba(0, 0, 0, 0.25); }alainm23-planify-69962f8/data/resources/stylesheet/typography.css000066400000000000000000000001001517337276100251160ustar00rootroot00000000000000.error-message { font-size: 12px; border-radius: 6px; } alainm23-planify-69962f8/data/resources/stylesheet/variables.css000066400000000000000000000006071517337276100246740ustar00rootroot00000000000000@define-color accent_color #3584e4; @define-color accent_bg_color #3584e4; @define-color window_bg_color #f9f9f9; @define-color popover_bg_color #ffffff; @define-color sidebar_bg_color #f3f4f6; @define-color item_border_color #dcdfe3; @define-color upcoming_bg_color #f0f1f3; @define-color upcoming_fg_color #2d2e32; @define-color selected_color #dbeafe; @define-color card_bg_color #ffffff;alainm23-planify-69962f8/data/resources/ui/000077500000000000000000000000001517337276100204335ustar00rootroot00000000000000alainm23-planify-69962f8/data/resources/ui/shortcuts.ui000066400000000000000000000135441517337276100230370ustar00rootroot00000000000000 1 shortcuts 12 Used Anywhere a Create a New Task <ctrl>v Paste Plain Text to Create New Task p Create a New Project s Create a New Section in a Project Search <ctrl>f Open Quick Find Control Windows <ctrl>q Quit <ctrl>comma Open Preferences m Toggle Sidebar F1 Open Keyboard Shortcuts Navigate <ctrl>h Open Homepage <ctrl>i Open Inbox <ctrl>t Open Today <ctrl>u Open Scheduled <ctrl>l Open Labels <ctrl>p Open Pinboard alainm23-planify-69962f8/data/translations_metrics.json000066400000000000000000000254571517337276100231630ustar00rootroot00000000000000{ "nl": { "language": "Dutch", "total_strings": 716, "translated_strings": 518, "translated_percent": 72.3 }, "tr": { "language": "Turkish", "total_strings": 716, "translated_strings": 521, "translated_percent": 72.7 }, "en": { "language": "English", "total_strings": 720, "translated_strings": 720, "translated_percent": 100.0 }, "bg": { "language": "Bulgarian", "total_strings": 716, "translated_strings": 500, "translated_percent": 69.8 }, "de": { "language": "German", "total_strings": 716, "translated_strings": 716, "translated_percent": 100.0 }, "es": { "language": "Spanish", "total_strings": 716, "translated_strings": 640, "translated_percent": 89.3 }, "fr": { "language": "French", "total_strings": 716, "translated_strings": 693, "translated_percent": 96.7 }, "hi": { "language": "Hindi", "total_strings": 703, "translated_strings": 468, "translated_percent": 66.5 }, "ka": { "language": "Georgian", "total_strings": 716, "translated_strings": 487, "translated_percent": 68.0 }, "kk": { "language": "Kazakh", "total_strings": 716, "translated_strings": 497, "translated_percent": 69.4 }, "ko": { "language": "Korean", "total_strings": 716, "translated_strings": 444, "translated_percent": 62.0 }, "pt_BR": { "language": "Portuguese (Brazil)", "total_strings": 716, "translated_strings": 539, "translated_percent": 75.2 }, "ru": { "language": "Russian", "total_strings": 716, "translated_strings": 659, "translated_percent": 92.0 }, "sk": { "language": "Slovak", "total_strings": 716, "translated_strings": 487, "translated_percent": 68.0 }, "uk": { "language": "Ukrainian", "total_strings": 716, "translated_strings": 716, "translated_percent": 100.0 }, "zh": { "language": "Chinese (Simplified Han script)", "total_strings": 716, "translated_strings": 120, "translated_percent": 16.7 }, "hr": { "language": "Croatian", "total_strings": 716, "translated_strings": 716, "translated_percent": 100.0 }, "af": { "language": "Afrikaans", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "ak": { "language": "Akan", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "ar": { "language": "Arabic", "total_strings": 716, "translated_strings": 104, "translated_percent": 14.5 }, "az": { "language": "Azerbaijani", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "be": { "language": "Belarusian", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "bn": { "language": "Bengali", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "bs": { "language": "Bosnian", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "ca": { "language": "Catalan", "total_strings": 720, "translated_strings": 477, "translated_percent": 66.2 }, "ckb": { "language": "Kurdish (Central)", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "cs": { "language": "Czech", "total_strings": 716, "translated_strings": 189, "translated_percent": 26.3 }, "cv": { "language": "Chuvash", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "da": { "language": "Danish", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "el": { "language": "Greek", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "en_GB": { "language": "English (United Kingdom)", "total_strings": 716, "translated_strings": 610, "translated_percent": 85.1 }, "eo": { "language": "Esperanto", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "et": { "language": "Estonian", "total_strings": 716, "translated_strings": 371, "translated_percent": 51.8 }, "eu": { "language": "Basque", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "fa": { "language": "Persian", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "fi": { "language": "Finnish", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "ga": { "language": "Irish", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "gl": { "language": "Galician", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "he": { "language": "Hebrew", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "hu": { "language": "Hungarian", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "hy": { "language": "Armenian", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "id": { "language": "Indonesian", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "is": { "language": "Icelandic", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "it": { "language": "Italian", "total_strings": 716, "translated_strings": 233, "translated_percent": 32.5 }, "ja": { "language": "Japanese", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "jv": { "language": "Javanese", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "kn": { "language": "Kannada", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "ku": { "language": "Kurdish", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "lb": { "language": "Luxembourgish", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "lg": { "language": "Luganda", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "lt": { "language": "Lithuanian", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "lv": { "language": "Latvian", "total_strings": 716, "translated_strings": 645, "translated_percent": 90.0 }, "mg": { "language": "Malagasy", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "mk": { "language": "Macedonian", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "mn": { "language": "Mongolian", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "mo": { "language": "Moldavian", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "mr": { "language": "Marathi", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "ms": { "language": "Malay", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "my": { "language": "Burmese", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "nb": { "language": "Norwegian BokmÃ¥l", "total_strings": 720, "translated_strings": 692, "translated_percent": 96.1 }, "nn": { "language": "Norwegian Nynorsk", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "pa": { "language": "Punjabi", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "pl": { "language": "Polish", "total_strings": 716, "translated_strings": 54, "translated_percent": 7.5 }, "ro": { "language": "Romanian", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "sa": { "language": "Sanskrit", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "si": { "language": "Sinhala", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "sl": { "language": "Slovenian", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "sma": { "language": "Sami (Southern)", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "sq": { "language": "Albanian", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "sr": { "language": "Serbian", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "sv": { "language": "Swedish", "total_strings": 716, "translated_strings": 165, "translated_percent": 23.0 }, "szl": { "language": "Silesian", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "ta": { "language": "Tamil", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "te": { "language": "Telugu", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "th": { "language": "Thai", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "tl": { "language": "Tagalog", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "ug": { "language": "Uyghur", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "ur": { "language": "Urdu", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "uz": { "language": "Uzbek", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "vi": { "language": "Vietnamese", "total_strings": 716, "translated_strings": 663, "translated_percent": 92.5 }, "zu": { "language": "Zulu", "total_strings": 716, "translated_strings": 0, "translated_percent": 0.0 }, "zh_Hant": { "language": "Chinese (Traditional Han script)", "total_strings": 716, "translated_strings": 716, "translated_percent": 100.0 }, "kab": { "language": "Kabyle", "total_strings": 716, "translated_strings": 102, "translated_percent": 14.2 }, "pt_PT": { "language": "Portuguese (Portugal)", "total_strings": 716, "translated_strings": 662, "translated_percent": 92.4 }, "kw": { "language": "Cornish", "total_strings": 720, "translated_strings": 0, "translated_percent": 0.0 } }alainm23-planify-69962f8/docs/000077500000000000000000000000001517337276100160235ustar00rootroot00000000000000alainm23-planify-69962f8/docs/image11.png000066400000000000000000003042101517337276100177550ustar00rootroot00000000000000‰PNG  IHDRmæÑò|esRGB®ÎégAMA±� üa pHYsttÞfxÿ¥IDATx^ì½{|TÕ¹¸ÿL&n.A“B‰&jM¤‡¨%TKŠ­´§¦ž#ô†žŠõTi¿l[jTâQc[?5QÈx!P1VI¬3T˜TL,4Qd(˜‘Ë „ ¹ÌdfÖï�=“Ìì\HÈ ¹°žÏgCf­µ×^{¿{­½nïûj„‰D"‘H$‰D"‘ J"Ô‰D"‘H$‰D"<ÈA›D"‘H$‰D"‘ bä M"‘H$‰D"‘H1rÐ&‘H$‰D"‘H$ƒ9h“H$‰D"‘H$’AŒ´I$‰D"‘H$É FÚ$‰D"‘H$‰d#m‰D"‘H$‰D2ˆ‘ƒ6‰D"‘H$‰D"ÄÈA›D"‘H$‰D"‘ bä M"‘H$‰D"‘H1rÐ&‘H$‰D"‘H$ƒ9h“H$‰D"‘H$’AŒ´I$‰D"‘H$É FÚ$‰D"‘H$‰d#m‰D"‘H$‰D2ˆÑ!„:P"‘H$‰D",8èáwO6!Ü^"„-Êÿá%J#Zá%B"„—¼¾ßé"„ RãEãõáUÒøã#„’^�w¤p»ÛÓi…@#´ãƨƒ$’‹ž=ÿêä± fò߉éÉeTLJ#îgo–e3£Õ‰Ú©{±ˆÆ»–î˜O¼:Áp,õ.)Ë“&ÿ‡ rÐ&‘H$ƒ�ûiâ³Ãn¢µ�Pk¾A›Fx•ßB‰ÓF„Gá ×_Zßy¼íiýçG€ï—^Å)l@¼Vx½¾s½D”t¾ü”2)¿ƒóò_' üá×ñÅ A„ïú‘Zn�’WÐý¨®ë¿¦ÿþÔ÷.¼DD€Æ£~.êß÷ øÊá;_(Då9úž±ð*¹€ûo/‡/m{þó|é‚ûßs@€í cý9c~y›ú•�H.j.¼Ÿ¶ÏÉYú­žO\´�º�¤¯¦àÙ ¬×d²ü§iضåSø¡�äÛ~ŒëÉG9t_wÆXÑ_MÙ“¥ÔŽKaþ½ó‰ÙgÄüq-5 ³Xšu+—\ }nÒOÛðBÚ$‰d²ä‰füŸL¾ì}Ý%ƒÛ3â–ÿ�ƒ6‰DÅ…_i×Ñ ^ø£‘�6=™þ^ÛFÒƒwryU…î8‘²»¨«²pìÍb"³sa£ûq+—=¸Œ4{ Y¯§2×^ å’¶½€ª´EÌœ ¾Rx�+mà Ù�H$’A‰œO»‘R—H MŸó†%•EO±ù…Ø^~—FX÷USM 3b`\,M|b<º›8íÑ£×qz°Û`r2-D�Œ ºD¸‘:mà 9h“H$’AIßuÁ$C)u‰d�0ú+$ìÎbÙêrVb�y;s¯q`¶º¨ÝnÂ6õ¦î+¤d[>9Ï×��踵ÍÌ™­_,§äér.¿=]�ó#šÎ’A„Ü)‘H$ƒ�%O4ñàÿŒ”Û#/2NÞñ0#åöH‰¤^§mè#uÚ†²7 ‘H$ƒ9Cz1"¥.‘tÍ©3‚¶6u¨¤'äJÛðBÚ$‰dP"7A\ŒH©K$]3a¬†è(u¨¤'¤NÛðBÚ$‰dP"gH/F¤Ô%I¨�+mà 9h“H$’A‰œ!½‘R—HºGÖ�¾!WÚ†rÐ&‘H$ƒ’!:Cê0‘÷›Œ[ŒäýfÆÃ`ÝhÄÔžÀLÉkÐ)jìÛ‹(·‚iÕmÜ¿:‡œÕ9ä¬.¥N�°ìÛ‹Ø}R:ø¢R—H.²~ô ¹Ò6¼�ƒ6‰D"” ÍRÓ˘ñÄJܱ€eÏ,ÀVTÊil˜^Ì"ë‰Rj±$ÄÇ€£†Ò'²Èzº‹8\NþŠ,²^Ùž]e”¾SC ),X±’•+V²rE&ñ{J1�¨£|›ûβVea¬r€ÝDùÆrV,£ êKjw•ñÞß?SoÐ34¥.‘H#r¥mx!MþK$É dÉÍ<ø?#†˜ÉÆU%dd/ ÞbZ•…=1–Ö[—1ŸòÊGÏ Gó±Ý»œY¶R ªn ꇔ‡’pÀÌÞ¿—rø;¹žŸMþ‰dô“3ɽ·‘â]ßfñÔBò¾ˆ§ñHK~v9æµ…èþ'ž²÷3ȽËAÁZ?Ô•ññwsùÞ¤àvlw<Ìiò_"éÄ�ƒ~›×ÌÌT-xÑ�Fx‰@ ‚!ÐàÿíEx‘¾8¼h¼B‰ó�!¼h�׋FxÑj”<ÀK„ o/ø~û®áu¹‰ŠŠP~¥ î³NbFGúâ}×÷§¾r�çl+Ñ££|×õ•É—^¹–æmlA;* ­VÓq=ÿ½¢ä‡ï·r-ˆÀKËæ�\Zõœ4ù?L�ƒ6‰D"„ U?m¦ÕËpü&�[u€§†üG-Ü’hçøÏ’AyO[‰Ÿ”�Áº†º™LÅ…C7Ç®ƒÌ]šIœÃÁ§¯¯aoF.†ç³ ;—×´vJž(]+†ÿŒ¥Ô¨#ã®f0\eÅüåÜdŸÑBCsÐ&ý´I$]sà ‡§7¶pß¼à¬(›ÿå·Æ·ºäv{‰Žô�,”AŒáI9Wù!¼ÊÀ-Bë‹þ<|ùûO�×jki#zd$áÛ²ætùþl:q–1—Œjßœ¨Áëû? ?-ÇŒš4¦ýZþ2)R¾à>q†È £ˆˆÔ—¥ýXðoûÏçÒ]’ƒ¶a‚´I$É dh®´ùtÚV”2fF gXHºo%i» Ç‘Îìæ:˜—�k—�Ì©Fr>NaFs)‡oz–G³1jg½§†´ï@á'éÌkXÛ1i¾U»2î[HÚ¾,~vðN6ß�ñ¡B˜OÍN=‹ã¢ÂÒ1h[0ÕÄ#G¾Ã# ®S—pPsò`ÄÍ©è~÷#u”DrQsà ã_�<&�k÷šc© ¹d[Ú½:J2‘ƒ6‰d±§ÆÓ>‹æŸñëP3VfÖNœt3IíqJï˜ „³gÜèb#T³{þ4‚¦3nÆÄFÒÜèbtlTÀÌžðgÓ>[èlr1btÍg\Œ«8ÒQ¶vt\SùS sžiedl4­gœŒãËË?û©ÌHv\#`vRxi;ëBx¼ÄŒÑ¯”+`&3hFSù¯�FƒûtQã•�~ǽ—5ð™(¿ÓtÄE]õU´ǵ§ %Cu¥íœ4—S°%…Ewù7PJ‘+mI×ÈA[ßù2u!Ëž”+mÃ9h“H† –�¥©Y0"Ê·ßÝ¿W¾}�¼—6§`DtÇž|�oO¼½/­ünßïïßÛ/¼h}ù ·­V€Û‹6BÙZâß‹�/?ÿþ{áö©Ñæ!2RÈ)å ,§o??o››¨H�/=ºªrvìý÷ë p»Ñx½h£"|帇@ÝU~þ²jÜnE/ =Þ·m¦]@¹¶Æ÷wðo%=xÿ>NÌÍ)è7þA-¦�0dWÚzÄ…e�WR:Iáëy¤N›DÒ5rÐÖwŽ¥ÞÃ%eyrÐ6L�ƒ6‰d±ø‰&~;W_† gÙ€Çz’ ÏýN†íJ›¤GäJ›DÒ5z(þ«“Çå ­×È•¶á…ì H$CésåbBÊúbDJ]"éY?ú†ì3 /ä M"BHŸ+RÖ#Rê‰$TÈ>Ãð¢ßÛ#wü½­Cyßg&µC�_ÐtÖƒn´b쟿Š?¬±ÁÍØqZŸN�߀ ±ÁEìØ("45¸3Vd(@Ñ­Q Dø.ÛÖê&z„&ÈHƒ¿LŠŽ¸[ÝDÅhCš£æ[5¾ße ÈA«½‰‘q£”{ñ?F¡üÓf?ˈ¸À%|%_ ^„˃&J«”Ïgú5ð¾üÏ%ðYv„)y¨ÃFÞ6ÓwÉpfxê9 M¿=RÊúbDê´ .>ø‡—Ké7›”Wtl�buJõëû¿Ë.§�ÄÄøÖ;Úut¼8N·1v|”¯ÿ |×#Úû-Šnói'cÆÇÐtª…1ã£Û�EuôS-öfFO©üöõG‚û+¾>ƒÛC[C 1Fµ÷uÚ ?ùúTŸY|�ÑêDÐ÷ðçéÓ�ö÷½|ÏC鳄¯?"uÚúŽÔi^ôkÐVÜË�ËÏò•‰¾Êî³îákÌ4Hr{ã ^�FÓa,A¹vpz¿óD�¯QV‹^p¹‰ŒÒ´7’Ê}+ „³�ÈèŸ!cîËÇë%Bã7ÔPþÃà{>¾FÔ_.¥Qõ• �¦¹¯í4ñuFµx$éÓ6xÿ Mê´]ŒH�¶ÁÅ}�4a=îf‚Îgà¨Ý9²—¯O›—èHÑnÀI‰WÒ�‡¯—Èöþˆï\áiïãÄD)Î’•x�/Þ‹%Ìër Âg¼)èú>ãKÂÙFT´b˜ÉŸ¿¿Óq]/¯|N¡Ûû�÷$”>Z{ÿÊíF¡ô»´íýŸ±*.(Là©þ ýËYŒ¸e†úQö›þë´™)Ù’Àü;º·\kß^„ùê…Ü”DuÞQ#FËܘ&�:Š^ldáÝi¾ßç¾n¸�:mË~Úž,j!ÿ÷£ÕQ’ DÛg_`ÿq6—þã9u”d"W_á´ýäwg¯ƒ1#•NSàNÿSûÿíûf¿}“MÊŒ¼o<À¹¬Æ7±Ö>ƒî›”Ò�»Í£L�å�&`•Á-¯ÛK¤Ö?©æ_‘,SåÌßWo›—ÈHŲ§úJ¾eÊ? ü]_C)ƒ×éA¡ÊWàuµ¡�Ž$Bt<Ÿn˯ʓ6Z¥ì?:ž»õ¢c%Â/�v¹Þ×{ûˆýýOå m��³®…ï¦Gq}ŠßK³¤'Žk1cW,Û ­»•6ûîrÊWR{$�ù¿JƱueÇ“Y2ÏEñó•Ø ,¹;�Ú=zÒ¯­§tm æèYÜóÀ­Ž–“ÿ|%¶k¾Ã·jÿÄ_ +É»;]{îu˜vëI¿öE«K±MýÕKH²×’|{:qÍu”þ±Ss ó~ä"/û÷¯¹“˜];(;®#=ý{\�™²£fj«âÈ\µˆÔ£¥¬yÙL‚!ž·-"ebà…¹Ò6¼�ƒ¶!Ž2h{”Kÿñ¼:J2 ‘«/ƒ‡pÚî]ÕÄÏÃe—h|!J¿_Ë­„)?”�H`"šŽóƒ)[®”ó›nFë"ƒÓø¶l^+0²éL£Ç*¾ü4(ƒ6u?þm]�²Zδ2jlLçëü|/ªLºð[˜Æuº…˜q#Ûûã]§›ˆðÝ׎o ¦dÑ‘O`÷é³D�÷ýrP\–®âýá§ø£ÿë›rÐ6HÈY×ÂwgFq}ª´õ†�´Y7æQyë2æSB^ùœãX™mÀøD%sšO\U9 7`°^�áh>¶{—3ËVJAÕ ¤X÷�òÐB˜Ùû÷R'—“s7aÜhÀpÜHôƒËHÛ—G^ó2–®´íÎcÙáL–Ï›óÅÏG’› 9«`e67È €ŠÙ¹,pP`û!±»•²E¿ùï_ó,ÿ9- ¿!WÚ†²ç7 �Ö�.&¤¬/ÆŒÒ0å².Ÿ¬õ‘�)Ê1uJ$S§D1uJ_�ÍW¿Úù˜òÕh¦|5†ÉíLj ã+S•#aêH®¼VGÂÔ‘$LÕqFoÅe†Q\f­:Æ�xÝx.3ŒáRÃ&Æ0ér�êˆm?.¹<–K.Ë%Ó:S¾> ý´qÄMGÜ´ñGbÇ1!q<'0>qãã‚�+â×~è{…ž±W\Ò~\rýb¯¼¤ýÐ]y º+'wƒÝ•“Ð]9‰1�GÒ$F']ÊèäK�|Yû1*àˆýÆŒLŽ÷ ŒLN`D§ã+Ä$…˜äÉÄ$O&ºÓ1…èä)D%OA«ëÜ!• 0²ÙèÑÇqz8Þˆ!ÑØ°¢WVÂôzœ'Î(IµNì5ÕT[ãII‡6ŽX zr2»›»pxÆ«UòÒ«£gÜÏâkë)[ŸOñ'ÍíÁJ9ü$c˜ èb‰Å†µ9 Óu¬é…Ù?^ÈAÛ0@Zºx2²>¹ƒ¬�Vu¨ÆnãÀºÑÈgêÀAˆ·± ïÙup"²–„)õAˆÊ ÀÑ,p¶u'Œj6¯/¡äiSçùJ)Ì3˜ÈÛRNÑF³æ(«M)3¨=àÂVUJ�ç 2¦˜)ÜRN~ö:NÆÇR±Ù„=(o€hÒgBÉ‹%•aÃJÉÓ%´ÉŽ—Qð¶ ýÄ8âÇ]Er‹‘ÒOƒs&…yÉ<°"�œ-5D†il5dú ’^!·Gq¤NÛÅÅ�Ñi;¹ƒ¬²«È½Ë§x}¢‚¢ç+¨u&3o©�Ož¨Æ¦µ2föÍŽ¦fë:Jª¢™uïbRviºkW¨ódœúß§ðœlà’­9ê¨�ðÿV7qÿ�Fpu¢V%ÆH둃 ©ÓÖ7n{¤Ë] HWGÒ\NÁ–ù¿KŠóV3 ·ÍÂùâlóV’6V�¦ÿH�¶áÅ ïùIzÇy�»%CŒ¡:kæhH sÉr–ßfã“}`Ó¥±,;—´ªBLäcä–<8ëF#ÇÕ'R´ñz´—„á+ë#R ºÑaš~• Z†f æH¡ zô7¥“¬ Â…åß¾­¶uTl¯è8öXp©Óôi³°ì¬ÄzÓâ° ØÂ}I×ÈAÛ0@îY¾xª²¶¼›OÁ63‡”ßúIŠF€^¶Æœöjª÷Õ]ÑÁ§^Ä MYKúI‹ïi‡:T2�Ȫ8艞jPt׺%à é$�S‡wÁÄ$2ædt7Âó]—Dúœ Ò¯”:m’Þ!·Gq\äÔ=k¤õÈ‹„!ã§íäîÿí;Ä'逦�«à a.úªb̉?"¡t/úy—S<‰ÅwÁºl3)7¸(µ¤³|’…¶!°=2ÜÖ#¥¥Ð‹“púi;Ýèei^3n—­ð!S"4obôÄŠÓvŸÿ£v_I^_¹…’ÞyÜÁ¨Ic/®cFNãó»àÿÉç‡É}ì Ñ“t�ýIùœ’¶—Ó_._ü¨ÎD;iBû3 %CF§í" ܃¶ÅO4³äÎ|5AÊúb"œ:m§½übe‹~ÓÞÖ5œñ0A§øÆÓàÅÑàaÜXŸß9_Û×r¶�Ñ£µí~þüí±×#ˆŒðµ}Bñ“çqµ�§ÕMTL„Ê_žr´543"v�¶½ýô¶·ám'7Æ×žúøSüjàsìì|ï#\{þÅ¥»×ªo7$ ˆNÛáR–=]CÊM,»jHy0�Ì©êDƒ“�Òi“t�Ôi^ ƒA[dç’Ž…¢U&n}x.µ ¨8à$ùGË™?ª‚üM4NŸÇòŸ&c 0x {9 ç’\2FžòµpK¢…·=6�§1ÿW™Ä|bB?3…ú€ón%ØãÇ7>Áï¾½ Ü~ÚžÛìä­�N¦LÒ(jáEë` /-ÍnÆŒTâ”�«®-^ðú>¬MnF�ÒÑïÅÝêfDŒÏ!¯×7ØÊŒ¯`är´1r”â 7¯ïÃÞqý¼¸NFŒŽl�ó_¿½L¾`„ðâ9ÛJ̨(ÅÑ®£•¨ÑQD´Ÿ§\ßÿÛÛØBô˜h@™�ö—É?(Tþöÿö•å_‡‰ùúè‹W¨eH�«/ƒ‡pÚº•õ©JJ>›Åü|¿w1ù²n)¡þŽù¤u�½‚¢=É,¼º’eëm¤ÄÙ‰þñJæOùÙË^^Ñ£¿äî•¶?<Óº‡î›jÎnü-[vrÉ›�«£BÂ…_iT¬~ÝCËHÓ3yYù¯Ûõxf¦“d7a²§“>®‚‚g+°^“Éòﺨ±§“~¥Óné×:Û�Gÿvñ­Œ¿€Ÿ‹Á±ŽòmѤ�,ã™�V’o[΂`~!‡RÛT˜”JîÝ�í£ƒš­…”TÙЧßÃ=¾öuåÂ8,ºL2¯TRÙwðÌ;Vôé?&íÃG1VòP’•>¬ á+™Ü2?¸�^ù½XLk×PæL&þÒ$ý´m²\i^ ƒž_ V¬$wíËÜÓl¤tßòŸ³EQäN»w1)Ö2 ž.¦æl Áƒë1ÄÔPã×÷öÔ`&�iAmJœ;ð¼)8{åˆñÂ!­ I„ORÖÝÈÚyË1+Æ×Y´:—ÌDGºoÀà‰)þh�ËgÉÐ�u_5Õ¤0ã�/Ò‰Ëì<ú²KA'%„t'Š` Å6*¦’»4•Ê׬d®ÎeÕup¢ÍFüœ\òîjeçn¶ƒ¢ NÌ»ìPUJ�ËÄ3Ÿ¤±ä�%è·­ÃôÞ:v^—GîÒ4b}ÝÁv\bRîaÕÒ%Ú×”ÿè°�•²ívæ.\NæÔ(.IL"}N Q+a^ÿÕÚ¹�¶î*ÄtC¹ÌÀµÏÒíýöÙg^ ƒA[ ÆÕ9ä¬^F¡5� =D�ŒÅuÀ„¹ÆÂþw (oÐ71]Z: u5¸ª(­sñíßdR³b�ä­(Ű0“ñAS”KL'Ž Iöd “],�þIù‰ß&þ`)%{Æ0{:à°R½¯®›ÁØF3 ÐêÑ«›YG Åk‹©8P�SÕA<™Ì'z_1ùÜÁíá¾røl§OÛ}×Ô“•ÒzäðbÈo� /.Ê×–�ò«Ž-”ƒ�pë´Éí‘}CÙy‚ Ï/UG…„!c=ò"àôïÖã9fGo¼Àú‹¶÷0øé_æ°Y›Ä˜í&bW,'zs%³Tô3Ý –�Ü�i£ÃÏ a&ýc)} 3¨Áõã\L¥w:’ ‚ÔiëÃO§­3®vœãŸaøÐ1PÛ#kÖ>@E€…â4÷ Ü�uSFí,¢÷Ôpyr�Ô9Içpè}>¸°VURÛ #ù¦4âû¹ERZ�^ÈAÛÇõñAN/\ä�ä m0î•¶_å4ñËy#HNÔª£‚ ¨ÕÊÖ Å×Qwx=Jd„¶?1ºÇíòÝýàC¤«à/h@x¼h´JÞ�‡u®g²‹ñ;É„–©bBƒ\i»8 ûJÛ3-œç ­Ý/*N¬ É,{b†s4E˜)Ù’Àü;B«l WÚÇÓMìƒóùß7«£úMå?ÜlÝîâ©å0h¢Hë‘à ÙâhF�@„§Ÿ-9oz7Ø8¢£`üX Ñ‘ô|DuQQAdt÷GôH-Ñ#µ�ÂCuŒÙ),ðÐFGÑ~h}Gd¯íÈè.ÿõÑé!GF@D8›Ðð½G’ÁK¸¥Þ¿ükÍ+Wä²òÚZþöV9Ƨ—Qô©ó+Yd­È§äöÝå_Ì"ku)ïä“õPfG, ñ1¸”’·tY¯˜qà fkY+ò)?¬¾V_èß]�“0g?¬ˆŠD{~“çbÂX 1ý\yºØ�Ö#‡áìqH.¢©¼êÐá‚‹º�ËxàéJž¾Ÿe¯XTñ&Œ­ª°Á@8GÑáÌ[2¸�²¾ÑxxÃ×ÑÒôëµò[kÎ"¿.�ëÏ(¦Ë[ÇÎ+sÉ]}'l.æ_+qÍÎ%wfUq‹É½«ó>–ƒNÌo›ˆ¿{9KfÄâx?#÷°äÁ¹X7Õëýº©sæì%’p!­G/ú=hózÁíîúp¹:‡õ.^àv{q¹<¸ÝÞöÃÿÛã;¼n/—¯ïïîŽÞ¤ LÛÛô½M§>:_Ã×ín?Îñp‚MLT¤8Hùr…Í÷ðìƒó™ÿà:îŸfÃî0c\•EÖÓ%>öTau»Œ¬Êþ~O·(— ß…å¬ÙÅD¨e]GÑ‹fu Ø+(ÚÖ¿ÉË&ßäÊúe<𤠇jBꥄ.®€¯lG�Ü×2rVç�³:‡¢ÝvuÂPò°ï."gõ2~vûÏXÖç<¡�ˆðu´Î_!‚ •¶¼Õ™Lò™.·Ûñ™D�C��S$“4ÐÆ?I1±îwïܽïÔ¤àKõ‰~ÝT�x½àöz»û�.:-§\›N|Í:_ÜbÒ¬å”5S[GæÏG�—}ˆû×ä’1µ#7Ç®,nJàŽôæü4�¸£TœˆÁUg¡²ÖJÚ¼ûÉœj¡tm æèYÜó@Ö7kIö;ó>jdÙÛiäݧtºof±nÊ\ô›«±i­Œ™½„ÅÔb›™Ž~gÏì´’|ÛrÌó+k(ݯgÖ÷b)üã!î_’LŧäÞå×{²P¾ÕÅ­·'aß]Ρ)ñX�þrÜŠËdÄüq-5 ³¸ÿgV–ýÁVŒ«*ÈÈΤ~«ïùœã¾~³øV&ªõpò`Ä·RÑýöGê¨~Ó�¶,ÈÎÅoÏNq-±€t‡‰‚gê¸üjŽLkÍJø.#FÃ`Äh1Àa1µ³SsˆÔ_§bzÒLÊ .J-é¬ 4©ÞK­ÓöëÜ&ê�yÐÇB„ï;¯ÕxÁ#ˆÀo¸É‹V¢´Ê@'Âg@)/QZ�·ÍK”_¿B!ðšXúºMØlµ¢ðÑbñÏÍψMÇ…Ø›·FTîÊŠûhà Q|D±­Xû~¥X±²R�›GŠÅŠ õ¶y…X['DõSÙbǧÅbÍf›Â&6=^,Js—Š7ŽÛ„m¡ÈÞ ª]ï¯+Þø}¤X¬ØP*Ö<¾W¡”«ô¥bQY_,V<»WØl6QöèQù�5bM…BÔ‹½æmJÙŽ‹»ðSqß/ï÷ýò>Q¸Oˆ½^+öº».Geî QéÂY¾V ¼¿zQ¼Riz{_Ùu*à&Žÿ½J8Ö—ªƒC©3qß#Ãë›íØðŽ8ñƒ‡ÔÁ!#» Yìù¸M,é†c7? ZþfV‡„ªÚÄ’Ç»~ëj…­©QØÌψ¿×óú÷׈5f!„{¯X“W)*ƒÚ‘�Dñ㛄MaÛ¼Fi/»Ë÷}!*W®�ZQÓ±ôåZa;^+j�¼×Þ–­ØP/„¨ÅêE}P[\ß~ÍÆÒ߈ý'Õ†kÊÝÂ]oSK†(ýšWŒ‰Ö„W_Ò+†ížå˾Çm¬. `õýù>wÍjÅøb9%O—sùíWãɘÖ÷™ÚÐ>y [YKº Y{#ƒ¶”]zS<‡ß.ÁÃðB¹†ÃwÏr4)÷=˳+±hÅ:ò~j@wÓ"VÞ}+ó—æ±ðêtܯ ƒô»Z£Ò½ÇëjC´¹ÕÁ!cøÊz"Dß,úD7™_~5 u5¸ª(­s¡›øCfÜ ³Ó`zzP\ð&8É-FJ? „x±;K01—tk1goH zS%[ò0æ‘93�Ú.lU¥Ôy”<]Ò¡'2y÷�/ä�'�×/#çh&÷_¶òBжalN磀øt’ÌX]µT|`C—žÎ˜× (ߘMÎ;±JÙƒ}{~»N[ÎÖ:˜‘‰~s Éß‹#%¨êÎN7÷×»û²zGªNº‘zÈ8…ˆÁ‰çøi¼M­êà�Ñæ4·³‡N<DKøäѽ$¢Ñ�rQ·ÛLµø¦îɧdK›?�è™é°¥ˆ’ )³¡jG¦3×`&K ›ªÕ™çû…C¢ ãÖÊà6ðxoÛÐOŒ#~ÜUímY÷¤0/¹‚V䑳¥&œ*¬²Ï0ÜP/½õ…/ŽyÄ�u½T-¹0(Û#ïU‡ŒÝ9Q¶G†sË\S×[æzâH±(ܾÖkjEa‘²ÅMa¯Ø´y 6ž>½=ò�ǚġ£}”u?p6Ö‹7ž*µ¢?ïL×Ôþymç-EˆpÞW88Æí‘Önñˇ‡×7[Ùù{upÈÈ.h{ªåöÈÞÎí‘û?s‹ß?ݤ‚4н¯ïõn§8ô|¶8Ò¢Ž_¦,”Û#‡r¥mˆ#šZ‡ßÔé�'œòè.ï–v?Iå‡Á²-Ÿ¬UYí °œw¸œüYd½P�ÝS‡icYO–R¶ÕD{ªæ:JŸXƲUFÌûM”•—RqØŸ¶]|ŒâƒiSYK 0;Àu ”œY½PÀÉŽ�!’~¢Ñ"Ã`LÇ~ ‚Ší‡ù° ç † IˆK'=Y}æyr¢Žú~ˆ²Îuá Û}…‰îjx(£¦Û#ÃùÔŸý°Â+®6uèÁ…eOpûXwB�&èH›�€eg%Ö›3y„:>tÈ•¶á…´ q4£G ž_á!‰ÇjÃkkT‡�ndm)cçe¹ä®žOÜ¿žcsó�äfçrmU­(¦Ž_käÎÕ¹ä^WEÁÎcTL%wi&sý°>.Å4å–ÿ:�ØØi$%Í%cªÍ—örì�8VÂÌ•äÞ æ}VJÞt²hu.ó&ÖáPúÿaßÙ�¬ûIÜÕdÌé8Ò¦*ÞjuÓÒI™èK4Ê€Áÿw™˜DÆŒxÊ'nØî+L„Gê ­N�6 ‰÷LÂæAB8…2܈Р‰ŽR‡¢1ÜÜ>&…«½—Dúœ Ò¯Toó-R§mx!mC�!Âçåp½‡Ï�xÔÁ’nˆˆ×¡ïÞ(BévÖ¬9À¨ƒÎqÊ0L¯wbm°aE¯ Îôzœ'Î`H4çA÷ ÕÁiF¡zСф¹3×�¬%ÚpJ}DŒÏ0kÎ#ÆŽVü•†“p EÒ'¤(úF·}É�¤ß~Úž,j!ÿ÷ççóEÒÚ>ûû�³¹ôÏ©£B€úi‚„ÛOÛokæ¾ù1\�¨š.wþ‹‚Õ;¹<ÑJEÔ˜ñÙû0COÝþxýØF™eé_æ°Y›†þ@ ñ÷¥c+7°à.(yº’YÎWŒ·-!ëe˜5®†C)¿ vët÷.Àñ¡�wY0n4�A…âƒé¨£eé_,#o¿žø†Jî|ìM¦Ž .Úpeàü´I†3¶;fÄ-ÿÁ˜_Þ¦Žê7§½ülió¿ä¯4øo¿ïTŸÿR¼h¼Š/.Ç)'ãÆGûïòù÷ òÇêóvÖÚȸËFÓtÌAìÄQíþT•kàóóå%ÂÛqN`¾®£6F~e|GÙðù� ð_ÚVU‹÷‹Lz/_}»!!g] ßM�âú”Áa]t°sü[‹»bÁ…÷Ó&éé§mx¶A›õõ-Ôÿ×íz ¦�F =Yõ³WP´'™…ßó¥°–Prt>óoP'”¢ ÚåÒ<¯Ž ÏÿÅ /·eømío‹ ¥ÙèQ].6xÚ¼Dú¾qêxg³Œ¥tFã•¿ý¸šÜÄŒR2êHç‹ÐÖ¤ìÇ‹Õ)>0/ Ðæp5&&8^Uùž³­hí˜h:ÍRuœ«¾€ã™Íˆ“ LØðûö°P²ø‰&~û?#QGÞ�y«™„Ûfá|q #ï\ɥɸ>üƒ¶& ©¬ë(z±‘…ww§]fŸÑ‚»ÝfœëœÎØ·a¾z!·ú›ò-%Ôß1ÀtÚ†'ïx˜‘a´ÝõPwþgTûàJqÌ,Ú�1+ƒ¯GË�¿m­Œ�‹FãK§¤§Ý™³ßÙrû ¯¾‘±ñch²62ö²Ñ¾Á˜2Xë¸nÇ@Oí¤#ðâýîSÈÂM—ó›ÌxþýÏ \³2I—Žþ˜óǵÔ4ÌâþiXׯ¡Ì™Lü¥Iüò§é ³íù}¦í³/8õãl&…i¥íù¿8Ù¶ÓÅW/¥Ë™Uÿ‡]ùÐúgJ½� RãO#ˆ4‚öY[�׋6Â÷±öçé;_É' .ðºþ4¾pÑæ!Rëë4´ÏâÌÚþö|øƒòõw Ëã�÷ß«­¯³<ã<ûÛVõ/b®šŒþ¯O¨eH”«/ u˜ªêaJZØ÷ç&Â?hëNÖ-Ôlý%UÑ̺÷âöÕpùíéÄ}ZN¹6�øšu¾¸Å¤YË);j¦¶*ŽÌŸ� /û÷¯É%cj`~Ì/äPj› “RY>ÃFáf3¶q³¸'Óʲ?âþ5ËÑïëÈ÷VW)¥d’y¥’CG[þcÒ>|£a%÷N«áÃíVf¦“|«ÛF3æºé÷³r†•‚§Ëp%Å“zã�̾êâyoÎE¸WÚVä·P°ªó7{¨rvãßhÙò—¼ù˜:*$t¿ÒvÓn-é3ã¨ÛmB xf¦“d7a²§£·™ÐÏLáP@ÝÊM·Ô;¦õÏPvTϬ{ïAW´°Oõ&å†d\¾­øçË@ Ú\JÉÑDãôy,ÿi2–­íUœã“¥ÔŽ›Å�¿^É£›/ç7™ILüN:ÑÛò)üÐÆå³—°0¥–ò·ë1×UwûJÍn—,�Òš©ðÌåþI%ýÜ»S0¯-Á=‹{¸—ÉÈŽíV’ÿ3 Ç8¿ìë0íÖ“Œ¹£}^5—O~±Œ‘«Öò“kB§H'WÚ†js’}¡'“ÿõÆ—Eå•Wúà¢xe¶¨<Ø(í¯�>ïñí^ã}¦™+sWˆJ·Îòµ¢ø/~¯öÕâ™ß WP~'ŠÉÿ_¨ƒC†4ùß7N?ú’°ÿ"O2xülßMþKÂB¸Mþ/îNÖ^K_· ›­V>Z,þ¹ù±é¸{óÖˆÊ]ÙAqùÛÓýkÅÚ÷+ÅŠ•]Þßß®îkòvŠúý‡DcS£°½¾Vñ�c η§¶¼ÎwMÛ]¿¡XTŠJ‘½²Ráe.¥ykÄ^·¢æQ´Cš£äDMþŸ:ã÷=Òõ7{¨Ò�÷š8öí%êà�‘]Ð,ö|Ü•ÉÿC¢xƒR*7‹�6+n-ü}— Å¢>¨n©ê^}±X‘[)�>$jëÛû>½­7/lœõ&Ü&ÿêÆäeÞRQ¼ß&luµ¢þ½àöjGÞ±Ã-„8²WìÝçïkôQ…Ø›—-v|ªÄ Q+ÖþY%¯îÒªú¹¥¹KÅÇm¶¿Pdo¨o—g0•¢8°¿»­Xû¾•+Wˆ©“ökÊÝÒäÿ0B=…ZÁ^郉'ó�ùDï+&ÿ�;°´‡ûŒø™œŒA Ñ#cijhôyµ×;P¦È%ê ˆ’�B‘Døäáö€£é¼Ç%CŠnÞ#o$N{5Õûꉿ.‰KoŠçðÛ%˜GÍ&]ÄÅE�éW ¾vU�^ßBÍkù¿WC} %Pwp¾Á;`ƒÛò/üÁ¾¶Û�bÌ&�®‰ÓŽ1Äj•r©×/.vº‘zÈwþí¤ñDŒ £ÍtÎýМ�Æ]<.üU'¸n¤˜”É’yј_Ë'ÿÝŽ�¬7=Ó�(Òî]LеŒ‚§‹©9Ü^9½ˆK&9°!´[;íJžèˆU/þw—VÝÏÕ:±×TSm�'%)¦“<ƒ9wûÜ_¤õÈáExmIsƒ¼Òƒ™ü§Í¾H5¯c¥'a¢}¼�Ø�%Tõàçiô̹œ]»ŒœÕëØáPÇ^ÌÈNüà"|òˆÒ‚n´l„/ºy�.¿š„º\ U”Ö¹ÐMü!3n†Ùi0==(.xœ�ä#¥Ÿ=3¶Qòb!e6p¢#6ÚFå®r,G}çÄç«Û“OþÁmyòÔX*6›èÞñÅhfÎ9KþÒrÖï ¥ÛÍÅI7RáÎ`ó]u™ýh\R²UéߌŸl¥dm Æ�;°ùR¨ë�õÆYÃ&£™X}qz=ñ}­7áí½ 9lïPÞ 'nb<º´àöê›éc(Y_Žñ‰Ê"úš×Îcêy”l+Âh›ÅÜžv%v—VÕϽjfµ\تJ©óŒü‚ÚÌ®1$ºø`¯UÜ/¤õÈa†zé­/ô´=2,,›jœBœÞ!V<ÕÅ6Ÿ‹×§Gű¯ß«r{dßhxô%aÿE8·Ì5u½eÎþ�Øô¡µE…b¯:.$Ô‹â ½­s{ŦÍÁè„PÊö¹:pþí‘ÝÈzpèíM¢Ú)Dã»+ÄÔ±7'ü=òþG/à7ûàØðŽ8ñƒß«ƒCFvA³ØSÝÕöÈ O`½Ùº_;8÷öÈßw³=RÒ5_¦,”Û#‡Ck®fZ³œ•TTéXôëî­0]lÈ™”Áƒ"‰ðÉ£[YGÅ‘0Þ‚©¼ŒÒ�ì; ÈZ•…±Êvå‹ÈZ‘CéöròW-£¨ªóRµe[>Y«²(ÚiǾ»ãÓË(úÔ�ù…ed=ñµÀQCéYd=]ŽÅu»Œ¬Ê£´¼“ÝŸS, ñ1J›rÈZZ€Ù¡”íN_TÒÝȺŸØTP±½ã0¾ðÑ sfáÜU�yÜ"¾•:öâ&µðgßkêM˜Ý‰Ÿ?m¼§ºßäÙ_.˜(&&µ“7€–²ßh4ˆÖp~§$’~5ßM-·[ÍèqÁš1I¯_�èÕ¬™pX©ÞW ×Í@ï‚äiÐÆŸÐ+%ëã-Š‚t'EúA¦d=�DŒ‰fd8?ã½�µdØáu4ã9vJFÄhðzÕ¡Ã�0ו0g?¬ˆÒ1a8¶øC!¼hF„ó;%¹�ôkÐ6z¤†ÈH9`hº]}‘ á“ǹdmHtaÜOrƒ««–ŠlèzcXM¥dý-ß7W­HŸÒ�’µuK>%çП6$º0U}©–tKϲ– O"t£Ð^:A24Ãòµ óM…9{‰$\œ«Ï Z„͹vx©£èÅFÞí÷eßµwù‹×DZßý—í{A^ÜêdT üè{ÁF¾Ì[JH¸c>ñ(Û댖,¸)(ErQËnxqzùÿ‡×j#®x…:*$,~¢‰ßþÏÈ..K.4 +_Äk=É„Âeê¨�°ä‰&ì…¬­�XîZ€_Ë7¨^v�}{æ«rkP‚ÐÖKõ5¬[J¨¿c>¡É}xsòއ&çÚÇí^–<ÑLÖ/Gøfl ”¿… á´› ã´€@h|ñ®f#FD‚³§]ÄŽ�êH#áE4ŸjeÌeV_‰óÒloaô„‘h¯—ˆ ¡ä«×ÐÞV‡“ýh%ܯJy;þ ^ZÞú;ÎíULzïYÿm†”œu-|wf×§ö¼‘·¯õ{E{’Yø½àÁçY1n´°à®îuøë^,¢ñî…íuëœ× 3áv®]üW'�wá\»'Ù°l4°à®þ>™®dbÂØë¼M¼úÊåüä§—©#—© ™Xö¤t®=LÐ>òÈ#�¨{‹£I°{Ÿ›[¿ÙyéÕþ÷¿ñúîW(Ù°Ý7Òˆý´”uk�¼µÏ…aÚqöüe;/•¼…C´PþÒsÐÝÈôH�Rz\GÚµ#¨Úº�ÑWMa@s¥OåQô·ãŒ›x˜ …¢¿"†º¿½Îs�!Í0…ÑGwñúîWÛ¯yÉç¥<–oäsK-£¾š†¾oõ|Hàu4Óò—]ŒùåÔQ!¡¼²�V§àÆë:ï ?ÛÐ@ì¸ã¼öð:Þ=i#æ’ ¦Ô—²oT2SFœ¥¡!6X. _²¡ðC¦;ƒ¸‘ê‡>®¿ïG4;yÛLuTHx§ÒÍ7®‹d¬®Ÿ³g'ê¨ø{ –Cå8 _O·;%�pîªA4µ0òZÖ-˜_y”u¯Õ`›x SŽ™xû£·({Ç�>5™Ñ- ÄŽkàÝgþ„q¯ Ãõ‰Œ?RNþ“/ñÖñHFüãe¶Ú“¹yú¤k‡ßä±õ¢Ÿä¢¦)‘äK\Ôlÿˆú/vòÁ_JyµÚCêt-ïðØ‹¥Xui¤œ-§ÔžL²¯/`ßUÀcÏ•RãœHŒé6Û“¹¶eom~Ž}º4®¾¦…º�å¼^bä]g"7_áÅ´öž«<ÊçGZù�¯:è¼xi)y�ÈiñDÏHRGõ›6·Àø¦ û)ÿ¬sqà_.þUëäÀ¿Z©=Ðʧu­ü´…Ï4óÙ�&>Û–ƒûÏòù~‡ÿåÀòÏFþý¯FŽ8ÿÿÙÀ¿?9ÍÑONqô“S|Qc§þÇöŸÂZ}’/?>Á—çø''°}r‚ɉ�¬Ø>®Ç¶¯žSÕsê£/8õÑNÿãgþq„†ü›³ûŽàøøóašÌ‡hª:D“ù Íæƒ´˜?£Õ|�VsNs.ß¡ÆüüVõ톄]Un§hI˜ÔyòIJ-Ÿ§Šßâ0©$6~عNÏÁ­Ïò'£×´IÔš1®^GÉ>µïóÂv’Ó§3)`7ÄÙå¼ý/¬dÝߎau)©-û¾«vLëã¹­5¸¦MâÀúu|¨O#áèÛ”–ã˜v W�?Ê®-òjÉö�½‘´È* ržÃt´–¨ñW?®sŸ-T4½TΈ›RˆœÖ›Lß8yJðɧ¾ý�ÎýÏÖpý$¾–ÐFÖÑ�:ž†êñ"*:ú¢×{8`¬àõÒWùÈ›JÚ¤£ýÌ)ŒØÐÞÅ»0w+“£T•¼Ï»ï—RM*iæW:®MËN¥ýµ@jj$ŸïϵתuÂCÓú7½à"tð|1¢6'Ùz2ù_o\àéÝ)ê÷�M�ÂöúZQ¼§X¬(:$„{‡Xóø^Ÿ÷ùRQü‡gÄ^›MØÊ³Åš÷UšÖˆ¥/× ÛñZQ{ä=±be¥GüÞë»ò._/Šß$lBˆÆÒ߈Š«ò&¸>=*¾üú/ÔÁ!£'“ÿ•ŠEiÞ±×-„0¯é,³.åR©Èn˜¢˜üÏS‡ŒÅ�Ÿ¶fà‡á7ùß�¬ÿ¹E¬1 !„MlZ¹V|°a�Øt\q|“X³¡^©—¹KÅÇm¶¿Pdoø§xãñBqHáÜ¿W|ð‚¯>á«—î½bMîá´½!²×ÕŠÊÀú½µX¬xv¯°Ùl¢ìÑ5¢Òx~½(^™-*6ŠCûkE�¯Îûë~ý†bQ)*EöÊJ!„S”ý¹XÔ¿¿F¹wµøó^ Ìì¢æD˜Mþß÷H×ßì¡JCÞkâXÆbupÈÈ.h{>îÂäÿi³X³Y1¥¾7/[l~¡s=¬7e‹¥¯Û„ÍV+ -;òÖˆn!Ä‘½bï>ÿ%˜Ê �uc¯X“§ú^Ö‹¹•âÐéC¢¶®QT®\!*…•¹+D¥Ûw~{ߨV¬ýseG=®yFüµª!8¿3P&ÿ«Ÿí›¾ç×ÞF*íOñKp_ôH¥¯*ÄÞ¼5¢rW@?³ê¥àöng2ª|üi…MlZù„xÚ׿5"ûÝ÷Ä+/[Uç‡kÊÝÒäÿ0¢óÔQÈH 0Bà æµ|Šß«¡ÞgĦkìûª©&…—ª¬Ý̸ŸÅ×ÖS¶>ŸâO:Å%“ÜÃǰ“¨@&e²d^4æ×òÉ×Ò®2 ¥ô�tÄê±9|ßi]ì�ÞMÑpº3„èx¶�ê6ÒOS§¾¨~’ò€õz°%ô3ÿå jïÆ6ö U>‡¿¼þ1Ž 'Îé‘CY„�Ø�%þ-;P€ ú®:kØd4«O N¯WŒOm­SåH,sÎ’¿4‡œõ;pá¾Ð¸1ÓÍOZÀ³ÝóµtUÙAP_ô(ØÊ )ÚR„±9� w@?sê·‚Ú» ³{� ÁùÜ–xýûø�ÁDÞ–rŠ6Ú˜5çÂê– \ÿPÔKo}¡§í‘O£ØûúQïvŠCÏg‹šFuüð@Ùy¯:8dô´=RÒe{d8·Ì5u½eÎþ�Øô¡:°Þ/î´=NÙ¾¦Â¶C¾ÝyûN;½Í§ê7‹ ·I$ô„{d7²îßÖCupoq;E£y­xæ]§þ­Zê4¡â`™ØTãâôñÈw«c/ZN†y{äýÃl{¤cÃ;âÄ~¯ÙÍbOuÛ#{¤Ÿõ0Äz{“¨v Ñøî ñ¾EZj{äù¡¨p g¾LY(·G#.ØJÛ…GGÚì,;+±Þ´˜ ¤ó9@È™”Á‚ÇjÃcßö‡ngÍ¢âH¯ƒÈZ‘Eþ¶€m3~—“³"‹¢ÝÊÖûβVea¬êXæ s쯠ìírj¾¨¡ô‰,²ž.ÇâQçcÇ´5pÕÆ†éÅ,²ž(¥Æ¡¤Í_‘EÖ Ø=Šâ~Öª,Švv1½, Âã8šº‘w7¸W£»%óÜ–ãš-˜·WPÑ~ÔùdèÀâšË=s”éìä›Ò{ØöÜO¦e0ËYIE•Žÿýå7Ô±-}“xß wþC˜ïª�Ù÷¿†ÜY8wU`·ˆ™SÕ±3ɤß¶nPÐmŸA2$ƃ6`\és2H¿rX�ØäžåA„6^�6n¬:8dt+kçq,Ǭ”m·3wár2§ºÞqfÅøZ#‹Vç’™è‚Fžù$�%,A¿mU°‡Õ|5™¤nűÁ —°äV+Æ—÷çCé·§+ûõp1õû¹ä.tR¾UI{çê\r¯«¢`Ë67ßInv.×V°»-¨€5ç¡|=5­wíÝ(is2Èh?’jãH™iÀŸCÜTÝìF ÑÄÏÈ cN—…ï"C޾K½oœÇk5óMõ1û~×ÃP¯\gF<=©´^|Äa˜:¼Ÿnû ’!Éð´]$È™”Áƒ"‰ðÉ£gYƒ^ksЈb˜'.N‚”¬'¸é¦÷+|µpçÓ‰@eüÃX°�R)î«Ï•¢�èFËîÅFO5< 7�6ÑêB¸=êà�ÑÔ"°7xÕÁ’îÂ(�aöú†�žû ’¡†´ qDSkXgRN�Ød¥ï-Š$Â'�žel "xH•Ä\ƒ™ü-%lª†‰éAJÖ££€øà0Ý劢|˵�F-¦çƒ5Ø`P�QŒÛ™¨€½àç*Åý J:Ñ“¬%ÕpK=Üù_h4#¢ÑD†Ï&âè‘âÆÉ®R¯ióàmlR‡†Œáöþ†›žû ’!‡ZÉ­/Ôr‹EÙ]+5×_îµA‚>s¤Xwò Ö=¶w EY€®iýæMBñ¨1ôH?máD-3Q¿©÷†6�S¿]'Nþ4[2~³ú¬ØÿY�ƒ,Éa_ôŒ8qÇ*upÈèÖO› µñ—½›7õh¡SÝ¢_ ù�ﯿy´XlÚ°Füfy±8ä÷åOЋº[[T(öŠJ±â‡÷‰ìÜlåx½V�¬GÚóðù�l|?[ü¦è�PLªt…MT>Ÿ-²—ÿTüàÎ¥";·PT}ýpúi³žp‹ûíú›}>¨ß½î©Å*…6ñƆ¢Ñ]+Š_®V':/C$©ƒCƲÿkÝÑÕ[t\…¦'\gýϪ{Ôux0õiÊI_žAW–º SÚ”îéꜮº£rC±8w ß?¤Ÿ¶á…ö‘GyD=�ë-N|XíæÖovÞìøäR¦rü•RÎ&MÁúæ³üÉhÆ5íNï¬bÄUSu´‚-oÕ¡½&M¥‘])$Ö—SÑpÓ³ë(ÙgCÿµkhØc¤¤°ÇåÑì|bïž´sI*Íe�ñÜÖ\Ón$ñD)¥öd’ãPŒ#¬÷Ç]ƒã�§ØlO&Þñ.[ ËqL»†„Äê6–óz‰‘w�‰Ü<ö9Ïa:Z‹=â ®¼t„ú–%ÞS�´nÙŘ_þ@>®õ _»¢óNøº]FÊKK0¾ã"ñãÙ·ñ) _yë„4ïäõí/Q²Í-å¾pÝ Ó±»€Ç^,ŪK#%þ0¥[í$_¥¬ ÙwðØs¥Ô8'cz�Íöd®mÙÇ[›Ÿ£j\†ñ-};@fWx1­}„ç*�Rkiæ?®�2àsJ®÷C‹‹‘·ÍTG…„¿™Ü|+-бºsÜi³óûû¨;dÁrÈ‚å�‹ØËõŒR§“œ7.s¸ÝŒüAxdýN¥›o\Ù…¬[0¿ò(ë^«Á6ñ¦3ñöGoQöŽ}j2£[ˆ×À»Ïü ã^†ë¤œü'_â­ã‘ŒøÇËlµ'sóôIÄ´çy”šêñ¤Œ5Q´o<Óõ)õŸw�]ÇI¾ÄEÍö�h=VÅþQÉLxLä½0‰G³3IIMgî¤ žúû\Ñòï¿SAé?!õšñ¸4S˜â© à±BJ�ëH»6ë¶|ž*~ «n"‡7¾À‡ú©Ð<“G^ÀÍ7ÝÌÍWÅ`ÞêûV|ZNyÃ$šß÷Gndü�r^ßý*%ö£û†žª§×)yŽ" #YGðìÏ h5ÝÜK-Éwü„[’ZØñý^3ûÎtÜgý;ùà/¥¼Zí!uº�–÷Û®Ž'jZJÞ#rZ<Ñ3’ÔQýÆí�ŠÝ|ÿæÎßìS{wð—M멊»í®Žç<ÅZÊSyE”ÙÆ‘vm,5¯ä¼{u4Œ±²ïX"É—Ø1mÛÏø±u¶Ë9–šV²îoǰ�º” MoŽü =ú}°%¥3¾ó§¥O¸ª?Ç}àߌþÉ·ÕQ!áÃj7©É‘$LR­¶�ú'�=û&ú´4;Uïe§oß(oªàõÒWùÈ›Jš!¸%>ÛÐ@ìäñì|V£÷…¬O#tW1yBg™‡ƒ¦—ÊqS ‘ÓÎi†¥Ïœ<%¨ùÔ÷¿¥ŽÂÕЀgòhêÚŸÓ�$Ž NcÙ–ÃS/}ΉH-)WCE@éø¤†ñ©,[ý²œÄ�õëøPŸFÆè}ª¶+ Ÿñ*ÚåG?*éhû¦8^®´s‡Ieº~?ÆÕ}[Wm “SSÂÚoiZÿ&£ÜB„N~ý‡a\ó·c^›OÝÌù$Uåcä–<8ëÆRFyÊØô)Ôl61aê!v|b§ò½*?°R³ëÿÞº“¤‡sÉ]%/×aû –Ô‡—S²“kWç²lF,¶Se”ÙçrÏÒL .\™I敾K[ãÀ�˜DúœZ|ù¤�°`ÃFÅA‹Wç’f1ñæi«sY<ÃÅgG‡Ž…ÑÔŠ³ßÞöA-†_å’{Ã!LŸÙHøþr–?”‰íãœ+qÍÎ%wfUq‹É½«óŽ`C&O™·û;&�F4¢¸Ä'³¨ƒ•0/�…—Y° –™uW!¦òÈ}`®}–A±s{`uÚ¸P î’0Ò�¬÷oc畹䮾6s(Èø‹ÛA ¦?�ÙOékV2Wç²êº‘ŒøªR·Ôf\Gß gs4ófÇŸ¿ê¶VಗQz0–¯ÎÌ$Ýÿ2Y-8“’;Œ•\›ûjÁKÚÒ\rgTQXiÁrÌŠñÙÒ\Â’¸rÖ½]Êæã™äf¯"�(¦%%1wö¥°;Ÿûﻟûﻟœw\\î1³ã˜KkÐY¿#Fެ„™+ɽÌû $ùóؓϲ­è§*“A=ÝKÐ3˜ײNJá�•Ê=ü5¸íj Í'ÜÁÂt% çA ¶ ç¤rþxÔÈææEä®Îdj3Tµ‘¾ þ»eiBŸ”ÄÜÙ1Ám×ëÁùÉ ‚Û¾Rc�ñ­‚?÷m/½î3H†a´Ùˆ�ƒy·Ü18íÕTï«'þº$.��†ý]#•1·’qc*˜Š±O]Nòi#¼zŸg{=Øm09ƒÖ…Ã3†X­bÔ@?.“%ó¢1¿–Oþ»*óæ“º‰›œŒ!`ë»!ÑD£Ó5qÚáË[Kç9œÁ‹fôЄQŒ=á{žÑ#cáØòŸ³ÅßP&“4ÐÆ?Iy®±^•¡ g`fÁF4¾hOÆ0¹#U‡Ìà´½‘1£­ŽØ 3‰xNV§Mr!mnD[øî»{�ÐëâÐcçT�ñÅ�C°ñph㈢''3±›• [s, UÔ4«Î¿*�[Gš(yÓBÒ©Vâ Ĩé°Tú‰¦'+m´¯­¦¡ÙéÀº¯šjR˜Ûãb ’‰íf.fÝúu¬[¿Ž•ß�#î¦x¿]‚yÔlÒEðw$Úß6èb R�œ±˜usIùë*}¸­*.ðN5µ]Ú0öƒº–zèè>ÿ+”ç©ú^§Ý»˜kO³Ûª~÷”ç–Ö¼“’íV¦Þ:)HÎ×�ôøÚh½ï¼1ÄŒô]nœÿŸýA;v šî<.‡ŠîZ§çÝÕ·ÐOR&ôz°5¨3W ªg@?û4ÝTù!IO¢èö98A§SÞÝIê6Ò·r®’eG_0 íÕœ�šÀvã‹@ã[�mVõm/²Ï0¼co?‰¤;–qϱ5'¦“PWƒ«¡ŠÒ:º¸¹¤[‹9{ChÓH¶šh�‘NšÖŒãÚ¹dÌlÅøb9%O—sùíé¾ü¢IŸ %/–PTT†­­†MF3±úâôzØ“Oþ_Rgp\üÔX*6›h (]0£™9ç,ùKsÈY¿ƒ¦ðé4‡‰ðõ ¾<é¥þxïVò¢GÆâ:`Â\cá¸:`‚ÊÐÅ(3ùO›}‘ÁF4’}2;­Ê"�ñsærví2rV¯c‡jRm` Ÿ<ä¬ÙàA‰&*œ�Eײ֥^MëÆ"Ê·äQn˜ÏŒ ã/)\53ÐxÌdL1S¸¥œüìuœŒWê–ÚT|R H¢ì�&Õù:Rþ3�Ò=ñ|{"X·äSâ·<£Mgñ÷jÈz¨ãÆ<–m5pÏmq`+£ðÅŠ6¶’>sOú5ÌVµÛMئÞÂÔ}…”lË'çù]·~ŸÉY�£/˜°Oü!3n†Ùi0=ø;2ZU~ƒ?m GæªY”/12±‡{QxÿuKPÛN³ù]K=4´:ŹçøTÏÙùNå zâ&ÆsÙwÒUïžBZ¦žÍ5Éüpb°œn¼ ¶Qòb!e6ÐO:Ë¡ÃÊ9®:žPŒÚ ÌO­»ì'�Üb¤4¶ç÷Ò�­¼�¢-E›ÓÉèbÛCôÌô gÊ>Më¹d>\P=§ ’æ2uO>%[ Øü‰º�ô­¹«Þý«]·:‚Û®äïå$'TíÆ]wßú6÷ÝÒUß6¼È>Ã0C­äÖ¾8æ<Öw¥fgc½xã©BÑ75óðrèíM¢Ú)Dã»+„ñcuìàÅõéQqìë÷ªƒCÆ@"éËĦ§§wˆOõ¬¸}¡hxô%aÿÅ“êà�±øñ¦®�SØ?8§±‡ú×–ŠjEßU’÷ŠM›ë;)¿wEï (i­êÀ!DÃÃ/ û½ ëqв?÷^¾W¸�¢Ñ¼V<ónWÆzÁþµbm G…•žîE׃¡ääí+…cÝêà�pêŒ'¤†HúŒ{¯(ÞP+„heEoˆuüy "ù½:8dd4‹=Õmêà>rþ†~ΗÀ>Íß>Sdž��2D"éš/SJC$È™qž°`X°�ЫYŸ?†9³pîªÀØ0`:mÎãXŽsquèŒKáÖÒ™ûý)ŒO¹‡UK—`°˜pœ˜wÙ¡ª”šVS�ÒtÅ) •Ì'ïî1XFù”ßõÁ†vÅ‘~{z€‘“@£û0¾ÖÈ�«sɽ®Š‚-‚òß=tìý ÝȺ¢§¦‘~¥ÚÄHôÅP�6Ž”™†N†KzGIƒ¨~öx/ª¸¸©†+�ˆ˜è°Zzëû[ZtS è¢ã1„´æ»êwöq¦úÞ¦¾Ô½þЧ.:mÆjˆ‰ê¥0&&<ã 2n˜ú<Ðh4ˆÖ‹q¸:<�A›$ÔÈ™”ÁEøäáGSwùsQ­µ)8j(^[LÅ�zœ¿MüÁRJöŒaöTk€Ò´k#$OíjÍ&@)ûRõÇ Ð(Æa¬è•‰^�óH R¶“ãá[L&t'gÉp&ÜRwþC˜ï*ÌÙK$ac@—Ö%¡FÚ†½œy’\ Â'��Ýèîò6æÒõÖ.'ŒŒ%úx%;·[°Çgb³öÛ¤¥Î PšžÅ\ÕL¸¢ünáš@¥ì‘6Jž.Áo—‚ £·3Ï`"oK9EmÌZðó ü¿dòOÒ™îä,΄[êáÎ`ó]…9{‰$œhF\ŒkŒÃµ’[_èÉIý_6÷èI~@±í…o(×o:§‡ÁŠëÓ£â˯ÿB2z2DÒoEý#Å¢¸GŠŒ^q섨-* z'÷nÞÔ¿òw�bˆ$O2xüìy§�„ƒð"é�¬ÕÆ_Îõ^÷Æ L§úô~±(>ðû¨ËÔW.D]¬œøïU±¾T¬'Ü!5DÒ9ÛJ‹ÅŽÆF±cÃÂ¡Ž Š!’‡ÔÁ!#» Yìù¸¿†HúŽºžÖoÞ4xûT ”!’Ð<•Á˜¾ô »h#{S?üÔo(_ªC€5åniˆd¡}ä‘GQäz‹£I°{Ÿ›[¿Ùy¯x§ŸŒc›â ÞªK#ŵ“ü'_â- ¤¦ºØg,çõ#ï:¹ùŠñAç×í2R^Z‚ñ‰³&q´t2¾E�ÓÀ�P¾e;/•¼…C´PþÒsÐÝÈôHS€×ú³”oµ“|•²Þà:PÊSyE”ÙÆq•³œ?mµ“|U3ûþú:ÏU�!횯Ѳ?ðšS8Qúù¯~Îáº#LŸ‘T¾Á‚÷T#­[v1æ—?PG…„�k=DEÂ×®è¼+þèG%¼ÿN9Æ÷=$§Oâhé³üÉhÆ5íëx¶¿Šer ®Eì3Ë–§(|å]¬ÒHÑÕPôð:Þ=i#æ’ ¦*à±K•w$Þ…ù•Ö½VƒkÚ×ÐË裻x}ûK”ls@K9…/@wC"ömïĤ£Ô4¤�P_ʾQÉL4×QúTE;θ:ªž^LJz=1”ñÜß\yÍx&Ž:Ê®-òjÉö�½‘Ô†rË7ò¹¥ïeiÄw©üÒ=Î÷«�ÍŒ¼m¦:*$¼Séæ×E2VwŽ©ßf æ÷÷QwÈ‚å�Ë!±—ë Ÿ¦ÌŇó½j„£™‘?¸Ð²nÁüÊ£¬{­ÛÄk˜rÌÄÛ½EÙ;ô©ÉŒni v\ï>ó'Œ{]®Odü‘r¥í=Ɉ¼ÌV{27OŸ„Ï; ‰yªø-“Êô ©iH!E”“óäK|~´)7’2ÖŸÚ�yk#®šÂ¨OË)o˜Dóûõñšæ£4¤Æpt·†)“GQ·Û„fòxnõ·72þ@@]ÅŽiýc<·µ×´IX¿Žõi$}›’ÂrÓ®áªñÁu5-²Š‚œç0­E7ñkLŒzÚÈ]ÑRò‘Ó≞zS]nT|èæû7wþfŸÚ»ƒ¿lZOUÜ�hwuÈiеãÛ™vm,5¾öYy÷êhceß±D’/±cÚ¶Ÿñcë(lÿÛyéÍQüdv"†3oRA:‰ãÔWî®êÏqø7£òmuTHØUå&qŠ–„Iê�InêÞü?ò_¶`mq0êäQNNž‚ÞnÂôŦx*‚ú#UKxîoŸsêDW_¥ÇõqÕ×Pu6™ä8Tuào<Åf{2ñŽwÙê« ‰-Ôm è7�=Ð^¾p'ruBÈ|(œ7M/•3â¦"§uµµ¾œ<%¨ùÔ÷¿Ñ¹®+}ÎÑÔµ?ÃUš­mÔ'÷ðúæç¨Š»÷;þ>G {ŸwË�T¸“¹ù«„‡»N�x•ûîrökš©*n[;ÚÈñX*:ú�ŽêŠ ¶yÒ—¾vØ©©zö¿\—4©)Œ ,rhZÿ&£ÜV=YÉ…CÝ … ç¡ÃØì¥l>žInö*Ò¨fC Q‚�Ǩ8h`ñê\Ò,¦€íU ¶j1ü*—Üaú·ƒ˜ã Öf •žÙäf§SWÇâì{hݳ3Øký®$2oïøè™ß6÷r–̈E|%™¤n%%Êghá¶6,ÇT×üG ¥žEäfÏ#î€ß—ØàdÀ¬Y!uiOΨ¡ls>FîaɃs±n,A÷Ýxv>±ŒÍ ³Éi#áûËYþP&¶�k0­ßɵ«sY6#Û)#Ï|’Æ’– ß¶ÓGëØyY.¹«çg;„å çÁJ\³sÉ�YGUÜbrïjÅlV½¾"ÅÍÌ$ݯÕýq)¦)÷°ü×iÄ6$�””ÄÜÙ1TL%wiÍ*™ÅÊÕ÷Àž�”¼édÑê\æM¬ãЙ€{í%Š$Â'�^ËúB)»KÂH7²Þ¿��Wæ’»úNØ\Ì¡ ã/Vl-˜þh„…KXr«ãËû)}ÍJæê\V]7’_M"}NJ°1Ž£Æ`#4­VŒ¯5²hu.™‰jÝE—{Ìì8æÒtñÁõQñÓhÃrЩüuЂsw`aÄXW­e”ÙçrÏÒL .½¯®°}PKêÃ˸ü„º®Ö`Ú`"mu.‹g¸8q:œNÎ/,ÝH=dt§ââ:¼æå±Ð,§ò€o§£b�êݦÆQ¿Ó 'v`²E*z½W¢oÂóš$ÚŽôäy³?tsS¡¢«ì?¦Ôu¹Ùs‰®±à8hÁ†2af9fUõGl¾ïÎ�ùêÁ*ší”½]Kìd’y¥/¿ :€ÏðS -¾:�v‚ [P¿éÍ€:pà°R׆;]‰ÀyЂ-誜·º‚Û¨#+•÷½9°ÏÑH½6•eO>IZMuÍ,Ç ÄYw`öØÙ±ËÆ—ÛVÅØVGÜïìÑ0WÁŸ;×¥0Ðë>ƒdH¶AÍ«XùKŒäx Q‚g0$€hʼšÉÉ´ŠÃfšTÆ€äiÐÆŸèˆÕÑ£�„´{“b-£àébjš:ƒ -^³ÁJ£Nèº.ß B=:Î8 Žn*}ûójÄz:§½šê}õÄ_—D̨ÆØkqÆéáèòŸ³Å´áðŒ!V«¼z/à°R½¯®›�ÞŒГœèŸJ&i* �'~ ‹%¶¥ó;щ÷³øÚzÊÖçSüIG®¼w(X�ks,:@w¾Boó <½sF~>¯¦C$’á„Ç«éÒ¼µÃŠßØ8ôØ9düŦ$Ò:±×TSm�'% Ú8b�èÉÉLì¼höÎFhÀA#J}ˆ‹ë¬!wS<‡ß.Á°¡KOgÌë”oÌ&ç�ž–ºº~'¬[ò)ñ/»/£àmú‰qÄ�ÓaHtaÜúE@j¦2/¹‚V䑳¥†¨óè j¢´h´á«V¢C$’á„6BtiÞZ—z5­‹(ß’G¹a>3‚Œ¿¤pÕÌj¸°U•R繂Œ)f ·”“Ÿ½Ž“ñ±Tlô­\Û•š$æÌäo)¡`Su`j…‰?dÆÁÍ0;­S}< €×Ç…”l-`ó'Àôà6ÂXW�5l2š‰Õ'§×ûêj]Ð傉%cÎYò—æ�³~®ðU¹ NøZsðxÀ{® ¨ää øv^ö�tÕ»§�–©gsM2?œü¾tgúZçºZcÃ5l;×Mõ“®²wú=ù”lQÞïñ“­”¬-Á¸q6TÏadÀLÉusIxÛLüMq°'Ÿü=¾pUP ?™hì8SÅhfÔ�³çñ½j8]·§+aøP=CUdm0£}Ž™è7×�ü½8R‚ÚÖéª6ÒÔïìÉ0×·ÿ÷;]Ö¥P#WÚ†j%·¾Ð“!’!Ïé½â�Šz!œ‡Dan±:vÐàÜ÷™8öõ{ÕÁ!£'C$Ã�F±÷õ¢Þ퇞ϕ§ÕñçÆ~ßÓâäíYêà�±øñ¦®�SœÜyNC,~ú¢í§+£3jEù>cÙ$–þ¿gDñ†lqßïBahÂ&*ŸÏÙË*~pçR‘�[(*è~C$ÝȺGœ¢ìÏ�e59ôö&Qí¢ñÝbïêØ¡ËÉ0"9uÆRC$½aï†bQë¢vC±ø¼¯¯s/h|þ-qâ{ËÕÁ!#» Yì©îÙIWícw8OïkŸÝ!œêˆó °üý·ÂŽ}ãW¢éµêà�Г!I×|™²P"Fôk~ÒÑ$ºÝß7\Xöx®ß^AÝ uš ̸42,Tì²’þ«êØAƒfô9“2t¤ÍNÀ²³ëM‹I?…ùˆË&>[ö=ÉÚ¶»ˆ¬Uy”~‭ÎbÙ*#fp¸œüYd½bæ,(†$^)¡Îå fkY+ò)? öÝå7å�µ´³,ÛrÈZQÔŪ´ƒÚ]e”¾óoøVD\W°ãoå_É"ë‰RjÀ‰ |×u`Ç´µc…Ǻ»Šø»±à®•<û«TœÍŠ1Œ¬UYí´ƒÝ„éSýÝuÔí2R°*�Š›1®Ê"ëér,žÀòÇ‘þ‹•¬üÕ\Ræ,fåŠÙ8võ®lƒÓÏw÷²î×ájt·drNÍÌímÅöºà•·.°n£Í‡ÕznÜY8wU`·ˆ¯'¨c‡.}—zßÍ7»÷¤ÝžN´ÃAôM™\Þ¯G×h¢£@ÛyE:¤œã™%ß”Þ�‹•Î8»˜{wFH¶3Ö�Ÿ§©cˆèH"&„óØKNÔµW{,¾m«=õ$C�~5¡ºÑ4!i+£1Üh4!ƒ$•�¨�@we:sÒI:�Îû…%$B�ŒK"}NéWžß6Eá“GOûÓ]‰™äf߃óíR>kH sÉr–ßfã“}öCp¢Í†ym>u3ç“TltàÈÁJ˜¹’Ü»Áü®‘ÍÍ‹È]�ÉÔfõÕt>Eùï’ Xs¬†è9Š×AÊøq¤ßžÞn%þG+É8¼†ûïžÇ¯Õ{Re ã”Ë1'–ƒ¶v£ú’�Ä?œKî¼8lï—?Ø ‘�¸^–­N±œÑ'DkÂåV‡�îeÝÑSÓz÷¡š¸«ƒÛè´©¡èvöƒèxåfÄK�¶>îü;¡3`§Ã0µïåyæ»:GöqS ½„Å]—Ž!T�" ôöúC�sˆ¢ƒ‰IAíUÆ ½—Ñp¢§>ƒdèѯA›dÐæ>Ã’ó!|3[=Íšéãâ|JÍVþùn>ÛÌjpª Q؈�ƒy·µ“Ñ�h¿r¶.–Ø–F+<*E{�Šõ—)^ŸîÑ8PÝ›eÄܾ’u/n&ïêr >èÊ€—§C!ßèµ@\2É#z0nч²éGö½iFD¡‰îʪG¨è^Ö’áK¸¥îü/4žã§ñ6·ªƒCËp{h’‹†žú ’¡‡´ u¢"Ñh¤á›ÙêiÖ¬zS%[ò0æ1�ht£\Ôí6SýA†(jÝÉ$ݱŒ{Ž­Á81ØèÀèÀ æ25@Ñ^�_QÞ¨X¤x�¡RÆ·QòtIûjXÒt…¿É"guYÛ§’™©2†qU<Ö7 (Ùhd‡ßŒ�–>†’õåŸÈ¡,>¸ü�&°{Y¶Öó0#š[­áÜpÓ½¬%×pK=4»cÚIã‰5BZ†Ù3“\<ôÔg� AÔJn}¡ÿ†HêEñ†Î&j‹ ÏéÙÞoaïæP0èæšõ›Ä¦~wáñ^MWå©-*Ta¡ÂõéQñåס—!’þsúÑ—„ýyêà�ñÀãgÏÃ8Ex T¬?#'á$œe ¿!’ÞÉZ}_]µA�ôÛ€L_9RÜk#9]bÛ! ß(°º]fœ£!ë wŸ ‘ÔoÞÔùÛD­(,ê!…_þûŠEñ~!ß-oW':Þ'~ð�:8dd4‹=÷lˆ$$ “÷üØÍˆ–¿™ÕÁ!aÿgnñÐy"Q·‘½fÈÄšr·4D2ŒÐ>òÈ#�¨r½ÅÑ$ؽÏÍ­ßì¼SØþ÷Ý�<½Ý„é‹)´ì7Rñ—R^­ö�:]Ïþ¢•¬ûÛ1l£.%#á Eù…¼ºÝʸ:ªž^LJú4R¿Êc/–bÕ¥‘¸ñÉÁ¾—žb³=™†âFe×–í¼TòÑBùKÏq@w#Ó#MbÆêˆ7¿‡½�&œes¾W�p43ò3ÕQ!á�J7߸.’±�\n´`~åÑö¶lÊ1oôeï8Ч&3º¥�Øq ¼ûÌŸ0îua¸>‘ñGÊÉò%Þ:Ɉ¼ÌV{27OŸ°�´ÓÆr^/1ò®3‘›¯ˆ¤fë³üÉhÆ5m GöX1$j0mÜEdj"Öw*p%:V6?/§ôX"É—Ø1mÛOTk…k�¼µÏ…áªfŽžI!¦Þ„fòF}jÂÄFï)hßSº5 ]ÝUÀcÏ•Rã4pÍ™×yj«�Ë¢ŽóAésT�KÃ0^ù¦”—–`|ÇEâ¬ñX÷ÏUåäiøÚ—µßÙP£¥ä="§Å=#È‹WHp{ âïn¾ÿ­ÎßìS{wð—M멊»í.¿ìod x&OA³3@^ºŒ«×Q²Ï…aâÖý¢OKñ³ã¼D­™¢‡×ñîI1—¤rd×Afý0ýW¼ù|éßèaÏupUŽûÀ¿ý“o«£B®*7‰S´$LR¯Æ;©Ùúgþd|‹§�+NîáõÍÏQ÷uš_SÞÅZK3_Ñîc]^e¶q¤]{–ò€÷Üu ”§|qW9ËùÓ9ßó)œ(}ŒüW?çpݾ6#yÐés6½TΈ›RˆœvNsH}æä)Á'Ÿzøö7¢ÔQà0w¼“×Oâàký½)ÇêhHMÁ³-Ÿ§Šßâ0©Lùr—O^S8²+429~ô8צ&ªK6 4­“Ñ n!Bª/Ÿd Ñqþ¶¤ê�{y²¨…üßmªÀúò+X~öSÒ�1Z`Ø“GôƒËHÛ—GžH[Ʋéfòžvq¦×Wâá@!¥Í‹IÚž÷%S¶%‰%?»óÚBt+–‘Ð:Y7fQ1;ÃN#†ÙP°=�Ü»,ä=©cÙC±¬­#Özˆ¤ïäòª Å(לa§dÕ&âcÑܵ £|Û³ ;—ôÀ›8jÄhɀݕÌ}h>lÉ£ì†e,˜X#–À|ûʳ3ƒÜ»¬µ‘z¼ ]v.Š¥ÐÒöÙØü(—þãyuTHxþ/NþºÝÉ”K!B"„ Êÿ‘�ðxÑ"@xÑ /!ˆ@ Å B!UUZ÷êþ�!ÎEÙËeLÑÕ²v. ,yä�RÞÅü‡j¸|b �ß_ÎÜHΩIÄŒ—MO.Ãâ�‹4SPyŽ÷||,Ö#sYvG4¥¿YÃwÿ˜K˜7†ö™ãßZÌØ qKè=�8èÁøW'�-é<©y2Ûƒ¾wòã�ì¼LÕß› ¦=sYvGæ'sø÷'­�ÚÁþɤ|e·æ,Îp€ù2u!ËžD.SS’¡@ø{~—bfU¯WŒèõxì­Œhõèõ` 2šà?pX©ÞW ×Í@¯¸°ï–äiÐÆŸèˆÕdh IãéÚû¼¿|Ýâ8‡Ç{ª|’§Æ”#¼„uϲæÏ�áÏÇòÇGÆ’ÿèxžytOeëYóè%äåNâñÜKy|u<¹�}…œÇ'óèãSXõøTV=a kM"È»‚ß?™Äò'“YúWóÛÿ»†Ÿº–ÅO§ð›g®ã×ÏLçWùÿÁýÏÎà¾?^Ïÿþñ~ñ§Yøç™üüϳøŸµ7qgÁÍülÝl~º>ƒ¯ŸÃ�žûóžû.ÿýÜ\nþ{üð…ÿä¶Âðýnã{E?dî‹ÿÅw_¼ƒ[^šÇ·_ú³_úßÚøSn.þß,¾“ô—ÿ‡o¼üsnxe!׿r3^»—¯¿ö¿Lßt©›qmɯøÚæÿÇÕ›Cò–Å$mYBâ–ß2mËï0lYÆÔ-1eËïùÊ–$lÉâ²-«˜´åaFÿh6Dw1 2Â(kÉ £kY;¨Ú²@+>å?­{M5ÕÖxR’P¢QeèÃ�h¢Û3*5i×BåËv K’iÜXתì‹kÓHkÞIÉv+SoÕQóZ>ÅïÕPßUãêq�£}�'ó�ùDï+&ÿ�;ð¹f¿‘?>Ã4Ñ#cijhô}StŒî¼ˆ4¤èZê¡¡Õ)ˆèö«…ò|;'êü=Žôò[W:ïr\ž1Äú¾ùz`Ì(ÿºnº>¥çG8ŸZ7Ù;¿¤xm1êQ^_åý´Û;ÞÅØhH¹w1)Ö2 ž.V\��×äíþ=§ÁJ£Nè”z:®6¼§ºw . TMtªÛHÀlèêx‹ê9ûè—L:Ï… 8aíJ.8Ý6ßýEÿ+%kK0nÜ� ÀVFá‹%mlå¦{¾ [Š(y±�2JG¡Ýh‚C¢ ãÞx’ÌX]µT|`C½²ë7‚Ð}ÓdhÀù­›‚¼Ïß:9¸|†DFŸ¿©`’zôx¯WåÓ†Dïì:¢á´ QÝtò$�Q$>y„SÖ’ÁFײ֥^Ô–Í2°¢¬ç_53�Ú.lU¥Ôy®2Ds2Þg@F�q ÓU^f$c5µ’vSìs�´%A!-SÏæšd~8œèˆ�¶Q¹«Ë—J¼Þc¦pK)[ªabºª}lW]Ô¼VŒy”ž„‰zôñbw–PÕÉíD£gÎåìÚeä¬^ÇžöŽÖФk©‡†1¼ç2”ª’ýh€ø`yÝps€1 ã’[Œ”Æž'Ș %/–PTT† =8ü~²ê¨=®ñ¶¾p>µî²wÃÈX¢�W²s»…£¾Ð¸9ïâœ~§€ò=qãÑ� î?Ø㦞û=çÊy$o€¬'rØ|@m+wp ‰Ž?m�ªö|-]ÕF׺úV{C'“7?|3F²Ï0ÌP+¹õ…¾"©ÜPÜ£r¼äüP ‘Ü«ÒIß8½l½°ý,W2?ÞÔ+ã¡&ظEׄQ»8·1ƒ¡Gø ‘œ�¬�¢ìÏa[{°Llªq qz‡øãÆ�Ô±CŠ?ø½hü¿×ÔÁ!áÔ�¸ÿ‘Þ}³ýÔþyíùqPa{½P”5 !ö‹âÚ©P ‘ü^2–ý_“øk…SÜ=ï⊧Bñä8½W¼QQ/„ó�(Ì-À�˜_XFÖoPë>-¥ôS ;¦õþ¼Ôî*£ô�>Úe¤`Uæ1 ÄR‡i£‘üËÈÙf�& Ê"ÿÅJö¶oX–´Ó…œÏ�ëp5º[29§ €f 怶®b{]Ï+ojNÔµ•{ü«(Ä´ f9+©¨Òñ£OWÇ-¢£ÐŒ© }z«NÔQÃQm†=/ânË$©Á…cT:™!WwêÓ]õ™>¹Ixýº‹%éþ0.�Œ »¬¤ÿ*4:�’~ “ëïþouì€#WÚ†lÐ7µ?Þè£1ÜàÙ~NIÕiúOÜÕÁ×H›zþ%¾�È=˃�ðÉ#"BƒntùÚƒiÊ=,ÿu±ÿÚÀææ;ÉÍÎåÚª*NY°pb9hÃy°æå±°y;/Ë%wõ|âêžã™OÒXòÀôÛÖaògo;hÁ¹k;¯Ë#wi±6àÊL2¯ô%°–QfŸË=K31¸À�˜DúœZ>¨%õáe¤�°`ÃFÅA‹Wç’f1ñæi«sY<ÃÅ~Ë9”V/Jº�ó9ˆžšFú•½Pve - ­Ë˜“DŸÔÔ'&µ•7ô§}ÑÄÏÈ cNéRzè»ÔûFŸ “ȘÙjã0LŽF75Àêh-NDÛ¹ö|ž?cFi¸dB_ºJïb Ñ‘P¡»2�Œ9é$ùu %Ž_&Ó·+ô¼‘ýÃáE_Z¢N8]à _[)é%r&eð0`:mWÌeñµõ”­Ï§øÿR¸¶¶+~:qyèPªnÆèIþJL†!\- bR&KæEc~-Ÿüw;LGø¶ýt»hâ´Ãg¨@šNá°£YK†5á”z«3œ¹ š‘1h¢úÕ•97Ãï± Y¤(úF·}É�¤_-]L4h{“ƒµ„’=êÀscÝRB‡z¨ãFSP¼ûö"Ê­¿ƒÏÎÈ™”Á‚"‰ðÉ£ÛY³†Pð¶ ýÄ8â¯ýq�ÂõܫⱾQ@ÉF#;­åÌHgÌë”oÌ&§&¹GÃ?Ñ3Óƒ íÉ'ß_¯�5l2š‰Õ'§×÷ÂPÐhfÎ9KþÒrÖïàlh­ Ühi Ó×^AѶ€ÆÒ‡yK ÖnâzƒyK gÊ6û|覆‡„1š>÷zÏ-“:Š^TRØß4RápP±±”³êda%œOíÜÙ›6Þ{…º‹ÎñÜz`—£ß²É¹êQPÚ.P×çóì� Î! ÅUÓ.uà¹éò=÷=».ãú€ú]èo~}CƒhÐÍë’6çÚU¥»‰IžÌ¨OË)·ëÑ��ÂOE»³ëTÏ'ì‹HdÊ¿K0Ö_AJć”v)‰—vôÞ\ x&�ÇòB€#îÑû(µ'“ìÛËÓá„u"1¦ØlO&Þñ.[ ËqL»†„ÄꂜÆz1­U_úÂÉׯùJG¡‡ Šsí÷ÂâÓ`÷>7BÀô«åîùÞà|¿ÑØÄÈÛB¬Ëàã�J߸.ª³ÃåQSȘu ‰32H›Ç57§sÍÓ¹9=‘QQÒ¿›Æ5©7óßéSÐ¥¦0 j i³ÓHLÍà–k¿BÊw2H¹"�[¾sM§íKSRSÐÅL!íæé\3=ƒùéSà+7r£¿úøóº:�Œ¯éà«éd~c W¤¦ ß5§�’ªä<%5…Æýõ¤Ü»ˆ¹Ú}™˜ÉŒ„ KzÂí\ûÝÝmÜ4£ Y;þEù_Þá¥Íå8ô)$kLåòêv+ãf¤pv�‘’ÂrñNÊžQÚÛ´kÏRÐ~Ýç°:9}:“=�mh âø»lµ“œªåÂÝ'*�”¿Z‚±´µ…¾éÂ�žÈø€‰»³ ÄNÏþP¶ÙcP�󦣵hb¯â+:o†M%ï&çÚ­NÁŽÝügXœkëyw×(~2;Ù7y_“δ±ê«„ʶ…Ñ?™£Ž »ªÜ$NÖ’piçj˶žzésNDjI1ØØÜ^uT=½Žõi¤~5À‰¼Êâ㉊ º›ðe99O¾Äç'@›r ÎÍõ(±�Òg:êãø#�iÇc©�ƒhëá/I™~Ep9û@¸�k×ôà\»Ã™{S¼¯ãSúTE;θ)¸v(N¶­º4ïäõÍϱO—ÆÕ×´P·±‚×K_å#o*ɶWyj«�+S L˜6G€sîé±û(ßò!¯–l`ÿØI;[ÐÎÙ1­Œç¶Öàš6‰ë•w!áèÛJÛ<íÆ¥*ðüȪövndÜ5\:¶‹{<ή/eÌÏçJçÚÄέPˆ0xþÁŽ`.­A§·`9fÅøl i.aI\9…G©6Ù©ÙUJi…»©šFÕpçA ¶žôh°R¶ÝÎÜ…ËÉœÅ%½Ð£±î*ÄtC¹ÌÀUóï ë EDS+š>Μö…Q#5ŒÙÍÜÖ‰ r~“ƒq‹‘¬_åaRÙ¯°n4ÒÃü |lÄx@™•í~Ef(ÒÍó áÌÛG�TôÜY8wU`·ˆ…׫c%ÝÊÚyœšè¹äf߃óíR>kH sÉr–ßfã“}`û –Ô‡`ÝØÑÞ®ÛÜ: É$Ýp+)*½ÛA Q¾8Ç#,\Â’[­_¶bÛ^KüÒ\îך°ÍÉeÕŒC˜TË çÔ}<�6;P÷ñ‹“îà Cº‘zHhsƒèæ{á:¼GÑuµåcä–<8ëF#GZ°Y�A:¯/¯ÛIüùä΋æK")i.Ú\‰ÉJf×$áþ"Ðñj¸ çSë&û†*67/"wu&S›¡)¨HJJbn’©G]aGÐ9VŒ¯5²hu.™‰.0×#Óëã¾à´$‘y{Ç ßü¶‰ø»—³dF,â+J}žv̧Ë|™¢ãlû ïrɽᦔPêYDnö<&Ôí *cŸñxÍ­êаcZ¿“kWç²lF,¶SÁï«é¥:߇ÿÂæã™äf¯" +ŸŽ÷µ*m�Éj`ñª\Òª ©ùªÿÙY°5vÒ¯d+Wß{jzÐñÖ+ïÂlƒ¯möµsÍÁç›Ú¹ã§T/J?èvwŽdH¶A[ܬË8üv æQ³Io¿J‡³ëÉ×k-¦2æî�1Sh�eVÆEÚzÒ£Q9aýÂÜ­ œp|©ë<Ù8äÐŒ� :iz¾‚ô'V²àŽä>|+ÑvW°ÕBjK†åóYöâJß…Œ«udL­ãoƒ²² ˜N[(鯑ŠÞ¯\'T††ÝËZçskåŸïæS°ÍÌ!¹½ý ho/u;Ïî Aºc 1™d-Äh $Lô9–í‚uûÜfë>^ ëýÝK½ÿDEödˆ¤ŸÎµ�1£|/×8c:‚/á|jÝdït¢T¦8ô“਺Òù¹©u…-Aç8h$§ÇݪªGAõÑ”VM¿D÷WpÚ4£–ïCLW¢p:s÷ªžûµ÷wè|WÛa\¬b0&1žhÕsÑORž§^¶ÀÙd•snk#$O�tĪÛÔ^êxwœßˆ- � ¥¶Àé3H.a´1ñ6fÜ ³ýƂボ]ÛFN%m”‰Ãñ³˜•h¥z|F—fª£zÒ£Q9aM>§ Œp|¹ëÂnº ¢©µûV,¬4cq&“ì_qŸ˜Bš¶$h&jw›²¿¼óìÔ|òîvSGŠ"ók’h;Ô�kò¡…Òê¶WÔoä¬ÙÅD÷²®ÞT@É–­çìA_µ®–³±ýíý÷…sÞUÿè*ûK®bêž|J¶°ù”I†€zhHtaÜ]áÀstÌ5˜ÉßRBÁ¦j"¿\�RfÖÇéAiCé ú�ÚÁ=…Ö•(Ò�¹O~_u޲�ïË¿ÃÔ}…”lË'çùšN®Jlå…m)ÂØœNÆÕÏNåœ{®z‘¡oC¢ ãÖ:Õ �Ä’ÐÎ9CØÎÉ>Ã0Cí¸­/ôŹö !ÀñeΟÿ®Žr(ε¡=9×®\¹T”ùý\/…«Äš åç¡¢âÏ*•ûÖ…W‹â÷…¢R¬ýs­áÞ!Þ~ç¤/£¡Mã/ û/òÔÁ!ã×¹gÅþÏÜêà L£¨Ìû�ÈÞP,Öþî>±ÆÔdzȆ¬"a¿'|²þÍcÝÈúäN_º88ôö&Qí¢ñÝbûAuìðãįŽõ¥êà�pêŒGÜFçÚ{7‹Z·µŠÅ¡¾ú…?OçÚ©ƒCFvA³Øóñ`tcBDÿß&ulŸÚε+Eñ†zuà!°�ÛýouìùcM¹[:×F„p<ß_.Œí@Ç—÷Ü{£:vH2P3)é÷¦SñÐ2 Ö°ìÑ’~ò󠙨oÅö4;¥‡Ï!o]-gÆ]�õ Føä©íÆO› ×�Rò–.#ë3:œh—|âÀ¾ÛDøœn×aÚX@Ö“Ø—“¿"K9ÇQCéYd=]ŽÅöÝ¥«25TœHgÑ�°èÉ\2Ç9Àî Ø=u˜v+‰ëv›°·o‰­kß*k¬rÀ‰ |×ëÂÃÀàGç–Åù¡éFÖº«H÷©õ‹~ë.^˜6;P÷ñæiêØáG)Ýo�ì‚>:×N»=�h‡ƒè›21\ÐÞE_nê<Iö¦¾œ¢oøÅ|uìED2é7uÞnz!l箟¢Ž=ª( êQ\_ø×çn±(Û¡–\@r¥­¿Ø^/e�ʬì¿.Ьl¸9æ•¶?+ŽXÏý°*ó–Šâý6a««õ;Öˆ5f!„°‰M+׊6+3çGŠEñû•"{e¥Â&Þx¼PB8÷ï¯=²T¼qÜ&lû Ev3�Î#;ÄÚßÝ-îøùRQ\S'Šß$lBa^#²ß}¯}¶²rC±¨?R,Vl¨Âö†XStHáµæÄKxFìµÙ„­<[첨¯0ø±ßûâÄW¨ƒCÆâ^ÊZ2¼l+mƒ¹Ò6¸÷JÛCa]i~È•¶áE¿æÂt£5DEÊQüÀ>´´ šÃä+*î¶L’N}S&ÉýzŠ$Â'áU\mœ‹@EôÝVE©Z1\aç”?‘Ç…«Ý胇6ŽX zr2qÑ*#�ØM¼aIeÑ“El~a¶—Kù ½b¬D¯ÇyâL{R§ÏVòÔxhv(€OD`(#aLè¬e](´ñz´—¨Ì/†”ð½G’ÁK8¥Þ“õÈ¡M8ŸZø³—ôŽSgmmêPIOÈ•¶áÅ0é*_ì„ï+·N¶R²¶ãÆt˜‰'cŠ™Â-åäg¯ƒÁF(¬[ò)ñÛ¸ˆK!awËVç�³¢ëÌŸñsƒ‰¼-åm´1kN®� )ÙêWÐ÷19#@ü$×ÊhŽ ¥½¬áBøÞ#Éà%œR÷xÚaùÕçS ö’Þ1a¬†èи/»h�Ö#‡ꥷ¾0$ ‘ 3\ŸǾ~¯:8d„s{äpD1Dò¤:8d,~¼In™$4<ü’°ß;DemÛ! ßî¼íµWÔo›>TS[T(öªÕç½_,Š�üV£.£úüaÊÉ0o�¼ÿÑáõÍV¶Gþ^2² šÅžj¹=²·„{{dw†HêýÛþ…Bì›6´GüÐ|ôÔö¨Ó ÑG%}I~¾LY(·G#†åœÛņœI<(’Ÿ<º“õñOk§‚»¤t-kÿ¢ü#Y«ò(ýD1èR´:‹e«Œ˜P·ËHÁª<*ê: ½8¨Ã´ÑHþŠeäl³àØ_AÙÛåÔ¨ü×í2RòtYë+°Ÿèl@¦h§bHO�!G€?FcÕ?1•—Qº3À?tœw¸œœYí¶u”˜Â4 ó¥¿Œ‡|åØ*H¯”ÑøÇ,–e—cñ¸¨ÛšCÖª¢ÿŸ½û��¢ºÿÿÚÝü† à. ¡¬Fk е†ê%µ­T)ÚíýµB{¯ÒÞ ÞŠ~?F´¬?ÒX¯Áª Ö]¨QƒÖ ‰b‚P¢ÁE‘å‡ l~ífwçûÇìÏ!APHvÃûùxä‘ì9gÎÌìÀ™yÏ™9‡ÊǪ�¾;õqÔOšÁùxä)Þ©S\½8~} 7Ž%,¸«’zO69–tðÔSyW K_Ù¥¶ qm´n(�Œ¥)?øøš_déÂÊ7´‚§ÛÂJ–Ùiò¨õFâŠ.“úºfÉI§(_½ ßw0È]Ë:ø¯_fFÎ:”д¡ÏŠÂáÃA† ½í£¨y‡ÛüŒz$J�ÏÝ>Ìæè\B:EAû�M�îöRRt¤e¨±¦%f½êÙ(¼n 1B)þzƒ]ly”HÙNw'CÌ™€‚^M¦ã`CFg¢‹{¤]Ý.u? kÿ²Î4Fêé:þ¬~(¡ß‘}Rëðîo#5;“”!iqgQuÏBZo°­Ãpu‚—趨ÛáÿôGþX…僕‘:N¦k¼d¥Ãõ?Ö¼×$zuxÑÓö~ÆOüA›uRÌ “ÛoÊ`ì¹ß2Ðß÷4×gœñx?k÷›,}óBüìÔ0é§…œq–vVPÝ9�¼M%p×\œ íäÝ~g7”S‘YŒw=ܳ¨�ÚGíüÊ7Szcü옎—’vû ·-eé'Ž´S:µŽ¥[¦±àç&ê\Œç+®ýÅðjLýþ8TÀ‚›shnprॕ¤,*¥(¶ò½6lÎbxk3ÓîºV/¥æâÌŠ™ØÖñàœWÝÉ´7Þ”zÊ7«ë/Ù þ¶9gaÝTw•R¸¾ûˆl\ŸLcÁÏÓ¨þýÿðÿ”’»Î$äþù½düà; ýÏŸh³¾¶/޹ûÏ]”ß;D›•´Ú«^£kõ›Œ|é~mÖI1ÿ�&æ8ÿlƒz}Ñósì5Gè\¹n ]Ãè]ߘRc–Aõïȵ‚Z6z�½> _K´ì {T à9ØÁ°Ñá‰ß‚‘ë–È5J(G½^‰Ý^å¨ë”ø|µ4×Xê~k¶9²}ê2:¾˜÷¿ŒXúŸdü`2'ÛΖ¶µ^îŸÔ„w¸ªJ¨›ZÊ,O9K÷^€åà¹XÚ¢íYç,,±m�ÕÂ.Góy6õ�V°7&þw¸ì\[»ƒ¥¤±à®Bê\Ê{J¨l«�’,ä·¹˜v×u˜–²¸íb¬®s™¥i[Ê� sY³ƒE�\$·¯´Í)igÊ·SÐ)ÁHƒ£S‚‘†M¯éî ’•ú�®Ñ£ÐÕ`H¦Ð¤«ÃÏ�,C̲AtŠ‚>Ô è…o€¤¤¨ëÑ+j£nXÂeÃéƒô¡F0Dú;ܰ†ëÕ£àk÷‘1$ÁHƒÚsÄKº1 =AtA5-ÜX…÷×ïé&mhZd¿¢Ÿ£ëQS5?œ8Ü�!#Cª!º=áò¡ÆPúL—}fêQé:”/ŽàÛø–�ž×�“C‚¶£m‡8ã‰;´Y'ż:øï›2�¾�ýîÔmÜÞÛ±v¿IåöcöT¨{`)‡�NÞ=“+‡7±=my{lXo,¦îî ŒS‹0<`ŽëmõBÂQeÃ:µ� mE%–›gcÝSÉÒ:?–Üÿ`VöR–~±€SÁ¹¢GA>të1õgµÑྚךð´yhZö?ÐkÐVÈ‘·œüú®+IÛP‰-wv\Ðæks±«¡ŽêÕ»(üm>›·EƒµYV›´í±a½q–�6lÝ.v)ó(ýQuw—ðÝ%É´}öó{É<…AÛÿýsË]ж�‘/ýI›uRÌûSþ…1fz%:§+¡k…ðßêµNøwøz$\®Ëãgè}è |mS—æú@T?ëC×#áº}/™CSÔë¡v/CRbêŒ^_é5ˆ ¯#ºNu}~Oé‘딘íÑîOøoÔr‘mŠ»^ íG¨L×ê71WÞ9A› ç�³(Úk£dC6ù`v­Ãz×\òöTRùIݱmÏ�4v½n¤øb#¾N?û›Z¸´$\v6³5A[å ³o¶â\±ˆ§?>‹›î›�5PGÉûÉ6ŒaÁ]ۧ’’·Ìäû''LжÂlFÕ<(AÛ ñµƒ¶+»(ûÿÏ Ùô|ø)Ÿÿb£ßy\›uR<¾ÊË3Õݘ‡©�¹^ ¢'¨þVôJ@“:i¤è¢éø¤è‰/ÊÓ‚tÑeõчOZÚò¡“~¨¾øtµ|L]áô` ”¯¦é‚A (è `FO¶áeuþ õ$Ù¦Py}0ˆ^¯ž¬âÒQP\‡Èœ: ÓÊÿ«ý*OŠ>{_D¿;õA[ÇÚý&·•ì¤èŠvš3™á.£Î: sÃJêsä:Ögá}vþb,Ûë0ÿ~¾ ÖhÐöK+¶_×SôÿæQs.w<8“óLÎÞë&ïºlœ‡f1«È‰}É*˜l¦y‡…¹¿pSãœEѧ±õσ'lpI ; ™;ºšÿ1ÎaùµyÑÊ÷ªAWÑþŬ2ä1t½ƒì»gá^ónWgsý­›a C›>bÂpü¾ž¢ÛÍ8¿è#hW�.e—ÉBëX¶æž¤ÚýðÒ‹.`ؽ¿Òf}m_ rwYå Ï9ûT÷´-^ÞÅ�ŠR¹¨ ú$�èÛÁ›Ç°»g%@Ð6™ã_¤l·™ç*ÜW¬bflÛs×Ù}H[½kêŒ~ìU½û�²²ô‘G4º;üdQ/ÑAÌ£¬àíè!#+EÍ‹yœ”È#„zÁÛÞCúмí~2†DGT{WÕÖžv/iCÕ!¦¢�m¨ÔßAü/©ÆtPžnR†fÄíCÀÓ�Á˜ÙŸØ:žN ÆÌH^üw¡`5Ãè3bÒNéiK§:h»íþþóº ¾™«YÓý&¶�ÿƬ¸;Á'‡£*i3bí,§Ü=—¹§`ý'¬­žêm9Ì(òRù ƒïžE²_ZŸêž¶ëæ·sÕ÷R0(ÁHÏŒz“LíY1JW‚xÛý êaêåæY ÛOZB½Eê²j¹`w]�ÔT}üò vûHK×£†zjB¿éö’’nˆ¦üôºhøÜCêY¡ž þí»Q~Ιo=ªÝÝ“bñò.~ti*MHöYýãTm+×zùS/A›è�ô´ ._+hÛõQ€åÏwóðÿ• m ¨AÛ"Îù„u:©ˉ'’�øÜ4Æ�·’W0V+Íë?ÂxY!–¾ к³ŽÆð4€1w …ã¿d¡¯Àó�ƒúO gry§rÚ¼~r*ßiëì†E�v‘fPŸ 0G=9a?™ (ø:{’ º ‚!üÄA(Ø3(‚^?i©jPg ôC¨œâíA¯(¤¥Æ?a ˆÒÝCjª.útFèI¼^RRõjJ} €^BÛIåH;iÙê 5èö2ä§—’5}ŠvwO éi;1§2hÛüŽŸ5oøxh�mÇKzÚ—¯´IOÛÀ;Õ=m"±üâ®ú^ãÆ¨SfFzùµ'~æçÌ‘ê{„ò£=˜jï ûP#G…ËD{>c{6¿8èe¸9 ƒA½h ÷8îq •ÔèbøèÌ£_°Wšèò ô´ûHª¾˜ï;â#ݘ-Kx{¢ŸÃû¢:\‡jÉVóC›WøúÐg�¢@O]Šï§Ÿ“qÖð˜m�Ö]þèÏѰIÝ.бòuô©Îxê®HîÉÔç;mbP;tå¤÷Ô<)Nœô´�˜S´ëñHÑ;éi\$hKr§ú�6‘XþýíäŽÕ3lHü : ¨�ˆ* ížÃŒºh~h`�ØÑÍÚûÉÎVGSÕ¹,\^­«ãHC†êчORPG)C ªô¡²áeº{2,UM‹­/RN}Q^ºzHÍPá tFÿÖ…^h'´ á )ü·^Qð}ÑIúðŒè`G!¨jÑuÅü­( 7èðÞNÚˆ!‘íˆÿ^bŠùQÀøß:|›·“šk9…A[=mbP;•=mâÄIOÛ‰‘ -±HOÛà"A[’“ž¶ÓË•vpë/zyÏIô»Sÿx¤ô´�ŽNå;mâÄIOÛ‰9ÕA›¼ÓvböO˜ÍÈ5KH9{Œ6K$!¹Â{‰Á.%E‡qˆïÓÃW;ÎÍ+*©×&F¸°U9´‰_™£ÊFÌkk_n¯�[o\Àâ%‹)ùým”7Dߨë�ƒ’koeñ’Å,¾ë6¬ÑLØý¥û›|¾ÚQ§””„qR…ËŽ}‹61V3•+Žn]\U·òË»³xÉbüv)Ž>›±zì«�ÝB6¯¨¤Y›xéСË8ùï‹�!AÛ ð•;KE’QäXŸFú:Ö�. dY%åÏ:hõ4Qý@ %Ëjqœ8jk¨Þ  n<Ô?¹€’^dWšßrÐ ð�G+´n(§da ¶£‚('µkÔKŠÖ·j©om¥nÅbJîˆ)ÛêÀñ@+Ž·š!n{Zq¬ ­+ÄtÅ<î¹ûJÿ²óš•lyË¡^´„ë9TGùÝ%”<[¯’rá,î¹ûîyàaf6WPë‰Ý†÷£û³\t¼ÛäÓ×QHJ’iÆQe§lQ åZ¡ÕAmU V4ã\WFÉÂ*7´Bz9#´mއúgK(¹»ŒZ‡ƒšÚjêöhÛ1Ó~{÷Ü}K¯?BͶfUå”óMµ,ß¿DŽÜŸÄnÃáÐþ¦Ç-ç:¿\2é㨋�$%ɸq¸¬Ì[XJaCŽv'›¹Ž¥WÔ³ªóJ•raC9uŸ÷Òæ<½œ cJ)]r¦ô1äåM£x¼IÓŽµRóh¨§m­…ë&»©k™@éùÔ<„–”R:±�ò p¶|_ÿ+Õ¬:8ƒÒE )$•sòò(œxfÜÖŸL:½^zÚ Úé}9}ȱ>�ô~¬=ž.†f#Ùi€ÁKkS#�. yéÚâøº-cÆlŽÉø x\4nk„‰“1{cò�‹ÛÙ°¦Wî4,{ߠ쉩wj{ä¼øÇ·=*NŸ…ÈŒ†êý`®m�4RÀä3ý± àÜ –ξ¶!ºœ1MÁ4õ~ÔÅ€’ƒ’0Ž÷P˜G« �Ù î#�?Þ­.0©¡—ÙìÅu$\:¦ÍIÀ3ù¹}½;ÓÓöà\ ²Àškܸ0«Á�ÙŒ÷PøîQLýÙm0<HÃ’k9åóJÊ5Ãàòµ"ùÏ?và÷…çmQ'ØTG• Í¿3Ùf\º¢NŒ©W• ¥ëBmƒ¡‘Ûbˇ'÷ OÈNS0èC#ÄEFµ‹Î=Y.²- :E�F¯1ètð‡>Ç×Þvêþéõ„òŽÞŸÈgu¾àWç½ÑC“˜†Ê„Ëéu ú@øsL™Ðœ4ºP™øüèwƒÏGê¨aŒvœš‰EEb‘Ç©ˆ¤�cÝõ/–þa^ ì:XÀ}?wñÄ{Lî¬fÏe3«¥„ÅÆ9,¿6/ºŒÇAùŸ›1�ýˆUîi”šíØ�Ř6Ô‘}ÇÙ‚·Í—. 4·&nþ0¹‰Ç�sXÐUYnféRF+^L`2zdb¹ûá.6Õûš½¦Ð+�¸ ÅõÁP^dÎ;õ'E§  B×Gá|uùðuƒA bÐÑù�^^ÍW¯W 1èt�`d^»¸²1„&IO–»½áºÔ4uÞ;ƒtþp^h}zÐùý‘壓°Õ9ü¢'´þÐuJìg]G¦'î8e‘ßè‘–^_ƒyæÙì;˜Ç¼Ÿ8©vÎbV‘û’U0ÙLó sá¦Æ9‹¢Ø6ç?fà^ÙÈÙ¹.êÒFAÃãsÞ—7GÚ1WU uSK™56º>[••Y7Zpþm1« …˜w6a¹¥w­•¢”²˜6m%za¤ý«ï¼ðzÕß:E}Jü(Jh¾¨ÈgüçÞ»Œº>Cö—5bb0�Ç©Úú8ÖûßÅîþ×�ÝLIe:¥·Å狤&£G&–Þ¯q”è5FÌõ�:}Hèï^®Súrt¹èõSl}JŸ×ª¾¯ObÅ\«ôЧè㮋´×('N9e×#'´…ƒ¨cÚYN¹{.s/Ófœ$�µ”¯.`î—mÇ)$ó´ ._;hBôŸ>{_D¿;õA[_ÇÚ�«a#»ÚŒä_Vˆ¥—×ZwÖÑ3h™1w …ã{)xÎ-›‰}ò0§ ˜¼Q±eÄ©$=mBô®ï -Hýú7Õ�‹ˆÜIL:f›×Jóú�0öц~}>œ[êñå‘7\›×¤§mp‘ Mˆ$2ï�þ»·ÞÑïN}ÐÖGO›Ô¤§MˆÞÉ÷ösfÐígÅÝÆÐë§2âÑyÚÃtRHOÛéIzÚ„è]ß�GоHOÛà"A›B$ ÿZÒÁ­×gðÍܯ3(€H6òN›½;þ ­ûê¾?¼–úoÎæÊ¯;ÈÆJ(e¾¯ò¸ësUÝÊîãÇ»Ÿ¡ã7/ñµ%ú‡¼Ó6¸È-\!„H@)0‘G[N7rUˆÞ}~X¡Ë{<ÿC²É±ô°kc Õ¯6áñ4Qý@ %ËjqšqTÙXz÷*××a[XÂâuN|;«YzÇJž­ÇC+Ž5ZãêôDë;TGùÝ%¡²½×&¦Í¼ž_^_WK“yÚéiBˆôïhç²ï¤pÆ0(êü�DÞéPY ÿÝúy€‘#ô´0|˜>4ô¸vÈpuhû¼‡3ÎHŽ´õ0lxŠZ>T§.4¬¹.´¼ß$5U©ïó]˜Fg¡í �EÔò¡íTÀ½×Ãȳ†D·…ÎÏ»rFºš¦(1ëŠ.¯t:]hŸÕúu(ôtøH’ªîG軈ÛîÐzÔïKýÛßÙCjVJdßÕõÑéb¾Ëð÷¤„¶)ò½…¿u;¼{?'cìè” þÏ;H=CÝ7�}¹1²Í‘ý‰®CÍ�¬(n›Ãù­fèo®–ž6!4Ž¿§Mò¿˜rꦖb­Z€û7w2Å]MyƒoóPJ—X©\RÏŒ»¯¡þQ;¾Î&Ž\u'ÓRÜxÇçÅ�(êi›»§„º©sá1;y·ßÀÙ åTdsäUïQõ�6îbÇÔRf9Kx<»TzÚÄI!=mB‘�º} ]Ý Ý^…./êïî šÖ­æuu+x½Aº¼ >_�îîØ…îî Þî@$Íë DÊy»ƒx»¼]Aº»‚øBiÝÝ5¯+ˆ·+€/ôYý Ç«þíë Dò}Ý~õ§KM÷uùñ{ƒô„óºÔ¼žÐr¾N?=]~zºC¿»zè •ñuùñwõàëì¡§3œ×ƒ¿+\VÍïéTü¡üžNþÎ]=ôtEÿöwøè ÿÝå ýîÁßé#Щæû;|:}ºB?�ñ?ÁN�î‚�^‚�>‚¡2ÁÎîH~°ÓK œ÷[ý[éôèì&ØéEéôììŽü(�^”În@ûAñu¼´65Òè²P�—J~^>�NÚØL¤a4BÁoæQડ|ÙJšb¦<é�×¶F)`ò™þ^ëKÒÓ6¸HO›B$ ¾çiƒ™¼Ó&DïN´§mÖx³Џw²ƒGß+`rg5{.û––s™u#تœÌº±G•�¬ô]¼n˜ÂЦ�˜p×5ì{l3Sn¿ Ñž¶R–2»¡ˆÿ:³š¿û‹±l¯Ãüûø6X�®éi'ŸmB‘€dôÈÓ“Œ)Dï’iž6WU /N¾‹ö,â9ËÒ ÚdôÈÁE®„"!©o;‰Ó‹u!úÖûÿ� õë먋ü4kéæËf�ïù��Ó®äÊohsû�ÌÓ6¸HÐ&„ I‚8ÉQâDé)¼¢˜âÈOݯ”6¾�â‹'ñ­+Š7B›Ûä�¶ÁE‚6!„HHr‡ôt$G]q²èJ·O›,’”mB‘�äééHŽº}“ÿ'FÑ)xü^m²HR´ !DB’>—Ó‘u!ú&ÿ?NL{{×ÿüç,_¾œO>ùD›-’ŒmB‘�äžòéHŽºâ¤Q‚4mßÎܹs¹öÚkY°`�¶„H"2ä¿B$ ™§íô$ó´ Ñ»�-î~¸“iSRÐ) :ô(è‚êßá½¢ S‚èAÜ}Œ™¢–UÔ4ŠZ‡¢Ö z%“ú ÂáC�Œ•ª/¶þøõuÑEÖð4u�¡uë•`¨Þ˜íSÔÏÑôè:õ :½¤f¦D·k;igdÅÔ$Ðê!Í4$²�áï‚ðwúq?°’¢/Ös�è{mÌž=;î»ÉA‚6!„H@¿ú¿̺:�Ñ&}LÿKød¬:úQ¡Ør„.Jz뾉&t¶û:Ô€èh÷3d¨á¨rê…AèïÈ¢¡?B§�]ž²Œ©‘õG©›¦þJ UÕíñ‘Z€€‚N¯S?+Ñý /«:z]=G¼¤g§G¶ í2¡_ÑïRMèië"mXfh 5=n;CÛA¨>ÅD—¢�©#¾¾Øí îÄ0,<¿”zc·=üûóeèõÿ&A›;[,~¬‹ë¯L�\ºHÐj£"Aè pp_7cÆ„ªH�ú?Úbë åTøbf‹Ú&è•p¹£Ëvº;jʈ[jyu»h‘mRBms¤=ý(ðt‘24=ôœÈù&}¤1¦œ‚ÿP©£²Cå¢[´>u»Ì˜)­¯Çm/½ôÓ§O�|ÉC‚6!„H@%wÑø/?éiÁÐÖðÜèÝÚØ“¸ž`ô"&¶\èwø"A½xFî:ýR  GA 1èB4‘:Ã8áúû¨%T—.²~}øâG ïƒv»ƒêEGè·â`0@G{;Yii¤ qw�cï`‡·#výá|ôz]ïå”о¨'ÀÈr  ÷Ñ…¶?|!ÙÏÈöªß›] ˆNó}D~Ôý‰^LÑè º˜21ÛSN9øÙwþB‚6!4v¶°­õrL®�(vŽû)Å{_‰mééé¼öÚk\vÙeÚ¢" HÐ&„"¡<óÌ3\vÙeŒ;V›%„8MIÐvâ>>ÿ5ìÞØþ���˜L&jjj(,,ÔI@^–B!„b�IOK§ªªŠªª*¦L™‚^¯Çë•)’•mB!„"áÉ£a'FAÁ8ÔÈÏ~ö3^yå~õ«_±ÿ~m1‘$$hB!„ mWó.º»»´Éât‘!Ž ;;›ûî»�½{÷òÙgŸÅ•ÉA‚6!„B‘ÐÞ©)©Údq Цo2++‹¢¢"6oÞ—.’ƒmB!„"a½û1œ””m–8†Øž¶°‹/¾˜ÖÖVZZZ´Y"ÁIÐ&„B!ÖÖ­[ùÖÈ;m'(ØÇ76eÊémKB´ !„Bˆ„ôÎ;ï0jÔ(F�>³—~#q,áé½µòóó2dï¼óŽ6K$0™§M!DB‘yÚ„8 í©§ÉXH�)>¹¼¼œ3fp¸ëLx²‹¦§…&§�¢€ž¬>4é=ê„÷„>ù¢‡áÃSbÊ©e#Ÿ…ö/zÈ‘ AQ0„W®(è”`L‡‚.D§W׭݆žvéCÕ÷îôÕmPtJ¸¼¢ÖêÓ‡Öïu·“n‚>T‚»{HÉH�|V÷OݧpqûI�–ûbÞ_8ÓQŽÁ¢ùR�ýû÷³jÕ*n¹åÒÒÒ´Ù"IÐ&„"¡HÐ&Äiæ‹÷±¯Ý‰yêuÇü·¯¯¯gß¾}\sÍ5ìl pïÿv1$=ˆ^QÐÄ Ñ) z%ˆ5]¯Ñ+At¨¼ÒSÕ *œ§ctÁ_€ô45` çë•€TcëVÐ)u9%ˆ!”® Õ‹ÏOJŠ=êv©ÛZ6´~5Œ]OÅÛCjš.¦.�ß�Á@ä³!Tgd»¥Ú>Ôzu¨Û¥îÓÓÿ·×  àµ×^#55•©S§j³D’ M!DB‘ MˆÓÐ^Š(Šùoÿè£�ríµ×b±XbKŠ“¤££ƒÇ{Œo¼‘‘#Gj³E‚‘wÚ„B!DBÙºu+g�u–l§Ð�!C(**Âáph³D’ M!„B ¬±Ñ^6EQغu+]t‘¶”8É.¹äÜn7»wïÖf‰#A›B!„H[·neܸqŒ3F›%N™p;9HÐ&„B!B0dëÖ­\|ñÅÚ,qŠœþùdffòî»ïj³D‘ M!„B$„-[¶`µZ=z´6KœBS¦LÁápÐÓÓ£Í B‚6!„B1àü~¿¼Ë6@, ç�wž<&™À$hB!„nëÖ­äææ2jÔ(m–èEEE¼óÎ;¸Ýnm–H´ !„BˆÕÓÓ#½llèС‘Ç$Eâ‘ M!„B ¨­[·rÞyçÉ$Ïì’K.áСC|ôÑGÚ,1À$hB!„ÆçóɈ‘ D¦HL´ !„H(~¿¿ß¯MB R­­­¤¤¤`2™´Yb|ó›ßdß¾}x½^m–@´ !„H()))¤¤¤h“…ƒXvv¶6I  ŒŒ mΆ&Zµ‰¢ßHÐ&„B!„èSë?ÿŽc·é{8´ !„H�‡'žx‚ºº:m–BˆbúîÏ(“®MýH‚6!„ £¼¼œüã<ùä“2z™B"A›Bˆ„°iÓ&üq6oÞÌÂ… éììÔB1,—aÑ&Š~#A›Bˆ÷á‡ò‡?ü!®wí¹çžãÑG�+'„BœŽ$hB1àÚÚÚøì³ÏâÒ‚Á ï½÷^\šBq:’ M!Ä€+,,döìÙqißýîwY´hQ\šBq:’ M!DB¸å–[¸âŠ+0™L,X°€sÎ9G[L!„8íHÐ&„"!˜Ífî¿ÿ~Æ�ÏOúSf̘¡-"„Bœ–tŠ¢(ÚD!„o÷Þ |´‹¡At è¢Cý­GEA¯(øº‚df€NQ= :EA§ù^.œ¦'ZEAx;{ÈÌPïééEýœ¥�©‡Pyu{ô¡t” úÐöéðuøÈ’‚.TN³ÞÞ¶K­ö4„eì(²23Ôý/O0f¹pºº=ñõ#ûìê!%C-ƒ‚^ }1Ÿ�^R3SÕïBû½¡ðt“:4-nýÑz¢ûMÌñQ·9æxëÇçÇ0*Så�ñÿ„8 ìß¿Ÿ×^{�›nºI›•°bÛgµµGá6$Ô~ø¼ :HO ·Sj9µ�QÛ1= Á@ƒ�C´UËãÚ=¿/@ZšNmƒ‚Aôºhùhûnwƒ(þ†µüÑínÌù%rŽ€}}ÂY߃A§C ¢Ó©í~ä<¤¨ÛnkÃûióÅëÇ�ª}Š>´þ˜ï)r m{ä¼¢æÚ»H’ŽÒÑ�!+-~û5ç¯Èù!® Žoõ¡m~ÞÆúÒ¾{�ö°&4 Ú„"A=·ÎËÛÛü\:)]¨©ÖAèâ€È 2|˜.ä¨i‘òáq脦V¡ Ó‡O’¡²¡‹‚#Ÿû6"PóÛÜ>†›Õ€%|2U9ù«õ†×©ž =Ÿu“mΈٞÐÉ=RT=É¢¨i:Eý£ó³N†š3"u©¿cö+t‘É�Y¿uÃËùw“ž�Ùÿðv«åBë|­d˜²¢u†÷+´˜ïàa2Fg‡¾Ãè6…?« ¡ÊãÒÔÏ}§…–ëôräž!gßßCuqúHÆ íÍ­~ªª»ùQQj\nô¡vÕÓÀ ‡¡™ºøöJÓ.ûý ©):z|ÒÓÔ&BmÂmG¨^:Ûd Õ£”ž ƒºM:M{¬þâï �–aˆYL[jW#Aah=‡:0ŽÌCŠzã.¾, „oV…ÒbÚ_‡�Ô¬To†4u#£eÔåíS¤Žðò ø¨ínOëÒLCcÖ¿­áï]=/„íØóMä³Z¾såëdüÛ†ýñæÐòÉA‚6!„HPϽâÅëƒ_]›®ÍƒL ­�CS~ǘ÷ŸÒf 1è%gÐÖÃÖí~ÌÉÔf‰÷ù-Ë0Œ‘tA›¼Ó&„‰J½E(„BˆÓœmB!„B‘À$hB!„â„È£¢IÐ&„‰JÞ8Bˆ% ´è_´ !D¢’¹B!„� M!„B!›mB!N)ÇŸpë’Å,^²€ÛîªÆЖˆ÷¥å[ë¨\çÒ$ !DJÒG!>«ãÖ°xÉbßq+K7z´%B걯>v;Ûº¾ÇgÚTqªHÐ&„‰jм2QÀ¬»ïáž»—òðÏ›©Xÿ>Ž·Zh~ËA+šÖ,¥äî2j÷ôVþsšÖ”Qrw eëœxvÔQóJ-MŸ6Qý@ %Ëj9�§U!úAò6Ц+æqÏÝ÷pσ³8²¾‰æ�6Ê.¥îãzl K(Yf§É“MŽ%<ÑvÖöÔRvw %ÏndÛÆ6¼õ¡¶zqŠHÐ&„ ê@k�ƒ­ƒ,m�ƒálñànqâ}« s˜û4\U6Ôp.¦¼ëcÒ æ°ðŽùX�<Ö|ò.¾ÏÓ6˜=ŸùWºxóŸÇ.%„§”¯ü~mjrh]_êi«ÆòÓBÜ›v1áÞ¤Û7�wo)¥³ÀþÌ{8[¼8þmgmÏì úy3–”²pb&ßÈcâÅçj«§ˆmB‘ Î4ëmdÍ´Ó –a‘�ÞàOÇÛÚHã¶}X&摪-?|+]IÝÎ}¨¡^ˆÁKkS#�. ã-qK%%yïÚ q:JK…”mjrˆö´-eîÄ4›�ÕЊ;`ÆlLfh=¢Žig òÀc0‘ ¤�ÍgT’îðHÁ¶¾ M\ƒìj@!�/+´yCO[¶%‹Y|÷n}µ€9SÏÄ÷^ö5å¬ÚL*"§¹ _[ÕÍ>²´å‹�™MÚÁÍlXïÄi±’½ÁN×…9ìÚéÃÝPͧÁLíJ“‹.Iß�â´5ØþÏš(¾´ÛŠZìËj9ûÚoPpi´�mœKñ¸z*V×R¶h9ŸY²Ùúú6mE OŸ=ýp£69áéEnï !D"zî/^üêÚtm–dmíšò;Ƽÿ”6KˆAoÿþý¼öÚkÜtÓMÚ¬„õæÖ¶n÷³`N’ß0êKg-å« ˜{£E›“ô>¿e†Ñ#öÇ›µY MzÚ„"Q ¶¹B!’€çv#ßÿÉà Ø’™mB!„Bˆ�4¬‘7\›.’mB!„BœyBô/ Ú„"QÉÇB‘ ¤�ýK‚6!„HTr#W!„´ !„B!N�Cm\nmr“!ÿ…"A=·ÎË–F?S¾�ºÃ¦  5Ùj'\ügO�ÔTÐ) C =½£ C‰tÚ©«y::;z2Ä©@�™ìY§€¢7¨ëøl_£,éñõÅœFÔÏj]‘õ*àù¬“lsºP™èºBBËE÷GMóö’9,”øúü]>R3SBŸÕtu™ø:t(ø¾è$mx–º_‘2áï(¶lt½:Àë:LƘlP|ûÛÈ3<²­úÐ>Æ.^îèï<ù;ösð‹v #†øä zS6ž?ÙÈùtuLI!NÉ9俟•/u3í{©½¶Ï:E�c3®}ˆi›cÛ…p[¥SÔöŒP;ìí�ž¡çóƒ^Ì£RÕ²¡e£ë µéáz"íq´�ŠæÇlWx[BÛçnù‚‘¹ÃÕú4mh¸<Õ} Õ«¶©Ú68ºŸÑ}�n3 ô|ÞAúˆÌ¸vÓwè飆ƵÍêrá2½œ[â~GÿŽlWh½Úï¹ãéWɸ¬ é†ü— M!Ôs¯xy³¾‡‹.0@ä„:AÆœØCgP=ARSbOÆÑ“hìÉ;öÄ×Ý 3K² Oá:”@C(hû|7gŒN‹^¤„."sÂ�t!HG«£)&øŠ¹`P×Ú¯Èö©'[ŸÇGÆÐÐÅJh›Q ØÝCJz8ØŒ91+ñu뀞Ã]¤KW÷‹^.¦bBµ~õoߡä�4ªu:LÚ¨ìÈMøûŠÔqÔß½_,Äþ<Ò‰!;“€Ë�aÄP:«– Mœ–’3hëá‰UÝ_”‘¶OýikB�JøFX\0ÓîÛFÇ@>o�Œ4øÂíc„)5Œ„ëÐ)j{>„Û·¸v'®~5/® µ­aä7Œš6Z]&n;Cmp¸îp›Àéµç„Ð2áï¡§­“ôá™qmoÏgÒÌCâÏUáýŠœ“b¶'R&ÔnÇ|ÐGÛØºÔÏ]«ÿAæ'KÐ&„âäxn�¯W&×>ÈäÚât–¬AÛ ž\{“ɵ…B!„Bœt´ !„Léñƒ^NÉB$�ðƒx"Ù(�^‚�Úä„'g!„HP^¯‚×'O°Ÿt©) ½¨/„Hx­‡ƒtthSE2Ðe¥£’¥MNx´ !D‚JOבž&ws…"ј†é2D›*Ä©#A›B$¨ý‡¸¥÷E!„8ÝIÐ&„ jÌ(gš¥™BˆÄ#OAˆþ%WB‘¨äu6!„HPÒ@‹þ%A›B$ªã¹‘»Ñ†mo|RëúJj]ñiÇÖLåŠú˜ÏõØWŸPâk’Ñ#…_É; ~_†­j1·ÞaGZîÁËpß}÷ݧMB1ðÞÿ0@ ÏOÑfÁžZ?ø»�á‚sq¯yˆŠg_ÇuÆù^{„U­ù\ž³ƒŠû+¨>h¤ð ÖlcÈùãÈèl¦ú¡¥T¾v�á£öðtÅÛ˜ÏM§ùµxüÝ¡ZÇ1dïF^xë9ìOïÀøÝBFî®æþ2»�»0�SȰ íF‰¯JéñÓQñ ƹ×h³„ôÚÛÛÙ½{7'NÔf%¬=û‚ì;¤èÛ©Ú,�V�ÝÏãkšð�s ¹mµ”=ø/;aÂÛÞÖ1nlÍo9ÐeíeãêxüÝt†ÿëQ–?ZÆWGy¤-o§vM+ùç›p­{šOŠïä?¦óÃóRø"ÍLÛëe<´òeö0�qû·±wì8Ì­ŸŽ£k‡ {E-ž³Óp,[Ž}›ëE£Ù[ý0�ØêÕõ ×îÃàÒõò?ÑÍ$cê$mVB“ÛzB‘tº±=„¹KJ™‘ëƒ79WÝÉ�wÍÀýÞGXsó(ºÂLõÃMÞ>Ÿù¦Z–o4Qtm¦pïUã7‡;WHvö9äåM£Øäd3×±ôæ¡8[¼x[6Ã¥÷Pz3ÔosaÉËÜ%¥ÌÕŒ»;~‹„âôr<�B®jZ§1çŽX}`{þ7,)¥tbåàlñànqâí µÁ“^gØRJ—\‡É½[\[žÇŒkó"Õ[®¿‡â=ÿí7Ïä¶ç÷‘ý™�U�7Pº¨” ÊÙð/'n€N'ÎàÞ´‹ ÷.Àl߀åÞRJgšp¿Z†�9Ì¿}®*›<ø™ $hBˆDÕç™Óϲ1&“¼AÙ/RïôhÊypmk¤‘&Ÿé‹Ïš|+ó.ÜGÍce¬Ü�d4¼%¦P>Ö±€1›lܸ:Õu�Ƙ2Bq:ê³�Ž7zóg¦Qÿ|e¯ïÀ…Y½yf6ã=t8RÌPç�·À`€™üÜ!ÇlË›_ª!ýÚ{X¾bK¿YKù&˜ÔÛsf³—ƒ]¡‚>€±ùX àÌÀ”O~F:ÞÖF·íÃ21ŠÄ"A›B$ª>oäešµž²ÕvÊÿÖ@Zf6¾�ꛜ0>›ºUN.¸ÀC½ËÇ®õÜ™nìËbÞw8XCù+nÌ£LX†ŸO~—�ê=±ëÐ*`f~·Ý½”Å«›Ð÷¹mB!"¼MüÍVO¶9“ùbfZ,]]Ke•›)Wäá{¯ûšrVm�YfrC_(§¶j‹_M£(®-o¤lYôä¼I>*~_Ââ%%”¬ÏŒ3¿i)öu•ØÜSøé.ì�Ú±U½¡ö¸… ÅþX-¶Sc)"§¹ _[Õ;¾O=b@éE9Î[B!úÓsë¼x½ð«kÓµYÀCýšzr~2ïŠÿ!øîáœ,mñUÚÚ94åwŒyÿ)m–ƒÞþýûyíµ×¸é¦›´Y ëÍ­=lÝîgÁœLm–HpŸß² Ãè ûãÍÚ¬„&=mB!Žƒ‘©987lÆuÙ< Ø„§¹>ú£ü^êÖ×E¶8ÕÇEÂPº}(�껄ÉD‚6!„HT‰öÄð<Š®(¦ènäŠÁG—šÁ 6Y!ÄI¦tt<Ò¡MNx´ !D‚j;¢pØÓû…|óŠJê|l™”[!N–“Ó®{p^™€,òòò˜65=2 ¶oj)¥—6Ó`šGé�ÝÔ¿aãÏÛ ™Û|Ìë–ã[Ìì›§’¶ÛCÞ5q“¯Ö}îd3S¸gÉزA3‘ëל”ûu;Õ�¹”.š‰ig==ñ;"„IiÌHÃ�Çñ »vríØöõ•jVœA颅’Ê91íºã± äÝ[Jé,°?ÓŒ{Ó.¬¿-¥ôâ�p¼[§Ó¥3(Š4ÒEÜù{3»{63oþê­'g�_Ö'N9 Ú„"AuuC—·ÏÈ-F>yãƒËèÐdØAÀã¢q[#LœŒÙëÁñ@üþŠºã'_u Oªm$ÛÈ1'r=áI¹=.Ž�€™“[qÚ‰›\ûÓøö5» †giXr-1=W_à˜C“_›¡Õ™;-3L±u:ãVG«ƒ�˜û`%«žœ…û™×9r2Ö)œmB‘ 23!3½÷;¹Ö\¶5Ÿj“£Î("¿­—ou›Üø×—ð?N#Îg³x÷ä¸ÉW§�Š]Ф™ÈõkNÊý�™ä¯¿�’³jgò�Ö%„_KÜäÚùñíëø0~[öue,~¢‰œH»>‚âK»±­¨Å¾¬–³¯-Н³'¶N3®ÕeØÃ�´©€œ·JX°d1‹ï®ÀuéµL;ëN&×Bˆ•X“kEmõToËaF‘—Ê̺{– Ý ™\[œÎ’qríç^ññþ‡~–Ì;]&­tPr—‡;ÿ?++—Ö3gÉ,’õÌ$“k !„8¹Ã-µá…ç8©Ûè¢è·° !‡1#u ëí�¶A;¹v>7\‘ÆÇ-GÈÿI_6üŠ8ù$hBˆDÕËõ@22žWDñEä ׿!Ä 3h'×6‘wE1ßúN!Å[%€ò� !„B!D“ M!„Bˆ2H…IC‚6!„HTƒá�¶^8ªlÑÑ(�Wk•ëb–rÙ±o‰- „ýéä7ÐÍ+*©§ûên!O�[ÕWlO7Ú°íÕ¤í±³à÷eتsë1£ ÷ª™Êõ'¶N€½6n½±ŒšÚ2~y‹�€6ÿ4`¸ï¾ûîÓ& !„xï·`âùÑ™tš7Ú°WÔâ9ÛHÓc�`ÛêÃzQ.mµe<´òe\ÆBÒ÷4 ;ެ8èbïj;�¿æaHÀÁKG-`§­–ì6^÷ærù¹)Ô?»˜åÏ7áKmcGG.ù#}4­—¬³s"£†ùÞ«åm}.ã>¶cÛw.ú·©ýp(�ÿ|„GlõøÎ¹„\CÕŽn£g{#¾eÄñô6†¤7±|i%5îá^ØNíšVòÏ7«uï¬æ¡PÞùÞZYÓʘԃlª~œ†á…XGŒ£k‡�Új;¶W}äNÇ¡êû){n7{š?aÂäü¤¹®tûè¨\‡qî5Ú,!½öövvïÞÍĉµY kϾ û)úö— ÉÑŠã±ûy|M“Úúê(¿¿‚êƒF /ÌÁµ.Üf�bOÕ“¼m.àÛ#r7|¶%˱oscþÖ´m‰mëF°óñ˜:ãÞöдf9�Ø^¦ÉkåÜ϶ðªÇi0]‚ÿÕP›~Nm¯ýƒ×kmÔùó¹ü:Ú”;7"÷|3­oÕ²C×ICy´ÝñI-‹|ŠÝ‡ÀP0g]´­v­{šOŠïä?¦óÃóRø"ÍLps9÷¯¨Æe,¤ÀØÚÖQ;Yþ×·1ûÛŒÈÇ8O-e>ÅËN˜p–‹�›çìO³cØ%Lh«�œ ¿ÑÊ»ú«ùÏŸ]@×V'N-øÊ=O]/ÿýÐL2¦NÒf%´¯º¿B!�{Ó.&Ü»€t› fÏgþ•.lO<ͪƒ3(]´�B\hqâ8àÄÙ馮e¥wãïmÙgš©k±2oI)…N®÷–³aL)¥K®Ã”‘Jóš:|­5T·d;Gvšå�ŽVš6VS]WO«£‘#®G±1‡ù·OÃUe㥿ĮÇ'/>°Š´ŸóÑ+,7ßÉüÉÙx|y̸6/Rw}LžrV>y_É96ÃÌ¥ÌãÄy@ý¬¿-¥ôâ�p¼c§:0—ÒE31í¬?÷Á…â¹j¨i�Æœ;f`õ}€íá& oŸÏ|S-Ë_©Ži³S9'/�iSÓq¶xq<¶�¼{K)�ögšãÛº÷bëôįÏç!½` ï˜�Õéà“–P›ÙÓ¦»�°Ï0�>HaS Í�Nœ¬˜\oPhå��nö?ÛnoÃöüæ.)eF®ˆo«-×ßCñžÿáÖ›grÛóûÈþÜÆŸ·2ÿ¶ù˜×-ç™å°Ü[JéLncyyÓ(69qpa{þ7,)¥tbåZØÌîY2¶4Å�<=q{yZ’ M!’ÑØ|¬Àॵ©‘F—…‚³¼0<HÃ’k!Ò?Pœ¶æZû^6/5”Ÿ†ÑF˜É?ï{\™éÀþ’“¼ŸFOÔŒšB¶k%›Óçpkz=®l¦ MÇÛÚHã¶}X&æ‘·žtp{ɶ¡a»�ÂßÌ£ÀUCù²•4i®=âò:©ùXÇÆ íKZf6´¹8b4Fu’ˆÒãG'Q¦Iä8ûñGÏ`þÌ4êŸ/£ìõO®m�4RÀäì¶ÞÛl¾À0c6&3´ºãÛ:Sl�θÕáibå£+©Û¹O½in3cÛôܬh{ßéÂZ´ðâv6¬©Á•; S\»íãê ;“Ií]‹ÕüR é×ÞÃò«XúÍZÊß<.·5ÂÄɤíK>ùq½‚n\˜1˜Íx[;ÈoŒdû:|}НÅ›|1HÐ&„‰ê8.â .Ía×Nî†jšÏø!ã·U`_WÆâ'š¨§bu5嫵‹�vÙ€f‚ØÉE }¡œÚªE,~ÕMÁÕ9To±ðýQñÅÀBa–ƒ=–)LÉuÑ8¢ˤ"rš›ðµ5PÝìãâ¸õat>Å7Ï'ï•2j×–SÛfÆ4Ê‚1³ž²eõ‘šÝ¯Æä�·’½ÁNCgÜÊã�7“üõ·QòÀbVíL®i_u©)(Çy („HÇÑ@x›ø›­žls&s>Ex¨wùصÞ�{üâÚìœ\¶5Ÿ#(¾´ÛŠZìËj9ûÚ¢ø:{bëÔQ^ÈÌ&íàf6¬wyý,®M?¿HØä˜W5‘ÿc“æü0‰iÖzÊVÛ)ÿ[#ßVçMòQñû/)¡dýxf‘ßV�Ë·‹ºMn.¾|(öÇj±=°˜šƒVò»lTï(`¦ÕÁÒÕµTV¹™rivìÖÄŸ2â²¾]Z*ºô䛈A§(Êqþ«BÑŸž[çÅë…_];ÀHÀ‡gÛ“T´ýšyW$ð‰®­žêm9Ì(òRù ƒ›ïžu¼÷Â\ ­�CS~ǘ÷ŸÒf 1èíß¿Ÿ×^{�›nºI›•°ÞÜÚÃÖí~ÌÉÔf‰Sa¯�’— Yx<ù§zþsÉ, Ú2Çéó[–a=‚a¼Y›•Ф§M!Ä—ðàôMcÎip¨™ºõuÑŸ-Næ!“á…ç8©Ûè¢è·É° !¿·ÛÈDn“O&S3òްçÓ#äÿ¤è´ `¤§M!TÂô´‰SNzÚÄé,9{ÚülÝÞ#=mIHzÚ„BœTG< ž¹¯&„‰GÚæ¤ B ¨MMx´ !D‚Ê6ê0‘‡ü„"у Ϫ%)½ É%ß !„ ~µ—6ñdsÙ±oÑ&›£ÊvÜÛ娲qGqBˆ~£×ƒî¸î©Õc_í¢u}%µÇÛ8ËÆJ6BóŠJ¢ã7›cáO¸õ±¿rëµ%4k3EÒ0Üwß}÷i…B ¼Æ]zzàÛߌÎÞÖÞÖF¶©‹×ZJåk>¹€œ˜WßZߪå…U�Ó`ºÃƇyÄV�ïœKÈ5Ôc[²û6Ös²sß8Æ™Zq¼µ—!{Ôe Y|ãoJáߢk‡�Új;¶W}äNÇ¡êû){n7{š?!k²ÇšVòÏW‡�Þû®�¼ZGõû0a’•ƒµe<´òeö0�IÖõÏ.fùóM¸G]@ö�fΜP@�GÙo”n•ë0νF›%Ä ×ÞÞÎîÝ»™8q¢6+aíÙ§°ïP�¢o§j³4ÚikÓã~£œU­ù\ž³ƒŠû+¨>h¤ðÂvªjyÞn£Y1°ã© ª»¬|·g#-­¤Æ=œÂ Û©�icù¸Ž:¬´?·œ·Í…LØó÷¯¨Æe,¤ ½�ÚÕëyÊþ2¥‹Ú§g§ñÌÍ-ܱ€‚�udM-F;IÀé¦ë墚IÆÔIÚ¬„&=mB‘  z0ô1¦±»Å‰÷½jãæpçï Én‹/ÌÛ²f.e¶» s˜û4\U6êÛ€åÞRJgšp»œ8xq¶¸£ËŒq²™ëXú“œÀ½iÖß–RzñG8Þ±S˜K颙˜vÖã&�ׯL¸íΦðŽRJ'7PQmcUç ”.*å†rê^_ΆóJ)]r¬Zɧ1Û+„ÉåxŸ�tãlIÅš›GÑfªn¢ðöùÌ7Õ²|£›šf –Ü [ÜL[´�B§ƒÚWXn¾“ù“³ñø4m,Vòòò˜–çàÏÛ ™Û|Ìë–ãhw²90•ÒEE47˜˜·hÝ[š4ËŠd%A›B$ª/{ôfò­Ì»p5�•±r»G“™�u,àOÇÛÚHã¶}X&æáÌÀ”O~dS/¾@Ì2@þxK´ª±ùX �–™ m.Ž�€£1Z$ÂlVë7›áÓ�Àd %{ùpŸš &Ì´rD»ìiLéñ«Ï[ !9®m�4RÀä3ýäçåé¤�ÍÁDF#üf®Ê—­¤IÛ´Ç �ÛaâdÌ>È?Ç †t,–ÀHvoí´HJr†Bˆdu°†òWܘG™° ïãÌ<©ˆœæ&|m T7ûø^ÑPì�Õb{`15 ®˱WÙxí]°çÍ$ým”<°˜U;Ó�zʖżYᮡb…�ʪnŠn¼�ñ›–b_W‰Í=…Ÿÿ¬ˆîªJjW/¥Özߌ­÷4§KMQG6B$Ot{µ©}³ŒÏ¦n•“ .ðPïò±k½wæÑ�¾|ñj9µmfL£,35mlˆ5ׇm«…ü¶z\¾]ÔmrcÌЖƒ‰ÌÓ&„ *!çik«§z[3мT>èàÊ»gÓ''¾"™§MœÎdž¶S˱pžÛî‚—a} íÖ§™§M!ÄÉu·ÔZwÖQ·>úS¿'þ·“fx!Å9Nê6º(ú­lBˆÓU ´ß××mqrŠZãã–ÿ‹+Iûׇ¤]q9ÚL‘4¤§M!TBö´‰SBzÚÄéì½÷ÞcóæÍüîw¿Óf%¬7·ö°u»?)zÚD<éiB!„â�=c¯# qòÜmö·j“žmB!ÄSzüèdôH!’È— ï+•Á<Ãudãd"g!„HTIñðz3•+ŽÙìD8þ„[—,fñ’Å,¸yÕ‡´%úÁÕ,^²˜[¯ mËšfm‰SJ—š‚"£G ‘DŽ·�®Ç¾ÚEëúJj]Ú¼¯i¯ ÛFmbï\U6ÚD­�6l{µ‰J:Nhû]U·òËe5Ô,û%¿ž|=Z‰Êpß}÷ݧMB1ðÞo ÀÄó�ºy£ {E-ž³�4=ö¶­>¬åÒV[ÆC+_Æe,$}Oº±ãÈúÀ�ƒ.ö®¶óøk†¼tÔ²vÚjyÁnãuo.—Ÿ›Bý³‹Yþ|¾Ô6vtä’?ÒGÓúwÉ:;‡È[v{^âþÇÞÆ<ÚGSL™}Ÿn`Óß«y®1À„IfZªæ[=¾s.!÷P5Õ­ùä‡ntîݰƒ‚{ÿȬË.çÃþ�íób&|TÎý+ªq )°ø¢ÛrÎîÔ1nlÍo9hÛ»“u«§Á�ÅÁ7^àñwGðí6{tÙôjW¿Ísö§Ù1ì }({ð)^>häüΚÒò7ÄEÝ63¿úÕ FìÜAÁ½ o—“ŒóÇ‘µ·Ž:·×Ëu¼Pýï'Phn¡úÏê÷Vpq.Y'ᆻÒí££rƹ×h³„ôÚÛÛÙ½{7'NÔf%¬=û‚ì;¤èÛ©Ú,�vÚÚô¸ß(gUk>—çì âþ ª)¼°�†ªZž·ÛhV ìxª‚ê.+ßíÙÈCK+©q§ð˜öÀS�mÉrìÛ|XÏïd[M/W?Çž3.a’±9Ò6iÏÖÏši›`åà³Õ´ç�ÃõRL›ÜVËâŸb÷!0œ‹§nCÎG{©ÛÐň�Ÿ?îíÿvç.R®úO~vAÿrŸË¤sÔšE×ËÿD?4“Œ©“´Y MzÚ„" ¹7íb½ H·Ù`ö|æ_éÂöÄÓ¬:8ƒÒE )ÄÅ�'^€Nœ�nêZ&PzG1þÞ–}¦™º+ó–”Rètàzo9Æ”Rºä:L©4¯©Ã×ZCuK6qožŒÏ#/oÅE¦¸2][\Xo»‡ÒÉ T~Ùv'›™Â=KæÀ–ÍT?ïbÆ’RN„#gz©y¡Þ³ãˆSÍÈÙ�þö4­rÀ7—•y K)l¨à‰‡£ßÛ?·´Å,'„Znœ-©Xsó(ºÂLõÃMÞ>Ÿù¦Z–otSÓlaÁ’[a‹›i‹RètPûŠËÍw2r6ÍГM�mÀro)¥3M¸¿·åJJœC÷zÿøKßçnê-£ùÒëÈkˆm“¥üù#Ì]RÊŒ\`¢èÚ"âÌ<¡í?·¬8Y$hBˆd46«0ximj¤Ñe¡à,/ ÏÒ°äZˆôÏÔ³¾5×Ú÷²y©¡ü4ŒFà0ÀLþyßãÊLö—œäý´�~ …ñeÌfÌÀl†Ã ÞÖF·íÃ21/þ®1EÌ{l9•�‡e¿‹#Àã¢q[#LœŒ¹5f[r£wl½€|¬cÕÏùã- ]ÖJÇH¶±�ÁD6�66ËYß§°õ lŽ4®œš©À4µ�Ö×mlN¿’â,0�6ChwŽø£ßÛY£�îBœ¾j»×¶F)`ò™~òóò�tÒÆæ` µ¿¿™G�«†òe+iòh—Fm[MùägÇ´o�nã|�†›ìÑéÔ¿åzL›<†.Ô›q&“ÚÎÛ—o¿85$hBˆDu¯L\šÃ®�>Ü Õ4ŸñCÆo«À¾®ŒÅO41,POÅêjÊW7jí²Íã+“‹úB9µU‹Xüª›‚«s¨Þbáû£â‹�•ü.Õ_Æ]CÅ ;•UÝÝð}rš›ðµ5PÝìø¥Œ²-Úzcó¦ï¢lÓ¹ä·Õãòí¢n“cQì¶ð½W�}M9«¶k+,EñËfÄfš(WOÅêZÊ-§ÉkbÚÅ.VvRhˆ-˜¦QäZIûÅ…¸k+¨\]‰­³ˆÿSýÞãV „8mGÃ2>›ºUN.¸ÀC½ËÇ®õÜ™½ßôùâÕrjÛ̘FY0jf(,Šý±Zl,¦ÆŸwþ1Î>òÉûùæøl£ŠbÚäÑL·ÖS¶ÚNùßöev´¯¯�Èö‹SCæiBˆõè³Ýx} ·ÿj€ç øðl{’ж_3ïŠø©MG• ë� >ù¶Ïƒë• j/˜Çì¸Ç5ÁçqQóD-ù·Ï&¶*+³n|SÈ¿¬ˆãyÐf@yÝ8­7°x9±Îš�ú0h>E—%üÞ!úÑþÏ‚öôÒïá÷öÑF~>œ[bêZ_Gó@Œ®{‚Ì—Í ß³‡=ž|.½0[›=àŸ%çÑ¿$hBˆ5"[Çp£4ÓB!ÄéN®„B| õØWkǃæ•Ôk�Ç^¶�Úľ×ñ¹6Q!úÁç‡::µ©Ç!ÔÆ9ªlG�ÐX¿ÚŽ«µŽÊuÚœ¯ÂAÉB­ë+©=Îê\U·òËe5Ô,û%ÿûFò½ó5Øî»ï¾û´‰B!Þû`âùG«Ü¼Ñ†½¢ÏÙFš{ÛVÖ‹ri«-ã¡•/ã2’¾§ÝØqd}àÀA{WÛyü5C^:jÙ;mµ¼`·ñº7—ËÏM¡þÙÅ,¾ _j;:rÉé£iý»d��3×Z;mmÙ Ù»‘ÞzûÓ;0~×Lòå¼m.džç¸E5.c!é Ô®~�Ç×ÿ‹Îá“ÈÙŠcÝR»¨xÔÆËÛ|XÏïdïáröU³-+ŸqYÇ^GöåW1jH#Z&¥ÛGGå:Œs¯Ñf 1èµ··³{÷n&Nœ¨ÍJX[>û"HÑ·SµYšÖ,çÛË4y­\2z/MmŒhkbÄ„b§5kokCðuÊ×´’?ÁÀÛåѶýÐfµÏÙ±íî *^òaýv€�Ë–RùÚA†OÎaϺm 9ê.{©ÛÐň�ŸgUk>—ç¤öÏñíýóvÍŠ�OUPÝeåÛ�»H¹ê?ùÙ]ìj=— gk¦‚$º^þ'ú¡™dL�¤ÍJhÒÓ&„‰ê¯L¸7íb½ H·Ù`ö|æ_éÂöÄÓ¬:8ƒÒE )ÄÅ�'^€Nœ�nêZ&PzG1þÞ–}¦™º+ó–”Rètàzo9Æ”Rºä:L©4¯©Ã×ZCu‹: kÌ–àlñâmÙ —ÞCéÍP¿ÍJ^^Óòüy{!óo›�yÝríN6sKç}‹}êáÐ8Ü#Q ̹ëNæ[?ÂqP­Õté Š"£D÷½Ž3G ‰Ù!„è/Çh cù<¤Ìaáó±:Gõ®År·8Iµæ“wñ•xžŽmŸ]¸×ïÂrG)·¸¯(eáä�p¼Q�cÜîü]!ÙmFŠ®-"~pýL¬¹y]Q@Ó_âÛûšf –Ü [ÜL[´�B§ƒPó+”mB‘¨tÚ„c󱃗֦F] ÎòÂðl K®…Hÿ\@pÚškí{Ù¼ÔP~F#p`&ÿ¼ïqe¦ûKNò~ª‚´|¬cc6‘ž€ÇEã¶F˜8³òÇ[ÀPHaçìë]Œ¿ÒHÓóe¬|³‰}_:.v/ëBˆDæibå£+©Û¹O½‰v¼âÚçtÈÍ'ßé+9£ -3.¼•yî£æ±2Vn÷hkˆ§iïóóò�tÒÆæ` ·û"¡IÐ&„I¬àÒvíôán¨¦ùŒ2~[öue,~¢‰a�z*VWS¾ºQ»h— hƒ™\ÄÐÊ©­ZÄâWÝ\�Cõ ß_¬/Ö\¶­òÛêqùvQ·É�1#š_8Ã̪¦|®^Œd§¹Ù¼±ç~5ßµº û±nI‡Öññ¾/¹PBˆå…ÌlÒnfÃz'Nm¶–ÅJö;]ƶÏ}DTîÊ_qceÂ2܃}™ý¨ž<ËølêV98ëXí½H 2O›B$¨„™§-àóíI*Ú~ͼÐäÙâä’yÚÄéLæiK ®ª^œ¼�_ó$Ï￞¿ÿ°å`!ó´ !„8¹æ–š§os®HƒCÍÔ­¯‹þlqò¥O5 !Ä ÓGí÷_Ùé¤>¶Üúfz¼Fóe3È÷ìa�'ŸK¾%¡'éiBˆ•0=m┓ž6q:KΞ¶¶n÷ªž¶Ó…ô´ !„â+Qzü(ÇxF!ÄI¡t÷ì>¡aa‚mB!ÄÓ¥¦ “ç^„H"r—%Yé2RÑg$ß,´ !D¢äñÍ+*©×&ºìØ·h›©\qTI!„@ÇÛ@×c_í¢u}%µÚ¡¿6µî¯d¯ ÛFm¢ ÛB®Ö:*×g½{mÜzãŸxâþ_rkÕq.#¾Ã}÷ÝwŸ6Q!ÄÀ{¿%@ Ï�̸Ѽц½¢ÏÙFš{ÛVÖ‹ri«-ã¡•/ã2’¾§ÝØqd}àÀA{WÛyü5C^:jÙ;mµ¼`·ñº7—ËÏM¡þÙÅ,¾ _j;:rÉé£iý»d��Cì=Jçºè: |({ð)^v„ >¶½­cÜØ,šßr ËÚËÆÕoóœýiv Ãþª'yÛ\È„ýÙ–•ϸ,À×F›2Ž®6j«íØ^õ‘{ÖN–ÿõmН*&+5fŃˆÒí££rƹ×h³„ôÚÛÛÙ½{7'NÔf%¬=û‚ì;¤èÛ_Ö(µÓÖ¦ÇýF9«Zó¹gǶ »*¨xɇõÂNv®åŽ)¼½ÇJñ„>¦'H ]/ÿýÐL2¦NÒf%4éiBˆ$äÞ´‹ ÷. ÝfƒÙó™¥ ÛO³êà J-¤Zœêd®œ8;ÝÔµL ôŽbü½-ûL3u-Væ-)¥ÐéÀõÞr6Œ)¥tÉu˜2Ri^S‡¯µ†ê–lâNÉ­Õ1ëläéç�pÃ’RJ'6P¾áÎõ½w‹o§“ÍLáž%s`Ëaòòò˜6ÕŠéÒ…G–îtâ< îŸõ·¥”^üŽ´<òò¦a–©…„IÇ�³%knEW˜©~¸‰ÂÛç3ßTËò�njš-,Xr+lq3mÑB �j_q`¹ùNæOÎÆ£zÒÛÒDÚ¥”ÎöR»¦g‹oËf¸ôJo†úmšöó=Þ^ÈüÛæc^·œ'–oàÂ%¥,˜œ�âÛß�!Ö|ò.¾ÏÓ±çîõ»°ÜQÊ­î+JY8ù#ã—§ŽmB‘ŒÆæc5/­M�4º,œå…áÙ@–\ ‘þ¹€zÖ·æZû^6/5”Ÿ†ÑF˜É?ï{\™éÀþ’“¼Ÿæ…kUuzbÖ™ÂA̘Ìf¼‡GŠyêïüñÀHö—ÝŒ mcZ¦ ;-„HD_õ�6®m�4RÀä3ýäçåé¤�ÍÁj ~3�W åËVÒäÑ.oÆlLf8x$”–�u,`Ì&Mû<.·5Âĉ¤ø†’mPÛhs|ÅG‹;G¤Cn>ùH7XÉ•¼í³Ò@ñùµÉ O‚6!„HPÝ^¯ïØïM\šÃ®�>Ü Õ4ŸñCÆo«À¾®ŒÅO41,POÅêjÊW7jí²M7Öä"†¾PNmÕ"¿ê¦àꪷXøþ¨øbŒ-ŽYg€k¬–®®¥²ÊÍ”+òð½W�}M9«¶k–¬¹>lkšq­.Ã~ÌW!¬äwÙ8ЮMBˆ�rì¶YË2>›ºUN.¸ÀC½ËÇ®õÜ™G?úðÅ«åÔ¶™1�²`ûþ|Æ4­Ðf 1è%ã¿ ˆ|m±�d*bF^+ï}žÏŒË¾ô�Kñ5HO›B$¨„éi§\ ­�CS~ǘ÷ŸÒf 1è%cOÛ›[ýlÝÞÂ9G=¿(œô´ !„8¹ä–šB$(i Eÿ’ M!ÕWœL!„ƒŠmB!N½½6lµ‰±š©\Qó¹ûjí�fB1˜8°U�x;W¿ÚÎ1—j­£rÝ1K઺•_Þµ˜ÅK³à·Kq5µ@ˆËŽ}‹61^óŠJêqPrí­m¢Bˆ�÷þ‡˜xþÑC7o´a¯¨Ås¶‘¦ÇÁ¶Õ‡õ¢\ÚjËxhå˸Œ…¤ïi@7vY8pÐÅÞÕvÍÃ�€ƒ—ŽZ6ÀN[-/Øm¼îÍåòsS¨v1ËŸoÂ—ÚÆŽŽ\òGúhZÿ.Ygçû–]ë†rî_Q�ËXHAzµ«ßæ9ûÓìv …Æ&*ï]Î럹I9�Îw·1äüqdt6SýÐR*_;ÈðQ{xºâmÌç¦ÓüÚ <þîP ­ã²w#/¼õö§w`ün!#wWs™�ÝÎ]d}£pÐL¸­tûè¨\‡qî5Ú,!½öövvïÞÍĉµY kÏ>…}‡‚};U›¥ÑŠã±ûy|M¾s.!°ÓÓ.á—ÿÁëÿ¨¦‘ fo£öÅ�<µª�¹]óªP;Ÿ†cÙrìÛܘ¿uCºÚÈ;‚–5óˆ­ß9—�ÛVKÙƒOñòA#ç{kydM+çŒü[Y%5îá^ØNíšVòÏW ñ4¾MÊuä¿®¾œkxüÃt|o¿ÀãïŽ w¿�‡V¾Ì&0)ÇG›2Žq�:Êﯠú ‘ ³i ŸÎÍÎÇ–ó¶y�o¨ßÃ&0I³žqšñO(àŒ¸½XJ·�ŽÊuç^£ÍbÐkoog÷îÝLœ8Q›•°öì ²ïP�¢oÙ�Í8ªbÚ½q]Ô=ýϾŽëŒBÒ[VõÚ–Úl£¶ÚŽíU¹gídù_߯\˜CÓ†ØvïmR®û#ÿuõåüÀXÃã¦ã{ûw¹ûmÑ60ÇG›2Žq�:Êﯠú ‘ ³i ·ñ‡°?ó6—ÿ¸˜¡‰:äãIÔõò?ÑÍ$cê$mVB“ž6!„HBîM»˜pïÒm6˜=ŸùWº°=ñ4«ΠtÑB qq Å‰à€g§›º– ”ÞQŒ¿·eŸi¦®Åʼ%¥:¸Þ[Ά1¥”.¹Sóãüy{!óo›�yÝr�øm©Å�åæ;™?9Ïa'Î^œ-n¼-M¤]QJél/µkšq¸¬Ì[XJaCŽ7—³á¼RJ—Ü«Vò¯–Í0sÿ9)�¢+ húKÌö=ZΪι”.™ÁøN€} yyÓ=$¦j‘p$hBˆd46«0ximj¤Ñe¡à,/ ÏÒ°äZˆôÏÔ§­¹êT­½.›—ÊOÃhŽ#Ì䟕�ÛaâdÌÞpŪÂßÌ£ÀUCù²•4u„S½øfÌ&Àd†ƒG0�Vï›Í°çSõ7˜0ÓÊçäc­7nûÆt¡n˜ óè˜21ëÙ·L&5ÕìåÃ}Úõ!Ä×uüï³Å¶{î½AÙ/Rï =ËØk{œIOËÌŽ¯,މi¿½‡{¥Î¥ òÇ[ Õ×ºŽ„Ë{pmk¤‘&§¢m|nVL�"QIÐ&„ ª³K¡³ûØïM\šÃ®�>Ü Õ4ŸñCÆo«À¾®ŒÅO41,POÅêjÊW7jí²ÍI{rC_(§¶j‹›òÉo«ÇåÛEÝ&7FMQ÷«åÔ¶™1�²`´Xp½XŽ½ÊÆn€FV=fǾÌÁø™VܵT®®ÄÖYÄOfÑ]UIíê¥ÔZ¯cr¨>ËølêV98+vûÆLgü–2ì«ËYµ ž²e±ï`Ĭç?neü¦¥Ø×UbsOáç?ë}=BñUíÿ,ÀaϱÛç°Øv¯x˜ˆùv:¨orÒ*ßk'¡´’ße£úm»×‡ gƵ�ÓFX(ºÀC½ËÇ®õÜß¹,ÚÆ¿šM~—�O#Á�HD2O›B$¨§^ôâó)üÇuÚ¬¤áª²á¼qE8°UY™ucÿL ›Ldž6q:Üó´%@»·³œr÷\æ^¦Í8=}~Ë2 £G0ì�7k³šô´ !D‚JOƒ´Ôã§øpn©£n}ô§ù�¶L”ù²"ò#Ÿò)º,ù†YBˆãæ÷Ƶ�u[²¸h@Û½Vš]…\s‰6]$ Ú„Bœ€4¬S|Eô'o”¶LTÚx+ê›&¬ãOƒ¡É„§�>n¨¥¤Çµ�ÅOâ¼m÷Lä]Qˆe 7Aœ´ !D¢’‡×…"AI-ú—mB‘¨ú¸‘+„BˆÓ‹mB!„B‘À$hB!„âìÿL9î!ÿ…8dÈ!„HPϽâå©5^,#A§€PÐ+ :EAG S‚d¦éðzƒè †òÔtjY= ( ©)ì bÐ+(ÁP=áüpÝ¡eÒÒtø½ÒÓtôxè¢WO¡º •�n‡^QÐéÔ¿SStz‚½n‡>ô9œ®C!5MOÐëÇ�¢Cé ÄåiG¶3œ÷9HJšÅëÇ�ªCñùc¾ÐÇlOôwôûÒ+¡ï"”gHÕ£Ó�ÒÝ£¦u¢?‘ï%z|bþVóCß#¡í@¿ŸÀ®�ÉùtµöŸ�ƒ^²ùÿÀ“]Œ1�^‰ùÿnS#mC0”j+Ãí_¤l´Ý §¥¥BÀTëÔ´›á6<¼\Š‚þ`L�1í\¸½ /³~½Ñ5í¢¶mS‚jÛìó“šj à µƒ1ùÚí�æG×gHÑ£ôøCç‰^¾¯˜eô:‘íУ OÑ�ß�.ݧÈ÷«iO£y½çš?fè�?Jº!ÿ%hBˆõÜ:/^/üêÚtm–ddž6q:KÖ íøæi‰ÆýËR #‡1¢ì¿´Y M�B!„BœôÆ,ôÆj“žmB!„BœÞWô/ Ú„"QÉÃëB‘ ¤�ýK‚6!„HTr#W!„´ !„B!Db“ M!„Bˆ"�Bˆþ%A›B$*yeB!”4ТIÐ&„‰Jnä !„B‚6!„B!„Hl:EQ¤W!Ðs뼬¬ö1îLõ›NQÐúQtJ�&]¯( (èÃåˆù.§¨?(A : &O¯€Ž`(?¦žØe= ÞN?™™:t  ¢Ó)¡í mW¤|½»ž zÇPQÓƒþ)) SÀßÝCjºáèí%º-(ê~ú;|¤e¥ C!Ðá%5+=ê~…¿—Èz4ßþºJ§—”Ì´È>ëBû¯n¯ºœNQPº|è3R¡£CVj¨þðzBõ‡÷=A”Žnt:Ðg¥Å�˜ï&´O  ëéÁ¿}7–Oì±ÿ„8-ìß¿Ÿ×^{�›nºI›•°ÞÜêgñòNΧ‹o÷BíA¸­Œý ú¸ö(¼\´]öû¤§éÐ)A¼]23ôèÃ퓦]Œo'cÖNC¡§£‡Œ,èuÄ´ÅÑòþÎR3ôèCm{´þ ( øƒ ºPÛ„Hû®'ÜÎF÷'jŸ£í®Ú®êªë÷Ðô‘í´w“:$-²íúÐ÷©.¯î¿µíÖëÕm‰oK߃ÐÑ…aHz$/ÜöêCå{?dè�?dØoŽ?¨ N‚6!„H`«j½¡¿Â'x€ðISM(á¿Õß¡tÔ“žZ>|Rƒ`” BªA].ZŸzÒVÓ¢u‡×¥V¯Öïiõ2Ì”((A½>¨©¿£ë ŸXÃuÄl o€”45øënó’9<-ZGÜrê2á“zç¡v†Œ@סv†ŒÌŠ+ :CÂQ vû1d¤àu·“aÙÞpÙð~„·×ÿEióè9x˜´ÑÃBám‰î‹J½8ðlCgГb ‘‹¡°è1ŠÝÇ¡³)!Äé"ƒ6bÚçH{j‡‰iózk›Õ 'ô9¦]F�Žv?Æ¡z@¡­µ‡g„nF…ÛÃpÝ1í“¶RÛNµÍ9òY7C6mÚ̾ÿý˜vGmÃô@ûg]lª¯ãÇÓ® ÕÞ6µ½<òùþ·ü/\ÝLÎ=ï¼HÛfƦÝî²L™¡ýŠnOø»úüR ‘e|��1:;¦Žð÷ÿÝ)Þ i)úÞÃé±ûï?ø©£‡kÚØø¿“±­• M!„B ˜d Ú’…Óéäí·ßæßÿýßµYø|>þ÷ÿ—Ûo¿]›ÀÃ?̼yó˜:u*6› ‹Å¢-"ú�^› „B!„>ûì3FŽ©MŽèîî&==]› À|@UU6l`É’%ƒj/�è_´ !„B1H:tˆQ£Fi“#¼^oŸAÛ_þòÞ}÷ÝÈçgžy†+VÄ•ýC‚6!„B!©/ëi;VÐö÷¿ÿ=îóáÇyâ‰'p»ÝqéâÔ“ M!„BˆAêx‚¶ŒŒ m2Ó¦M‹ûœ““Ãý÷ß�ÙlŽK§žmB!„B B‡âŒ3Î %¥‹ú†fm6|IOÛý÷ßÏ�iñg?ûÅÅÅqeDÿ� M!„BˆA(ÜËÖüj Wï�4z»º8xà ¾€6Î<óL–-[Æw¿û].ºè"þû¿ÿ[[Dô Ú„B!„Hvžzê?ˆO my?ºŽÂáñyaÝŸâjlÇ©ÍÉËËã–[náÇ?þ1ãÆ�Óf‹~"A›B!„IÍMí:®ñ©_6r$€78ŒÝð]ò Úœ¨ï|ç;Lš4I›,ú‘mB!„B$53W^_ˆvx�ØAHŠ.+Ò䪎õN[XFF^¯W›,ú‘mB!„bÀ{ÚvïÞÍ?þñ¦OŸNZZš6[$ Ú„B!Ä€ùûßÿγÏ>Ë;ï¼—þ�ïßÊÜËLqiâøõÕƒév»Y»v-Ó§O� R"ŸmB!„b@üóŸÿä¯ý+»wïæø{÷îÕ_QoA[OOk×®å{ßû¹¹¹qy"±IÐ&„B!úÝÇÌ]wÝŇ~À›o¾ÉÿøG|>y�ídèí�¶µk×ò�o|ƒï|ç;qé"ñIÐ&„B!úUOO‹-bãÆ�qé6›�ªªª¸4ñÕhßi««« ¸¸8¦”H´ !„Bˆ~•ššÊõ×_�Åb‰Kÿö·¿-AÅIûxä;ï¼ÃÇ,#E&1 Ú„B!D¿ûáÈõ×_ù�ÔÔTm1‘$$hB!„âöÛoçòË/`ÆŒ̘1C[D| ���¼ôÒKLŸ>³Ù¬ÍID§hßPB!„ ïãýP@‡ú£¥ººƒdfèEý •÷vÉH�Þ»ïî’™þ¾4TÐEþ_W€ô ޮ陆˜uªebË‚BOW€´ C¤ˆðuùIÓ,ûNC ¿>òWÎ=ÿˆÝŸP•þN©Yá^¢ðú¢…bË«+ø;}¤d†ç ‹_&¼­áÏ�N/ `ÈL¥Woô;V— vxÑém~3u™ð�áœøÇ?û“ÏçcÖ¬Y,X°€É“'k³OȾ}û¨««ã†nÐf‰~"A›B!Dš]Ò�ë`€tC�è•ЈlIDAT¢`@A§Ñ…~ë½DG½¢ Sõ7A1èPË) ƒ¤èP‚è • Õ¥~FË* Ôuê”P~Ügõo}x;”ÐòázÂõD —  ×�.Øûvë‚Aô:uy=ê6D·+¼¿ÑÏ‘uÞïøõ‡¿ u[ƒj€TשSÔ`ÕÞFÔß‘ý$´=z"ŸÕß„ÊáH;©9fFýãaíaë7ÿûßY¿~=�<ò)))Úì"AÛÀ“ M!„" ÍûSwÌÎ$g´¼í’hºj¶âùÏ1ê�?k³úÅúõëioog÷îÝüþ÷¿ÿÚï²IÐ6ðä¹B!DRŠ> (ÑÀŸúúzöíÛÇôéÓ�ö_$/ Ú„B!’’<,•Øúÿø|øá‡üóŸÿäꫯÆ`0ô:Á¶HN´ !„B$¥�éÉÇ«�Ï¡C‡X»v-W_}5&“ ˆŸ«M$7 Ú„B!’’\Œ'¶þ;>^¯—µk×2uêÔ¸yî$h<$hB!„HJýÛ“#NTÿŸµk×rÎ9ç0iÒ¤¸ty§mð� M!„" )ýØ“#¾Šþ9>¯¿þ:©©©üÛ¿ý›6KzÚ Ú„B!’�®{rÄWqê�ÏÖ­[Ù¿?Ó§O×fÈ@$ƒˆmB!„I)I/Æ7ßGÉFh^QI½6oP9µÇ§¹¹™-[¶0}útôúÞ/饧mðèý !„Bˆwê{rN'ŽÚª78áPåw—Pòl=žVµU•”ܽ˜êõµ”-\@eƒG»p’8uÇçÀ�¬]»–éÓ§3bÄmv„mƒ‡mB!„I)™/Æ­äåå1mj:¶‡›(¼}>óMµ,ÿ‡“Í�©”.*¢¹ÁļEsèÞÒ¤]8IœšãÓÝÝÍÚµkùÁ~ÀøñãµÙqd ’ÁC‚6!„Bˆ¤têzrú—×¶F)`òÈùçXÁ�ŽÅ’É6jË'‹Ss|Ö®]Ëyç�Ç„ ´YG‘wÚ Ú„B!’Rr_Œ[s}ØÖx(ºÀC½ËÇ®õÜém±$vò�Ïk¯½Fzz:—_~¹6«Wòxäà¡SäH !„B$�yêäŽÙ䌖{ð‰¦«f+žÿ÷<£ÞX¦ÍúʶlÙÂ|À¬Y³Ð鎯¯¢¢‚Ÿüä'Œ9R›uBöíÛG]]7Üpƒ6Kôù_.„B‘„dž¶DwòŽÏ®]»¨¯¯gúôéǰ!ï´ *´ !„B$!™§-Ñ�œã³ÿþÈH‘Ç×f“¼Ó6xHÐ&„B‘”äb<±}ýãÓÙÙÉÚµkùÑ�~Ä7¾ñ mö—’wÚ Ú„B!’ÒÉéɧÊ×?>k×®åüóϧ  @›u\$h<$hB!„HJr1žØ¾Þñ©­­eÈ�!|ï{ßÓf7y§mð� M!„")}ýžq*}õãóöÛoãv»¹úꫵY'DÞiüý†ÊúÜï†öÎlxB{ؾԿþõ/êêê˜5kÆ ÓfŸ�gŸ}–)S¦0nÜ8mÖ ‘!ÿžmB!„Iè–û:¹åú4Î4GœŠöí¨D,]ÌÇørÑß±e•ëê �™¥®Ãï ’’vô¸•:bWª+æïð¯øå¢å|=¤ I‰äè_»�´¡i€¢©?úáè}Ò^ÖÆn‹*àé&Ř“¢¦†¦GÊE×§­O¥ë¥ÞزÞ7ߣã±jF9þ7®Ä—q¹\Øl6~ñ‹_|í@ à¹çžãÒK/ýJƒ˜Ä’ màIÐ&„B‘„nûS fgÊäÚ H�\û9F½ñgmVŸ:::°Ùl\zé¥\xá…Úì¯äùçŸçâ‹/Æjµj³NˆmOþ— !„B$¡£û»Db9±ã³víZ.¸à‚“°!ï´ *´ !„B$%¹OlÇ|jjj0�L™2E›õµÈ�ÿƒ‡mB!„IéÄzrD;¾ãóÖ[oñÅ_pÕUWi³¾6 Ú Ú„B!’’\Œ'¶/?>;w±‘éÓ§k³N Ú Ú„B!’Òñõäˆ�rìã³oß>Ö®]ËôéÓ1�Úì“B¯×ËäÚƒ„mB!„IIzP[ßǧ½½�µk×rÕUWqÖYgi³Oéi<$hB!„HJÇîÉ9ŠËŽ}‹61¬ûj­ë+©uióâÕ¯¶£-Òº¾’ 5‰§½¾�ÏÚµk¹ð ùÖ·¾¥Í:©$h<$hB!„HBJ_=9GvRû¬�’…K©Þî¡õ­ZlËPùi9#€=µ”Ý]BÉ“u´rP[UÆ‚Ÿ“céaׯª_}•×4à{¯Žúwª©þ Z}¶%‡ôVµUvß½€ò†ýìÚXëoþ+ZHôÙÓ¶nÝ:† FQQ‘6뤓 mð� M!„" õ9O›ï MiÓ(]4ï+Õ|Ò²f.eö'Î.lÏá†%¥”Nl |C ›¹Ž¥7ÅÙ’Š57�¢+~DN‹�ºÎVj^ÙEöwf0ã¼hõî'ÞN'›™Â=KæÀ–�°ææQø½óc·BhŽÏ¾}ûxüñÇ9|ø0?þñ�ãòNy§mð� M!„")õ݃b6™f\|A>Ö±á7.̘Ìf¼­ä�·Ä- Pø#ŽÕÕ8ó®'O›¢.g$ûÔŒ¡‘ô%È›o¾É½÷ÞË´iӸꪫøÓŸþDaa¡¶è)#=mƒ‡mB!„I©�ž6 ñoåØW/Åa�I~\N3­–®®¥²ÊÍ”K³ãr-㳩[å uâ4r^©Çr™ ¶”QÖç»p*Ëøl/×k“Ok]�]\}õÕ,Z´ˆÚÚZ1™LœqÆÚ¢§Œmƒ‡N‘#)„B‘tæý©ƒ;fg’3ZsÞ½ÛΩ̺,>ùDøÚêy²Êï_Lš6S|©®š­ì[øWÎm¨ŒK¿ä’Kxýõ×:th\ú©RSSƒÅba„ Ú¬²oß>êêê¸á†´Y¢ŸHO›B!DRê£§ÍøMŠâ»×N˜g��i7KÀöuø|>m)))¤§§‡>ñ½×DS§¦ÐI¤Óéä�¶AB‚6!„Bˆ¤ÔÇÃR飱ŽÒ&žÓÄ"¬ò®Ú×Ò[ЖššJjjjèS€ú¦j\{4…N"½^/�G´ !„B$¥>zÚDBðvû1b]t³gÏfÍš5ÔÕÕÅ”H¥èÆ{¸ò›1I'™¼Ó6xHÐ&„B‘„úœ§M$„ìáÙ¼øâ‹¼òÊ+TTTpÍ5×h‹œr´ ´ !„B$¡>çi;–Ö:*×¹p­¶sì±›©\qìýÉQeÃå²cßÍ+*�Þö½6l£]U6±ù½pTÙpiûਲqôÃŽÇf:ÃÄe—]†ÙlÖfõy§mð0Üwß}÷i…B!Db«Ýì£hR*ÙC5Á[ðuO-¥âÙ×q�QH�± Û’åØ·ùeøO¾ØÊy¬œÁNrÉÙŠcÝR»¨xÔÆËÛ|XGídù_߯\XLö¶rî_Q�ËXH�%<ˆ†ªy£�Új;¶W}äNÍÞêåù[öá{k;CnºR›Õ¯>þøcRSS9묳´Y'Äãñàt:¿ö(”â«“ž6!„Bˆ¤ÔGO[×r®º“;ïš�û½&šÛ€åÞRJgšèžOÞÅWrÎ'îñ&öm¨‡Coàp�D10ç®;™oýGZyyÓ(N³ñçí…Ì¿m>æuËqâWåÞ´ ëoK)½ø#{H/˜ÃÂ;æcu:ø¤e3¾©¥”^ÚLƒi¥7vSÿƱësüųç3ÿJ¶GËYÕ9—Ò%3ß t:q°’——Ç´¢3âÖå|¹3(]4ï+Õx« s˜û4\U6\çÍ`Æy1+sgSxG)¥“¨¨¶±ªóJ•raC9åÿ»�¼{K)�ögšc:}Ÿ~$�G´ !„B$¥>.Æ?k¢ì‰©wzðf`Ê'?v.mC!…�°¯w1þJ#MÏ—±òÍ&öÅ><.·5ÂÄɘ½1ycó± -3:šXùèJêvîC-–OÞxÀ`Á20f“ü’ú ^Z›itY(ÓF#`Â,óÐôé�Ù¬~/f3|ú˜Ô.8³ù{;Cy&3´ºµK§>ŽO?’ mð� M!„")õÝ““–™�o§ƒú&'9EC±?V‹í�ÅÔè­do°Óš¬p†™UMù\3 ¼ÉNs³yc-νVò»lT·‘ßV�Ë·‹ºMnŒYÚ5ÅòBf6i7³a½“½Úl€3Ž]_Á¥9ìÚéÃÝPMó˜éŒßR†}u9«¶GËXs}ØÖ}·.'Ðø·rì«—â°Î$`R9ÍMøÚ¨nöaÜRFÙ–˜•¹k¨Xa§²ª›¢o`ü¦¥Ø×UbsŸ[~Ð�mE-öeµœ}mQÌB'¢ïãÓ_$hÑtÕlÅóÿžcÔÖfõ«Í›70eÊmÖ Ù·ouuuÜpà Ú,ÑOä¹B!DRêçžœN'õë먋ü4Óª-sB|8·ÄÖWGó!m™dÖÏǧÒÓ6xHÐ&„B‘„ú}ž¶,+…WSùÉ#4ãW”†õâØúŠÉ¥-“ÌúùøôB‚¶ÁC‚6!„Bˆ$¤¡½C.È—ô´‰“G‚6!„Bˆ$¤×ÃÐ!ˆ¾ |°¤×ëeríAB‚6!„Bˆ¤t<›[•+úÑeǾU6¢©.lUŽh™ã_DZկ¶U¶yE%û5iƒËñŸSKzÚ Ú„B!’R_ã]Ô?[BÉÝeÔî_ó‹,½ã6¯sBz9#Âå<Ô?¹€’^d—f’kçº2J–P¹¡ZÔV•±`E3Îu‹)¹»G›:_Zõ%”,«Å€æ�6Ê.¥nk5ÕDëʶäÐùV-¶¿-¦äŽrê=Nµ5|ðq[ì*™¾ŽOÿ‘ mð� M!„")õÑ“óÑ:6Œ)¥tÉu˜ÜGØg˜À‚¤°©†æN'Ρr—³aâRJï($[;ô^«:o tQ)6”S÷¹“Í\ÇÒ+êYÕ9—Ò%3ß ±Áìù̿҅íîM»˜pïŠ/šÁŒó¢Õ¹[œxZ6Ã¥÷Pz3Ôo³’——Ç9ß»ÖACñù 0ðÁ’mƒ‡mB!„I©�‹ñ.`€™üÜ,¬¹V c§‹ØØÌ×C³ƒ³9& Õ&ulH³Ù‹ëä�·€ç�€ óhÀॵ©‘F—…‚¼t›�Õ ©+"ëXÀ˜M¶6k�Q<](~¿6¹ßÉ;mƒ‡mB!„I©�ž¶ÜóúB9µU‹XüêamnDÚ¥E°ºûŠ j´=mÎdü¦¥Ø×UbsOaZx(þ¼iŒßR†}u9«¶Ãù—æ°k§wC5Íctù-e”m‰~ì�5×Çû|½™Þ•Þ4 ]zš6¹ßIOÛà¡SäH !„B$�ÛþÔÁ‚ٙ䌖{ð‰¦ëÿoïþã›.ïýÿ?Ò@˯V°´ŽL´UGÑIÅQçfWlŸcç†l·3@ÀÏAÏÙÀp·CE'esèaÅmÅ ã¯À‘u›4 k7h�êРHH´4´É÷�¤mú¦-…ôGÒ>ï·[Fr]×ûz¿Ó«�yåz_¯«ü/øž~‰ÑoüÌXÕ«öîÝËÇÌ´iÓŒUåðáÃ8�NfÏžm¬’^¢¿r‘8dêh¦íRÔ¹©ØêÄÙò¨¡Î�õ¦nŸK¤™¶þCA›ˆˆˆHjl âë®Íµ‡YÉÎË%·å‘AhE›\ºn›(hM[ÿ¡ MDDD$ d"Y›kǰ¾Í´õ ÚDDDDâ’>ŒÇ¶¾mý‡‚6‘¸íLN %¥ÆÂîqȆm»±°ÙöÕ d¥ŒÑŽOô´õæÇüqc¡ˆˆˆˆÄ6Ç?97&e„18¨§âűæåjü׌âÈ>W�FÍN¦Ôz¶ü÷JJþp„‘£òëµ»°dçÂÎ"þûùßs�‰\ýÑv^ݺûfÔ;XûÜ>’'ßLzRä9|T¼¸œ5/Wã}#W¾»�W7üŠÊ¡#ÙS´†-Ǽ$]‘ËÍC�ÿx-eG’ÉžpšÊõv~õW›ªù¿a™\= 8U�ss%¿ÿÃ|–,2‡Uc[±û/–ÏÞȘ�=µŽß»aâg|¼:‹ë?y-±§ñÀaü;ßbø}ÑemŒVmm-^¯—ÌÌLcÕEñù|¸Ýn&Nœh¬’^¢™6‘¸d ÖÂÞÛ̶« )\1“Tï{¸4à=à¦ao®«ïç‘Ï&%å22¦“k¶±¡n6…O2¡²˜mÿ·ÿ�…N©¡2u!…sÎR±ÇpŽíkØv]!…+fÆçù¿;àÞ•dlÙÆ„…,™”‚¶ÕÕd?¼ˆE©Öl÷â<0‘ÂŹŒŸ’OND¦ÿø| Ÿ¸Ÿ†×Êøí³ÛÈx¬�ÂY`a¶—O1{E!…7UR¼«)ò*b\ãÓ‹L&“‘ô ÚDDDDâP°£5SõÀ( ™ã‡µ74“°pÂaÊŸ-âù·êBµH EPKGê3ɘÓH$§�ÒÒKø�Z°XR±PËq2±ŽõãkAаX°àó§Š*²˜te#ÖñVCO!–ÔÔp_ïq¨É‚Å ¤Z ö}mã¯gÄ«Å8Ö?Áò×Íø÷®Å¾©˜ oGÊ)~Í‹et*i#¯'³ÞFYÒ½Œ{s%öÍ%ؼ·ó%c„ÖŽÔ¼ή/Á±q%ëL&�Hΰ—Ú)))ÇK97ú¨ðøÙ¿Õ…wè –ã=‹°{Zû«z¥ûÆ•¸¬³™3å,¶RöU>sÏw¸×êbåF%ë½Ü>¥ 3:Ÿ^¤ ­ÿ05’""""qgáOΰxþPÒÇè;øXS_þ|O¿Äè7~f¬êU`ï޽̘1ÃXuQ>ŒÓédöìÙÆ*é%ú+‰K½7“S»Ï‰skë£â ßØDÎÓ{ãÓm®Ý(h‰K½w³Tê ¹äæµ>²Ç%›Èyzo|:¢Û#ûm""""q©ïgr¤3}?> Úúm""""qIÆc[ß��‚¶þCA›ˆˆˆH\ºÐLŽÛz—±0*®õ6"’>vªb£ý¼¶5¥%|h(ë¿.4>=OkÚúm""""q¨Ã}Ú¨§â¹%<ùö7G�”¬(`É2>7ŽM5ø÷:©8ÑöH÷æ" –P²­j]8Ö±¤´÷æå,-ÁuÀGõ¦•,-Âqj¶Û(^¶ç_Ê({§µ¯”´t’j]8ÖÛY¾t Å•Çå(çíw�Gœ±?ëh|z�fÚúm""""q¨Ã}ÚÞÞ̶›VR¸8›/øN¤“¿è¹ÛË[{¬¤°ã¬«¥üµý¤ŒŒ8î�� u³)|¢� •Å8�»ÙÁLVæU°¡îA Wä3®ØY„�ûYôðt<ëmÔ¼¹Ÿ‰�-!÷Ö|ò¯kíÎ{ÀMC�›ÜΣ+î‡Ý'ÉÈÈ ãšË#NÚŸu0>½HA[ÿ¡ MDDD$.µÿaü\Œ˜-X,àÞRDñæ Þ Ïªeß•ŒkcîŒo‘y`­RS°Xðœ‚Ìqià;ÉÉ@*–1@c µUTí9LÚM ›‰ÕÙQ[™ãÒ€dR’�5ý]ûãÓ›´õ ÚDDDDâRû39ƒ¯¿6–`/]K¹ ‘äa~jvVPõ¡nšNúk¤Ý ÐZL¸—qo®Ä¾¹›÷v¦�—gLgÜî"ì‹Ùðpsé5ÕøOTRVãgXóñ»‹(ÚÝÚ]{¬ãýüíïÇŒÅýTûãÓ›´¦­ÿ0~‹ˆˆˆÄ�…?9ÃâùCIsqßÁûOTðÜzßý^.Úm­gÔ—ÿßÓ/1ú�Ÿ«zÕ‘#Gؼy3óæÍ3V]”Çãt:™={¶±JzÉÅý•‹ˆˆˆHŒ¸´™ßA?Óçå’Xç¦b«gË£†Zcc‰Â¥�OwÒí‘ý‡‚6‘¸tiÆSoÊÁš ³’�—KnË#à “•KŸî¤ ­ÿPÐ&"""—ú~&G:Ó÷ã£5mý‡‚6‘8Ôñ>mú~|4ÓÖ(h‰CîÓÖ† Ûz�±°}‡lض �<ØÖ» eq\¼üâGÆÂ~ª+ãÓ³´õ ÚDDDDâRGÆë©x±€‚¥E8‚¿æ7¬\ü}–ov>ª7­l©ÃW�mY«¸ÃwÑù*mØ÷ù©ÝVLÁ²l•>ÀGÅsK(xò7ìoÞ)£ì�Ö3úk~ÃÊeo« µ Ÿßþ–/âvª}­Çô�OïQÐÖ(h‰KÌä¼·™mWR¸b&©ÞS6OdÉSO‘]]NÍÎ"lÜÏ¢‡§ãYoÃùì6Ò+¤ðÞT¼Ÿ€wo1Eûr˜9ÒÎÏÞÊfÑ÷aÙ¼××°í¦•.Î&Å \—Oþu­§ô&g³ä‰B²+׆Ú^WHáŠÙ°áy^yv�R8 ì/|y¥ý\ãÓ‹´õ ÚDDDDâRÆë�Q2ÇÃ:ÞÚ`»Îƒ·1‰†Ú*ªö&í¦ ‹HÍ$3¼Ã,$íuái|ªöTÁM“¸ìŒ˜-X,Æ‚eL¨Ðb�ƒ†þ…T,xø°É>‡jOíÇ:Ÿ^d2™”ˆ¤ŸPÐ&"""—:˜É=#^-Ʊþ –¿~²mÝÍ9¤×Tã?QIY�Ÿ/äŒÀþ¬Û“Ë)÷Bæu3Y2ÇËOÿt-™'*ðø÷ã|ÓËåwæÀÆì¥k)÷»‹(ÚÝÚ­×±–’�%Øêr¸;?‡³ëKpl\‰Ã:›¦œÅVêÀ¾ÊÁgî¹!òjú¹ƧéöÈþÃÔHŠˆˆˆÄ�…?9ÃâùCI£ïàcM}ù_ð=ý£ßø™±ªW�9s†’’þã?þÃXuQ>ŒÓédöìÙÆ*é%ú+‰K}?“#�éûñÑš¶þCA›ˆˆˆHÒ>m±®ïÇGkÚúm""""q¨kû´IßéûñÑš¶þCA›ˆˆˆH\Ò‡ñØÖ÷㣠­ÿPÐ&"""—:˜É9¾{DfÇNm·a;Զȳކ«mÔ:)Ùì1–¶êj?ð¬·ñ±±0îu0>½HkÚúm""""q©ƒãƒ.'}Ôn/¦`iE›ÝÆpÐÁò¥”ìôP»­˜‚eØ*}-M"Ë|o;)ÍAõ‡Õ”=Y@Á*î&c?µ¸6¹¨méÁ‹«´€‚'˨ö…Ú-- à9'µMàÞ\DÁ²J¶µÑ¿t0>½¨Ã5mg�Q½×ƒßX.1KA›ˆˆˆH\ê`&Ç÷ÇÊ·Ö2}þ#ä�óÓŠx°½|ŠW’?ÞGmüì­l}–Ík¨ ž¶eÕŸÎ$cò4|¿¶ÁüE,šæÁöž¶ý�JÎ=9¤¶^ã¾VHáü›Bmg¯(¤ð¦JŠ7þš u³)|¢� •Åì<׿û‰Ƨux{ä'pîr~/$–)h‰Kí|o‘Fþ÷g’¸çyŠžyƒ¶sm>N‘B2�šj�&Àç¡jOÜ4‰Ë9¯ÌÒ<%cn ¶ºŠ*OYþ¶ýœÇ‚%HµÀ‘ƒx°„:‹…†ÞƒÔPxg±4p¤ÞxlÐÙøôŽƒ¶«>Ï‹ °%Ö)h‰K�Íäø©~ùy*†YHm¡mH•ÁtkEí¿R£sÈÓå}ÚêÜTluâlyÔD$ ‘žÓÅñéaÞ")qEA›ˆˆˆH\êâñaV²órÉmydh-S¯èâøô0mýƒ‚6‘¸39Ò‘Ømýƒ‚6‘8ñ�‰îÃxhl¶õ�lœÝelë�Ûi_LßÓ6D76Ý%!!¡ý½Ú$®(h‰C &Éû0›ã«À¶¬yCl/P°´û[†]ºŽ:)YQÀ’e6*|5¸ÖÛ)z¢€âmµPWCÙ“KÂuÆÍ¸}T<·„‚'Ãþ&¨ÝY†+bÑœ¿æ7¬\îÃù[®ÍÚ€»_éÂØôÍ´õ ÚDDDDâR×>ˆW?»�´Ç )¼7ïæ5l»®�³aÃó¼ÑÎw"�üE�ðÈÝ^ÞÚãÅå±²pY!Ù•kqýµ ×Õ÷óÈ¿g“òίÛl¼íúã¶Ý´’ÂÅÙ¤x!uJ>9‹æ¼ÉÙ,y"ÜÏÛžÿ•g·‘ñX!…³Àþ‡WÓtm|zÚ°aè««3_”�?þŸ¯ßEÕqEA›ˆˆˆH\êÚLް˜�ÔLF7€Å�Š…ZŽG´so)¢xsï�½¶Œ íîf±€wüN8Lù³E<ÿ m6޾쌘-á¾ÛŠìçà‡‘ç÷ða“%|m¨=e<4Îum|zZ}}=C‡5_”+¯¼’äädc±ô"m""""q(ØÅ™œìœØŸu`{r9»?›ÃÙõ%86®Äa�ɤ6-Iæ§fgUÖâu¬¥dc ¶ºrË)~Í‹et*iã¾ÔfãíËïÌ��%ØK×RîÏÆ"ìKÓ"û¹;?òü³y`ÊYl¥ì«|æž"/¦èÚøˆt…6׉C RÇâùCzhsm¶õVfÍI3VHœ±máôÿ÷[ƼùscU¯[½z5<ð@T³mÚ\»ïõÄ_¹ˆˆˆˆô¸ö¿w?RS±‘¶“š£Æ]‘IÎíÜë(]’0*Ó`³±Xä’)h‰C�€‰Óí¤ü“‘±‘v.£�-º"ë¸Dc¡tUB˜ô1[º�~›DDDDâPBB�]Iù/}äü€ZäR)h‰K Øb›ÆGº�‚6‘¸Ôµ™ÏF;ÆÂ.r­·‘²Ã²Ž¸ÖÛ¨7]‘®PÐ&"""—:˜É9µÇ‹6 –­¤ì-Iié¤Pƒk½�¢¥KX¾ÙMíN¶W–S°¸˜ pÔIñÒ ^¬À¸7/§`i ®À;e”½ÑÓ~~ódÏ:©m÷æ" –P²­ðQñbK‹°¿5Ð7cî`|zН‚ŠÈq’~EA›ˆˆˆHêpŸ6ÿª§SøÄý4¼VÆÜxñâ<`eáŠB²Ý.>8°¦=¢Çfž��åÒ_(h‰C¦Nfr,©©@*<|.³Ž·†6ÐNÈÄ:HN!ž=UT‘Ťa'5JÅ2&²×0‹‹9ô/¾©©áâþq8T:w-§ŒÇ(�O÷KeÚ·²Ñ& ý—‚6‘¸ÔñLNÕ+ÅØ7®Äe½—LcåyÒȹÑG…ÇÏþ­.¼™_cÜî"ì‹Ù𰻈¢Ýͽå¬-µS²þ,9sf3îÍ•Ø7—`óÞÎŒoæpv} Ž�+qXgrCÄaOÇã#r±LÁ`P¿Q""""qfáOêX<éc ßÁ{·aÛw'³îh[,½§¾ü/øž~™Ño¬2VõºÕ«WóÀ0tèPcU—>|§ÓÉìÙ³�UÒK4Ó&"""—:øÞ=ùr.<½&=®ƒñ¹ ÚDDDDâRk¦’Æ`m,”Þ×Áøˆ\m""""qI39±Mã#ÝGA›ˆˆˆH\ÒLNlÓøH÷QÐ&"""‡:ܧ­Ô”–Pa,ÄEÁ2Ô:)Ùì1VJ/Ž�ô ÚDDDDâPgû´EªÝéÀöbO–Qíß[e-+ `•÷QŽõE,)­¡v[1Ë °Uú Ö…c½�åK—P\ùw\Žrʶ¹©ÝY†«¶mÿ¾·�”¿æ úÃjÊž ÷Û5ÛmØž,`ÉsNœ/P°ÂAý€Šcº6>"]¡ MDDD$.u-j8PMb^!…ópl:ˆÏœÅý?|„EÖ÷pt³ƒ™¬œZÁÏÞÊfÑ÷aÙ¼×i7;¸�GWÜ»O’‘‘Áô;­¤NÉ''´—v‹dk&“§áûµ æ/bÑ4¶mr)4>Ò}´‰ˆˆˆÄ¡®îÓ&}Eã#ÝGA›ˆˆˆH\êΙœ ì�i!ÛªÝZ‚ã¼&. îYÀòËY¾tK^t´¨Øhç¼Ã#Õ:)ÙÜi‹8Ó�ã#�ùñÇÜX(""""±Í±£‘œ›‘2¢ó�Ú�^}sö×|X&frb· ûZ¾Q>Ê~¾Žß»aâÄ+ðŸJáê‘(ûÙϱýÅ�õÖñŒúÀAÑSëøý‘A ùë lªÍdBý.Þ–ÉÕÃáÜ—Å�›Å¿ü9ŽlØÎ)s5¿_ëÀ÷™D\«Ö`ßãÅòÙ^‚”±£8°i5?·Uà¿æ6ÆŸhî?™ëü|S-ßøêÍ$tþ–b^ã�Ãøw¾Íðû¦«zÝîÝ»¹å–[n·›‰'«¤—h¦MDDD$.um&§á@5‰y…ÎoÀ±Éƒ÷ÍýL|lÇ)f¯(¤ð¦JŠ·}Œû@®gl0‹¦y°½ð6e/{È_QȲ›†2äÓääeñé)ùäDf6yËži+bÿ¤\LoîgâcKH²o#ã±B g�ý…¼Ü4ì,ÂÆý,zx:žõÿ¿néN]•IÆäi Šó€­UׯG¤+´‰ˆˆˆÄ¥®F7,©@ªŽxal&V³–PVI‹…†£'CMÍ ÔVWQåI#+|æTR€Ä±™Œdè¶Ù„Y<ºôQ]±’»ÓÂý×âm²`1‡Ï[ë µmL¢¡¶Šª=‡I»éj"úOK4vïº:>"¦ MDDD$.uu&§Š ÏÚ±¯r1îÞ¬pY÷Z]¬Üè d½—ÛóBSgYSÒÙ¿Ï�·²Œš¦kɽº‚µ=±†ci)87¸x{cö .=K%wÊYl¥ì«|æžðÖÞ7ç�^S�ÿD%e5)|%¢ÿêË­¤l³s.`ì+^uu|D.Ì õ%"""gþ¤ŽÅó‡�>¦óïà=ëm¸çÌ"6µ¯ÎAñÆ,œ“f¬é&~¿´“õÐ,zê ±¤¾ü/øž~™Ño¬2VõºÕ«WóÀ0tèPcU—>|§ÓÉìÙ³�UÒK:ÿ+‘˜ÔÑ>mGjªqnu¶<Žß˜C¦±Q~Üo%óå»{.œò¬"ù®ü°µj|D.…‚6‘8ÔÑ>mc2²ÈÍËmy|ökhíZ‡±NÎ!c¤±¼û$ŽË&çºdcq?×þøˆ\ m""""qI39±Mã#ÝGA›ˆˆˆH\ÒLNlÓøH÷QÐ&"""gÎ�;Ç™3gŒÅÑ©uR²Ùƒg£� c]§|¸žú>Ë×Û(^¼€•;ýÆmÔn-Áá�Š�v.˜„2®i¦Mº�‚6‘8òþûïSZZJcc£±ª]þ}e¬\¼„‚+ðá£zÓJ –á8ø*°-+ `•ƒ¿¿å¤ü5捻“¸7Q°¬€’mµPë±ÞÎò¥K(®ôÁ;e”½Ó|†jœGsxðÛ³xð©BòGúÀWMÙ“¡~ÝMÀAEK (xq;{¶—Söz5æ´t’ðQñbK‹°¿å£v§Û+Ë)X\ÌÁ³mßGüÑL›tm""""qb×®]¼úê«Ü~ûí\vYбº]¯¹H›÷‹&¥àûS6îgÑÃÓñ¬·á|vi�Rxo*õ#3ɘ<�k>vã=dcCÝl Ÿ(dBe1Îãnvp;�®¸vWÃuùä_×|†ùž…W–ÎçÞy?¥¢)×36˜¿ˆEÓ<Ø^x›²—=ä¯(dÙMCòé rò²¨?à¦aû¶]WHáŠÙ°áyþïÀ˜ò(…óàýCmßGüÑL›tm""""1®®®ŽM›6qðàAæÍ›Ç 7ÜÐ噜ìYH–§œâUÏS}:‰†Ú*ªö&í¦ ‹HÍ$32¬õ@j(ç¤ÅÒ€çdŽK’I1&�¬uñ÷D|ª„ ÏÍÂûBµæj««¨ò¤‘•>s*)@âØLFj=ô“Z°XR±PËq2±Ž’SqŠøÔµñé m""""1ìÝwßeݺu\~ùå|ûÛßfäÈPnþŽöi3ò¾^Œã„…ÔÑi$gç�^S�ÿD%e5~¾�3û³lO.§<ÁJÊ6;•uÀ„{÷æJì›K°yogúhC§»‹(Ú~žšEúΖ¬XÎò¥kñLÉåÎ)éìßçÇ[YFMÓµä^]ÁÚ�ŠžXñ´œ\œFååpv} Ž�+qXg2ÉpšøÖµñé S0Ôo”ˆˆˆH Ú±c{öìaÚ´i\{íµmêþ¤ŽÅó‡�>FßÁÇšúò¿à{úeF¿±ÊXÕëV¯^Í<ÀСC�U]vøðaœN'³gÏ6VI/Ñ_¹ˆˆˆHŒ9uê6làÈ‘#Ì›7ï¼€-¤ýïÝ�ÔTãÜêlyÔ5¶�ÞÑþøˆ\ m""""1¤¦¦†uëÖ‘žžÎ7¿ùMFŒalÖþš©1Yäæå¶<2Œ·6J/i|D.…‚6‘ñÇ?þ‘mÛ¶ñOÿôOL™2ÅXm ™œØ¦ñ‘MDDD¤�?~œ—^z‰“'O2wî\¬V«±I;4“Û4>Ò}´‰ˆˆˆô¡·ß~›ÒÒR®¹æòóó2¤«Éî»6“ãÙh§‚JJ+ŒU—Àƒm™ O­“’ÍceûÙX0ç'üÏ�¿Ã‚õ]<¦_èÚøˆt…‚6‘>²eËþüç?3sæLn½õVcu§›àô™ Iié¤tQî(ÃyÐGõ¦•,-Âqjw:°•P°¢ çëEü°„ _-®g "Ú”áªmÛç™·�”¿æ úÃjÊž, `•wÔl·a{²€%Ï9q¾X@Á î¤æÝǿ̞Nhç·�B3mÒ}´‰ˆˆˆô²£G�²~ýzü~?sçÎeìØ±Æ&d6Èá ¸ñŽË #c:¹ž"lÜÏ¢‡§ãYoãƒ;ðßYHá”*SR8ç,o”S^;�ûçcõûH�’OŽ!ÚnÍ$cò4|¿¶ÁüE,šæÁö‚ïÖý¤-.d�Ù…7¯�e“ÞÃu¤í±Ç…j‘®RÐ&"""Ò‹öîÝKii)ŸýìgùÚ׾ƠAƒŒMºÄt)39�I4ÔVQµç0i7e�H&ãsic€äRFæ³èÞD*^.¢h‹ÛØC[æj««¨ò¤‘•‘ã3É4C’ÙJúhHšb|˜×_�ôôt¦N�j¬¾$ RÇâùCHãßÁ²QðÛl~øÅ7xòo_§pNš±E¿S_þ|O¿Ìè7V«zÝêÕ«yà�:t¨±ªË>ŒÓédöìÙÆ*é%1þW."""ß*++yñÅ™4iR·l„gî|í$"9RS�s«³åQsÔØ¢—¥æ�ŸQËÞã™äßa1Ööcç��È¥RÐ&"""Òü~?¿ûÝïØ¿?óæÍ#++ËØ$*&“‰äv‘ŒÉÈ"7/·å‘1ÚØ¢— ³’�7…ÛïÈ%{\¢±¶_ ;Aðì9c±È%SÐ&"""ÒÍÞÿ}Ö­[ÇðáÙ5kKOÌ0i&'V%\1Ó�ÁÆb‘K¦ MDDD¤íÚµ‹W_}•/|á äææ«»Ñù³lK4>Ò}´‰ˆˆˆtƒºº:6mÚÄûï¿Ï¼yó¸þúë�MºU°‹3mž�v*¨¡¤´ÂXs<ëm¸ eµ[Kp³WžÇEÁ2WÛ†xÖ/à;«Ê)_õ/뉅]‘®0?þøã� EDDD¤ëÞ}÷]6nÜȸqãøÚ×¾Æ�!CŒMºÝë;ɹy)#:ŸÑñŸ8ASÓ~õì.,ÙÙø¶­æç¶ ü×ÜÆ¨}^ݺûfÔ;XûÜ>’'_ÍÁÒó«MÕø¯¹�ñ##{«ÁµÓÄÕc‡Q³ÓʼnCûؼó%ì¿~›äÏg“þ‘ƒ¢§Öñû#Éd�ó°aÅì{¼X>{#'vÛp¼dǶÌûײö·~¬™GØ]¶�uø,Y¤\ɉVNlj¾Æñýæ¿ÙP›ÉÇÁñ³Ÿcû‹ë­£ØW¶‡á×_Í0áÜVϨ÷_n§mûl^¶Û¨ šy{ÝZÊê­|®n?ƒ¾ö¯|óÆzö~t ·e¶»Â%iÃÖ®Æ$j«¨Ús˜´›2H$“Œq€9�´1@r )#óYto"/Q´Åmì¡EC@&Ö±áãhÀgN%H;°`1©¨õÂøL2Í�d¶’>‡¦`IMR±àáÚ»Æ0sµÕUTyÒÈÊHj½�ö´i;˜ÌŒL ‰Ä±é¤’Hr¯ì~ ã#Òm""""©¦¦†ÒÒR>õ©OñÍo~“#F›ô‚‹™É±’Yo£,%‡ôšjü'*)«ñÓî �çªyÅVAŠ%�Ôó²^Zðï]‹}S1Þ2T‘FîÕ¬Ýè è‰WH�t[©û*Ÿ¹'ÇØ¸EÕ+ÅØ7®Äe½—L€›Û^ãµãRpnpñ©)éìßçÇ[YFM“û*;Æåkií¶ Ý@Ùû.f|D:g ƒú�é¢mÛ¶QSSÃÔ©S±Z­Æê^³ð'u,ž?„ô1qüü!6÷,fõæ]¥ažõüfÒ2¾Ësÿc ó»oC»úò¿à{úeF¿±ÊXÕëV¯^Í<ÀСC�U]vøðaœN'³gÏ6VI/‰ã¿r‘Þsüøq^|ñEN�:Åܹsû4` iÿ{÷#5Õ8·:[5Ñ$FÓÕ}Ú¤¯h|¤û(hiÇ‘#GX¿~=~¿Ÿyóæ1vìXc“>eÒLNŒÓøH÷QÐ&"""b°wï^Ö­[Ç„ øÚ×¾†Ùl66‰=0“ã±cßm,låZo;/ccWxÖ/à;?\ÎòË)xh>Å{�-ÚçÙh§ÂXØì� Ûvca3÷, lK î)à°±ºWôÀøÈ€e~üñÇ7Šˆˆˆ D�@‡ÃÁ»ï¾ËŒ3ú`ïµ®sìh$çæA¤Œè|F§v§ƒW7üŠÊÔÛ0o_ÍÏmø¯¹�¦jŽ—ìØöƒyÿZÖþÖ�5Û‚Ét5õoÛp”Ù±½îgüíã9áXί{—£ƒÌdM¶âÞÔ¶ûZŸ ñò¿Ï”PîIö„Ó86Õ’y}hË_Õ.Íüÿñÿ¾Hî�µ”ýe ¹WUPüãµ”I&{Âi*×;xÙn£&hæíuk)«·òù+L4�­§f½ƒWí6¶4Œç‹W ä±5l9æ%éŠ\nê4ôcçW8BÃȯðß½‹QûœŒ¼3—Юp½£ñÀaü;ßfø}S�U½n÷îÝÜrË- |éëö|>n·›‰'«¤—h¦MDDD$œÖ|ݺu˜ÍfæÎ�Ë•W^ilcº6“Óp`Ü»’ùÞ"lÜÏ¢‡§ãYo£fë~Ò²Àì›WȲIïá:èÆý1xßÜ�õ¡B '¿‡ë¯66Ô=HáŠ|ÆÕ; ý¼¹Ÿ‰�-aøióaѤ|þ òïɈ¸ ö¥ X0ç^¾ó?‰Ì¼l««É~x‹R¬Ù&�%+Àn/ÓŸXF¶ÛÅÜxñâ<`eáŠB²Ý.~ûì6&¬(dɤ¼xÎëÇy`"…‹'r�í·{AׯG¤+´‰ˆˆÈ€WYYÉK/½Dvv6_ùÊWŒÕ1ªó¶V™XÇ�I4ÔVQµç0i7e0x|&™fH2[I ‰C#æ¢Æfb5‡ËΜ‚äd ˘vú ·Íþ—…dyÊ)^õ<Õ¾Èó¤1sÅÖ”®dz½›PµÏž*ªÈbÒ•�dfdI$ŽM'•ÄÐ)ìã­@"ÉÉ�œiAаXÏãµé'Ô6tu|D.LA›ˆˆˆ X~¿ŸßýîwÔÔÔ0wî\&L˜`lÃ.r&çæÒkªñŸ¨¤¬ÆÏ0c}G¬Ó·»ûÆb6¼Õq?Þ׋qœ°�::�ä¡­jg5šÙʬï¥cÆÍ­7ú¨ðøÙ¿Õ…wè cË bÒ°—Ú)))ÇK9—ÔOo¸Èñé„) ê7JDDDœ÷߇ÃÁµ×^Knn®±:æ-üI‹ç!}Œ¾ƒ?Ÿ‹‚úx¤ WáO™ðd!éÆ&=¨¾ü/øž~™Ño¬2VõºÕ«WóÀ0tèPcU—>|§ÓÉìÙ³�UÒKôW."""ή]»Ø´iwÜqG\lt²OÛ‘šjœ[�-�š£ÆA&³óñ|à!1o6—«{Eûã#r)´‰ˆˆÈ€QWWÇ«¯¾Êûï¿Ïܹs¹þúë�MâFGû´�ÉÈ"7/·å‘1ÚØb H%#/—Œ2ÈÍËàÒ瘢Ñþøˆ\ m"""2 ¼ûî»”––b±XøÖ·¾ÅÈ‘#�MâŒfrb›ÆGº�‚6é÷Þ|óMÊËËùÊW¾ÂwÜa¬ŽSšÉ‰mé> ÚDDD¤ß:uêv»�£G�2wîܘÞ,ûâ]ÚLNMi ÔPRÚNvÇH‡lض /Nè\ÐTAñ=ß¡ø�Ð˾¸>ײ»YðìÿÇ‚{ 8fltÉ.m|DÚc~üñÇ7ŠˆˆˆÄ»ýû÷³qãF®¿þz¦N�Jbb¢±I\sìh$çæA¤Œ¸ÀŒÎQ'%Ekyi«‡‘“’©\µ†]�:výn/–ÏMÄ]ö߬}q žË³ÉJ®Æ¶b ö=~¬××±§¼’ß—½ÄÁËoãêƒÛxuë:ì›}Pï`ísûHž|3CvóãÒ2<ÉÙd%UâØ¸‹—ì¿æíË®â£õϱ˒ÍÄC/ñã_•QÝ`å¶àvÊj3ÉL _ߎØvë¡ÒÄm“|üöÉÞ¿¾kzÈZ¼„¬}NRïÌe¸áGx±Æ¿óm†ß7ÕXÕëvïÞÍ-·ÜÂàÁƒ�U]æóùp»ÝLœ8ÑX%½D3m"""ÒïlÛ¶�?þñ�äçç3eÊcu?ѵ™߉tò=Â#w{yk�•ŒŒ ¦ë622¦“›ê%ýk�ðÈóñî­¦úÙm¤=VHὩx?oÚ4 ŸºŸ³[]øìÀg!…Sj¨L]HᜳT¼aãgoe³èû‹°l^ƒë´›ÜΣ+î‡Ý'Cçº3‰ò­µLŸÿùãüø®Ë'ÿºæ«óã|3‘iwN'«¶ŒŠ¦¾¸¾žÚŒ»kã#Ò ÚDDD¤ß¨­­åÅ_äÔ©SÌ›7�qãÆ›ô#˜a so)¢xsï�0Ö‡Þ è~C…Û€°˜�ÔL2S s\�LJ�—OÈ$c`N#m �œBJðy¨ÚS7MÂâ�8&¹ù$iä&‰{ž§è™7pGžÿèopÖ¥áݺÒ¼8¶ù#k{éúzJׯG¤+´‰ˆˆH¿ð÷¿ÿ�uëÖqíµ×’ŸŸORR’±I¿ÒÑ>mçK$y˜Ÿš�T}èÁ:Þ�mS�Ìze‡ qh þ}.*ªÝ¤çŒÀþ¬Û“Ë)÷ûiÇå9dž¨Àãß�óM/ÉCÚV‡Îõwª_~žŠaÒG[°ì.¢hw¨¾v{5i÷Í mO0ç^’6ÿ†‘½~}5m »MWÇGäÂLÁ`P¿Q"""×¶lÙÂ|ÀÔ©SùÔ§>e¬î—þ¤ŽÅó‡�>FßÁG˵l ¾ïÿžZÅ-Or…±ÁEª/ÿ ¾§_fô«ŒU½nõêÕ<ðÀ zé»Õ>|§ÓÉìÙ³�UÒKôW."""qëÈ‘#¬_¿žsçÎ1wîܰ…´ÿ½û‘šjœ[�-�š£Æb”ùíi$þß?HÌ›Mбò’µ?>"—BA›ˆˆˆÄ¥½{÷RZZÊ„ øêW¿ŠÙl66éçÚ_35&#+t»aø‘1ÚØBŒRoÈ%÷öÉäæeÐ}7Õ¶?>"—BA›ˆˆˆÄ•@ @yy9UUUÌ�;—›o¾ÙØd€ÐLNlÓøH÷QÐ&"""qãðáÔ––b6›¹ï¾û¸òÊ+�MÍäÄ6��tm"""*++y饗¸õÖ[ùÊW¾b¬€4“Û4>Ò}”=RDDDbšßïÇápàóù˜:u*‹ÅØd@ú·Õñà·¹êжßÁ›ˆŒ‚-/Ú›÷iSlùLáÏÖ71dhh­`sÛ†ú&’Âe„?F6·oÖÞ¹B‚×:&Ø ÁÜþ<¹:?‰Ã·´ï¸_Ϋ=ž;5�iÀ<<©åš›�i:Ó€yXb›¶‘Líž¿ý�Ñ Î=œy¶ŒÑo>c¬êuÊÙ?(h‘˜õþûïãp8¸öÚkÉÍÍ5Vhßú��ä¡0, LÁ 1ƒ¡à"À$áסGALZžq\èu€„æ>¶>o9>Ô¯)ꣵÏp¿H Ç&[¯'òÜÍÇ›‚L¡÷ÐÒ.hí7òÜí\wóûMˆ¸®„p°ÚzýõÍýÃmšß ¦ˆcˆx¿„~Ž­ïÕØ&ØÒ.� ��j¡®Ž++ÿÇ8l½NA[ÿ  MDDDbÒŸÿügvïÞÍÔ©S¹þúë�Õžöi‹]Ú§Mº›þÊEDD$¦œ9s†W_}•>ø€yóæ)`ë�¾w�mé> ÚDDD$f8p€uëÖa±XøÖ·¾Åe—]fl"-Î_a%±Dã#ÝGA›ˆˆˆÄ„7ß|‡ÃÁÔ©S¹ãŽ;ŒÕrÍäÄ6��tm"""Ò§Nž<‰ÝnçØ±cÌ›7�ñãÇ›H»4“Û4>Ò}´‰ˆˆHŸÙ¿?¥¥¥Œ;–o|ã >ÜØD:¤™œØ¦ñ‘MDDDúĶmÛøÓŸþÄ׿þu>ÿùÏ«å‚4“Û4>Ò}´‰ˆˆH¯ª­­å…^Àçó1wî\Æ�gl"]ÔLNŒÓøH÷QÐ&"""½æïÿ;¥¥¥\wÝuÜ}÷Ý$%%›H™4“ã4>Ò}´‰ˆˆH¯øÃþÀîÝ»ùö·¿Mvv¶±Z.šfrb›ÆGº�) ê7JDDDzÌ‘#Gp8\qÅL�:³Ùll"—àŸŸ¦ál�¡‰AH‚L0ƒ$Ä b HhyÀ.oy’` 8`ð P] ñƒL˜M„ÚƒáãB}™=çl6a"@B�P=LÁðq„κ®p?Á 4BøzšÛ5Ÿ3!BuÁÆ&%ÐÒ_„ßwk{SÄù‚þ& 2a" �˜M­× B @°©‘DsA#æÁ m®9Ôg¸¿ðûm©#Á&̦Ðõ·¶ Õ�ŸÂ48�«þú+ã°õºÕ«WóÀ0tèPcU—>|§ÓÉìÙ³�UÒK´‰ˆˆH�Ù³g¯¿þ:S§Nåæ›o6VKvüµ1<›ÄÔæö©`x’§9¸Søusy¨m¨®±1À A&NŸl$ù23&À±¹œÉ·fsùå—‡�oþ¸î/<‹tæä9F\6¨eV©¥ß  cÍ7 FWò,ƒ ™.ua"¤5OR%›o2 rö“:†ŒÒÒW(hk½®æó6ŸÇ_[GâåC1þãgHº|XÄû€�<‡©©©!÷Î/qîøiG o9WèZBÏ›†Íç1ÿû¿ùÃ^çßzˆ‰YY-å­ÿ†®aÈ]“ZŽì+ Úúm"""Òí�‡ƒcÇŽ1uêT®¼òJc‰Q'NœÀf³ñïÿþïÆª~¥©©‰ÿþïÿfáÂ…$&&«;õƒü€U«VqõÕWsÏ=÷ððÃsõÕW›ÅmýƒÖ´‰ˆˆH·úðÃ)--eРAÜwß} ØâŒÛí=Íf3ãÆ�Ãív«.hß¾}|ðÁ¬^½š3f°yófc3‘n£ MDDDºMEE/¿ü2·Þz+_ùÊWŒÕÜn7V«ÕXÜ/Y­Vúè#®ºê*cq¿Qóz9.OÛýÕš]vÙe¼÷Þ{Æâ.5j~¿§Ói¬ês‰‰‰ÔÕÕ‹/ÊG}um"""rAõõõÜzë­ÆbéG1b„±¸ßȘ:“ì‘ÆÒ�+®¸‚„„è>ßxã�1ô2„ÆÆFcñE:thL¾·�$ºßN‰YÉÉÉœ:uÊX|QNœ8ÁÈ‘D¼Ò+´‰ˆˆÈíÙ³‡Ó§O‹EâJÎ9Æ¢~/99Ÿ¯³T*vòäIe‰íc ÚDDD¤S[·nåw¿ûëׯ7V‰HŒKII‰z¦MA[ßSÐ&"""ª©©áÑGåÈ‘#üêW¿âOú“±‰ˆÄ°îšiÓí‘}KA›ˆˆˆ´ëäÉ“ü×ý»ví‚pJøÿú¯ÿâÿø‡±©ˆÄ¨hgÚ‚Á 'NœÐL[SÐ&"""íZ·n¯¾új›²�;wò£ý¨M™ˆÄ®hgÚšo�4™LÆ*éE ÚDDD¤]÷Üs_øÂÚ”]wÝu|ÿûßoS&ýÃ_ÿúW%›é‡RRRº%h“¾¥ MDDDÚuõÕWóè£�¶ÙŸiΜ9dgg·i'ñï•W^áw¿ûk×®5VIœ3›Í 2ä’r¥û� ÚDDD¤CwÝu÷Þ{oËóý×56‘8WUUÅOúSNœ8Á¯~õ+¶oßnl"q.š[$5ÓLÁ`0h,‘®Û±§S0HÿImy*?y*ÀȔК�S'›HIIÀ„J‚˜‚pêT#)ÉfLÃ塺Ó'I¾l&‚m^þOx´<7…ÿm:`Ð`SKÿg}çš<8t®p™)|\è_¨?ÑÀ°Ë� Mçš48t�GŽ¥`éñýï}� &�–k7áì'g2jHè=-×oN5�”’Ôò Õ…Þo3ÿ'gH5,ôþ‚¡6Í?¿Ð{†Æãg|ù°PY0Ô@ð\# ƒEôß|LÛŸaóóæãšÿ5þ<†|ù–pùÀpäÈæÌ™Ãþð‡–²)S¦°nÝ:®½öÚ6mû3¯×Ëo~ó¾ûÝ﫺ì÷¿ÿ=ãÆ�㳟ý¬±ªÏ½úê«Üxã�ddd«.èw¿ûV«5&ß×@¢ MDD$ ÇŽ˜µä ©—…’`€„ ˜´ Á �ç$b  6”@(È H2Mç‚ 6‡‚¼– 0 Ð`°9ÔB0H 1À p;‚¡2Zš41'„ú �³‘AfSë5…ÏÑ|�  ø›4È hš­Ç‡ÏÛz½` F×ØÈ sBÛ÷¾®à¹F̃Bçm~Ÿ­?§PðôŸÃ<8t|èzBý·´!¢Ÿ6ï¡© S‚©mû𣥿6¯ƒ$‚$@ËsAšö¹¹|>#þõnã0÷[………<úè£ÆbæÎ�Kii©±¸ßêïAÛ–-[5j“&M2V]ÐóÏ?Ï�wÞɧ>õ)c•ô"m"""Q8z<ÀÅõü¢`¸±Jâ̱�1ô®[TÐöþûï3kÖ,vìØÑR–••ÅóÏ?OVVV›¶ýYÚvïÞM]]wÞy§±ê‚~ñ‹_pß}÷‘œœl¬’^¤5m"""Qh½OâÝ@ËOúÓpå•W���À<0 ¶� 99ù’öjkll¤¾¾^[ PÐ&""Ý®Ò Ô±œ:u*3fÌ ??Ÿûî»ÏØDâÜ¥¦ýצڱC·GŠˆˆDáXøöÈŸëöȸç�ñCzðöHÇŽsáµ}„CÄÖõ‚¡¢Öºæu{-IRÂëÿN}rŽËF™[®˜„“·„’˜‚MIW"Ú„ëCç ­…<{â,ÃF&a"ˆ÷èQ~òãóàCòé1c2"1´–0| Íë›×„Ö †ºj:ÓÀàaƒZ®!tîÐÃðåã?vŠ¡W '|)mÖÏ*‹¼þÖ6þÑvßÀîÒßo�ø ±ªSï¾û.ýë_™9s¦±Jz™‚6‘(hM[ÿÑ“kÚŽŸ ð­‡O“n % I @Bs2—`�„`€„æ¤0á œ ÁP›ævf4ú›H ¾š“¹4·7á„,ÍÉf"úm)µ 44’˜h Ÿ£9yL€À¹FŽ,„ú&€)ºŽÖë ÑINN¾èd$'OžT"’¡ MDD$ á´ñÃûGÌYÂòËY¾tóYmlÑ>�ûnca+×zcaœ‰«q€4>ÑIII¹è™6m±CA›ˆˆHâñÛÿÔ¼…<ºôQ]±„Û=Õx|Õ”=Y@Á*î&¨ÙnÃödKžsâ|±€‚܃ÒI®{¦€%O„Úº7/§`i ®@;ýlX³Îxú˜ôÕÓtô„±XbD<þ­Å’‹�i;{ö,�@€aÆ«¤(h‰B<~ûïÙ¸˜ÿöî�³–Äoçã~Æó±hšÛ ¼[÷“¶¸�fÞ¼B–Mz×A7î�Áûæ~¬R8ù=\µ±¡îA Wä3®*�ý¼¹Ÿk˜k<}Ì2%Åm•ÅÜý <µþA2j�”ìÎ$?ÑAÅ ó™–flÜʳކ{Î,rŒ]VCIé)æÏË6VtíÓ½Ÿþô§,^¼˜„„ ÏÛlÙ²…Q£F1iÒ$c•ô� �˜ˆˆˆtHß|öýa,]ÛN³p†Ÿ7ÞßÛNÊ_+£ü�rÊ^¯ÆwÔIÉŠ–,³Qá÷æ" –`«ô^\¥,ùa ¾\ëm¬\º„’­NlË X¾ÙÝn¢™–¤4ïº(w”q¸ë9­?ŒO_»˜[$u{dlQÐ&""…x\Ó&í‹ûq¬sâ4O#7/‹Ú² ’­™dLÎ'÷ú rò²àD:ù‹á‘»½¼µ½Œ Gò)|bÙxðã%-¯�•sβmçǔפ±dÅØíeúËÈv»øm;‰fZ’Ò$f�‘1�ô¼+6xÖOÀ{ÒX,áb’‘œ±¡«ÉHΜ9ÃàÁƒILL4VIQ"‘(=à %"éŽÍxŒ¡ñžˆ¤;’÷R”ˆ$*•••|òÉ'Üu×]ƪ6<[¶lá¾ûî3VIÑL›ˆˆH´¦­ÿÐ8Æ6�Oôº:Ó¦tÿ±G3m"""Q8z<À}?<ÃU0ƒ$ÄDS°ùß Adh �h†¦s�P]¸Þ$¡ã€@ø9¡� &BíBíƒ$ƒ¡o^ïMÁ ‰ƒ é\¦ ¡6„úi½Ãõ5Ÿ»¹]sÿÍíš�‹x !dPbAcÛþ †ÞGÄu6÷5h°™€ÿ\K[sÐÔ|ÞÖsqî6× bd"x®‘„pÿ &hj þYµ\oøç•@ÄϺù íš_Ÿ«:@ò¿ÝÍesŒÃ5Í´EïÈßcÄý_eø}ÓŒUQ(3m}ô¯¿þ:sçÎ5Vµñç?ÿ™††¾ô¥/«¤�(h‰Bó>mÏüWçƃA0™Zÿíˆ±Þø:’±Îøº=íµ •Ú†ƒALÆÚ+7~š0¼‚˜ZÛ_wI  ¦Öۄ¯»‹wæ�2U·GÆ*íÓ½Ó§OSZZÊüÇ«Úp8Œ3†›o¾ÙX%}D·GŠˆˆD¡96IHèüa6·ý·£‡±Þøº³:ãëöíµ •%´û0›Í畵[n6<µ}˜Í�¾îÒ#| Í�Dsëónxõ©(¦¿�‹7bÄêëëijj2Vµ¡Û#c�þïIDD$ õgƒèž•þ!xæ,MµÚ,VußœêÀÖ•½Ú´±vìQÐ&""…¡CLçÝn(ñÉ4|æÔžû ÀYë£Áþ–G€úú&üþ@‡�Žê›Ëëë›ð7Ú<Î� ÐñðŸn¢ñl�g;}œ=qö¼²ŽçNûi:ÛH ÃÇ9gý4�>þ·žÀYÿE?‚�öoá•‹Ó•½Ú´Å­i‰Âûž&ž.=ËÏ—j­R¼óÎxŒ!=˜òÿŸŸáêÑá$1Áp”@èß„`³)�@kRšpÒ—P˜ ƒÌAh ×7'} ”451Ø �s¡Ä,¦pÿ ác›_Jll '² Ÿ'¢móks;çjé7âS0À A&ð7¶¶‹¸~S0ˆ¹¹SSS€S�„@èÚZÁ0„ð¿Í bšÉ$ ±ê\¾f‘Ö´Eéw¿ûV«µÃëàÍ7ßä;ßùޱJú�n�‰‚îŒì?zr,‡$õdïƒ)i0 ݲ­ ­iÓ­‘±IA›ˆˆHt»Jÿ¡±ŒmŸîq¡5m Úb“‚6‘(˜.y†¦†’Ò ðرïÏ+K(X_C­±YGÂǵØnÃv(â5àÙh§¢mµ[Kpx€ƒv–ü°ÛS˱7wÐÆwV¸ G —6ŽÒ[4>Ý#%%¥Ó Méþc“‚6‘(;™8¾{+¶W–S°¸˜ pÐAÑÒ žsRû®‹rGΣ餪ƱÝgÿÄÖ}~ª·VÐöcU ®�¡�®f§‹Ú¤tÒG…ú\¾´€’�^ †²M5-G$¥¥“B ®õ6Š–.aù濳{9e¯W³ëÕƒL[:›éÿ²�é©@“›ãÙc#N9Àt4Ž4>Ý#99Y·GÆ!m"""QèìÛÿ†÷þ S¥pTìñ`{ù³WRxS%ÅîkÈȘNnª÷™,¦MÎaúý7óþ&'þÚrʤ�ܦ7/î ¡gÜ4Ô¹qêóÁ…ä�÷äß“ÑrDÃ7^¼8XY¸¢�l÷^†�Ï '/‹¦¦ *·VSURÀš½~j^('í;_ÇqÆç\#Á³çŒ¥#:û[“®6lçÎ�ãܹö×´Å&m"""QèüÛÿë°Ž’SHÁ‹ © GÛÙÄٜʹ¡.ì¿u“ñ�Öà˨¡©ù™�S„‚»ÔÔŽÃ-ëx+�HrdèÏ"çžrÿ%—ÄNÊ_s±añbì‹8q6¢Ý@2x¦!ƒ�¥#:ÿ[“‹ÑQ2’¦¦&|>Ÿ‚¶¤ MDD$ ]_ӖŽV+7:(Yïåö¼IdÖÛ(;hhõÿÒ)Û�Æ—G·- þ½k±o*fÃ[ÍeL·VP´ÑNñ+U@E«Œ«ØÚ3.ç™÷¤Sö¤û/+°Ü1�…¯¼ÀšgŸb挅Œb\�q,RÐ&""…ÎÖ´5¼÷>ÞqddL'×S„�ûYôðt<ëm|p`þ; )œRCeêB 眥b�¡ƒ:7î�=Ø^>Ń+ Éï2È¿§uãíŠ×\¤Í{„E“R~*“ŒÉÓÈìf3Yy÷9܃÷ÍýX*¤pò{¸þj§¬éA Ÿ¸—Ô}´ìÓ-Žcÿ�HÚ¤\ró²I‹×5mƉŠñIÝÛ´‰ˆˆDá\º2ИDCmU{“vS‰d’10§‘6HN!Åx >N‘B2�šj1V’ý/ Éò”S¼êyª#–ûdŽ‹ØÕ+œ "qh œðp*9Hå¹�]ÆKu¶!صßé�~|ݢŒD·FÆ6m"""QlS§SV2ëm”¥ä�^S�ÿD%e5~º~RÓ­m´SüJPAѪÖ5rÞ׋qœ°�::�äqVR¶ÙCûzuäº{ÉÜú} ž\Ά}IÆÚ­ÓaŒÒ�$ =y‚@?¾î¥™¶øb ƒúâBDDäô4ñtÉY~QÐõ0¬O�¨ lO:ù9 ”<åbÎÒY 2¶ ŽÍxŒ¡w݈½ÛXµã'¬®§xY¿'~>BÉH<íž1‘·JO1^¶±å…ŽŸIó‘®õ6¬á$%íªuR²;“ù_ ·ðرšÉÌ–Ä'±áHÞHY4ƒ¡_û¼±*j^¯—ßüæ7|÷»ß5VuÙïÿ{Æ�Çg?ûYcULÚ±cÁ`�/|á ¼ñÆ$''së­·›J ÐL›ˆˆH†1uÛ @í>'έ­�Šƒ~c“è�Ì&7Ý�s»‡œ‡°µq®‘`}üÌ»b×Oùé®ÐÓ¤´ô¨Ø$¥¥“¸7/§`iIxæõ lÞüƒÛª%”|J€Ó6�M-®_.¡`U %û&%iwý�Iˆq¦M·GÆ6m"""QèÎ}ÚRoÈ%7¯õ‘=®g2F$_—Cn^ú|ÖÖàA˜†öÌϼ3û^üOüÒ…ë— XPZMÃwT l¸ñ²±¡îA Wä3®Ž.%°¹æãpïJæ_å>?�MÙZ\“WRøýIøßú òt½¦»þÎ$Ęö_·GÆ6m"""QзÿýG_�å ÿü4kÊ!ç¡5¬™—Õ¶òRØøNÊ4“ŠeŒ±²£6™XÇF4ŠH`sæÄ)F Ì­ûÉõ¶¾Ÿþ*99¹M"m±MA›ˆˆHôíÿѧcyÛ#ƒœ¼,êßÜÏÄÇ–�}Ô�/ÎV®($Ûíâ·¿v‘½¢�…“ü¸?:×ö‚¸ÎÆ2–õN›DÒ&å’›—Í•=Ñ}W44ðž4–ö(ÿá·©>ÔApŒh7h £ú5nccéS ÚDDD¢ÐÙ·ÿŸ»ïÁÖd§ÏO(a Œþ2iʰïÁ�9¡ã|€Å ¤f’9¤íqm·ÃN#ÿû3IÜóýåyðŽTcq¿ÑîL›Ä$%"‰ÂÑp"’_tK"’žçÞlÇ—7ëöÞH+äë7[ \Çf<ÆÐ»naÄ¿Þm¬ŠÚ‘ø}ø§Óß½’®I|õJ/·|Á�Ó=‹YwheL@�JJO1^súšè’ãt§#y? E‰HºÕ[o½Åûï¿ÏG}Ä=÷܃Åb16iᮬ&eRý7„�múŽMDD$ ñ6;cÍ»�†íN*F>È×°µÑ§c¹ë§üt€çoÝÐÃÇ¥·Þ{ÔIñÒ‚pR›H¾pš]lßä¢à�ç_]8^´Q°l%eoù Ç×âjn PWCÙ“KX²ÌFÅÛ.Êe8÷ºp¬/bIéqÒÓ’B‰s^YNÁâb*|àßWÆò¥”r§æ�óí\’¸Ã’=ØVW“ýð"¥:X³=òèd¬ã3ÈÉ»�›Êyå¨Þà‚7Õ‰Ó)|â~^[Oq›ãSɹ'§uÆdo®«ïç‘Ï&%å22¦“›êf3Y9oî 4ØS¥pTìñ`ÿm®(äÞÑ5œì¥<}5>ýYJJ ÇŽcÈ�! Ôñ*×Ô)3ɽªíŠZé] ÚDDD¢ÐÙš6‰/}5Ž7üóÓ¬y(‡œ‡Ö°f^–±:̇gOUd1éÊö£¤Ô;³©ÝbcGÒ4r‡€%5HÅÂQÎtvü¤,œp˜òg‹xþ­Ö¶3ÇEÞNœ“œB ^—ð;×u>*6U�~÷í4”þ”¤Ù�’Ö wÎÍûÉJDÒí–.]Jvv6_ÿú×�UC4Ó&""…3gƒß¶uúo”ü°€•¯íÇÔì 'xÇ…«j·S°¬[¥Þ)£ì�ȃ³˜µôQ]º’Õ3jX»õï¸v†RG„úñQ½i%K‹pl¯ýqª7Q°´€¢Ín|o;)ÍAõ‡Õ”=Y@Á*G‘ça>ÄXÚ-F¦$tü{rQü¸w;qnm}Ô Õ4uc�5Ÿ €Ôr2 ‡v›d²ïLǽmž;öJÀFÏ´�8q‚³gÏ‹/Ê©S§øä“OŒÅ1/ b6wò��Äm"""Q>¤ã�â»J¶3aE!K&¥à¼Í‰%>vã>hãgoe³èû‹°l^ƒëš|ò¯3ö6& ޼‡û@(-…÷€›†�EظŸEOdzÞÖš °¹½ç}’²îgÙâEXÝ.|ÖL2&OÃ÷kÌ_Ä¢iœÛÚ5àu<’±$ëä\róZ£C5É×ä�~Î0+Öæç=ad9y¹ä\×?Ö´�9’!C¢ ØSRR5j”±8æýøÇ?æŸþ韌Åc´‰ˆˆD¡³5m§G�b,Úì~Ôä‡&Àç¡jOÜ4 Kg¹´ÝnHkMÐÐ4&ÑP[E՞äݔÑ6¤Û #óü/ŸÇ¹ïpÛ4Ýæj««¨ò¤1.]ù##u4Ž4>2�)h‰BýÙ ­¿í6°—Ú)))Ç Xš*X»±Œâ�U0:‡Ìxüûq¾é%ù­"ŠvG]�mÅr–/]‚׳¸ÿÎ+ñï]‹}S1ÞnÎ!½¦ÿ‰JÊjü 3¶Ïi‚¡)$ÙÁ¶­nÜiVR¶Ù©Ÿ�Îþ}~¼•e|¸pò��¤'gr$zÈ”ˆDDD$ G�xâB‰H$.ýÊb’rnä²Çæ«¢vüd€‚Õõw”ˆÄïÃG2ɉÀî•,pMâ«Wz¹å ~œ=–P¤+j()=Åüy¡Œ”P�}c:3gô~B›#_ø#¾ûU†ß7ÍXµ�œˆDâƒfÚDDD¢ }Úú�„”a˜¯¼ÜXÜ;vý”Ÿîpãü­š`ø¸tZr|uR¼´€‚+ðµ9jw:°½²œ‚ÅÅTøÀ÷VEËBÉfÜM5¸ÖÛX¹t %[�Ø–°|³|­ iÜMµ¸6…“äÔÕPöä–,³Qñ¶‹rGν.ë‹XRzœô´¤óÎéßWÆò¥”Äým[un*"K8·Ö < ½¯Ogrvý”Ÿîpãü­š`ø¸ˆÛøŽ:)^ZN>Ó–_Dbš¤tÒGù¨ÞTBÉsÅ=YF�¯š²' (XåÀݵ]LRãÜëÄ5f! ¾v/ ¿�øp½à&íæ¶çï-}:>"}LA›ˆˆH¢؆YÉŽH,‘›—ZÏ&½ª[Æòì{ñ?YðK®_.`A©�Ü©9ä|;—¤n ”˜fu5Ù/bQªƒ5ÛÛ_™˜æ¤÷ÇÉdÝ3Ÿ{¯«Å�–…÷Ì_Ä¢il/xHíb’šÜT‡÷n£¢¦œŸ>QÆû¯?�{Ú,&öÑþÖ}5>"±@A›ˆˆHêÏi K%õÕLÎ ÿü4kÊ!ç¡5¬™—e¬óáÙSEYLºÒߦ¦Mbš3áƒ6 ÞÌ¥pŽÌ ÔVWQåI#+££í$©1ƒå¦iäN™ÉÌqùß­.œO. h£�M»O¶=¼ôÕøˆÄm"""Q:Ä„Yÿ5íš|u4}ÜG×Ýö�Üf,l–FÎ�>*<~öouáÚ6Gh›Ä4Cª)ZTMNŠV”P?!�ýûüx+˨iJÆÓÅ$5e§§“}¨˜â�ÅØïä¡§^ äÙ5,œ1“{&_f<¨Çi¦M2%"‰Â±ã~T\Ï/ÚIDòQÙ&>Ì¿‡lcE;\ëmXçÌ"2D{eµ[K¨¸a>Ó" #´wLÅF;é3fž×�ûsó™¤}ÚZxg<Æ�¾JD"t4ï$+‰ PúnPDD$ �}ó™tåU¤P‹ëÙ –á8hlîÍË)XZ‚ë€�êM+ m#Ë|ìß^NÙëÕø ‰)ÚöSCÙ¦š–s¤¤¥“Të±ÞÎò¥K(®üˆýÛËÙõWwKé|,c‡÷îȤ5NjŽÛôOÁ¦Á†sÆb‘AA›ˆˆH:Û§­á½÷ñzÊ)¯�Îý‹ó±ú yÿÙØP÷ …+òWì,ÂÆý,zx:žõ¶PÉ6ee ŸANž…²Èįú!ƒü{2ZNã=ডÎÍnçÑ÷Ãî÷°ŽÏà†›¬#�clIÄ:92iM.£�mú©¦&‚¾:c©È€  MDD$ Á ÍÐŒÉgѽ‰T¼\DÑÃÌ–ï$'©XÆ�I4ÔVQµç0i7e0˜óËZW3E$¦v¢m?È—$“’l¬€À¹&‚ m“|H IL‚¥÷×Ò‰Äm"""Q¸àìLC5¯Ø*H±¤“j1lGœ1�q»‹°o,fÃ[ÀÍ9¤×Tã?QIY�Ÿaœ_ví¸œÜÜ™˜"ókmû¡‚¢UmÏe�6.…ªûŒÅZÂ`3¦¤¶I>z�߇¯9^ܽ’«œüîE;žC6l†ÿ§†’Ò ¸ˆ~jJKˆüíñl´·yÝW.ø·&Ò�)‰ˆˆHŽðD‰H$¾›ñCû*Éö (¤ð7Î¥+Ù0ò^îÍIbâX7åîYÌÊtR¼Ú‰çÆ|ùçl"'Kkw:(?¸ƒýd3ó¡|¬ËX»¡ïÈÛ¹?ßÃ’ÿz�‹2©þ£oí~>ó­G™Ÿâ¤Œ|ò¯¨ÅõìÏ(?dáöÉÇóÈÞû·•Ì6»xc«‡ô)9dfƒûµÃTÔT’zÏ£¶„ì£n¼mÖDVãúµ‹ì…,œäÇýQïü·ÿÓ´‰ˆˆDá‚kÚ"�Îh“@"w²5b�šôµ.�ã%’d"ÐÁÍMÑn® ,©@ªŽ¢úå"žÿc5‡ ÍZÖ4ÖyñFVt´îrl&VsëËÖ5‘§ðúF�bmÆ=¸µI�jÿ§'20(h‰‚¾ýï?út,£Ø\ªØð¬û*ãî½�’IIô²c»÷¡ðFÙÆí&vQ´;üܰîÒ:Þ�-bˈó¥�›wš¢ÅËYþìÔGv=©OÇG¤�iM›ˆˆHzšxºäl7¬i«À¾1�™3Úß5»½M³;RSZ©yó»´©w{<ë°x_™ÉÐàq“ö/%¨w°ö¹}$O¾–áõ) ?´�Ww¾„ý×o“üùlüo,ç¿×½ËÑAf²&[qo2ô³áWT¦ÞÅÍ©ÍguóÛ'×°«±Ÿy"™Wø©Þú7Î~ü¿sö×|X&f2hg1?.-ÓœMVÚAÊ6Õ’y}(»¥¯jƒfþˆÿø_$÷ÆZÊþ2†Ü«*(þñZÊŽ$“�v�m·²Îþ{|Ázë~žäÛ¸vX=)ñ}ã.^²ÿš·/»�ìäjJ[Öc^’®Èåæ¡NC?¯ò«÷?Oá÷¾Á¨}o“õØ�È?å¢21“«‡{pn­À³£‚WË^âo�‰d[›¨ÿ ¸ö6¬Ý˜¾ÞþG]“Fâ¤îë‚8w7òµ/žÿ{rqü¸wÿ‰=ûÝ¸ß =®Îš6*”m´—Œúô(>Ø^�{ätò&&÷Ê­[uëÿ@Òço`ðuc�UQ«««cÿþý|îsŸ3VuÙ;ï¼ÃÈ‘#=z lœ'½©7þÆDDDú­@ܳÒðÞŸáÞ•Ì÷¶Ý4ûƒ;ðßYHá”*SR8ç,{¼¸4Ðp`Ly”ÂyP±¥óÍ·?8°#ÔsB ¬¡D33©ÙäÄ_[NÙ�G&«øu1?{+›Eß_„eó\Mm7ãö¥ X0ç^¾ó?‰Ì¼‡¶‰0þäfGÓ�>‘CMe* Ÿ¸Ÿ³»«ÛÙÄ»׳ۘ°¢�%“RðjüÉÍf²r^Û )ÙÚ@ù«5°×Ž 3.�•…Ë É®\‹ëÍÖŸÁG¯lhs\´:ÆsþæÚŸ½ÅJKÌÞ[ÓÈÎË%wRƒŒu=$>ÆG¤g(h‰BBt�¸ëØö6ÈÎ$c`N#mL(™CJË1™¡c’SH©ï|óíÄæ¶í1g3m¨ ûoÝd|#£m²ŠcgÀç¡jOÜ4 K(Ea„4f®XÚҕL¯wヶ‰0®h"ó+˜“HKK?oÃîÖ„çð5…VX,„çñÚö3®�›)G™ìÚ7°¹™vç ,cBGZ,à=Õú3¸jÂxã‘Qép%&h|d SÐ&""….}ûoØ »Ë«šÒ;ß|»£~šIdý¿tÊv§ñåÑ´MV1g™'*ðø÷ã|ÓKò°6ã6[™õ½tìϸ¹52FRW3O &g ØKí”””ã5&Ôè°ŸT¦Oöð|]6Ùfð:ÖR²±[]¹w´þ 60fQŒN—ÆRúŒÆG2%"‰Â±ðæÚ?�:I7kòãÛókO|—…y‰}’¬â’ù}x^[‹ãƅ̿΅m½•YsÚ™‘ëfÞ�1$‘Tl´“~§ÇîLæõÞwx£îÙïF—�&ÖÍûÉJD"”fÚDDD¢pQû´õ„:7‘vo­¡nÿtîÏ %¾°Ü‘C¦áИÕàÅm�^«—IΡÛ#{ZŸŽc„”´tνí¤ü5ÕVSöd«¸› f» Û“,yΉóÅ V8p7ÕPv^Š~7.G9eÛÜÔn+¦`Y¶JÔºp¬/¡`érʶ:(Z¶„ßï¯3›‚þs¼'�Å"‚‚6‘(ôù:›aÖPBˆ–GF()…9•¬)Vš—š%Žëƒd—*ÙJÎMÍW›Šu\´»¦ÏÇ2Ì{ÀÍ`k&“§áûµ æ/bÑ4¶?‰Ì¹·Ž�M¦ÄÁ$Xº1]¨HQÐ&""…X™�‘èõäXžmbº”O]æj««¨ò¤‘•‘ã3É4C’ÙJúhHښ¦]M´M:ãç¼$2Ã.|ÇfLèÉñ‰u—ò"""fŠ¡‰Ž‰`�EC’LÆÒN¤YIÙf§~B:û÷ùñV–QÓ‘¢³�öÉXÇû±ý%­mÒ™!ÆVñà ‚R1È¥D$"""Q8NDò‹.$"‰6Á„g}Î; ÉÞÚ¿LÄŠc3ch $"‘öÉû)JD"”fÚDDD¢p1³l½�`bsM|$˜ˆu އv¥ëM{þôf;‰dÄèbþÖDúm"""Q8s6HS“±´}½ž`bß{†c¥SÃ’H¸¼£[{ÎÍ_üÂù‰dä<º5L2m"""Q0 —ò_S%˜ˆ9šÉ‰mÈ.å?3"""6tˆ ÓÅ|šT‚‰˜¥™œØ¦ñ‘�L‰HDDD¢pìx€u1‰Ä6ïŒÇ¢D$1ëhÞHV" 4Ó&""…ξùüÛ·+ÁDél,¥ïi|d ÓL›ˆˆHŽ…Sþÿ\3mq¯§gÚ¾ûèþeFƒ¡ýý‚�Ö}þ‚�ð7éAL1Ãσá×@㹉ƒBÑ‹‰Ð±Mþ&6…� µ… „ö53Ÿ|x†ËÓ‡¶{ÞÐóб¡ãBÇûO50dDbk_íBmï#®¹Þs‚áW¥„ßGho5Só±Á ï{òéËIh~áv`xÿá¾#¯çÔò_3ò'ÿ¢™6�´‰ˆˆDáböi“ØÖÓû´ýóâ3ü¿;…ƒžP°”@‚AZ‚³Ð#!¼‘t­m�'44áãš›<¨9h ` Ò°%ÄD€ÓÇÎ’’š~Ýx5?o-o"@ã?‰Ãµ½¶pÛ¶×>g0Hƒ×ÇPËðÖÀ0hs-ç>>Á�Ñ¡ .!üZÞ �–±ÍÏ"¼Õ­+çògþCA› H ÚDDD¢ 5mýGOδyŽ6±üÙ³¬Ñš¶KväŽï1âþ¯2ü¾iƪ¨)h“X§5m"""QÐ7ŸýGOŽå�$Sø6@¹d‰ƒI°\f,´‰ˆˆD¡em�Ä=�clÓøÈ@¦Û#EDD¢pôx€;ÜJ„ˆÄ ¡d„A„Ö!µ$YhIÂ`¬o›¸¡©)ÈàPƱ�Î2æªÄˆ¾ÂÉ‚AΜG ¡1”&â\Íÿ6Õ7b2ˆ¦³ç0J*Óæø �ús$ . •µ<;ë'aH(CjëÏ!TïýÖã¤ü🵦M$m"""Q8Ú~® -îyg<Æ� Ú\^ÏéS�$À `1›Âÿ0˜•'Ãm�®OH üCÿ›¡cšËšÛ› �@¸.²m¸M¡óƒ¡[Îq ç6ž·MßALM�˜M�` Ó\~ Á ¦ ¦@fBçmyOH6a6�)²ŒPS}=£~ö�‚6�´‰ˆˆDA3mýGOδIlSÐ&±®ý9sé­³é?4–"«´‰ˆˆDA·«ôK‰Uº=RDD$ ÇŽXòt=KÿmHh¦æ¼„¡‚ú³† ‰¨;¯]³P…‰ õg ª=ç08œ ¢M‚†`d" 8[×È�a &ZÎÓzÂP’‡ðë`k�ÿL#IÛD9wæ‰ÃCÉ$šÏÕ||Û'Hã?ƒ‡%¶[z¯­ïËÈ4ž>Ë Iáç ¡çÁày¡Të{ ½ßȲ¦Óõ˜G$E6�hÓÚ¾Usß¡O,úþñÝ9éöH‰u ÚDDD¢pôx€ïý¸Žúº¦P‚$lI°` †ž™BÏM-õá†×mÛ„9A̦¶mZŸNÜ`è'œ$Â$âu¨žp¿­íƒ¡>ZÎ ¡¹ßpðê+²ÿP¿ 1‚$˜šëÃçkN ÑÒóÏ„ˆŸM¨ž@�Sèú„’U´×’ð"Íç�¸þP@ÀÔ Á ÐÂç¢y‡2Vµ:{Œê½üÆr ¾¾žC‡qöìYc•H·PÐ&""""Úg>ó¦M›ÆÖ­[�U­Ž¿ƒs—Ÿ±غu+“'OfÒ¤IÆ*‘na ƒAc¡ˆˆˆˆÈ@³yófÉËË3VuhïÞ½TWW3gÎc•H·ÑL›ˆˆˆˆp×]wñî»ïòÎ;ï«Úuüøq¶lÙÂ]wÝe¬éV ÚDDDDD€Áƒ“——Ç–-[¨¯¯7VŸgË–-ÜqÇ\uÕUÆ*‘n¥ MDDDD$ìšk®áÆodË–-ƪ6vî܉ÙlfòäÉÆ*‘n§ MDDDD$—¾ô%Nœ8ÁÞ½{�U|øá‡ìÚµë¢Ö¾‰DCA›ˆˆˆˆˆÁ]wÝÅ–-[¨­­5Vµ¬c9r¤±J¤G(h1¸êª«¸ãŽ;ÎÛà�7Þ`ôèÑL˜0¡M¹HORÐ&""""ÒŽÉ“'c6›Ù¹s'ï¼óÿøÇ?º�-ÒGEe�±Pä’)héÀ]wÝÅ®]»x÷ÝwÙºu+wÝu‰‰‰ÆfmÔ¼^ŽËã5‹\2m"""""¸ì²Ë¸ë®»xæ™g¸þúë¹æškŒMΓ1u&ÙZî&ÝÈ ƒÆBiuúôiFŒa,î�k»‹œ;rŒÅ"—DA›ˆˆˆˆˆH Óí‘""""""1LA›ˆˆˆˆˆH SÐ&"""""ô‰ˆˆˆˆˆÄ0m""""""1LA›ˆˆˆˆˆH SÐ&"""""Ãþн.WÈ�IEND®B`‚alainm23-planify-69962f8/docs/image16.png000066400000000000000000001730001517337276100177630ustar00rootroot00000000000000‰PNG  IHDR#ªï–rsRGB®ÎégAMA±� üa pHYsÃÃÇo¨dõ•IDATx^ìý|Tå�ÿÿ?CH"É Ø†V‹Øm¥Ö”výEXµºš¼�k-©ö­Ä›¡Ý6a¶ÖÄß-Q» %Ùv%½è®$lý¿‰®J-Q©}/Úâ/ˆ‚⇠´0?�DÂ÷�™s8s23$�“É$�ûí67’ëœóšsfÂ\×\¯s]WZ0<*‡Œ² $’ÀQ$#€£HFG¥×ÔÔÜgü …´oß>¥§§+###zÏ@üĈŸñ#~bÄOŒø‰?1â'FüĈŸñ#~bÄOŒø‰?1â'FüĈŸñ#~bÄO,ÙñÍdDOO�ÚÛÛuàÀåææ*--;ÿ #~bÄOŒø‰?1â'FüĈŸñ#~bÄOŒø‰?1â'FüĈŸñ#~bÄOŒø‰?1â'6â3Mp”92"--M999ÊÈÈP^^ž233íûžâ'FüĈŸñ#~bÄOŒø‰?1â'FüĈŸñ#~bÄOŒø‰?1â'FüĈŸñ#~bC!~Z0â'FüĈŸØp‹Ö´/)ôI&mB8AC¹ÿÇLF(2ŒâÀ�7nœ²³³£v±â÷�V`__6`�¹ÆwË=¡[Šóù<�ˆŸñ#~bÃ%þ)i“Ôu ‡6!  ¡Ôÿ•ŒlŸìÎÔ§FÛ‹ƒd̸Ïtêä.{1 *Ú„àœ¡Òÿ3pã0úéà¾t@²:0ZþÎL{1 ڄଡÒÿ“”dÄ¡£ü˜/�0ö�VW0)Õ€Ž6! Ž¡Ðÿ“”gçK' -þ}ö"pmB<ÉîÿôdÄ‘î4u:èO H +”®žn�0xhÀàJvÿÏ äK' M‡Céö"p mB|Éìÿôo�Ÿô§ôÁ‘$fÆŒ<´ `ð%³ÿ‡o�ÀQ$#€£HFG‘ŒŽ"E28ŠdpÉà(’ÀQ$#€£HFG‘ŒŽ"•Œ…Bòù| …BÖâ …ìÅ€! 8úùïtýBüøˆŸñs:>`ð$³ÿÇLFôôôhçÎ�êèèÐÎ�;ÕÓÓ½çI2âûý~û&Àà÷ûýüwº~!~lÄOŒø‰90¸’ÙÿÃ4MÀQiÁ`ð¨ñK(Ò�4nÜ8eggGï9B¡�v¦ëè¡ÏÙ7’,mÌ';ñˆcŸÿN×/Ä��ø‰?1§âöeÈ¿7Ã^ pP2û¢’ƒ�/ž04¹'tË5¾Û^ Ž Mƒ/™ý?LÓE28ŠdpÔ°]3"<¨@ð ½8¦¼‰§Ù‹p’::?’$¹rÆÊ•3Ö¾À”Ì9ŒÆ5 W¤Š/N=6JvÏÞÞm™öoEµûJoüŠn]T¬õÍ�'l+mÙºIw?t«Ù¾*½ñ+1Û|ÇÓÑù‘n½½Xó¾w±n½½¸×smV{;.V»lËÖMQíÝŽÎ�¢Ž5®+ž@ð V­}4굈÷\`E2ÂfOçGÚÓù‘ÞÛù–n¿çzýùÍ?ØwQûŽ·tëíÅúïçµÇòÅëÏ[ÿ Ÿýû"Í[pq¯/dÁÐA3öóštÏ÷êÏoþAÁPøË¤q¬õËŸqŒ±�,çgÿ¢¼¾ùqÝ~ÏõzáwëÍs †êµ?þ�~öï‹´êÉG£öWÔµ¾©Ûîž«ÿ~®Ñ|®={?Ò ¿[¯Ûî™Ûë ¯$=T¿H?û÷ÅQ¯ÏŸ·þA‹Š¹£¤k[gÒ„èE¬×7?®ŠEÑí¾`è ÞÛñ–~¹ò�˜ÉIZµöQÝ~Ïõzí�ÿc¶¯‚¡ƒf›/VÛ,–@ð î~èV½·ó-ƒuG岨Q½ÆóXÛ•F;î;ß»8æóXÛ»·Þ^u¬q]±n| ê¶»çê?×ý<êµxáwëuÛÝÜ” 1’qü¢ñ~¹rÆê¦¹·éŽÊ¥ºiîmRäδÛîž«`è \9cõƒò{´æ±×ô«e­ºòÒÙRä àÃÿÞû œá�èÊKgë'?þ•}àI}ûê[Ìmÿ¹îçæÚ+/-Ó£ð¤~0ÿ^³lËÖMúåÊ$IùS¿¬Gò¤Ö<öZÔ±ÿùäÏãÞåößÏ5*-MúAù=zô�'uGåRåM oÇ[úïç¢�[µöQýÏïÂwôåOý²~òã_éWËZõ“ÿJ®œ±1¿¼ Eí;ÞÒ¯Ÿü¹$é¼é(ß2J¢£ó#³�•7ñ4³�õ«e­ºiN¸m¸gïG½ÚJÏohÒ® ÇÌ›xš~òã_™m3£�õŸOþü¸ f�ÿïí ßèqG岨ó[ßü¸ù<çM¿ ª h}ž-1n®Q¤½ë™>?{ð…ß­ïuÜ/ï7Ïå¼é˜mÀ;*—*--ÜÆ€xÒ‚ÁàQ{¡“û2äß›a/p×/Ò ‘skg¾ÝÅ¥fžÿ�Rä §1SÞÄÓôˆå‹œÁ÷7�½Ökû/ï×?žV鑟<©óι@’ôë'5¿è^yélÝQ¹,ê¸_¯}T¿Ž|™üÉ�¥‹ÿ>|N²»á·˜å†y .Öž½)oâijXÖÚk ŒÛîž«?¿ù¹rÆêÙÿú«Y~ÙuS¤8×ÚÑù‘*n/V tP_�~�}àI)ò¥øÖÛ‹ã>_ xP‹ŠÍ;ãî¨\ª+/-3·ºÜºåßm/G …6aGçGæ(Ï+/�­”ßÕ®i�Ü”±gïGúÑ—õj÷m¬¼‰§é7�½f–[Ûfö6–µ­dmcYÏÓhïÝýЭz-’°¸ã‡ËtåeÇÎßÚ&‹Õ¶Œ÷<[¶nÒí÷\/EÚ€Öóoÿƒn¿g®$éÛW—ëåá`¬íä‹ÿþõ“ÿ*ê8kÛQ’ýÉ“új¤ `èHfÿψñÂïÖÇ}¼·óMûîRä ©ý §$½öFø áÅÿ�1·ß4÷6¹²Ã_b_ØÐdß,IQ#! W^v¬Ã¾£sWÔ¶DÚw¼iNÙdÿm0Fuâ,ÊøÕs.èu-yO3çO¶NEµeë&óùnš{[¯çsåŒÕ·ÿOyTÀP`o‰ˆ/žñe}õœ {µkò§~YwT.ë•P0Ø÷WŒ¶’ý8WÎXýè‡ËtGåRÍŽÑ&4â} ŒÅú%.oâéQÛ¬ŒNüX_úš59ðË•ègõ‹{=~éÐü½ñ¾pºrÆÙ‹’îÊKˢ߾ú=ðã_éå÷HqÖزu“n»{®®ùîWtÏCúYýbýúÉŸë…ß­�Ù™oܸ¢m¥ã1J0bÖÚδ·ýŒ‡±ž„"×v2Œ`b]³Á¾ø7X�ˆd„Áö"“ñå0Ñ—µ�bL ¥ÈPû›æþKÂÇψ=äD F²Àiß¾úóncÝE¢¾ýžë͵·fþý?êÛW—ëŽÊ¥úÕ²ÖãÞÔr¢m¥¼‰§E�Ïúæè‰•+gl¯ö^¬ÇÉ& £] `x#ÑÖѱÖ^0wŽÅšæh M²<Ç•—–馹·%|œèzë5ÃõíâÝÁ0TÅZ'῟k4·5,k�Œ¢¸WW^ZfNËi×—¶Òñ<òÀ“úÉ�eÆúåÊzµ=ó#S@‚õí«oéÕæ³?N¶]j}}â%Y¬ST€Ɉ~È›xšÙ™ÿjd!k»ŽÎ�Ì©“âÍ<�Λ~¡ùók<¶° UGçGzõ�/¨}Gïõ"úËzMñè¶ÞQ� ¶l ¯Á``´é®¼tvÌÎ|kâÂpñß_iþ¯­ôï�߯yß»Xw?t«}“isºrÆê�;~eŽ‚½û¡[£’_´¬{¯]Ú¾ã-mysSÜäAXoh±OeeXIÞ@,$#úéÊKgK‘ywa[‹¡£ó#Ýv÷\ó÷o_}KÔö�°Å¶(¶+g¬yN¿~òçz~Ct" <¨»ºU÷×Ïþ}‘n»g®yNó\lÞÕ7Pçôƒò{Í/£¿\ù€ù|·Ý=W?û÷Efr@j Ž~þ;]¿?>â'FüÄœŽ?˜.»nJ¯Çí÷\¯×þY�7ñ4Ý4÷6sÿ+/ ·iþ¼õš·àbýúÉGõë'ÕmwÏÕ®ûyÜd•ˢ¦X²¶•n¿çz)ÆsÅóí«o1ÛV¯ýñ¢’F›,<¨ï|ïâ¨6 ½]z²\9cõÏå÷J‘›]*›Ï7ï{ë?×ýü¸khH¾döÿ˜ÉˆžžíܹSÚ¹s§zzz¢÷¿ßïèç¿Óõ ñc#~bÄOÌéøC…1Ò´aYkÔ�7][T›ï×Oþ\¿~òçúó›ÐMso‹Ûùž7ñ4=òÀ“1ÛJŠ´¥¬Û�ÇzãÉ/W>`ŽÔÈŸúe5ÿ�®_ˆñ#~bNŬdà˜döÿD%#_<`hrOè–k|·½A›_2ûn@ $#€£HFG‘ŒŽ"E28ŠdpÉà(’ÀQ$#€£HFG‘ŒŽ"E28ŠdpÉà(’ÀQ$#€£HFGE%#B¡�|>ŸB¡�µxÀ„B!{1`Ž~þ;]¿?>â'FüÄœŽ<Éìÿ1“===Ú¹s§:::´sçNõôôDïy’Œø~¿ß¾ 0øý~G?ÿ�®_ˆñ#~bNÇ ®döÿ0MpTZ0`ð$³ÿÇLFôôôhçÎ�êèèÐÎ�;ÕÓÓ½çI2âûý~û&Àà÷ûýüwº~!~lÄOŒø‰90¸’Ùÿ“ �;¿óÎ;:|ø°²²²töÙgkÔ¨�›ÅɈŸqd¢\£¿`ßœÒzÒ¤€KêÊ”º3¤£iö= iG¥Œné”OÃ�ÑGì{¤¶Àgª;½Ó±Ï§ëâÇFüĈŸ˜“ñû2äß›a/8(™ý?f2B‘aиqã”��µã@…B:Ø™®£‡>gß”²9’ßM‰\iì0ì•6æ��xıϧëâÇGüĈŸ˜SñIFÀàKfÿOT2b0 §/žŸœ*c/0’Œ9$}îoöÒÔäžÐ-×øn{18b8µ  U$³ÿgàÆaŒ0G"@øsàÀX{)+FFœ€Ðéo§ÚKŒd¹û¥¬.{ijIffÀÈ3Ú„±ô¤…×c1`ø2ÖKõ¶€C] ý®OfÿɈÐ9Aúl´½ÀH–Ù%�ßo/M-ɬŒŒ<áMhÕ“&\R0‡Ž `¤H;*�ò©äöK£�Ø·n¨ë�‘g¸ÖõÉìÿaš¦~ú,�D€Þº2¥#éöRÀHЕ!í�î  s9ަ…§ìÜŸ+uóÖ¨ë�‘‰º~à‘Œè§îás€v8Ó^îº2Â_NHH#בt:)€áŒºuýÀ!ÑOŒŠ�SY>K—>ùwH�zFIžÏ`¸¡®` ®$#€àw“ˆpÌ‘t)�c/�ʨëXQן<’À øô{ €‘Ž…m�á…º€uýÉ!ôÓáL¾„è­gTx~y©�º@,Ôõ'‡dÐOÝ|ë Ãu=€x¨ëOÉ Ÿ¸S@<=|ˆêzñPן8^:à(’ÀQ$#€£HFG‘ŒŽ"E28ŠdpTT2" Éçó) Y‹L(R °†€@ àèç¿Óõ ñã#~bÄOÌéø€Á“Ìþ3ÑÓÓ£�;wª££C;wîTOOOôž'Ɉï÷ûí›C€ßïwôóßéú…ø±?1â'æt|ÀàJfÿÓ4G¥ƒÁ£Æ/¡PHиqã”��½ç…B:Ø™®£‡>gß”2ü.Éï¶—€äöK.mÌ';ñˆcŸÿN×/Ä�o8Ç÷ù|Z·n�Ün·ÊËË£¶õU¢ø�ø±öeÈ¿7Ã^œ2hˆ'Õۄ¨ëÄ“êu}2û¢’ƒ�/ž†«T¯ŒÜºåßm/Æ06{ölutt¨°°PõõõöÍ)aÉ’%jmm•$UUUiΜ9’¤ÆÆF566J’Ö¯_¯¼¼¼¨ã�|´  W©Þ&F] žT¯ë“ÙÿÃ4M ey<óg·›o‹ U$#@Ê*//Wmm­êëëU\\lß †’ ¥Íš5K………öb0„°fD?1g €x˜3ÉëõjãÆ�êèèP �ËåÒ¬Y³zÝýï÷ûÍõfΜ©Y³fEmWdý„ŽŽåçç›k*(Æš^¯W­­­òù|qŸÏÊï÷«µµU^¯W�@ø�???_sçÎM¸FÃÆ�õꫯÊçóI Ž1ÎG’*++ÕÑÑ¡¦¦&ù|>ª¼¼¼×>ÆTMö5#rrrÔÔÔ$¯×+%xN+ûõ¯IaaaÂãÐ7Õ&Ÿî¼óNµ··G•ìçßÒÒ¢ÚÚZIR}}½î¼óNóùJJJT]]µ�u¡jk2¢¾¾^K–,QGG‡Û`NÃöíÛUYYóú<�*++c&~ÐwÑ&ì8ð¦> í0ÏH£)¹JB‚6!€xR½M Œº@<©^×'³ÿ‡išBÖ­[g&" ÍõŒ„ƒÏçÓ’%KlG�œŽŽ566ª°°PUUUªªªRQQ‘y¾ÊÊJùý~sã�€<�ªªªT__¯êêjååå)hùò彎©¬¬4EEEª®®VUUUTaݺuæ1VwÞy§IB”••õkZ&#‰QVV¦êêjËårI‘ç4FKŒs5FC”——G�«ÏçSuuµ¶oßu×§Ý¢’Ô}ä�>Ø¿IÝGBQå€ä#ÀÒÒÒ"Eõõõæ´@ .Tyy¹òòòÌŽô�âóùTRR¢úúzÍ™3GsæÌу>•ijj2÷okk36Ž),,4cäåå)///jĺuëÌ‘ UUUzðÁURR¢9sæhåÊ•ÊÏÏ—"É�XÜn·V­Z¥êê꘣.1Ž]¸p¡JJJTSS£•+WF%$¬jkkÍD˪U«T^^nž«u”H]]]Ôq\ŸvKvY‘�€¡‰dCH¬i� åååZ¿~½|ðAû¦“kª¢… šööÑëèE¦0Z¿~½V­Z5zÁH`F­[¡H² ¦¦F%%%š5kV¯˜ŠœŸ}ª¨¾Šu¬Çã1ÏÃëõš£|>Ÿy­}9.Ö¹bp¸O™d/2‘�€¡‡dCˆ1=’×ëÕÍ7߬ÖÖÖ˜k ¤D 2[ÏÇPPP`þ\]]­uëÖÅMV(²þ‚q F<»‚‚UWW«ººÚ\„Ú*Þùõ…1êÂΚ,1FqX§^ÊÉÉ‘×ëíõ°ŽL‰·þœ—>*CãÝÓìÅ&0´�Œ`±Þ�ßÞÞ®%K–höìÙ*++SmmmÂNÿ•hÚ'�Çcþl$ Í‘>ŸOuuuª¬¬ÔÌ™3UYYÙkñmëhk"c°Ä{Nk‚ÃçóI¶äBuuµ*++{=Œ³eyM�\ÓHH@Š Àâv»µ~ýzUWW«°°ÐLø|>µ´´¨²²²×'+ÖH„ã)//WSS“Š‹‹£Fx½^-Y²Deee1§0ŠU6T÷q2#600HH@j Àd,ýüóÏkåÊ•ª®®6;¾t„ĶmÛìE&ë´EöŽw�Ç£šš­ZµJ­­­ª¯¯7§a².zm=.# â=§µÜH¨Xϵ¦¦Fõõõ Ö©ž�<$$`è#ÀÓÑÑ5‚   @%%%ªªªŠÚGq¦Q²².ÈO{{{Ü F2¾î‚ßï�z>·Û­ÂÂB=øàƒ½½öxŸOü±¼^¯{ì1óùþéŸþI³fÍ2�Cÿ8Õ&ÌÉ̕ҤP×~û&IRÏÑÏäÿ´CîSò”>*þ¹Ïhˆ'Õۄ¨ëÄ“êu}2ûÒ‚ÁàQ{¡“û2äß{â_ü’Íï’ü{Ã&€aÂí—ÜÇn\O9î Ýr�ï¶c�ù|>UVVƼ#_‘Ä@}}}ÔÚ~¿_•••joo�Ú×år©ººZMMMòz½*,,T}}½¹}öìÙêèèPII‰òóócŽ¢ˆõ|ŠŒš°�p0¸\.•——›£! Ç»¶òòr•——›¿·´´˜#6â­Ï`ÝgýúõQëjç×ÔÔ÷y«ªªz�§"£Lêêêb#IÅÅŪ©©±£œnî lÓ>üõP2ÒÇhJî…ÊH϶oêÚ„âIõ6!€0êzñ¤z]ŸÌþ’ýDe *# ¤––sô�"I�üü|Ç�ƨ¥¥E[¶l‘"S7•””(//O---êèè�ÇãQqq±¹¿udĬY³´}ûv566*Èår©°°0áóù|>­[·ÎL‚¸\.¨¬¬,î1²]›ËåR^^žfÍšÕ+Ù`aOˆØ÷±>¯udDyyyÔ¹Ï9wîܘ1 Æz}9Wôß`´ �LHÐ&Oª· „Q׈'Õëúdöÿ�Œè'*#ñP@ß V›Ð©„mBñ¤z›@u=€xR½®Ofÿ X`ØbQk¢’¡PH>ŸO¡�3_ÆB¡�9Ý`h Ž~þ;]¿?>â'FüÄœŽ?HH@X2ûÌdDOO�vîÜ©ŽŽíܹS==»¢¶ßï÷Û7†¿ßïèç¿Óõ ñc#~bÄOÌéøƒ‰„$·ÿ‡iš0"��€ä‰ZÀ: éÀ�7nœ²³û·ˆ__„B!ìL×ÑCŸ³oJ,` žT_À(mÌ';ñˆcŸÿN×/Ä��ø‰ …øŸ|ò‰þö·¿Ù‹û¤»»[‡VVV–22~Ah§âŽRW(Ý^<(ú(a¡/‹ZÓ&Oª· „Q׈'ÕëúdöÿD%#C`_†ü{î‹ì`£2OªWFî Ýr�ï¶pØ[o½¥ŽŽ{1’,#}ŒÎœð•6Ú¾I¢M �To£®Oª×õÉìÿaš&€$Ù»w/‰ˆ!ªûÈ!íõo³N##ú‰Ì8€xŽ—Þ¯P×~{ñ�‘™}DY9½Âñ¹\.M˜0Á^ ׎;´cÇ{1†ˆìÌ\MɽÐ^,Ñ&�ÀñÚ„Ru=€xR½®OæÈ’ýDe žD•Ñî¿ýYí²c9õÔSõµ¯}Í^ $ôÉ'ŸÈëõÚ‹1DŒsº&ŸúU{±D›@‰Ú„Ru=€xR½®Of2‚išÀau�ˆþö·¿iïÞ½öb ¡Ï}îsÊË˳cÈHÏÖ÷4{1à12¢ŸÈŒˆ'^f|¯›ö˜w|$˜:uª¦N�j/ŽkïÞ½ b|€ c‡ƒ£ÔJ·Š‡v©ûÈ!{±)#=[Sr/TFúû&mBñÄkH-ÔõâIõº>™##HFô•€xâUFÁ®ýúpÿ&{1†¡/ùËÜåôQ²Ú„ÇK÷%!Ú„ˆ×&�Z¨ëÄ“êu}2“LÓËÉÌÕ¸1§Û‹1Ìœzê©$"€!n €þcdD?‘Ïñ2ãþO;ôi÷A{ñ�‘™}DY9=öbô�ËåÒ„ ìÅì6á@'"hˆçxmB©�º@<©^×'sdɈ~¢2•ôÝ`¶ :!Ú„Hõ6!€0êzñ¤z]ŸÌþ¦iÀ°åD"Ð$#0,‘ˆ€¡ƒdHª––Íœ9S3gÎTGG‡}3pBHDÀÐB2€$Z¾|¹*++µ|ùrû&œ íÛ·«²²R•••Ú¸q£}3F0ô�Œ ‰ÚÛÛåõzÕÞÞnß„äõzåõz í›1Ì‘ˆ€¡‰d†0t¥ƒÁ£öB'öeÈ¿7Ã^œ2ü.Éï¶—€äöK4u¸'tË5¾Û^ ‡´´´hË–-úÓŸþ¤ŽŽ¹\.Íš5K’4sæLógƒßïWSS“¶oß®@ `î_XX¨¼¼¼¨}Y¾|¹‚Á òóó5gÎûfmܸQ¯¾úª$©ººÚ,ollTGG‡ U\\,¯×«ÖÖVù|>IRIIÉqÏ%Ö1ÅÅÅjiiQmm­$iýúõ½bøý~µ¶¶ª½½Ý<6??_sçÎ�Ú×ï÷«¾¾^~¿_mmm’¤ÂÂBy<Év=û9ÅŠkçõzµqãFs4‹ñ^ÛwEÝ&ìDmBñ¤z›@u=€xR½®OfÿɈ~¢2•úcÉ’%jmmµK’ÊËËU^^nþ¾nÝ:566*èýæñxT]]­ÂÂBû¦˜fÏžm&êëëí›ÕØØ¨ÆÆFI2“’TYY)¯×«’’åçç«®®ÎrT˜ÇãQ}}}¯Ž|¿ß¯êêjy½Þ¨rEç�w^ÜdDkk«–/_óÚe{­|>ŸÊÊÊ컘¬×ãóùT[[óœ$©¬¬L .´ëÎ;ï4vùùùª¯¯—ÛMC¡/²M8؉Ñ&�@ª· „Q׈'Õëúdöÿ¤×ÔÔÜg/tRW(]]¡t{qÊèÊ”º²ì¥ eu…©*+§G™Ù=öb8hÊ”)òù| òx<š3gŽ £îæoiiÑÒ¥KÕÕÕeîS\\,—Ë¥ŽŽ}üñÇjkkÓù矯ÜÜ\ûSô²nÝ:óùJJJì›Íµéè7´¶¶ª££CG�Ukk« 5gÎ�þùúüç?¯öövµµµ©¸¸XYYÇ*ËÇ{L/¿ü²é°¿ñÆÍãŒQ ü±$iΜ9r¹\R$aPYY©®®.¹\.Ýxã�*++Ó9眣>øÀ\Âúzeee)//ϵPTT¤Ë/¿Ü|] •••zë­·¤HB¤¬¬L………ÊÌÌÔ‡~hn³³|ùr3�TRR¢ùóçëÚk¯•"k|üñÇêêêÒ\`ƒøªM˜ŒD„hH Õۄ¨ëÄ“êu}2ûHFô•€x¨ŒÐS¦LQaa¡ÚÚÚÔÑÑ¡‚‚ÕÔÔDu¬+r'¾‘<¨¯¯WQQ‘ 4kÖ,}ó›ßTkk«�€>üðØÉ»“MF|üñÇ***Ò²eËtÎ9çèœsÎ1§”òz½ ÊÊÊ2;ñ}>Ÿî»/ÜÔ0F|ík_3�s¹\Q#D¬Éˆ¶¶6ù|>eee©¡¡AEEEš2eŠÎ9çë™gžQWW—ÒÒÒTTTd>¯Ûí6c~÷»ß5“<†––=óÌ3’¤šš•——«  @çœsŽ.¿ürùý~½õÖ[òz½*++3+�=ö˜yý÷ß¿¦L™"�Çc^¿ÏçÓøñãUTTd>âˆ6a²¢M �To£®Oª×õÉìÿ‰ZÀ: Éçó) Y‹L(Š;Í ¹�€£ŸÿN×/©¿§§G¡P¨Wü�7ª££CŠ$ìÓ#%Ilß¾=j»a Ïß>}Q(Rqq±²³³¥Hâ°nÝ:óçššš^SÙV%%%Zµj•~ñ‹_èèÑ£Qçïv»Í×ÃXŒs***Rqqq¯×§¼¼ÜLˆX¯Åx/bµeÊË˵~ýú˜ëRØã´T�¢º�„’–ˆ€T•Ìþ3ÑÓÓ£�;wª££C;wîTOÏÀfGŒø~¿ß¾ 0øý~G?ÿ�®_R5þÑ£GÕÕÕ¥P(Ô+¾u=ƒ™3gš?[Y;ò�©‰¬ìçôèÉ-•ŸŸ•±ÆÿÆ7¾!E’F}oœ“ÇãQAA�yœU~~¾½ÈÔÓÓ£}ûö©££Co½õ–vïÞ­�7ª±±1æõ�ßï7�ËËËÓæÍ›õüóÏë÷¿ÿ½žþymÞ¼9*®õgãü½^¯jkk£’EñØ_ÿ�þûIõø'ãP×A{‘‰DÄ–ÌþŸ¨‘`è0:º=O¯kb ¿#ND¼ó�¤ñãÇ›?ƒA)ÒÈ‘í<íâ%)éø_½zµ~ô£é{ßûžæÌ™£êêjs‘íþ²ŽjhjjÒÂ… U[[«Ÿýìgª­­ÕÂ… UYYsôCuuµy---ª®®ÖìÙ³UVV¦ÚÚÚã&&0°2GÇN4�ˆ€¡ÉLFŒ5Jgœq†òòòtÆghÔ¨�ÍSñub’Çív;úùïtý’ªñÓÒÒ”™™©ììì^ñ�©‚9Þ>öóOKK³ïrR¬ñ'L˜`ß³S¿¯6nܨ… êw¿û�<¨ÓO?]EEE*))QUUUÂ}‘——§ÂÂB}ã߈ú×ú°>‡Çã1§b*,,ŒZh»¥¥E³gÏî•$±¿þý÷“êñOÆ)ã4nÌéQe$" ±döÿD•dggËãñ˜s>´ìììãvš’Ãår9úùïtý’ÊñG�¥ììì^ñ­�Ýñ¦9´N#¯ŽÈó�u÷¿ÿƒ>0Ërrr$˨‡xëY(NLIª««“$ýÝßý�{ì1=õÔSzðÁU]]­9sæœÐ Ö×hΜ9ª¯¯×üÇèñÇ×üǨ¾¾>êa¬ÉaURR¢úúz=ÿüóZ¹r¥ª««Í¸���½Þ«�|ýcIõø'cò©_ÕäSÏÓçsÎÔ¤±çèÌ ³HD@Éìÿé�žC‚uú¢xë#´´´˜?Ç[ÚÊãñH ’Öu*bñù|Ç=6??ßLÓ�¸±­×`ðù|f’¢¬¬,æµ�È´TÖ…¯ÛÚÚì›Mñ$QɆ‚‚s¤†!Þ{gŒsš&�ý²>Ÿ3U£ÒFÛ7†’$‘qG}¬þ¢¢"s{¬5 |>ŸÙ¡žŸŸŸpíƒ59`ŸR¨±±1nÂÀʱ`ÕØØhž_II‰Y>kÖ,óçåË—÷5`=ÎÊ:‚!ÖTOëÖ­‹yœlÇÆJXççõzÕÚÚjßlN¹tÕUW™¯ÇöíÛuÕUWiöìÙjjj²óÀ1é555÷Ù �ÔJWW(Ý^œ2º2¥®,{)HY]áGªÊÊéQfv�½ûðÃåõzÕÕÕ¥�7ê­·ÞR^^žrss•••¥ÏþójkkS 0ÿ5Ö(Xºt©Ù ÞÐÐwš&+·ÛmvÀ{½^y½^mÙ²EK–,Ño¼¡üü|}üñÇ’¤òòró¸ÖÖVuttÈãñÈçóé™gžQ ÐöíÛõØc�™1=�¾ÿýï›çâñxä÷ûõÖ[oéã�?Ö† zg}Î9sæÈår)++K^¯Wòz½òûýÊÊÊÒöíÛõÄOhõêÕæ¹y<ž¨Hff¦žyæuuuÉëõjûöízóÍ7uÁH‘ÄÍo¼¡�?þXmmmæh‡íÛ·«¥¥E+V¬�$åææšç“››«§Ÿ~ÚáÑÑÑ¡£G�êƒ>ÐÓO?­•+Wšçb%�øh®R½M Œº@<©^×'³ÿ'- µ:)°/Cþ½öâ”áwIþþOQ `pû%w ßížÐ-×øn{1æ÷û5þü¨»üËÊÊ´páBó÷ÆÆÆ^£ .—K>ø`ÌiŒâ‰ÏH>Û^}õUs[ee¥¼^¯ UTTst„ÇãQ}}½9úÂà÷ûU[[sZ¤ââbª¶¶V’´~ýzóxŸÏ§ÊÊʘ# ÊËËÍdJaa¡êë룶¯[·®×9¶¶¶šÓGù|>Ýyç�q§TŠu-‰ÎG‘$ÇC=ÔëúmBÃUª· „Q׈'Õëúdöÿ�Œè'*#ñPáDùý~µµµiË–-’¤™3gFMo¤HGxkk«9m�ËåRaa¡Š‹‹Oh!g¯×«�7* *''G³fÍRaa¡ÙÁ/ÛÈk2¢¾¾^>ŸÏœb©¯çÒÒÒbŽîp¹\š5k–Š‹‹µ}ûv3QQVV#ÖuÏ™3G………jii1Gk›ÇX�]·n�y�ååå½ÎoãÆ�òz½fRÂãñ(???áµX¯C‘cb½gHŒ6!€á*Õۄ¨ëÄ“êu}2ûHFô•€x¨Œ0œÙ“ÀÉ¢M`¸Jõ6!€0êzñ¤z]ŸÌþ°Ž"E28Šd8®òòrUWW«¬¬Ì¾ à¸HF€ã*,,TII‰fÍšeßp\$#€£HFG‘ŒŽ"E28ŠdpÉà(’ÀQQɈP($ŸÏ§P(d-0¡PH�@À^ �€£ŸÿN×/Ä��ø‰?1§ãO2ûÌdDOO�vîÜ©ŽŽíܹS===Ñ{ž$#¾ßï·o ~¿ßÑϧëâÇFüĈŸ˜Óñƒ+™ý?LÓ• �¿„B!8p@ãÆ�Svvvôž  é`gºŽúœ}SÊð»$¿Û^ ’Û/¹Sx&º´1ŸhìÄ#Ž}þ;]¿?>â'FüÄœŠØ—!ÿÞ {qÊ M žTo£®Oª×õÉìÿ‰JF ¾x®R½2rOè–k|·½A›Àp•êmBaÔõâIõº>™ý?LÓE28ŠdpÉà(’ÀQ$#€£HFG‘ŒŽ"E28ŠdpÉà(’ÀQ$#€£HFG‘ŒŽ"E28ŠdpTT2" Éçó) Y‹L(R °†€@ àèç¿Óõ ñã#~bÄOÌéø€Á“Ìþ3ÑÓÓ£�;wª££C;wîTOOOôž'Ɉï÷ûí›C€ßïwôóßéú…ø±?1â'æt|ÀàJfÿÓ4G¥ƒÁ£Æ/¡PHиqã”��½ç…B:Ø™®£‡>gß”2ü.Éï¶—€äöK.mÌ';ñˆcŸÿN×/Ä��ø‰?1§âöeÈ¿7Ã^œ2hˆ'Õۄ¨ëÄ“êu}2û¢’ƒ�/ž†«T¯ŒÜºåßm/GÐ&0\¥z›@u=€xR½®OfÿÓ4G‘ŒŽ"E28ŠdpÉà(’ÀQ$#€£HFG‘ŒŽ"E28ŠdpÉà(’ÀQ$#€£HFG‘ŒŽ"•Œ…Bòù| …BÖâ …ìÅ€! 8úùïtýBüøˆŸñs:>`ð$³ÿÇLFôôôhçÎ�êèèÐÎ�;ÕÓÓ½çI2âûý~û&Àà÷ûýüwº~!~lÄOŒø‰90¸’ÙÿÃ4MÀQiÁ`ð¨ñK(Ò�4nÜ8eggGï9B¡�v¦ëè¡ÏÙ7¥ ¿Kò»í¥ ¹ý’;…g¢Kó‰ÆN<âØç¿Óõ ñã#~bÄOÌ©ø�}òïͰ§ Ú„âIõ6!€0êzñ¤z]ŸÌþŸ¨dÄ`à‹'€á*Õ+#÷„n¹ÆwÛ‹À´  W©Þ&F] žT¯ë“ÙÿÃ4MÀQ$#€£HFG‘ŒŽ"E28ŠdpÉà(’ÀQ$#€£HFqBA¿Ö®X¦µ+–)ôÛ7`$#Œ8Ï>Ñ —Ÿ^£—Ÿ^£—žZcß `€‘Œ�rþíG ôo?Z ×_|ξ©OÆOšógÎ  ålûëfmûëfíÛ³Û¾©O.¿vžþùî¥Züð ]tÅÕöÍÉ�RfΜ©™3gª±±Ñ¾ ú¥ð¢KtÖ¹3ìÅ� �Ú �Ø—!ÿÞ {qÊð»$¿Û^ ’Û/¹öÒÔážÐ-×øn{10äÌœ9S’T^^®òòrûæ~[¾|¹ÚÛÛ•ŸŸ¯… Ú7Ã!´ ûîègÝêúx—zRzöXeæžnßeDY¹ì~IÒë/5K’Nÿâ4�>õ,IÒÜïÝ®ì·v½·M/=^âš+tTGõÒÓk´ë½m:ý‹Ótý‚E½öÉ�ä1ŸC‘®_ÿŸçôî_7+ðk|Þd]~í<�~æ4=ûDƒöïñéô/NÓå×΋:N’ÞýËfy7½¢]ïm“"I�‹®¸Z:*=¹âIÒEW\3b?öô/NSá…±“&¯½Ø¬mù“y¯½Ø¬-›~¯PÀ¯Ë¯�§Â‹.±‚A�êmBaƒY×H-©^×'³ÿ'½¦¦æ>{¡“ºBéê ¥Û‹SFW¦Ô•e/)«+üHUY9=ÊÌî±CŽ1"¢°°P………öÍý¶zõjy½^eee©¤¤Ä¾¡MØ7=‡C n{MÝŸøt$ô7}v`�Ž>¤ŒSó컎¿üÉbíz?ÜQ/I?Ù¯]ïoÓ®÷·é’’ÙÊv¹ÕñÑN=Ù°L»ÞߦÓÏ�,LÓÔO ÓÏ`Óë9Ú­O‚»ôYÏ!e�«S³O~ÊŽdÓʶoß®¦¦&)2-P^^ﻑkkk¥ÈôA³fÍ’b—““£¦¦&mß¾]�@@�GÅÅÅ ïì÷ûýjmmU{{»|¾p§X~~¾æÎ�ó<6nܨW_}U999Z¸p¡|>ŸÖ­[§öööã‹×ëUkk«$©²²Rnwtè÷ûU__/Ù®Ý~œ¤¨kïËyø|>µ¶¶Æ<æxÓ4y½^mܸѼn—Ë¥Y³f©¸¸8j¿ÆÆFuttèOú“:::Ìýd»ƒýœâÅ5øý~µ··'|�G2Ú„‰ÅKD²Ïü†2N�d/Qn-w–ÞP¡kn<–œPdª£¥w,�$�Ÿ4Y‹^Ñ«sÞºÏâ‡W˜Ó ­\vŸ^é9)2}“5ñ!IKïX wÿNœuî -~x…$)ðë�~Gû÷øb>ç®÷¶ié  ú%Ióo¿Ï\8ûµ›µê‘ðôS×/X¤oÚ¦~Z»b™^ŽL)ï\/ºâjÍ¿=~²ƒg0Û„pÎÚß6híSáÎû§ÿëí›ûmëÛ›ÍxU÷iâøÁK •ë¿U¡ë¯‹þLC|N×õRWª×õÉìÿ‰ …äóù …¬Å& )Háw †€î#!½¿w£:ýoéãàùüY»ÿögûnýýüwº~q*~ ÐsÏ=§gžyF;vì°o–$µ´´¨¥¥ÅìüVä8£|Û¶mš?¾ÕÖÖ&¯×«––UVVª±±1æùû|>ÍŸ?_uuujii‘×ë•×ëUSS“fÏžsñæöövµ´´èÕW_ÕÆ�5þ|555ióæÍúãÿ¨'Ÿ|R•••Ú¾}»ýИ|>Ÿy Á`оټÆçž{N›7o6Ïßz\{{{¯kOt ’ÔÚÚuÌæÍ›õ›ßüFÿ÷ÿþß„çîóùTYY©ÊÊJ555™¯Y[[›–,Y¢²²2utt˜ûïÃîÝ»ÕÝÝ­ƒÆ|/%iݺu½®#^\YÞ¿ÊÊJ}ÿûßïõþ¤X?Ééøèíx‰IJÏk/Bý%ðndtÂøI“{%"$éæÛïµI‘ä†1š¢ô†ÞkPœþÅiº0’|°{ýÅpBá¬sgôJDHÒ57T(;'Ü#f$B쮹!œX04uîÝ­­ooÖÖ·cÿ`°$³ÿÇLFôôôhçÎ�êèèÐÎ�;ÕÓ3°óFñýþð�@€þë>Òû7©ûHtÕ�C»tø³“›²Ãï÷;úùïtýâdü®®.uwwËçó�PüÆÆF•••©ºº:j„Ecc£V¬XuþF§ºÑÁmWUUu\¼Î|¿ß¯ºº:hþüùú?ÿçÿhìØ±êêê’ÏçÓ’%K쇜”®®.Š›;i²ÞýËæ^�]ïoÓç#É c_«ÜI“{%?€X’ÙÿÚ�"â%" ]qÊ‘|íííª¯¯×Â… URR¢òòrÕ××›�òO=õTÔ]ÆôA’TSSc7gέ_¿Þì(·îgTPP úúzÍŸ?_ßúÖ·ô³ŸýLgŸ}¶9ŸD# R{{»V­Ze^ÃÂ… U__/Wd^÷ÆÆÆ¨N|cÊ+Iª¯¯WUU•ŠŠŠtÍ5רºº:îM >ŸÏ}Y^^®êêj•””hÖ¬Yª©©1^¯×ŒQRR¢ùóçküøñ’¤ñãÇ÷JFøý~3éSTT¤úúzÍ™3G%%%ª©©ÑÊ•+Í„„1-—"‹kïï•W^©ììlsO_Yž¾w®£Œ)”$é gžµÍ*ײصaÿžcëH£ìb-( øÍç}ýÅf-½cȦ‘„°ž#Ðs´[ûïkÏÁ7õ·Ð.ûæ”Q×p¿êî׆�áQBv66«®á~=þDôº)Æqol~EŠL…T×p¿îª] ]7ž•»?ÇHR0ä×Úß6èÁGë®Úº«v�Öþ¶A�{à MÃŽ¶…¯­íXÜÇÿkYÌë1XÏé®Úzü‰e½âÚuîÝ­ÇŸXfžO_Ž`°™ÉˆQ£FéŒ3ÎP^^žÎ8ã �5°y #¾}¾iÀñ/!I§Œ>¹);Ün·£ŸÿN×/NÆÏÌÌTFF†<Ï Å/))QAAAT™Çã1×;øì³ÏôÁ˜çßÖÖ&E:¿c­G`]'¡¥¥%j›ÁØÇúúÜtÓMævû4D'#33ScÇŽ�ùú—””ôZÂãñhΜ9R$qbŒfðù|Q# ¢Îÿë_ÿºn¹å–¨X�Ç£úúz½úê«1ב°Žt°&pF�%·Û­ŒŒ ¹Ýî^çßÖÖfî¿páÂ^ícíE¦—2¸Ýn­_¿^ëׯWMM�£ŸNÿý;Ç�ˆzœèô?ì=e­õyr'ytÖ¹3>NëÇH oNMÝ™ Úšµ¡­Y[߉=…ÑÖw6kC[³ÞØüû¨rã¸lÓÚß6è®Úá8ooÖzEu¿ºO·]³S¾sïnÝv×wT÷«û{c¬íOóókTqÛ5ZûTƒÞøÓ+æôKkŸjPÅí¥j~>¼Æ‹"I ûµ½ñ§Wb^OçÞݪ¸­4Ꜷ¾½YÍ/¬QÅí¥qÏ«ùù5ª¸ý5¿°Æ<ŸæÖè®Ú1¯0²%³ÿ'ª$;;[�DZ»÷²³³Í;!}Ó—DÄ÷4e¤ŸÜ”.—ËÑϧë'ã�5J:å”Sì›úÄXpÙ®¨¨HŠÄß»w¯²³³åõzÍ;üã-|l½ëÞè¼·³&?Œ×gúôéQû ”Q£Fiܸq1_ÿXÉÙÊ�Ĉ5I`}ͬï¯ñšõEGG‡¹.„u:(ûúU£G�VFF†F�U®ÈtKŠ$Œd‰ýaðù|½Fnäåå9þ÷™êñA"b(±ŽhØgé`·¿³÷6ëh cª'»}½�?i²ù¼ç]x‰?¼"áãú‹ì!0ÅkÄÔ�©è�?½¢µO5hú—fè–é–iê”ðgfç¾Ýzpyïÿ7._¬„GY�;Æ%ZûÛp’!– ›õøêe †üš8a²n¹a‘îü—¥ºå†Eš8!<]Úã«��J˜8Þ£ë¿U¡óg\bÆ(½rž®ÿV…J¯<¶FLçÞÝáäÁ>Ÿr²Ý*½ržªn½7*îÚß6D%:$é�ͯèñÕáÖãJ¯œ'¥�y퀑-™ý?½Ó€!#ÞM« îij(³ßMop»ÝfRÁX ÚÚ™mMaåñ„¿”Æš¦i(1ÎÓÎZn\ƒÏw¬ó.Ñk�1¥Ree¥®ºê*Íž=[•••ª­­=á‘ Æqƺ±Öé™b-ô $B"bhÉv¹uÖ¹áu6½ô\ÌÑÖ…ª­Œã$éµ›£¶^)öô/ÆôM±Öƒ0ÄzNŒLÇkŽÄ©;w|°M×_W¡ŸV¯PéUóTzÕ<=úÓߘ�ý;>Ø5ýÒ†�áÑ’tYQiÔqwþËR•^9ÏÜn·ãÃmš8Á£‰&›Ç�?ã’ȱǦ]2¦Žš8a²®¿®BçíØZ2¥W}G×_W¡Ò«Ž%#Ö>Õ Î}áÿç?­^¡[n\¤Ëf•ªôªyjx¤YÓÏƬ}ªAÁбÏ&ëTO�.ù�yÜ-7.ÒO«W020¤�Œ€!êx_4E"bX°ß¥oÿ}$ÈÉɱõ{$¥ßï×üùóÕØØhŽVÈÏÏWII‰ªªªTVVf?¤ß �ûˆu-@<$"ÆþÎ�íh;ïÂðÝË¡€_KïX•x÷/›µò‘û,{sÖ¹3ÌE¤›W7襧�ݽ úµvÅ2mÙûNë /¿ZŠÄö‰ÞÓ°ìzo›~|s©ξ4*.Fž¾´OvêÎT”“íÖõߪ°ëúë*”“¾‘aëǒ„oüéØôH×_—ø8»[n\¤†GšÕðȳš8>ú¦‹©_˜f·ãÃØÉŒx¶¾žÆé²¢RsT‡Õ-ß �p†üf¢dÇÛÌÆeE¥½ÎgâøÉQ£/H6’0õå‹&‰ˆÔoô‚ßï7“F'¶u4D¼ãdAa_�a¨±Žv°². mŒv°& â�dˆϺ¶CYY™ššš´jÕ*UWWkΜ9 G™$b¼¾ÆšÇ{$¹X‘ˆ8y§GÖNxýÅfýâ�ÅZ¹ìþ˜#úëòk癣Œ$À?øŽ~|S©–Þ±@iJ‹»nÃî^fN¹ôäŠeZ8ûR=ðƒïèΛ®ÑËO¯Qa$Ñawñ¥æs6¯nÐÊGî×KO­Ñk/6kíŠeZzÇ)2r#^ }mžìÔ�©hú—Ž�L²ÊÉv›Û¬#:÷†§L›þ¥½:ð9îüÇF2$b$ÞØüŠÖþ6zÔB_Y“ S§L3׊°>‚–Ï7ãZ:÷›úí²¢pRÓ.^9É@2†˜¾~Ñ$1ø¬è†xk6XmܸÑ^$E:Ð Æúyyyf§|¼Å©}>ŸÙYŸŸŸoßìˆmÛzßÝw2×n}-�k·®‘ï¸xÏi”{<ž˜ MŸèˆ#‰áóùb¾ÿŠ$�ìkE‰�ˆóo¿Ïìøß²é½þR³v½×û³êD,~x…¾yí±»‰w½¿Mû;}:ëÜZüðŠ¨µ%¬Nÿâ4Ýý‹Õæ‰PЯ]‘©—®_°(*¦Ý?ß½ÔLH¼þb³žlX¦U�ܯ—Ÿ^£PЯñ“&ëŸï^jÆÆÈBû0±X CNv¸]eM£&Ž?¶Ö‹]¢m[ßÞ¬º†ûuÂKuÂKuÛ]ßу?_w�éã±O»tW킘ûþÖËÄ ±Ï7^9É@2†¾h=ÖÎþ¦¦¦¨Ñ >ŸOK–,1�§­­­W'ºÏçScc£é@7:âÝn·¹¸³×ëUkkkÔq’T[[kþ­m�ŸŸo.¤¼nÝ:-_¾\óçÏ7;÷‹‹‹£îä///7§Z²d‰jkkÕÒÒ¢uëÖéæ›o6;é­û9¡  À¼öööö¨k/++ëÓÔGùùùš?¾y ök///�Úßú{¬×,---æk^TT$EF@TWWkãÆ�òz½fB ÑÈ#átóÍ7«¶¶ÖLL¸Ýnóœ¼^¯ÊË˵nÝ:óý°^ˬY³Ì˜^¯Wuuuòz½QÉ#Œl$"ÞøI“uý‚Ešû½šû½æÔMã'MÖ57Vèš+â&Ž·O(èWvNxAë³Î�•H4”±íô/N3��5’bLNïÏ2EÖž¸~Á"311ÿö{uù·æÅŒQxÑ%ºæF’Ãíð`(~=.Éœâ(cgkǽ‘0°Nsdk͇`ÈoŽ~˜:ešýéoÔðh³îü—¥æÂÑ'Âzn׫B?­Y‘ðqYQøyŒQ’´ãƒwÍŸ­â-Ä @2�Œ€!€/šC[uuµÙéïóùÌ»öÝn·zè!ûî½Iƒ––ÕÕÕ©©©Éì///ïÕ!ïv»U__o>gKK‹jkkUWWgNÏë8'Ä»vc:¤ã©©©1¯½¶¶¶×µ£@ ………ª®®6·¾f’T__31kÖ,s‘j¯×«êêjUVVª®®Niiiªªª²b²&uÚÛÛÕÒÒ5*cΜ9ækíóùTWWg¾F"¢ªªª×µìSFad"‘:ÞýËfýÛ�è'?¸!jñjƒwÓ+ú(2õ’}íˆgŸhÐ�7]£'W,‹*7¼lY|ú _<+j`7’Ú‡ÇKÄëh7l}{s̵:÷îÖÖw C[…6Ö‘ˆwœâ<§µcÿ–Å\h:Qb$ž©SŽ-|m,d‹‘X1X×ʈw\¬ë YÒkjjî³:©+”®®Pº½8eteJ]YöR�²ºÂ�þ*_4³rz”™Ýc/F¤3¹¨¨Hr»Ý*((Pqq±/^¬ÜÜ\)Ò‰^XX(�'üeº££ÃœbéÚk¯ÕÂ… •——§@ �Ç£¢¢"}ÿûßWIIIÔsÜn·æÌ™cv’çææª  @çŸ~ÂãŒi�¬ë/Xeee™Û�sOäD®}ûöíæzßýîwU\\,�Ç£®®®>]»ñŠœ¯qÌ]wÝe¾çœsNÔsJÒ\ÐëõºüòËU]]­ÜÜ\s”Ë×¾öµ¨„FVVV¯küò—¿¬)S¦˜ûF�`ñxÚ©mù“žøÅƒz÷/áÎÂË¿5Oßø‡4�Ãðr¢mB«¡Ò>,olþ½:÷ùԹϧ‰&›�üÁ�_ÿõä¿Ëû×MRdAéUÇF£º»»ÔÝÝ¥¯�{‘¹M’_½Ìápýu ̸9Ùnmh{N’ô·ëüÑ Ã¯ýmƒÞøÓïÍ߯¿®BŠŒÐxaÃK’¦éë½’kÛ`I~œwÇÛ̘ӿ4C§M>ÃܦÈ5l}g³¶½·UçϸDŸ;5ºíÐüü=°´RÍ/¬ÑYù_ÑÄ “•“ãÖÖ·7«sŸ/æq�{w«îW÷›#K¦iFÜžÑ[êz#Ë@ÔõÉ”ÌþŸ´`0xÔ^è¤À¾ ù÷fØ‹S†ß%ù¹Á@ n¿äN<‚¼—¡ôEÓ=¡[®ñÝöbœ ¯×«ÊÊJ)r7¼äÀpdŒ‚�¤õë×;:•R×Hi’ˆHMÞ×_Ñ“ ËbŽŒP$ñÏw/íµ†C(à׳«¢F@Ø]þ­yš[±È^ŒaäDÚ„VC©}8X6´5«®á~ó÷é_š¡‰ã'ë�ͯ(òkúÙ3´õ�Íš8~²}ÖÜïÚï~]ŠŒ¬èÜçÓÔ/L3§0zcó+fb`â„ÉjxäØq’t×’Ƕ�Ÿ¬Ò+ÃI㸉&«sox¤ÆÓÿõ¿æq7,¸TÁ�_9Ùn]ÿ­ M�2MÁ�_ÍϯÑÖw6+'Û­`ȯˊJUUq¯y\çÞݪ¸ý)ò|S¿0MSϘ¦ë¿e$:üºí®ï˜£.+*Õô³¿&IÚúÎf3yb¿–­ooŽZÜÚ8nLJ۴¡í9åä¸Íë¸þ[fbÇ×׺ÀÈs²u}²%³ÿ‡dD?Qˆ§¿•ÑPû¢™ÌÊh8"A2‰�„6!‰ˆÔ÷Ú‹ÍÚõþ6 †+ø19.^x‰Î:7ñ�ÅûöìÖë/>§ý�Ç’§O�¦‹þñê˜k?`xéo›Ðj¨µÓãO,Só ½yU÷iëÛÿ« mÏÅMF\VTª‰ã=æH «©S¦éÎYÖkaéÎ}»uWí‚^SÉ qôØÈ k2bÇÛtW킘Ó;]]…6llVç>_¯d„"#'¬ç˜“íÖê¿3OtNŠ$iª*îëu-ö¸†‰&ë§Õ+Tq[8AC2¢úR×™N¦® ’ÙÿC2¢Ÿ¨ŒÄÓŸÊh(~ÑLfe4‘Œ �Ć{›°/‰ˆQ™ÙÊÈ=Í^<"ŒÊ£ÌÜÓíÅ>óï×g�ýöbGŒÊÌÖ¨Ì1JKÏÿ;:u?¬úÓ&´ŠíÃÁöÆæW"ë8”“íÒeE¥š:ešÞØüŠv|°­×4MÖdDUŽÚÐÖ¬76ÿ^Á ?<ÝÓ¦Eí‹ý˜ËŠ®Öô/ÍÐÖ·7›ë0Ø;ð;÷íVóókÌ5$¬Ç5?¿FÁ�_S§Lë5ý“"#Â#>Â×xýuQ XËvN²Å�ÇzN99nM�2M¥WÎSN¶[kNT0MSÿ¯®0r�h]?T$³ÿ‡dD?Qˆ§¯•ÑPý¢™ÌÊh8"A2‰ ç6a_�ÒÇŒSδ •–>Ú¾ Irh×›êÚ»Ã^ýè-·o’ëË:´s‹>óÎH�d¡}F FFô™qñ/3Þ—/šéÙ7&9SvdfQVN�½¸ON=õT}îsŸ³|>Ÿ>ýôS{ñqŽRW(Ý^±¦|>ß°NDHÒ�C»êêÿ‡S<Ó4*shv’%écÆ‘ˆBF»s•515n*èúø#ùßÜ C;·¨çpȾ9%�ˆU·Þ«ª[ïÕeEWÛ7€!ˆ‘ýDf@<‰2ãìßtBZ©æË_þ2‹#ÄÛo¿-ŸÏg/vÆ»¦i‚»wgàñÚ„=]‡ܶI=]ñ;JGeŽQFîéöâ!={œ2ÆÅŸ ÉÓ} CGBíÅîè‘Ϥ#]êé:~œ`RaTæey¦)sý_JÔ&TÉœºódädæ*;+5G| }¤î#'öt(;™)Œlǫ뇺dŽŒ ÑOTFâITuxSŸ„†ÿ”ßøÆ7ävó! Œ»víÒöíÛíÅÃÎiŸÿ†ÜY½;*úÒ&ìKB"+ošN™Ü;ÙŒ4G�|¦#‡èHè >;ÐÑïE«‡ÒÔM‰Ú„}ID¤º ®i#‰‹Ô´cßF}Úí|‚2YNtJF#[¢º>$3Á4M0&¸§)#=ù_Ž�4uêTÀâñxär¹ìÅÃʸìÓc&"újTæåL»0á”M‡;¶éÓÝÛìÅÀˆ“–>Z£]á©¢r .ÔØ¯^¥1SÎÓhwßî²ïúø#·oêwc°�„©;÷¶�ˆÁ#ÁßB»†u"B'1%#àÄD�Œ…B:pà€Æ�§ììø_šNT(ÒÁÎt=ô9û¦”Af@<ÇËŒw9¹.þ²éc4nL’¦}H§¸Ž*#£ÿ£×N=õT}îsñ?Û£~!~|ÄOŒø‰/¾ÏçÓ§Ÿ~j/>®ÃÁQê ¥Û‹‡Œœ¬\egÆïíO›�ÀÉéé:¤O}ÛÔ½—}SLÉþÿ”¨M8R¦îôŒ;O§f§Þ4Sˆ¶ûo[tàÐGöâaçD§d0r%ªëSAÚ˜O4v⑘ßïNÖñ¾?šÉˆžž½óÎ;:|ø°²²²töÙgkÔ¨�8aÄÏ82Q®Ñ_°oNTFâéKeÔ—„D²†¶>ûPÝé�Ž}þ;]¿?6â'FüÄœŒ?Ò¦î$!œ¼þ$%’ùÿ)Q›p¤LÝyæ„YÊ=Ö^Œóqà}íñ¿e/vNfJF#S¢º>$³ÿgàž p\éc4%÷„S6í lÓ>?SvÀp”MÀÉ•9FÙS¾*÷ôo&ü¿¤Èÿ§C;ÿl/Nº‘0uç÷4ÃĸìÓ‡ý{y²S2ú‡išú‰Ì8€xú“Š#$’9Lïd?1â'FüÄœŠ?ÒFF! œÃ¾múÔ—8�—ùùÓ5æŒØ‹Ó:åxm¾´“:uçI8ÞwHM}¤®Ïâÿ½¦ªãý½žh]`ø;^]?Ô%³ÿ'*1FêOÃ_+£¾|Ì„„{B·\ã»íÅàˆ‘Ü&$!1¼<ûDƒšW7H’ZÕ¬ÜIû.pÐgþý:ôÁŸ‡Ôÿ§¾´ ‡Z;@o'S×ÞúR×eÉìÿaš&H¦l€‘‰)›�È®÷¶éß~´@ÿö£Úõ>Ç3Ú�Û§ÿO‡;‡Ö: ´ÀHD2’ˆ/¢ÀÈãõzU[[«ÖÖVû&Œ $$O(è×¶¿nÖ¶¿nV(à·oF Æÿ§ô1ñç¶ÿô£7õ™¿½8©h€‘†d$_DSÛ’%K4sæLÍœ9Ó¾)eø|>óR½ƒÜx?ÊÊÊì›”×ë5_3¯×kßœPee¥ZZZ´dÉùýt4Žd$$€�Ó—„Ä¡¶¨çpüi‘’�v IHFÀÀQ 7•••ª¬¬Tcc£}Óˆ———'Iòx’;¯<ïÑÐ@B¢Ö®X¦•Ëî×KO¯±o’$½öb³V.»_+—ÝUn÷ú‹ÏI’ÞýËf­\v¿þíG ô‹›å‰X�ù·-èÓ1ŠŒtxé©5QÇ®]±Lû÷ø¢÷ øÃ×öÔ±kk^Ýóz ösŠw$IKÏHøÿ©§ë�}ðg{qÒÑ#É"ø"ŠáÄëõÊëõª££Ã¾iÄ«¯¯Wuuµêëëåv'oUDÞ£¡ƒ„Dßmyý½þR³¶lzžI’´í/›õúKÍzý¥æ¨rã¸wÿºYÏ>Ñ ¥w,Ðë/5kÛ_7k˦W´ò‘ûtçÍ×ÄìÈýú·-ˆ:fÛ_7kå#÷iå#±“†×_|NwÞt�žlXuìËO¯Ñ�o.Õ³O„¾Väy^©Y[þpìÚÞ�s=ûöìŽyN±âŽ4FB"-}´}“$é³Àþ!·~„hy�{wëñ'–iíS †ÕÀ‰"C_D�áÏãñ¨¤¤Ä!ˆ„Ä Ùõþ»j^Ý ³Î�¡¹‹4·b‘ /¼DŠtð/½c�BÁèŽÆ'[¦mÝ,I:ý‹ÓÌã.ºüj½þb³6½{„Ä®÷¶iå#÷)ôkü¤ÉºæÆ ýóÝK5·b‘r'…GF5¯nл ÇÎÎq«ô† ]tùÕfŒ‹®(Ué *½¡Â,“¤¥w,0Ïé¢+Juóí÷jnÅ"�~æ4)7Þè‘‘`TæeŸù {±é°o›ŽùÌ^œt´�Wq[©®ýî×U×�8‘h·ö©5¿°FkÛ  cÿŸÇ—^SSsŸ½ÐI]¡tu…ÒíÅ)£+Sêʲ—€”Õ~œ¬ôQrŸ’'ÿ§{Ôs´Û¾Y’êÚ¯4IÙY¹öM',+§G™Ù=öâA±qãF­^½ZëÖ­Skk«¶oß®®®.M™2ž«Éëõjݺuzæ™gôÌ3ÏhË–-:zôhÌcŒømmm***’ÏçScc£V¯^m>ßgœ!—Ëe?Ôd<׺uëÔÖÖ¦îîn¨­­Mííí’¤òòrûa½´´´¨©©É<»íÛ·kÅŠjkkSAA�yNÆqúÓŸtÁœÐ5¯™qL Pnnøo¨©©I’4kÖ,Dç÷ûõòË/«©©é¸ïÑòå˵aÃmß¾]’ÔÞÞÞëz ýy ~¿_Ï<óŒžxâ =óÌ3jkkSff¦¦L™b¾n·[sæÌ±š�ñ[¯177×|�¬:::Ìõ5JJJär¹Ì¿aã:\.WÌ©˜ÕÚÚj¾—v±®¯»»[n·»×ëgåóùÌó·g?ûû9…6aoiéÊ85OŸým�މýù$°_:*�v÷þ» ^zz�?i².º¢Ô¾Y[6½¢]ï‡;j¯¹ñX¾qÜÁOöë¢+Jõƒ{–êÌ/}Eg~é+úÆ?ü£ÒÒ£BA¿22²tÖ¹3¤ÈÈ„'‘$^x‰?¼Â<®ð¢K”–&y-£4.¿ö;Êv…G<ý¾å¿u(èWff–?¼Bç]x‰<§Ÿ¡3¿ô�wá%ÚôâsêîîÒ—[Ó¿~‘22ÃÏ›írëõH‚cî‚EºøŠRó|™ŠÊH€Ì_tŸ®¹¡B_øâY:óK_Ñ?üŸo+ôkÇ;[µãÝ­ú‡ÿómedðjŠ••-éÖ‘àß웤£=Ò¨QŽý?:™6a²Ú�#Eó k 4uÊY:F8Ù;>ئ­ï„€E^©©S‰¿ÁÖüüý׺׆¶çtYQïÏ@ ,'êzÃÃÉÔõCA2ûÒ‚ÁàQ{¡“û2äß›a/N~—äOÞŒ †0·_rì¥'®ûÈ!}°“º�Ä_hq‚k𯻿Ë�{B·\ãcéuŠÏçÓ�wÞivæÛ•••iáÂ…öb-_¾Üì<·ËÏÏ×C=u×ycc£9/þÊ•+UYY©@ úÍr¹\ª¯¯ïÕq›èËËËåóùÌNéW_}Õ¾K/K–,I¸¿×ëUee¥™Î§°°P²çñxTWW§ùóç÷ºIª©©Qqq±½8ê5°òx<ª­­Õüùó¥Çû|>UVVÆ�ʧ¨¨HÕÕÕætC³gÏŽ»¯õztœ÷±°°P555½F$:Ÿªª*mß¾Ý|�âŶKô+Îß¡ý}Z¾|yÌãc[YY)¯×ó[[[µ|ùò˜ï­ñ^ÙÿFI–ÕÕÕÙ‹¥ÈqõõõækÙŸ÷ÈI´ ãëé:¤à¶MêéŠÿù?ö«WÅ�†f8ûñM¥ÚßéÓYçÎÐâ‡WØ7kå²ûÌŽü_µþ¯Yn'I­j6G&X-œ}©BATìµ+–éåȃxÇ=ðƒï˜ �xûÄïZÞýËf-½c�$iñÃ+¢’ôã›Kµ�O]Qªù·ßµM‘µ'–]*Išû}ºèŠc#-F¢ÀÛuäÐA{±$É}Îeá¤Åˆ6á`·GŠŠÛJչϧˊJUUÑûÿO"ol~E9ÙnMÿRôÿÉÁT×pŸ6´…?ãžþ¯cŸqp†“u=€Ô6u}2%£ÿÇÀ4M0D�„¡úuuuQ£ jkkU__ov†wy[566š¸………ª®®VuuµyL{{»–,YuŒÕ�wÞ©¼¼<•——«¼¼\ùùùRäîðêêjû¬4ϱ°°PUUUªªªRaa¡åõzí‡8Êï÷›�àeeeQ×®HÒÂ~NëÖ­3.—+ê8¿ß÷õ²wü—••©¶¶Vµµµæs¶µµEu¨Ï™3'j„H~~¾ùZ[G ï}ôz½1ÏËz>Ö÷#??_uuuæÝþ}e¼žÆ{\RR¢êêjUUU™�÷MMMZ¾|¹íÈcÕÞÞn¾®åååQÇÚÿ†ãÙ¾}»–,Y¢@ �Ç£òòò¨s±¿k"Âår™Ç¯¥qœßžz¦¯ï’§/S6uÿ-vB ‰�uɂó.ü)’ 0ìz/\Çž~æ´¸ÇM³% â ýÚõþ6y7½¢gŸh0“#ý øÍu-ÆOòèÝ¿lîõØõþ6eç„{Ï>|ÿ][„‘ç”Óα™û†nj$´SÍù3.Ij"€á€d aÃù‹¨ßïW[[›é.//׬Y³Ì;â ÍXƒ15‘"É‹úúz•””¨¤¤D555f2ÁX˜7–‚‚­ZµÊì|]µj•9]’Ïç‹:®¥¥%ª#¾¾¾^sæÌÑœ9sT__¯²²²^ÃN JKKÓªU«´páBóÚëëëÍ}ì# ŒÎp�Çó¸x×Ì){ªªª´páBÍš5K³fÍ2ß#Eîæ7Ø;º§M›f¾ÖFý‰¾�Ö÷Ã8Îx?V­Z¥²²²˜£ijj2cVUU©ººZ%%%š3gŽÖ¯_oþm455Åý›òz½Z¹r¥ùºçf\occ£™HäÎ;ï”"ïScc£ÊËËÍs©¯¯—ËåR ˆJÒø|¾¨÷·©©É<®¦¦Fµµµæ~Fò§/ï’ïx ‰ôì±ö"ô�ÑIKî¤ÉæÏF‡ÿþ=»%Éœz)–ñ�g÷î_6kå²ûõã›Jµpö¥zàßÑ/X¬æÕ'¶À´1C’¹w¬‡±îÅ¡` ß²7@F»s•‘{º½X’Ô}`Ï�\;Â0œÛ�eëÛ›õøËô࣋uWí=øèâ~­é°õíͪk¸ÿ¸ÇûÕ5ܯÎ}±‰ÖXwÕ.ÐãO,SçÞØû‚!¿šŸ_sÜãÞØüŠêî×Ö·�%K�ó‰wÎ E$#`ˆëëÑž£C÷Ët,Öihbu€Ö××kýúõQSÜX;]­�©†’’³ƒ<ÞÝè±Ö°–Y;æ�d‰$Í�;×üÙP^^>hóë[Åê4.,,ŒU`\ÇÆ�£:ðíÇÄœÖI–ÄMkkkÌ×ÍUbMõ…‘ˆèËûhMt?Ç;.VÙñ´´´H‘×/Ö5ZGËlܸ1j›¡¤¤¤×ÔI�G555RäoÝz±Xß3ë´W�ÇcžßöíÛÍäÆñŽ›5k–™œHÆß*NN¼„DÖÄ3•>†dĉ“ ©0Ð^zj�–Þ±@¯¿Ô¬ý�>åNò¨ðÂKôÍkçéæÛïUîÄØ#-±&Er'ytÖ¹3>NŸÊ>’tŠ'öëpôH·w¾o/RúÚ‰ ‰ÇŸX¦»j¨ù…5zãO¯hëÛ›õÆŸ^QݯîSÅm×ôêз[ûÛÝU»@Úš�{lçÞÝÚÐÖ¬ mÍêÜNRZ·Ýµ$œH0bm}{³š_X£ŠÛKµö©ØÉÇlÓm5ßÑã«—÷¸l ?·%bœ�±–©€d¤€¾|=x(öÝíC•Ç㉺s¼¶¶V7nLx¹q×{^^žy×¼ýaß×.Ö|øözƒÏ¥açv»c.Bí´™3gÚ‹$Ûµçn}Œä�]¬×ÄÊèàöûýêèèÐÆ�Í…¼O„1•R_ÞÇX?Ç»·Ûw[,Û·o7;òã½�Ö˜±ÖøP‚÷Ãz.ñþ öé¥ì¯‡×ë5“ �@À²(õ‰“s,©xÍ ´øá —k^Ôñ#Õ¨Ì1qGGtuî° 9}iŽ´„ÄÚß6¨ù…ðz.S§LÓ-7,RÕ­÷ê²¢ð)�ûvë®Ú †b·+w|ø®Ö>Õ é_š¡[nX¤[nX¤ég‡§`2Ží«»j˜ �ËŠJUu뽺å†Eæ"×kÛ æçÃçjèÜ»[þ|‘™\°7qBøógíoôÆæW$IÓ¿4C׫"jáìë¿U¡ë¿U¡óg„§˜ �Œ€q¼/¢c2Sï.Ù|Ðìäoii1繿ùæ›U[[Ûkú ã|odñàXkçõÉ2Fo$šG°ï6w¹\½î~7ØïΗmÔB¬íJP®H¢±±Q³gÏVqq±fÏž­êêjÕÕÕõzúÊx]ûó>Z“T‰Î7Ñ6;ëèœx¯©,1ã%Êâëv»c&±b±¾Oö×ÂxX¨6ÎÝø·¯ÏƒÔ4*sŒ2sOÓ˜)ç)cÜ$ûæ)^ràÝ¿&¾Cx×ûÛÌ)ŒìvEÖW8ýÌc�}ÆâÑû÷ìŽZKÂj˦pg¡Õ¾=»Í©ž¾yí¼^‹Pë§P?i²9¢âõ—ší›MÖÄ Â²&NµI‘ÑŸù÷Û‹‡œãµ5‚�{w›£Οq‰ýéoTzÕ<]6«TU÷™ SwîÛm&,ìv|°M¥WÎÓO«W¨ôªy*½jž~Z³B¥W†x�ûv÷J IJaã±Ñ wþËRUUÜ«Ëf•ªôªyáóŠÄ[ûTCTbdíS q�ûiõЍ„„ŒdÄušúK2⺠]]…Οq‰YÀPG2RH¼/¢ŸÏ9SY£S/QPP úúzUWWGÝÕÝÞÞ®––Íž=;æÔ8Æ]àÇ{Œ4ÖÎõþˆwœÏçÓüùóÕØØ¨ŽŽ¹\.åç竤¤DUUU*++³Ò/ýyã�£]_÷lñëyÛ¯?ÖÞ ƒQ¿Õ59ðìÑSŸ<ûDƒ™HdÕ²ûíEQÇ^~íwÌò �uòÅZç¡/Ï ôþÿÿÒSkâ&E¬b%.ŠŒªx÷/›õúK½çŠé©5zàßÑÂÙ—ÆM ŒDécÆj´+×^,EÖŽHñÚ�V©8ugY ·Ü¸(j›"£ ŒQ‰ ¥Wû¿n¸þº åd‡o2xãO½�vFRä²¢Ò˜I�믫�"kC¼±ù÷æÏÚÂÿwc7qüdÝrÃ"]VTª©SΊÚ@ª#)Æø":ùÔó4nÌi:íóßФ±©;e‡ÇãQII‰êëëõꫯš CŒxe…PXX¨úúú„ë\ÿ'ʺàr<'::àD�¸ÛÖrãÜ­£:â�k¼|# ¡ÈûðüóÏkÕªUæ”?ñFω¼��Ç<.Þu(ÁµÄbMï5•åùâ�>ˆw>Æ´VJp¬Á:¢£¶¶¶×ë`ûq�?0œñŠ$þíG ´rÙýZ8ûR5¯nˆJÄ2~Òd½û—ͺóækôÒSkôÒSkôo?Z`&ÆO𬋮Oó¢HòÈi÷ì QÇ�þÅÞ댟4ÙLœ¼üÌ­]±Lïþe³¼›^ÑÊe÷éɆeöCL§Ÿ9Í\h»yuƒ~ñÀâ¨ÄËå×Î3§‘Z¹ì>­|ä~½öb³^{±9*v¶ËsDÆH6úÔØ#‹º÷ï² Y}IH¤ÚÔ�ýµãƒp’nê”iš8>öèU£ƒ?ò›û[MÿÒŒ˜Çæd»Íi�bg ùÍÑ Ç{Ì5¬�l3“;>�¾²Æ�7ÅÒù3.QUŽæ(† ’�‚2ÒÇhܘÓ4ùÔóäΊýÅ:UØ;r µpáB3!a�߸KÞëõÆí|µÇ;F‡¯uÁ`+ŸÏ×k:¡ã±ÞÑë\�•‰·²u # a¼fJ;^¹qmEEEš5k–}s¯uúêDßGãýˆ·¶Hßk‚#ÞúÖ˜Ó¦õîpT‚×Ï3Þ±k2"Þú~¿¿×uÇ�¸×¾|ùrÕÖÖÆ]ÔH%g�;C×ܾÓX’¶ýu³^©Y¡ _×ÜX¡Ó,S,Å’;É£Ò+´oÏn=Ù°LO6,Ó¶ÈÔNÆÚv7ß~¯Ù©¿oÏn5¯n0�»ü[óôÍн.ÃÜŠEÊ�äQ(à×ËO‡³þå‹õúKÏéš+4í+±Ù.·J#× øµeÓ+j^Ý`ޤÈv¹µøáfBâõ›µê‘ûµê‘ûÍ‘ñ®e¤ËŒ³nDªLÕd8^B"§îì�Î}áuZŒNþXŒiŽdÙßjâøÉö"“±-ÞzkRaíSáŰc=Œ8ÁPø† ë؉΀áˆd )ZZZ4sæLÍž=;f'ªõ÷œœI2;Ä�€ÍíŸÏ§þð‡š9s¦–/_nßÜoÅÅÅRäùêëë훵nݺ~݉/[§³ý¼^oÜDƒUSSS¯ÎúÖÖVóØBË‚Ûùùùf‡ûºuëz·}ûöã>g¬kôù|q;ð­b�*éÏûhÝn$1âg]S¡¯ŒE�ã½öÖ˜Æßƒ]¬c}>_Ìs�ÇúžÅZ/Å(7ÖT1’ÅÅÅæûë¸uëÖ©©©I---½F²ÇÅz�€¡¬ô† -~x…¾yí<]tE©¾yí<-~x…Jo¨ÐYçÎPé *½áXÂÂîòkçéž_üF…^bŽ|˜[±HwÿbµÙÁoetþß|û½QÇÌ¿ý>Í­X¤/œy–ùœc, çÓ¿8Í<ϳÎ�¡³Î�¡‹®(5Ïõ¢+®ÿ{yïŬ�s´^£ÕøI“õЪfÝ|û½ºèò«£âÿó=Kõàªgc^ËH—–žwª¦#‡Ú‹†´x ‰T�ºs Y‰’'Ãwâ�¦Ÿ=#áúÞ#UZ0µ¶¶š×P^^®òòróXãµ±Ÿ£5¦ÇãQqq±òòòz�‹=žýý5޳þ]x<Õ××Gý]Äz�ÊËË�;¥Ô@¡MˆÁôã›Jµ¿Ó§³Î�Áˆ�îpçûúô£·ìÅÊ85OÙg~Ý^|B³MØ}ä�B]û<¼Oî1ž”1Û·Õ|G;>ܦ‰ã'«áÑg훥ÈZ�¯OYöÓêšþ¥ðH¤ŠÛJչϧé_š¡ŸVÇþ,xðç‹õÆæW”“íÖê¿“" U×ý*¼ÞŒ¯sïnUÜ~�$©ªâ>]VtlŠ·DÞØüŠüùb©ŸÇIR]Ã}æzOÿ×ÿÚ7c€Q׈g0ëz' vÿ�##Iáv»ÍÎÑ@  ºº:UVVª¶¶6ê£sÖ`�©½½]uuuª­­Ucc£™Ø¨©©°Õêêj3–ÏçS]]�êêêäõzU^^sú¢DÜn·ªªªÌß�F"ÂÚÉOMM�Ž=ª¦¦&ÕÖÖšÎñ®}Μ9f\ŸÏ§––ó8·ÛÕÉnUVVfÆjiiQee¥ª««ÕØØ¨¼¼¼¸#$©ªª*j ¤––³ã['ø>Zÿfé¼·¿Ö‘'}a�i¼6FLÅHDØ•——+??_---ª««SSS“™ˆ(++ëÓ{ªÈß{uuµ\.—9²"Ö¹ØãÙß_ã¸D‰EÞ#£,Ö{ÃQú˜qö"IÒ‘Pj�Œ0 §©;ûÊH,tîۭν±G÷m}'<ýZN¶ÛÜßjÇÛbNÃÔ¹w·¶¾>vê”Ä#&N˜|l±ëÍñ»¶¯=a=Ÿxǽ±ùÕ5ܯº†p€á"½¦¦æ>ã—P(¤}ûö)==]§Z(’ÿ“Ï¤ÏÆØ7¥Œ®L©+Ë^ RVWø‘ªº�Ô¨Ì.Ç>ÿcÕ/¹¹¹***2;�sssåñxTTT¤ïÿû*//WVVïÝ .¸ÀìÏÊÊÒ„ tÚi§éŸþéŸt÷ÝwëœsαbŽˆ7]NVV–¹=7÷Øn·[W_}µ\.—2224aÂ}ík_SUU•JJJ¤>Ķ+((0ÏÿŒ3ÎÐgœ¡ë®»NßûÞ÷”‘‘!·Û­ÂÂB}ík_‹êÐ7F/üë¿þ«9" ++KºüòËõ¯ÿú¯1Ï! éôÓOWii©F�uLuuµ>ÿùÏǼþ¬¬,Í™3ÇLy<èÚk¯UUU•Ün·<�Î9çýÝßý]Ôû›››«o~ó›æ>:çœsä±,¨m­ñ«««Í÷Ñú÷óùÏÞ<'ãyìïÇ”)STXXóï –ôôt]vÙeú¾ Ñ£G+77W:ÿüóõýï_×^{­ý)ò·QXX¨ .¸@7ÞxcÔëdü _{íµ½þþ[[[ÕÑÑ!·ÛmNe(((Ð7¿ùͨÿÇ;—Xï¯ÇãÑ×¾ö5kñâÅQÓãÿŸÇã1Ÿ§°°0ê=R‚ÿ¿'«+”®®Pº½8eÐ&L-/=½F‡‚�ÈÕ½§EÂÈ‘6:C‡÷¼g/ÖÑ#ÝÊšx¦ÒF�üýz©Þ&ê23²ÌÑ;>ܦˊ¢ÿO7?¿FÍ/¬‘$]p¥¹˜µ$5¿°FÁP@ÝÝ]úÛ��£¶)²öƒ‘ȸþºfBbÇÛôÆŸ~/Iº¬¨T'„×zèîîÒÖw6ëÿóíÔÄ “{%0šŸ_£—/Vó ktVþW4qÂdefdiëۛչϧÿÏ·3¼˜v$ž" ‘e¿¨ŸGštÕeß6·m}{³¶½·U’TzÕûl�€†˜ÁˆŸqd¢\£¿`ßœ2¦ žT¦øìCu§w:öùïtý2Üã[§i²O‰”H_ãŸ(â'+þÂ… Í)¥V­Ze?¤_bÅwúü*>Ó4a01M¬nÝ £]!{±\_š¥ô1'¿ÞBª· SÁãO,3ÇOVé•ó”“íÒÖw6›‰Š‰&ë§Õ+4qü±$»1MÓÄñuîóiꦙɌ76¿b&"&N˜¬†GŽMkš&E¹¾í®ï˜#4.+*Õô³¿&EFgXÏůsßnÝVsƒ9:Ã8®sŸOÚšÕ¹/Ï>�“uЧ‰ã'kú—fèüÿÐ+©‚�A] žT¯ë“Ùÿ3pÏ€„|>Ÿ¹`´}AiΙ»`‘n¾ýÞ^ Acd•{¤~ÏáCö" Q·Ü¸H×+¼P}ç¾Ýz|õ2Õýêþ„‰«é_úºn¹q‘v|¸M�¯^¦ÇW/‹JDÄ[OÂ.'Û~ž áçÙÐNZÄ:«‰ã#çg;níS f"â–õZOâü—húÙǦ©ÚÐÖl>© jëP(¤hܸqÊÎÎŽÞs„B!ìL×ÑCŸ³oJdÆÄ“ê™ñ´1ŸhìÄ#Ž}þ;]¿ ÷ø':2B}Œ2ˆŸ˜¿¡¡A›6m2ד°/–~¢ëü:>##$Kèƒ-êÞÿ‘½Xc¦œ§ÌÜÓìÅý–êmÂTÒ¹o·šŸ_c®Ë0qBx´€½ßÐüüC~M�2MçϸDÚšõÆæß+ô+'Ç­égÏÐe³®6ׂ0ĵO[sxú¥È(‰‰&÷iÔ‚ý&Ž÷¨ôªïÄM¤È|®?I‘µ-J¯$Ñêêzñ¤z]ŸÌþŸ¨dÄ`à‹'€á*Õ+#÷„n¹ÆwÛ‹1DœL2CÃìÙ³ÕÑÑ!õaQì‘€6!€d9ôÑ›êêÜa/Ö)§�£¬‰SíÅý–êmBôÖ—d†êzñ¤z]ŸÌþ¦i ”””¨ººZÕÕÕöMHUUUª®®ÖúõëG|"’)-=v"ôè‘ä|)ÇÐgLá¤ÈHpbHF� URR¢’’û&¤ˆY³f©¤¤DyyyöM`Ú°ñ9UÜVj®Ë0ýK3zMáúŽd€Mç¾Ýæ‚ÒS§LSUÅ}ö]@?�Œ°9Æ%ªºõ^ý´z…ýéo.* Ž�d€ÍÔ)ÓtÙ¬R¬`€�ŒŽ"E28ŠdpÉà(’ÀQ$#€£HFG‘ŒŽ"E28ŠdpÉà(’ÀQQɈP($ŸÏ§P(d-0¡PH�@À^ �€£ŸÿN×/Ä��ø‰?1§ãO2ûÌdDOO�vîÜ©ŽŽíܹS===Ñ{ž$#¾ßï·o ~¿ßÑϧëâÇFüĈŸ˜Óñƒ+™ý?LÓ•^SSsŸ$¥¥¥)''GÊËËSff¦}ß“bÄ×g§HŸ�±oN]™RW–½¤¬®ð#UeåôhÒß�sìóßéú…ø±?1â'ædü®PººBéöâ”A›H]ŸöëH`¿½X£Ý¹íε÷[ª· „Q׈'Õëúdöÿ¤ƒÁ£öB'öeÈ¿7Ã^œ2ü.Éï¶—€äöKî^Ç=¡[®ñÝöbpmBÉò©o›û¶Ù‹•噦S<ÓìÅý–êmBaÔõâIõº>™ý?LÓE28ŠdpÉà(’ÀQ$#€£HFG‘ŒŽ"E28ŠdpÉà(’ÀQ$#€£HFG‘ŒŽ"E2#Þþ=>…‚~{1`€�Œ@J üzö‰=ûDƒ^zz�}sLïþe³yÌ®÷·I’ž}¢A?¾¹T?ùÁ Ú¿Çg?0¢’¡PH>ŸO¡PÈZ<`B¡��€½è·l—[ÛþºYͫԼº¡O#^zz�¹vŽ[Š$($ißžÝúð½wmG#K pôóßéú…øñ?1â'æt|ÀàIfÿ�™ŒèééÑÎ�;ÕÑÑ¡�;wª§§'zÏ“dÄ÷û�ßi ôÅy\"EFI¼þâsöÍQöíÙ­-›^‘$�uî åNòH’®¹±B§Ÿ9Mg�;C_øâY¶£€‘Åï÷;úùïtýBü؈Ÿñs:>00…7F’döÿ0MRÖEW\mþl$â1F@HÒE——š?Ÿuî Ýó‹ßhñÃ+Ìœ÷î_6kíŠeZ¹ì~ýâ�ÅZ»bÙqo0Aÿ½ôÔ=ûDƒ¼Çi/0TœhÁ˜š»¿užu ocZoÎH ƒG�_B¡�8 qãÆ);;;zÏ …t°3]G}ξ)eø]’?<Æ€¥w,0 Ë×ÿΜ~Éîß~´@ÛþÞï¡UÍfâ!ôëPdê°DɈý{|Ú·g·I`Äb¬91ÆåŠy‰¶[Ï#Þöý{| ÂYúxç€ärû%w ÏD—6æ��xıϧëâÇGüĈŸ˜Sñû2äß›a/N´ Oܾ=»µrÙýfÛÌnü¤Éš³àv^ke´û²]n�~æ4ûfÄðã›Jµ¿Ó§‹®(ÕüÛïµo‘>õmÓa_ïΦ,Ï4�â9ù¿«To£®|»ÞÛ¦µ+–%l#”ÞPusªÕ­Å_—¤~×y¿x`±y“ëÜ‹tùµóì» Š¾ô=ahHõº>™ý?QɈÁÀO ¤×^lÖªGî—TûöìÖ�7_#I*¼ðýó=KÍmÏ>^CB¶$…ᥧÂëL؇ê]tE©®¹¡"j#1rú™ÓtÏ/~µÿ»Ù¬¥w,�"Êâ‡WDm·^Çâ‡W˜•N(èד�-Ó–M¿�:‡ì·¾yí<]sc…Y†äKõÊÈ=¡[®ñÝöbpm‘ißžÝZzÇó&�ÓÏœ¦Ó#Seîß³;j4ë?ß³´WBâD;F2’½‘ŒÐÔõƒëõŸÓÊGî3ÏÎq+w’GÙ.·öíÙm¶$©ô†Š˜ý!'ÚNØõÞ6­|ä>e»Üšû}½ú†ËÊe÷éõ—žSî¤ÉzhÕ³öÍBR½®OfÿÓ4!¥^x‰9Š ÞTMÖ/µçŸÃ.žgŸhГ ËÌ$@î$�ù\¯¿Ø¬¥w,ˆJLûJ8�°ëým½’Ösˆµ}›å.?k"â�|G¯¿ôœBA¿r'yÌõ.BA¿šW7èÉË¢âþÿíÝtTõ½ïÿWÀ™dDOÂ�É·T­ü°ÕZ#½Ë#-ÔZøV¸Æ«~A=ß] ߣ<Z%X«QWÁ^ v]âj ëª x«5ÞP/¨*\×2�ÇzN%P�Ò› jqÏl4‘ðýcfoöìì½óƒìL&<ke•|öì÷ì™Øù|æóÞŸ÷À@Vûtµ=™°`éJ=ðä³ZpσZpσZöø=ºé%{¼eݨ·ÖÃÍó7ÞQ¡Gý’]Vû±Mµºó'«í$Aí3ÕÚùâfG„33ö’ÔM¥”ðÂG29-RÕ•×|KJOø»'ù•ή+½œÏo)ŸÛ;jíÓnž«µÏ¿®Ç6Õjíó¯kþ=*R˜ÊÌoZsúK²s ÝÛ{oÿ[®d„™0tè/™wbíO/Aœ˜NhHÒÞÿõ²ýe}΢¥zlS­Ý '½dç‹›3b d{w¦Æee×\«ÉÓ:�ËJF—Úã3aØu›�ŽgÜy"‘*aéls3“©ó÷¿Sßeýg+–5–4“†ö¿Sï;Î:v8n÷±Êo:ŸÏ‹õ¿×x&×àÖ—±è©Ú§OW¤˜³h©Êo¯èT¾ºlòµZöø»Ý«Š…—}s�Þö—Ö5ø�+¬ç7“§oµïj¬ÐÛk²�2M=Ä2½�g¿£’»T“³D“×2=¿2M«îš§¿¾ß˜ÊŽÿ"³ä’\ç9÷ª¸{Ö·e& }禹š³h©”þ"}÷ìoKéR‡ÞoÌXRxèýF=t×´L;_ 4ÈMÓnN­5†î›_®�O¬êÖ¸æ±_×f¬�<½\OmKOm+cŒg} �Fµìñ v©ÍG7½dY¯}¦Ú÷9÷¿S¯‰WL²ÏýÑã¤ôxÏZ;ñŠI%<­ÖÖGw\ù�©ƒ™H•ƒr³nl‰Eí»7ߨQ«WÓ“'“§ß`×Ò~àÉgõÀ/žU¤0*3atkO1çë{É„ŒXÎ};¬Ç–Ö#§çTÆ^Òõê´HQÔ~ÜG>¥—öÿ©^yʳûsg­”xr–ðž<ýßÞîþÿ¥§«í•ÎóžÚþ–]%£õp³v¾�ê×,]©§¶¿e'cŠG—ÚãkU„³ï.»æÚŒ¾Û*_åŒ T$#0(8—�[¼­‡›í»â¬$Aw8“ ‡ÞoTãŸê=¼8¯Ãº£Íê'O»A%£Kí;­V&ß½¹vÉèRýäÉg26´~{ß.=W½F«ï]¤åóo̸k` ›vÓ\ûK¸wÞ=ëÛúÙ�iïŽÓ{fõÔ;jíso[´4#IQ2º´S�i/Öã¬Õ§Ö¤ÅsžÈ8nÅQº†õ‚{R“Aõ �œ7�¸Çsf"5æ“k|8ñŠIºó'«õ�›æjÁ=+3®aì%ìñ®ßÄŒS¤(•¬)¿½BwýdMF¬’Ñ¥7ú&kOÍHÑé ]±æUŽ9æoÜÜe�ýµ™0º5iï¼ÁÕÝ÷~cz¹ÊÓcšýïÔgŒ_öî¬õ=¯üö ûº^ým××`qÆ¿fÚéq„Òc„ù÷<¨;²ZߘžªÈ T$#0(L¼b’ýan% œ_žn¼Ý»Ü’çúm‹–jÙ㜵�Ëîß©Ï(ùdeœúR¹ÿO™ y­Ü°¾ð>ºé%Í¿çAMžvƒ}W_ëáf–Ï€œS~{…Ýô’&O»Ážì7“†ÿT¯�O¬Ô}óËK)ùñZMà)Šú®¦µ\ãSÂJX›k»YÉ ¥oféJ¤(j—÷t—jrŽíœå*JF—ªlòµž{L8MÌX"…©1ë�wx×¹>‘èüÞ¦áÝLDtÇDW剌vGÉÈ f"56QzìâÅÙO[ý·31áwÞ�¬Öc›j=÷(õ):ýþ¼úÛÍ�nÞ(›|­Ê&_ëùº��„d� _MMæ[üV À±_šÐ£cç²@ë‹ZÐO‰co9–Ý[ɹ¾ Z«'ÞÞ÷{ûxÉèR;Éà¥dt©¾1½\ –®ÔO>«Û_BÝwÓ t%£Kµ`éJû‹øm™+jŸ©îqBÂZÝ4¦r³îÄtr�ëäJ.ìÝQÛ©|§õc%7º“ŒPºÔ”´LµÏTgÄêÍû@o O'Ì„Ñén?ÖÄ¿µÊÁ­;åžœý{WzÒÿ;爺s=qçOVg¬ÆhüS½^}q³~ùÐ2-ÿÞ�=¾‘È’4œ%’öî8�D𺣬+ÖüýïÔkã«2:ÄýïÔkõ½‹ôê‹›UûLµN$2“%Ž}!¬Œ¸óœ›-Y�Ô•ÿØùËæÛÿ{—^}q³ž«^Óé;g31½" ×Yµ•-î1Pw•)êÉăÅy×åwnJ%M‚~ÊoÿAÆùA¬²QV©¦†½§ïlœîº¡æ¥§«õê‹©a&^1I·U,Õ�?I•yXûüë=¾±£VÏU¯‘™44ö’ �bù•« ¯yí½$³öD÷a©‹U]­ªðÒ“Þ}�€pŠEµ`éJ­}þõô˜ãôþfÒèÕÊR ¿‘ŒÀ b•H²Lô©Ø•oL/·7WÜ»£V÷Í/×}ßKý¬¾w‘�œð«³kí !ŸL�®ók�¿<ÞV±T‘¨̄¡‡îšgÿÜ=ëÛö¦‹c/™àY` ÙùÂf{<tç£sr 'ÉkB"(�á,eäW:ÁÍy×eoJx±&`¬RMÖõy•µ&hÆ^2AËß i7Ïíumh熜g €3aU��d'݃Ô:&Û�«œ‚nL8ôþ~©‹²Žò8îîïÝ?Vÿï_ø%WÌdjHÐx(ˆsï§eé•¥ö{؃M±�l �Aeòô2²Ð“§¥jñöFùíšσö—²cGâvv}â“´ìñ ¾›:3û^%˜¬RNr-Ñw{ÉýäÉg41}þ¡÷uèýF™IC‘¨Ýé䂱—L°ÇS;_ôß°±a¯#aÐÅD�“µ2ÀLöÞaN­‡›µ?]NÁ9ñÑçêÛ};_öœ$i=ܬ'Z¦�/tÞPòÐû��Ú,Ö†ÒV‰&¯2£KǰöIs³^[wX“4|Æ¡~“'ôµHQÔž[i=ܬç6<áÙ×*½JÐÚ×ÈÙ‡ºíçôžNo쨵ûä }%䮾PÂ{ã«2úçÃï¼�kVé¾ù©›]»kÿ;õö~Qn%£Kí¹§žÜÈdÉ *‘¢¨Ö>ÿºžÚþ–žÚþV—«n¼£Â~¬×�`ߘ^no¬h-½{lS­–=¾Á·ÓSºS´â.¸çA÷a•Œ.µ�%¬»Õ¬%xËß ~ñ¬Ö>ÿºÊo¯ðüò0Mt¬XÝùâfm|b•=Q`&S+6®Yi¯-]ª2ÇjS9V)¼½oW§IþÉÓoÈØo¹ïVëáfýò§ËìÇ{Mö)¿=µb¶õp³~ùÐé8vÛO—éí}»ô\õÇY©I“‡îš§ûæ—{NŠÈ‘\pÞ ê5δî´ü·}¿Ïx~3ihãš•¾ /Ö*’·÷íêkˆ5vù úÃ�wœ.7´wG­~z×íÚ»ãeí§^ÇÇõÆŽZýìÇ‹2ÆβŽ^69ÆJOæoÝð„ý»»¢«ÿ?ô—Fßþoºô¡Å™\qŸgõ³ÖJHç�ªrìŸqìp³v¾˜JpXcƒCi´÷‹r—bÚÿN½Ó¯Õk  $yÉdò”»1L‰Ö|GóÝÍ9Ã(’ æxˆR4‡÷�ŽlWQI»»BÁ˜ðìÔz¸9£ä¥ŸHaT<ùl§›E^zºÚžˆ°<ðä³ö ŠCiÔ“?]jÇ�F5¼°(£vô�wTØ“ J_Óòù7J’ܳÒ÷fwf+1{Õ]óì‰ýòÛ+ì2 NfÂÐݳ¿mÿn­ÀukØ»K¿üé2û÷ _�¤é2fÒPÙ5×Ú+žÚþ–ý¸û¾W®cGâš<½Ü¾IÆÚÍb½V¬‰WL²'pœ±‹Oã�ú,Þ9áR› scÁwÊvG®� ¤Ð×÷/3aè—?]曼·”Œ.Õ�?YíYnñ3¾.¥÷x²îÖMœÎÕs-ͨtñÆŽZmz"µâà±Mµã�Þôÿ’´qÍJ{‡Òç�H&ìë(]ªŸ<ùLÆM¦îþYé×2gÑR™ C«ï]d—£ŒFõ…/MбÃÍöµø�ŸÐ÷r½¯Ïæü+#ô kÕçäi™¥5-‘ÂÔÝ„~_¤o¼£ó„¾sÒÂÚOÁª!m& û úØK&hÁ=+;MtWP ϱ—LÐ�¬îûÓS%C#…QûßnÎ2 (3Z6ùÚŒçoüS½½ß¨HQTËßÐe¹ §‰WLÒ�?YmDzÊ�*=AÃÖ€þfõgóïyгL£U®ú'O>㙈pЦb�ŽÉL €;Xí[rÛKPÿoÝ@àîÿ%iÁÒ•ûŒ;’JøG £švóÜN‰yôÏr”i´Þk e& 5þ©>ãZüÆOÀ@Âʈ"3À™qè>Æ„Pz%ƒ5A)ŒªxL¬Ós?Öê¿/ÝfÒС¿¤&ØKF—ú>®7Z7ÛÏßUlçëë+V&RírB¦+Öß §ï.ce€î ¯Ï®¾êÇ­~.(FÐÊ'ç¸%(ž[oúZkœ1¼¨Èóñ½‰‰¾“ë}}6çHFô�?tFÐ}Œ d ÉÝA_öp–�\ûüëLì£K¹Þ×gsþ‡2MÎ*ÖæØ{wÖJéÕ$"€p‘ŒpV±Ê3Y%‘¼ö~з2’¦i*�Ë4MgsŸ1MS‰D¯a€A,‘H„úùvÿB|ÄFü`aDz!RUñ蘽õäé7¸ JÙœÿ±“jjjRKK‹šššÔÑÑ‘ùÈ3dÅ7ŒÔF/€�Å0ŒP?ÿÃî_ˆï�øÁˆ,ìø@¶L»y®ÛT«e�oÐÄ+&¹ƒV6ç(ÓB5tÅŠ+%)//O………ÊÏÏט1c4lØ0÷cψ_ŸŸ+}>Ü}8g´ “Ú Ü­ ´¥~rUAa‡Fÿ_#Bûü»!¾7â#~°0ã·™CÕfu7ç Æ„@îúS­ÚgªõöÞß;Îð¶ÿ�zûñ–·÷þÞžè{ß.Ç£³ïÆ;*)Œªõp³v¾0°%–†}»(¥ zÄ*ÅÝ0Àæbô ’ÈY{wÔJ’JF—jâ“ìöi7Í=ý˜�©Ç±VCH²ã\9ù[šxÅ$�½d‚n«XêxôÀð�ôk|õ·›YœÖÃÍznCª”fÉèR÷aä «T(aycG­]Šû‹_šè> Jx#W‘Œ@Îz{_jÕÃG"B’"EQ;©pèýÆÀæÖÃÍöꊉWL²K=•Œ.Õ²Ç7è�_<«±—Lp�•}VÂÅL¬ŽNíÓÕ:v8®’Ñ¥š<ýô V73ihÿ;õÚ²a�6®Y¥'Z¦-Öp7¤Ãþwêí’¢Noì¨Í(3¶ç6¬Ñ}ó˵úÞEîCô «b…³·$5ìÝe÷…=#8Ërw·”w_ðë»{Ë«ÏoØ·‹ÞÈI$#�“ö¿SoØNüjf2B’®üÇk¥ôd}P©¦ý裸4yZæØÝÉ2[_ �×ãf&�À;ɬc]wÆw&\¬d À@Ðz¸Y{w¦¾,[«9½4ìÛ¥‡îš§Õ÷.Ò«/nÖÞ�µz{ß.½úâfýò¡eZ>ÿÆ~›hïkÌwèýF÷¡Py•Uzuoí3ÕÝZ Ün]t�äxèKo쨵çEœ/”.Ÿmõ…›žXå;ÿâæìCkŸ©Ö‰DÂý�PøõݽåÕçO»i®&^1I­‡›UÛGI ?�Œ@N:ô—Ó_�ÙrËäé7(R•º(Õd}Á�E3îÚk=ܬûæ—ë¾ùåžÉŒCiÔÏ~¼HwÏú¶Vß»H«ïMýûg?^Ô)©°ó…Ív,÷1Izè®yºo~¹ú—y�:T3aØçº3ê_øRjÅÆþwê=ãdƒs¢ºìšÔ "n/=]­_>´ÌÃD S7Z8Wª¶nÖÆ'Vjç‹c¨5æ(×ÓßJF—êÊôß³¯&W°Xó3%£K56=ßáÅLݾYa°÷WÖ�¸;_¤„7rÉä¤Cïï·ÿíUF)RµÛýV-8K4Y_¬º£aß.=ô/óìs‹GÇì/Í�ª×}óË3¾„;÷³pßEæ,#e&ŒŒ$‹ºø2ï\⎠�-ÖÁØ/Mð¼i¤!}w£ÒIˆ;X­µÏ¿®e�oвÇ7è±Mµšσö�%ÏmXÃXg€°îTeu /9çg¾vͷ܇;y»¥šöîô7n:oÄ¥„7rÉä¤Vë.º¢¨ýÁëV~{…ýo¯¬¹ó ÔäiþµŒ�¬ÍåØWâ±MµzlS­Ýô’ý…û—?]vºŒÔ“ìkÜï*©´ÿß2w×>´:XgY&‹3 ó‘#9�-f°'Æ^â½ñ¤5–’¤ž|¶Ó ’ô�éåºó�ÕöïAw6šIC‡ÞoÔþn”Pò*yìp<ð\w9͉Î%8½Êr:Ëyz±®ÙïÆ™¾ÐÝ÷&èú�ç�ýÒ{\ë·Ð[Î3½Jq»õ¯«ddwYã�žöË]�#‚ôö9-Îq_ý-Éä’ÈiÃ}r}YòÊš[KìKF—všè÷³óÅÍö—´e�oÈ8ÏJNÈcÙà•é̾û:¬/q%£K%I�®ÎÔJ^xuÆÖ9’t"Ù?u‚¸'®Ýö;ÊKN»i®çÊ ËÄ+&Ù«W½¾¤›IC/=]­åß»ÑÞ{â¡»æiùü;•·´üìǺo~¹v¾°Y‡þÒh—Ãtžëžd·Î±XF:WÃ:cíOoZi•óÜøÄ*G´TMì»g}Û¾f«ÜçÆ'Ve$ÎDÐ{ãu“Žûú·lXc_¿3yäœôØ×ÃIü8oÜ,sz®ÃÍyCª»¿vj=ÜlÏ¿xUÓpÚÿN½~öãEöx ¨ ·Óþwêµ*]vÛÙÏv')á÷œ½ 8÷Lí*A $#0hEŠ¢º&½„û lëáfý5ÝALèf"BŽÕ“§—{~y.]jïåà쀬/Òf"uwšÅºspþ=J®²M­‡›íNȯŒTñ¨Ô5;Üì>Ðïœw6z%#œÓnš—qÌËm‹î±Ë79WönÖCwÍSí3Õ2“†"…ÑŒ½&jŸ©î”p:v¸Y«ïí<ÉÐz¸Y¿|hY·&üìÝ™ÚdÒËKOgn¼Y<:vzŸ³µZ}ï¢3znuã½ÙøÄJßd�Ò×ÿjÀ¾ÎI÷û@ot5~° /Œê;é’�ûv¾ÜéF‹µ¡sÉèR}ç¿dn†í´wÇËZ}2ÜV¿l•áöZaѰo—V߻ȞWЦ’$­éñ…ßu)]NÉï9÷î¨ÕCÿ2¯Gc�‰_;=§Õ“ó€l!�A͹ìßy˜sSj«ömwXMc:‹íõó·ô—2g‚Àkßë­•VbÁº6gF»»+7²ÉùåÛ¹ŠÓbM6DŠNO�±ÆIî±ÐÆ5§ï¼ñŽ =úë—ì²™Ö$ÅÞµ¾“î{w¾¬â11=ðä³zjû[ztÓKºñŽÓ%>­I Izì×µzjû[öï“§—ë©íoé©íouº.¥Ÿ·ìškµìñ ZûüëúQzåì;jí$ÅØK&Ø¥>×>ÿº½G†• šÄèJíÓÕö{3gÑR­}þuû½±^cí3Õ¾wOîÝQ«i7ÏÕO>«Ç6ÕjÁ=+3Ž;ÿn~1è�b�±ƒÛ´›æ*R•™0|÷I°VZÝ|j%èå*ýöù×3Êp?·aMFòÝY¾;Rµû{ë¼á…E¾IýÖÃÍz®:u®{,ðÀ/žUñè˜Ì„¡_>´Ì}ª/k.I$#�#HF '•¤;…®V8÷kp–Hzcg­”îp‚²î~¬Í•¼~¼¾<:÷|°®Ãº3Ðꯜœ.C�î4ßÞ—JJL¼bR·¾¬d›×8ÈÉ»õfüe9ô~£}7áäéå*¿½Â.ÕœEKíq׫¿ÝìyM%£Ku×OÖØ×Q2ºTå·WØç}t_æÇ^2Aw>°Ú‡Zã8ëÆë¹�ã»oL/Wy:QÐz¸Ù³”Rw´n¶ïàœ³h©�˜‘Çkô[½1yz¹n«Xjo@î‡:Ëgx½·ô”5>°æz‚DŠ¢ö<Š»¶ÒÉû†Ç^¢nμÊp[Éx3ahÇ‹ÏÚÇœ%'osŒ9¬ó¬òÝ^œ+6Üc�±—L°Ÿ³õps·þ‘¢(U3�SHF ' /:½L¿«åáÖ—0«T“³D“ó ZOLžvƒ]2Àïç¶Š¥çXKÚ­RLVÇrå?¦ö“°VqXíÖþ<ö‹°°WHN$NON/*Ê8ÖWöžžxð›d¸fZªT§™02J?X¬‰v·¾ø2?yÚéý%,Î�½'øÜhbÝé)�}ĺ˹ú×oœk�IÝeLOO�Mý /<ýw5oú‹UáâÐû��&í­„~W7vÚ{tú<ι2ÓºYTŽø‘¢¨&§Kƒ;Y«:½Xq¾vÍ·|ŸÓ‹í‰áfÍ‘µv1? ÉÓ4�Çeš¦³¹Ï˜¦©D‚ÉSœ9çÝtýeÆ17g'°wÇËwš9Ë8u‡½ü-/Ïî˜ü~Ü›$]99õÅÎLz{ïï턈UßÏÚpûØáf5ìÝe9,K¯˜p3†£Þp×K�®$‰P?ÿÃî_ˆï�øÁˆ,ìø\œ7Œœ÷ŸÉ$¶U‚ ¨Ô“süçU²Ày�N}1¦rîmaÉØK,`²ßÚ{¬·+3½ŸGŠ¢�J‰Z?¯þöt鯿QÄç½ñrì“€¾ÓÝñ�3Qà\égU±�ÏÍç¾GA7€Zýò±ÃÍöüKwVyzÅluÄ*ýmõ­=¹ùÔkìÉæü��ŒèèèPSS“ZZZÔÔÔ¤ŽŽŽÌGž!+¾atïƒÒÕL'g'õö¾]Ú›.Ñ4Ñ'ûdòôTgöö¾]¾+26®Y¥—ž®ît]%£KídÆÎߦ–øMt”‘ŠEíÆÖê'ìsü:8g|¿Ç=aF¨Ÿÿa÷/Ä÷Fü`Äv| >]}{ÉDé '±­‰Šá]<—¥»ý%h²¿;å)ºÃZ‰áõÓz«>Üœ«$è-ëf³ð^+ýœe�¼V-X¼VzqŽkÜ ü3¹�Á*9éõô‡lÎÿP¦ 9ɹì­;ÖVVÚYÛ/(Kîgòôì�’Vß»(#!`& mÙ°F{w¦6'ô* `í a»Òµ2ÃêL­/‰]m¶d!ç�^«W'¦ÇdfâtÉÊ ûviãšUÚ¸f•=q`MØŸ˜HpÞM4ùŸ ~7´ÈQ^!r†“ü‘¢Ô†š]ýôôÆ·®’Ot‡s_Ðî& ¬ùIöFÖÝÙ¸Z®þ+èùœÇÜ}æ!�qNw}禹�úd÷Oùí?pŸæ«'{nÙf'#† ¢‹.ºHcÆŒÑE]¤!Cú6OaÅ�F°¢o8 A�‡õ�œ«+º«dt©n[t�”NÿºžÚþ–Ýô’û°$é±_×ÚÏí·ô=³ÜTçëÈ–+¯I­ì´nœp»mÑR{’ ö™j-Ÿ£öîxY‡ÞoÔ¡÷õÆŽZýìÇ‹2 åŽ;�wõï|qsFBÃ*›é•Ä8SÖÄûÛûvéÐû�Ýž$°X¯Á*÷é<ÿ;õö$JWu®ƒ8ß›Úgªµ3½jײwÇËz®z�^}q³öyL t‡µI¶$}1}w(gb¢c?M¯›ü8û=kBþ;ÿÅNÆÉyƒë/ZÖ©_^}ï")}Ó©s¥…³«Ç6ÕvÚ�a°j=ܬ½é• îI}¡(œ7KX‰·’Ñ¥zlSmÆÄ¹Sñè˜n¼£BüâYÏãÖ*Uk…¨»læ�wTôù8éÆ;*:­€õJ¶)¿½"ã5;ëMO¼b’xÒûõö„ó½‰Fí÷ÆJvLž^ž‘ ê‰ÖÃÍvmíÉÓRÉú‚µ*ÐLz{ïï݇}9W*xíÄê­ÚÎñÄÄ+&eŒ5œ&O/×�?Y�Ñ—šIC%£KSíe §Ý4WwþdµýœÇŽÄ;•þîÉÍÖX„›�+ò’Éä)wc˜­ù2Žæ»›s†Q$Þ•s€~±óÅÍ:ô~£¾ø¥ �¾#»¢†Íá}£¢#ÛUTÒîn€P0&ܬ2‘¢¨Ýô’oéI‹™426‰ìé—ië‹x¤0šQw:,ÖÝ’=½N§Ci´Åcb]¾G½å|oÎôyÞØQ«MO¬’$=¶©öŒ^6}oÔgñΫZ btnìÌÿûÉõ1!€úúþ·eCª” •èOV¿¬ôÊÌîö—Îþ¼§c�3ÿ´nÖòù7Jé›U{[æ=—ë}}6çHFô�?tFÐ}Œ ¿Õ÷.Òþwê5yzy—ûu!7Ü7¿\ÇÇsþoJ2@wÐ×÷?3ahùüe& ÝùÀ곦Fom\³R{w¾¬’Ñ¥¾û’"¹Þ×gsþ‡2MúÜ�¬Öc›j36}DîzcG­ŽŽ«dt)S@("EQ=úë—ôئZ}ñKìÄY»'e�€l# ÏE £*ëqÉ LÇŽ¤VDܺèþ¦€Ð0~èžCï7jòôrÍY´”òLÈ)”iê!–éðÃ2=è>Æ„²…2Mºƒ¾€Ÿ\ïë³9ÿÃÊ*’ T$#@¨HF€P‘Œ¡"BE2„ŠdÉ*’ T$#@¨2’¦i*�Ë4MgsŸ1MS‰DÂÝ ‰D¨Ÿÿa÷/Ä÷Gü`Äv|@ÿÉæü��ŒèèèPSS“ZZZÔÔÔ¤ŽŽŽÌGž!+¾aîC€À0ŒP?ÿÃî_ˆï�øÁˆ,ìø€þ•ÍùÊ4€P ]±bÅJIÊËËSaa¡òóó5fÌ 6ÌýØ3bÅ×ççJŸwÎmä¶w+Hm©Ÿ\UPØ¡Ñÿ׈Ð>ÿÃî_ˆï�øÁˆ,ÌømæPµ™CÝÍ9ƒ1!�»>OÓÉÄ1w³Î‰ëœh±»¹Çr}L …¾€Ÿ\ïë³9ÿ“—L&O¹ÔhÍ—q4ßÝœ3Œ"Ɉº[@ŠR4‡·Å‰ŽlWQI»»BÁ˜@¶|oÔgñFw³ btnl‚»¹Çr}L …¾€Ÿ\ïë³9ÿC™&*’ T$#@¨HF€P‘Œ¡"BE2„ŠdÉ*’ T$#@¨HF€P‘Œ¡"BE2„Šdà¬qêd»» ý€dà¬á—Œ2,ân@"8kt|vÂÝ$IR0ÜÝ€>D2pÖèhóNFä Íw7 e$#LÓT<—išÎæ>c𦉄»0$‰P?ÿÃî_Îæø†a¨¦¦Fk×®•aîÃg¿+ƒ9~]]�ªªªÔÐÐà>ÔmAñûB®Ç€þtêd»NµyžQ¦ œ ²9ÿc'#:::ÔÔÔ¤––555©££#ó‘gÈŠï5IÈ>Ã0Býü»9›ãoÛ¶M555öÿ:õEü ƒ9¾aªªªR]]�–/_žq^wÅï ¹úÛIów“$ièðÊzŽ»`ÐÉæüešÈqcÆŒ±ÿ‹Å2ŽõÖÖ­[µxñb-^¼Ø}hPÙ¶m›ªªªô‹_üÂ}H’TTT$IŠF£îC€tòÄqw“Ä~ý"/™Lž²~1MSÇ�׈#‰ôýUÓ4õÉ‘¡:uâ÷¡œaIój”$]}Õµ*¿~®ûa`èëøÉõ¾>›ó?ɈþÀOƒU®wFÑ‘í**iw7ã,Õ“dD.³^g,Ó¶mÛ܇"Æ„úÛ©“íúäß^q7K’ '\£sŠŠÝͽ’ëcBø[W½R¯íyY£JJUýó—ìöŠ–ëHk\’TýóZ�*9½RõÍú]zô¿.³—¤ë¦”kIŃmxèëøÉõ¾>›ó?$#zˆÎ€:£�­¦¦F---*,,ÔÝwßí>¬††{ò}ñâÅ�î‚ohhÐîÝ»uðàA)]¾gêÔ©š1cFÆãœ ÃжmÛtàÀ%‰Às8`O†/^¼X‰DB[·nÕÁƒ5nÜ8Ïk¶8Ï]¸p¡]¶i÷îÝúÃþ`¿æx&„?ßdÄ=å:r4®Q#Kõó‡ŸQaäta%* #Q]7åF¢ºü+“tù¥“ìÇ``¢¯à'×ûúlÎÿ�Œè!:#~茶ŋ«¡¡Á÷øºº:{¢øùçŸÏ˜Hv®p‹Åbª©©é”¼Øºu«jjj”Htþ�"‹iýúõÏÑÐÐ`ïϰ~ýz-_¾Ü>·¬¬ÌžÄ÷â>×*ÕTSS£ššÅb1-^¼XUUU�®'‹©ªªJãÇ�Ï8ÇËÌ™3UYYiÿ~àÀ;qâf=§3q�Ç5{öl)�4©««³οK<×âÅ‹ícnîë°8p@Ë—/÷=oÉ’%ºõÖ[¥.þ¦Îø³fÍRKK‹çsnݺUëÖ­Ëh³¸ßWË7¿ùM)ýú­d•Û”)S23ƒU_Œ [Žÿ»>6?°Ï:\_Ó/ Æ„@îñ+Ñ4¬x¬†_ø5ws¯åú˜þü’GZ›õîÔëò¯|=cUÄ‘£Íª¸çFIÒœ›+4ç– û>úz~r½¯ÏæüX ¦¦Æž´ž2eŠªªª´~ýz{R=�ÛI K]]�Ö­[§D"¡X,¦%K–¨²²R3fÌPQQ‘=ÙnFÆy–GyDJOŠÏž=Ûsˆž0 CëÖ­ÓøñãµpáÂŒÕñxÝ�Çí$†så�%‹Ù“ì ž+@fΜÙ)!IãÇ�צM›´}ûöN‰I+:,ñxÜNDÌœ9³Si$kåÂÌ™3‹ùO>tWCCƒý7^ì±¿Èøñãí¿±ó±Neee‰¥¯ÓzOüV”à´è¹£ÝM6VHpêøÌôLDHRþù}ÛߢgÞ}¯^¯í©Õ›õ¿Wíï6ëþªEzmO­Þýs½Þüã.­{j¥j·YGŽ6ë‡+æiË Õzó�»ôîŸëUûÊfýðþyúàÃFwØÔãGÿë2;žuNÅ=åúÕÓkܧHÖy+æéWϬ±ŸÇºŽ-/T»nK%QR¯C’’I#ý{*á|Ìk{juäh³.¾p‚ެߥ×öÔªö•ÍŽh§YÇ_ÛS«Â³sV¼åø¿ëÿüý-?ñWÅ�ÿý;ä8’˜2eŠäX}°}ûvÏÉe‹5I‹ÅìI{÷�%‘HxNÔ»'Óû‚WL¯¶î°&þ%©°°°ÓëkHoHmñJt¸nÖ¿ajiiÑîÝ»µuëÖŒ÷Ï✸÷ÛüÙZÙàÞ÷¡7œ×à•0‘«Ýëšý’"Öû”CÊÐ!ù*‰zßE*>�wž¬¶ u±» Y�4 Õ¾ò¬.ÿò$͹¹B×MI­†�¤-/TëþªER^žÊ¿;Wsn®°W$MC¿z&3±�4 Ý_µÈNR\7¥\K~ð ¾ûR{EDí+›=÷W-Ò‘ÖÔ —y’¾ûR}ÿö¥ºøÂ Úò›j½ûçz÷)ž £šss…Ê¿{z%ÃÕ“®Míqs…F�,Ua$ª‹¿˜zoÖïRÒì<&t&3®žô­ŒcgJ2ÀàC2€·Þz«=qÞÐРGyD³fÍÒìÙ³UUUÕév+Qa•òñúq–J&“޳sƒs¢¼²²²Óë[œÞ,Û”¼ñb†jjj4kÖ,͘1C³fÍRee¥Ö­[çË™ìð›äïKÖ5=—3Ùâ•pBßY4�„€@A«"†�Õ�aÃÝÍÈ‚¤i躩åz¸rƒæÜR¡%+µü_WÛÇ”—§‡+7èûw,Õœ[*ôó‡ŸÕå—N’Ò+œùµ¿Ûl'¾ÇR-©xP×M-WùõsUýD­®žtmêq¯lÎH.¼¶»Ö>oÎ-z¸rƒÊ¯Ÿ«òëçêç?«òïε�w¥0Õœ[<’·¤6±¶ö–°6´Nš†ç k¥ÅuSÊU9ûVF|Úî=†¢€ÜE2€±XLÏ?ÿ¼*++UVVfß¹�ÇUWW§ dl6ì\PVVÖåOaa¡ýø\ä~=^?]­‚p²ö•¨©©±7£7nœfΜ©%K–d”–²8ßó�ˆUá"! HòÀ>w“­ æÿÙ�þwÝ”òŒß­¤�$]~é¤N›C;WO$ÍÓ}ík{j¥ôÊg2À²¤âAûßΕÖþ £F–jÎÍ©$�Óœ[*ú$#gkÂÚ0 ÏId¯ºþ––––ŒsÆ�oß©o±Î·öaH$¾1ý®!W8“ »wïÎ8féík´Ê^M™2Å3‰á.‹¥n^ÏîÝ»UUU•Q>ª·ºó7®««³ÿ=a‚ÿ—hôœ>7Žé³–Îeo$iȰ«")g¹&k/ÖžNÖ¹A ‡ ˜½e%’¦‘Q6Êú·UŽêlEÿƒ ÉÀYÁ9�ì,«¤ôÊç¦Ì–èúë¯×¬Y³2öy°8ï~·î–Ÿ2eŠ�øX»vm§ yÃ0´`Á͘1CË—/Ï86�8W¸_ÃøñãíÀ¶mÛ<÷qX·n�f̘¡ë¯¿¾ÓùÝáµR%�{þ�b±XÆõ¸ñx\ëÖ­S]]�ïʉž$Of̘a¿?UUU�Î;pà€¶oß.¥%=)S…3Ä¥÷‰8ñáÛîf[Al«"ÎÎÒMnÖ1¯M£½ÚÂtù—'u*ÕôîŸëí^¥¦Î6ôï0x�Œœf̘aÿ{Û¶möÔóçÏWMM�ç]øãÇ�·“555ªªªÒîÝ»µ{÷n­]»VëÖ­“\“áÑhT .”Ò+/\¸P[·nU]]�¶nݪŋÛ“÷S§NµŸk q¾ .´_»³MŽ�º×®]›ñ­Éø3fx–Vò3sæL)½Ò¤ªªJ Ú½{·jjj´`Áßý!*++íc ,PUU•êêêìó¬÷ܺn‹3Iåõ:½8ÿÆñx<ão¼víZ-^¼XJ'tV¬Xá:acÂ8»u|f*y`_`y¦aÅ_p7c�p–sJ&ý“ Ö1çJ+!´Iõ‘£þÇ΄•p°J59K4y­â8Ñ¿Àà@2pVˆÅbe•¬ ¨­„�3YáäÜ¢®®N•••ª¬¬´WJÄb1­_¿>ãœ[o½5c²zݺuªªªÒºuëtðàA)=)î÷œÁÔ©Sí„„õ^Y ¥“UUU3fŒâñ¸¶mÛf¿F«tÑŒ3t÷ÝwÛçtÇìÙ³3ÞïÅ‹«²²R5553fŒï{fýœçVUU©¦¦F‰DBEEEZ²dI§¤ÓŒ3ì=¬×ù‡?ü!ã1^üþÆÛ¶mS"‘èt=è_LXg§SŸ·Ë|ÿ-ßD噿Q#KO¯2øcæ†Ð–#G›õî{©Hq¢Ýn•grníä<¯¯]ýõÌRMV‰¦òÿ›UNôï�û†®X±b¥»1LmæPµ™CÝÍ9£m˜ÔVàn© -õ“« ;4,ÒánT.»ì2{2û¢‹.Ò•W^©þç¶ïÆ/..VYY™®¼òJ¤>ì£Ñ¨n½õV{R¹¸¸X±XLW]u•,X ýèGžwë—••iÆŒŠÅbjkkS,Óøñã5mÚ4­X±BS¦LqŸ¢h4ª²²2]uÕUž1ƒø�k­ÚpOÂ[ ìãÅÅÅÇfΜ©1cÆ(�jüøñºì²ËtÙe—ÙÇ/¼ðBM™2Å^]P\\¬ñãÇëꫯÖ?ÿó?ëÖ[ouDKq>_,Ö¹îrAA�ý~[“úãÇ�×M7ݤ+V¨  À÷5{^Ï´iÓô£ýHW_}uÆã•~¾›nº)ãuŽ7.ãu^vÙeºòÊ+uá…fœký�•Žcýw1cÆ -[¶Ìóõ)}žW<Ë…^èùú›°Ç„…Ê¥<Él;æ>$Iê8õ¹ŒO[=wŒ†ÉwîcB``9õy»’öéä‰O܇l‘K¾®¡ÃÏs7÷¹\ö§7ëwéƒ�U‰ªüúÎï[^¨–Ò¥Œ.ÿræÞ |ب7ÿ˜Ú€ºüúyv¢½½Mï¾—*säµ²`ÝS«ôâM’¤å?\cŸ—4jøÓ>µ··©½½MW]19ã¼_=³ÆÞäÚ}½¯íyYGZã�Ú“¦¡ÚW6Ké½!Ü×b¹`D±]šéƒõâJ’þya¥}}H »w¢¯à'×ûúlÎÿä%“ÉSîÆ0%Zóe=³!›Œ"É`,ÀCÔ�¢þ¥i¼èÈv•´»› ý5&<šhT«á½‰­$å® ‹¯QþЈûP Æ„ÀÀÑUi&I:76¡ßVEäú˜°?­«^©×ö¼¬Q%¥ªþùKîú韾.Išss…æÜR‘qìµÝµZ÷Ô*IRõÏkíMIÓÐïŸg—TºnJ¹.¿ô*%̈́ެße¯n(ÿî\}ÿŽ¥ŽˆÒ>Lõq‚®›R.¥“&ï¾W¯‹/œ >lìt½÷?²Hï¾Wß©ýÈÑfUÜs£$iIÅJ]7åû˜[íï6ëWϬ±¿üË“ôp册Çà´°úw'úz~r½¯Ïæüeš0hQÒÜ>7Ž)ñÞ@öF¢z¸rƒ½Äk{RI‹_=³&0!IËÿuµ}Þ5êWϬ±Ï›sK…]Ê) ×MÍLTX‰x£€ÜD™¦b™?,Ó€îëÏ1a%ÙwâпëÓC’Nù�_†�Õ¹_8]z¯?äú˜°¿}!v‘.ÿò$M÷U÷!ÉQ¢iÔÈRב<]0¢Ø>>,ÿô‡ra$ªòïÎK'R�»øÂ‰ºêŠkôÿÞ¶X×çÿɈdñ:ïò/]ß¿c©�ð»Þ‹/œØ¹=O–_`_ãçg–Ät–_ 7ëwéïÇS}Õ’Š3^: £w¢¯à'×ûúlÎÿP¦©‡X¦ÀËô û²1&ìË’Œ �ìùÜ8¦Oÿúï�ûC(�ˆ~á×ÜÍ¡Ëõ1!²§â‡å:Ò×uSʵ¤âA÷aøèËþ݉¾€Ÿ\ïë³9ÿC™&œ(éä¶ŽÏL™Mow¹QµÒ¥™²‘ˆzkËoªu¤5µÏÅÕ“¾å>Œôï�;2VF˜¦©ãÇ�kĈŠDz–1îÓ4õÉ‘¡:uâ÷¡œAf€Ÿ®2ãÉÏŽù.!Î9¡s‹N)?¿ïïTnoo×gŸ}¦‚‚‚3Žþùçë‚ 2û‘þ迈ï�øÁú3~GG‡>þøc}þùçî‡õZ_þÿ×é³ä�~+ÓävüÄ_'$ºs%cB ÿœ4�ë³#¨ýouò4ü —iب‹ÝÍý¦«1!`9r´Y�®]&IöÆÙ£F–ªú‰Î›y£k}½B‚¾€Ÿ\ïëó†¬óF� ýû©W|;ÑÑÑ¡÷Þ{Ïþ²y饗jÈ�¾[8aÅÏ?9JEç|Ñ}8gÐðÔ5ÿýßtüÄ!w3zéâ‹/Öŧ&ú«ÿ"¾7âëÏø’ôñÇ»‚^Ê:\_ù- É;Ç}HbL„îÔçíjûÛ!µÿý°N&ºw3Ç�a ¿èk:§È¿.N¯íNm®m¹üË“´¤b¥F•¤6ÑFÏõeB‚¾€Ÿ\ï럤ö¡GBý~ê÷ý·ïž àé“-$"úØ|À¤+àòÉ'Á%KÐ3í'OèhÀd€¾uêóv}nÓgGÞW¢qŸ>yç}ú×ÿèv"âœh± '\“õDЗe’–ÿëj-ùÁƒz¸rƒ®Ü@"â Q² 6Ê4õ™q~ü2ãG�Fµ&˜Ðêk_ùÊW4fÌ©Ÿú/âû#~°þˆßÚÚªƒºá E†ëÂâkÜÍJ~vLÏ;¦Ï†¹�è®SŸ·ëÔÉvu´�PGÛ �jëýÄà�aåÁÝœ5mÒ°Ô‚µ³FþÐá*,(îÖÝæè§ÚõɉÃgí¤;%„Éoþ'W ˆ2Mý%Ñš/ãhßÕîotFüøuFɶcúèØ>w3ÎÐúOÿIÑ(È€e÷îÝ}ºW¤ÃǪôüÌ p)»Þº3¹‹þÑ~ÒLßýÂ}”dÐ[~ó?¹":²]E%íîæ~A™&Yá°b�>ÖÝŒ3pñÅ“ˆ\Æ�ïnÂÈÑHW™Êî€?ÊÛ Ç�ˆèþ›€þÇʈ"3ÀOW™qãÓ}Ú>pkº‹œTAa‡»yÀ9ÿüóuÁ¹[îÓ§Ÿ~ªx<în�>KQ›9ÔÝÜ/ŽŸ88I“?4’¾»wxF;e÷ XAþ}©dŠ»ý¬ùïoëø‰¿º›áÁ¯$£˜ÿ «ùŸ�.›+#HFô�?tFÐ}Ùv•PðKDˆ²{Ð%¯òvè]õu8-è¿Yæøaþ§÷(Ó€³BW“3A‰Qvy•·CvüCáÅìÝÑ ü7 ý�•=Df€2ãÐ}ý=&<ÓD„“ñi‹>ò‰>æ>RA›4ì3wëà6tH¾Î�ŒõÝÙqüÄ_Õö¹én>+ô¶$£ó?ü0ÿÓ{$#zˆÎ€:#è¾þöe"˜€Ÿ\¹®¯ú}úz~r½¯Ïæüeš0hõÕ„øè÷``#€A‰ Îôû0ð‘ŒÀ Ã„gú}È $#À€ÐÐРŋkñâÅ:pà€û0ÐmLHpö ß€ÜA2 ñx\ jhhP"‘û�!«˜�àìA¿¹…d&$ýi]õJÝôO_×Mÿôu÷¡^©øa¹nú§¯ëþªEîCð@¿¹'/™Lžr7†)Ñš/ãh¾»9gE’u·€5¤hßÌÙ®¢’vw3°††íÞ½[”$�7NS§NUYYYÆãÖ®]«d2©1cÆháÂ…Ç,[·nµãTVVf3 CÛ¶mÓ�”H$TTT¤©S§jÆŒ�“¤hÛ¶m’¤Å‹KRƹ±XL .Ô˜1c:�c­Œ�¤²²2Åb1êî»ï¶+�×t=¸úzLØßŒ øÉõ1!ºo]õJ½¶çeIÒ‹ÿý-÷á«øa¹Ž´Æuù—'éáÊ îÃpè�~Ÿ¾€Ÿ\ïë³9ÿC2¢‡èŒø¡3B1 CëÖ­ÓöíÛ݇$I3gÎÔâÅ‹�¦:¬µk×Ú ‚íÛ·ÛíN³fÍRKK‹Æ�§M›6Ùí[·nUMM�gÙ¤X,¦õë×g$¬}$iýúõzä‘GÔÒÒâ8+eÉ’%ºõÖ[%×9n±X̾vIZ¾|¹öìÙ“ñ˸qã´~ýzÏׇ�§/Ç„ý1!áÆ˜€Ÿ\¢ûHFdGõûôõüäz_ŸÍùÊ4�cjjjìDDYY™*++UYYi¯ ¨««SUU•ýø©S§ÚÿöJ`444Ø ƒÛn»Ín¯««Óºuëì K–,±Ÿ§¨¨Hñx\‹/–aŽh§­]»V‰DB³gÏÖÂ… 3V.¬[·Î>ÏZ±1eÊûøÌ™3µpáBÍž=Ûn[»v­�ˆ˜9s¦ªªª´~ýz;îÁƒUSSc?g‡þš�ÙG¿¹mèŠ+VºÃÔfU›9ÔÝœ3Ú†ImîV� ÚR?¹ª °CÃ"îf 0 Z½zµ$iáÂ…Z±b…Æ�¯ñãÇÛI‡††}ôÑGv©£X,¦­[·ª­­Mmmmš9sfFÌšš»äÑÝwß­¢¢")½ !‘HhܸqÚ°aƒ®ºê*ûy¾ó�ïhûöíúÛßþ¦‚‚»4TKK‹�ð(((Puuµ¦M›¦²²2M�:U†aè?þã?$IÅÅźì²Ë�FUVV¦¶¶6;Ù°dÉÍœ9S—]vYú*¥ÿößþ›þö·¿iÊ”)Zµj•.¼ðBÅb1ûuÇãq•””d$50põŘ0›Œ øÉõ1a6½¶»Vµ¯lÑ»®×UWLÖ»®×–žRí+›õæ[¿W{{›.¾p‚$)iúMí¯Uû»Ízåõÿ¡>lÔb«°ÐÿVvg¼×ö¼¬>lÔ°ü�Yê~h†ÚßmÖoj­W^ÿ×ñfý.}ðQªšsK…û4IÒ›õ»ô›—�ñœ~×YûÊf%Í„F�,ÕuSÊ݇ÏzýÝïÓ×ð“ë}}6çX@Ùºu«”._äµÿÃÂ… ídÂîÝ»ívgI$÷Jç> VɥݻwÛ«%{ì±N¥�b±˜½"Áº&·Ù³gg”pRúú,V¤»¬ëñ*µpáB=ÿüó�ö»ÀàÕ~Òì× @øÞ}¯^¯í©Õ›õ¿×›õ»tÕ"½¶§Vïþ¹^oþq—Ö=µR[^¨Ö‘£ÍúáŠyÚòBµÞüã.½ûçzÕ¾²Y?¼ž>ø°sßpäh³îdQF<ëœû«éWO¯qŸ"¥Ïûáýóô«gÖØÏ㼎 Ö¹�þ×e�ž³âžò.ÏG¦þNDÂA2€b%Æ�§††Ï+àÜ«Á¹©µ³TÓ�ìÇ9WLXÏ‹Åì�¥Ý?–D"Ñ)Á!IãÇ�w7)�vJPt—¯¡¡AUUU œ}N´}ân²1!¹-iúÕÓktù—'iÎͺnÊ ö±-¿©ÖýU‹”4*ÿî\͹¹B—_:É>o]uçâ÷W-Ò»ïÕK’®žt­–üàA}ÿö¥ö*‹ÚW6k]õ*×Y©ó¬äÆå_ž¤ïß¾Tß¿}©.¿t’¶ü¦Zïþ9Ó-iç–wn§çÜò›jÕþn³ëLx!ƒÉrˆµ*`Ïž=Z¼x±ç�µâÀ¹ò ¬¬ÌNH87€®««“$é›ßü¦ÝnMò[ûBxý87–N&“ö¿ÃRYYi'2êêêTYY©Y³fiöìÙªªª"1q–vŽ÷„�û’¦¡«']«‡+7hÎ-ZR±2cCç#­qýü‘gõý;–jÎ-zxÅ]=éZIÒ5êHkÜ~líï6ۿϹ¥BËÿuµ®›Z®òëçêç?«òïΕ${õ‚åµÝµöyåß�«‡+7¨üú¹*¿~®^±Aåß�›ñ§u­[^¨VÒì|CN#ƒKF2Â4MÅãq™¦élî3¦iz–Vd_"‘õó?ìþål‹?fÌ;Áô#Gü«¯¾Zr•j²S§NíTŠÉâŽéþùêW¿Ú/ÿýŒ1Â.ÅTVVf—£ŠÇ㪫«Ó¬Y³zµ�uoÞÿž ~8ÎÍ¡ÃÇf´1!ƒGùõó2~¿üË©ÕJ¯nUË8~õUß²ÿ}äh³ýïÚWž•$�Yª97wÞ×aÎ-*Œ¤Æ@¯íyÙnó�¿·ÿí¾¹Îs{mO­$éº)åöJ§%Jé¤Ë›õ§Ÿ™(Éáè�ïï~ñídDGG‡šššÔÒÒ¢¦¦&utôí&V|¯2€ì3 #ÔÏÿ°û—³%¾5?eÊ­_¿>ð§²²2#þ¥—^jÇùÃþ�Q¢ÉÚÿÁb­@(**ê×ù³víZ-^¼¸_ÿû™9s¦Ö¯_¯ßýîwÚ¸q£*++í÷¥¦¦¦Gc ¯ø}‰øá*=ÿk*=ÿJýCá—4ú¼Ëô¥‘S™�€AÂ�lpòK¸%MÃ^¡pÝ7O—zr*ŒDuñS çÊëß—y’çµF¢ºzÒéˆåƒO¯ÌU³÷Špþ|ða£ýœ‰d¢$#„£?¿¿»Q¦ €bí›ð‡?üÁ}ÈæW®(‰èÊ+¯”ÒeެM±XÌ^Ea±ž'‘HdìádF�&þûBKKKÆsŽ?^3gÎÔ’%Kì¶žnŒ�Ü6bø4ú¼¯è /Ö�¼s܇g1çfÖ£F–fs52•l8Òz:1`•OUâžWRÄYviË ©ý-¼~¬Çù•z%`0²“C† ÑE]¤1cÆè¢‹.Ò�!}›§°âû•€dW4 õó?ìþål‰¿páB)]šÈ«$Q<׬Y³ôÍo~S555�â[›T8pÀ.ÑäND(½òÂZm°víÚNIÃ0´`ÁýçÿüŸµqãÆn_wYÏg]ÿ§Ÿ~ªý×Õ­·Þš±W…¥·e ÝïO_]¿…ød�W² ?]|á]~é¤ÀkU:£$#„#›ó?-‘HD±XL‘HÄÙÜg"‘ˆ=±XŠŠŠBýü»9[â;÷‚¨©©Ñòå˵uëVÕÕÕiíÚµZ°`�”þ{Z‰g|+É�H$ì³gÏvr´Yï¾—Úââ/N´Û/¾0õï>lÌ(½d9r´9c� ˨‘¥öŠ ¯ãg )£$# CW¬X±Òݦ6s¨ÚÌ¡îæœÑ6Lj+p·€TЖúÉU…é¼¹ž‚‚M�:Ueee***RAA�b±˜®ºê*͘1C•••ŠÅ:o´h‰Åb*..VYY™nºé¦ÀÇ–••iÆŒŠÅbjkkS,Óøñã5mÚ4­X±"#±a‰F£*++ÓUW]å»"ò²Ë.Ó•W^© /¼0£ÝZùQTT¤‹.ºH_ùÊWtÙe—©  @ÑhT·Þz«��(..¶_÷‚ t÷Ýwû>Æ„«\fÓ›õ»ì¤Áœ[*܇µå…j)�(¸zÒµÇ>ø°Qoþñ÷’¤ë¦”Û{D$Í„Þ}¯>µŠ!/µ!µÓ¯žYc?ç÷ïXjŸ7,˜þð¿ÿ—ÚÛÛô÷ãëô|[^¨¶“r]o{{›Þ}¯^|Ô˜ÚÛµ_Eíï6ëѵËTûÊfM÷Uûxí+›•45²T×M)Ï8ý�¾€Ÿ\ïë³9ÿ“—L&O¹ÔhÍ—q4ßÝœ3Œ"ÉÈnÙITÔ�¢½+[? DG¶«¨¤ÝÝ ¡`L`°Êõ1a6­«^©×ö¼,Izñ¿¿å>¬›þéëR:Ù°¤âÁŒc¯í®Õº§VI’®Ü`'’¦¡Þ?Ï.ÅtÝ”r]~éUJš ½Y¿ËN(”w®¾ÇRGDéþGÙÇG•”ªü»©’JÖy_8Á^áà¼^¿ç”¤wß«·_㨑¥ª~â%û¼Š–ëHk\—y’®Ü`·#;èëøÉõ¾>›ó?”iƒRa$ª‡+7hÔÈÔJÐ×ö¤’¿zf��h¸nÊ �’´dуöyGZ›õ«gÖØç͹¥BW_•¹ZÂâ÷œëžZe'".¾p ÀY‡•=Df€2ãÐ}Œ  V¹>&̦7ëwÙ+ <Ë4ýÆ*Ó4¡SÙ¤>lÔ›õ»$I×M-ÏØHÚòÚžZ½ûçúŒ «¯žtm§ÒMn¯í©Õ›õ¿W2i¤K(Ý Ë¿ò Yñ Ãp †a„úùvÿB|oÄFü`aÇô¯lÎÿP¦ „*/™Lž²~1MSÇ�׈#‰D2ÙLÓÔ'G†êÔ‰ ܇r†Q$Qw+HQCŠæp%º¼áë¼Q'Cûü»!¾?â#~°°â'ZóeÍw7ç Æ„üäú˜@ }=?¹Þ×gsþ'#Ñøâ `°ÊõÎ(:²]E%íîfcBƒU®� ¤Ð×ð“ë}}6ç(ÓBE2„ŠdÉ*’ T$#@¨HF€P‘Œ¡"BE2„ŠdÉ*’ T$#@¨HF€P‘Œ¡"BE2„ŠdUF2Â4MÅãq™¦élî3¦i*‘H¸›@"‘õó?ìþ…øþˆŒøÁÂŽè?Ùœÿ±“jjjRKK‹šššÔÑÑ‘ùÈ3dÅ7 Ã}0†êçØý ñ½?ñƒ…п²9ÿC™&ª¼d2yÊúÅ4M?~\#FŒP$É|d0MSŸªS'.pÊF‘dDÝ­ E )šÃ•èò†¬óF� íó?ìþ…øþˆŒøÁŠŸhÍ—q4ßÝœ3ð“ëcB)ôõüäz_ŸÍùŸŒdDà‹'€Á*×;£èÈv•´»› Œ  V¹>&�B_ÀO®÷õÙœÿ¡LÉ*’ T$#@¨HF€P‘Œ¡"BE2„ŠdÉ*’ T$#@¨HF€P‘Œ¡"BE2„ŠdÉ*’ TÉÓ4�Çeš¦³¹Ï˜¦©D"án ‰D"ÔÏÿ°ûâû#~0â ;> ÿdsþÇNFttt¨©©I---jjjRGGGæ#Ï�ß0 ÷!À`F¨Ÿÿa÷/Ä÷Fü`Äv|@ÿÊæüeš@¨ò’Éä)ëÓ4uüøq�1B‘H$ó‘}À4M}rd¨N�¸À}(gE’u·€5¤hW¢Ëþ±Îu2´Ïÿ°ûâû#~0â +~¢5_ÆÑ|wsÎ`LÀO®� ¤Ð×ð“ë}}6ç2’ý�/ž«\#ÛUTÒîn€P0&0Xåú˜@ }=?¹Þ×gsþ‡2M T$#@¨HF€P‘Œ¡"BE2„ŠdÉ*’ T$#@¨HF€P‘Œ¡"BE2„ŠdÉ*’ T$#@¨HF€Pe$#LÓT<—išÎæ>c𦉄»0$‰P?ÿÃî_ˆï�øÁˆ,ìø€þ“Íù;ÑÑÑ¡¦¦&µ´´¨©©I™�ÿÃî_ˆï�øÁˆ,¬ø‰Ö|GóÝÍ9ƒ1!?¹>&�B_ÀO®÷õÙœÿÉHFô¾x¬r½3ŠŽlWQI»»BÁ˜À`•ëcB)ôõüäz_ŸÍùÊ4€P‘Œ¡"BE2„ŠdÉ*’ T$#@¨HF€P‘Œ¡"BE2„ŠdÉ*’ T$#@¨HF€P‘Œ¡"B•‘Œ0MSñx\¦i:›ûŒišJ$îfÀ�H$Býü»!¾?â#~°°ãúO6çìdDGG‡šššÔÒÒ¢¦¦&uttd>ò Yñ Ãp †a„úùvÿB|oÄFü`aÇô¯lÎÿP¦ „*/™Lž²~1MSÇ�׈#‰D2ÙLÓÔ'G†êÔ‰ ܇r†Q$Qw+HQCŠæp%º¼áë¼Q'Cûü»!¾?â#~°°â'ZóeÍw7ç Æ„üäú˜@ }=?¹Þ×gsþ'#Ñøâ `°ÊõÎ(:²]E%íîfcBƒU®� ¤Ð×ð“ë}}6ç(ÓBE2„ŠdÉ*’ T$#@¨HF€P‘Œ¡"BE2„ŠdÉ*’ T$#@¨HF€P‘Œ¡"BE2„ŠdUF2Â4MÅãq™¦élî3¦i*‘H¸›@"‘õó?ìþ…øþˆŒøÁÂŽè?Ùœÿ±“jjjRKK‹šššÔÑÑ‘ùÈ3dÅ7 Ã}0†êçØý ñ½?ñƒ…п²9ÿC™&ª¼d2yÊúÅ4M?~\#FŒP$É|d0MSŸªS'.pÊF‘dDÝ­ E )šÃ•èò†¬óF� íó?ìþ…øþˆŒøÁŠŸhÍ—q4ßÝœ3ð“ëcB)ôõüäz_ŸÍùŸŒdDà‹'€Á*×;£èÈv•´»› Œ  V¹>&�B_ÀO®÷õÙœÿ¡LÉ*’ T$#@¨HF€P‘Œ¡"BE2„ŠdÉ*’ T$#@¨HF€P‘Œè¡¡'Ý-�’ßîn VŒ øaL ôõüÐ×÷Ɉ*hs·@JþçîÀ`Ř€Æ„Àà@_À}}衡'¥atH\òÛ¹sÎ&Œ xaL ôõ¼Ðן’½5Ü-Îv…Iw `°cLÀ�1!0¸Ð×p£¯?3$#z¡ �ÿðœV”�"'Ü­€ÁŽ1!'Æ„ÀàC_À‰¾þÌ‘Œè¥ŸHÃù�8ëELé<î–€³cBbL jôõD_ßg2’¦i*�Ë4MgsŸ1MS‰DÂÝœ³.ø;Kö€³UÞ)iÄqéüãî#¹+‘H„úùvÿB|ÄFü`aÇ g¯Á8&Ð}=pöŒ}}6çìdDGG‡šššÔÒÒ¢¦¦&uttd>ò Yñ cp}zGÒè#ÒyŸHŸ¥þ08å�JýÿSAA�.½ôR ÒwUœ¬øù'G©èœ/º²,ñùGjz$´Ïÿ°ûâ{#~0â 3~¢5_ÆÑ|w3 DÙœÿ±“J/£8~ü¸FŒ¡H$’ñÀ¾`š¦>92T§N\à>Ȳ¼áë¼Q'Cûü»!¾?â#~°°â“Œ€þ—ÍùŸŒdDà‹' LÑ‘í**iw7@(@ÿËæüOß­Ãð@2„ŠdÉ*’ T$#@¨HF€P‘Œ¡"BE2„ŠdÉ*’ T$#@¨HF€P‘Œ¡"BE2„ŠdUF2Â4MÅãq™¦élî3¦i*‘H¸›@"‘õó?ìþ…øþˆŒøÁÂŽè?Ùœÿ±“jjjRKK‹šššÔÑÑ‘ùÈ3dÅ7 Ã}0†êçØý ñ½?ñƒ…п²9ÿC™&ª¼d2yÊúÅ4M?~\#FŒP$É|d0MSŸªS'.pdYÞð�uÞ¨“¡}þ‡Ý¿ßñƒ?XXñ­ù2Žæ»›!ÊæüOF2¢?ðŦèÈv•´»› Œ  ÿesþ‡2M T$#@¨HF€P‘Œ¡"BE2„ŠdÉ*’ T$#@¨HF€P‘Œ¡"BÕïɈ!ù§ÜM€àœs;ÜMÆ„Ðÿ²9ÿÓïɈ‚ÈIw`8gXö:#gÆ„Ðÿ²9ÿÓïɈ¡ù§4Œ/Ÿ0 œsn‡ÎÆ]ÊúcBè_Ùžÿé÷d„$EKÚÝM€,*ú‡ÏÝM:Ƅв=ÿ“•dİÂg÷…R ‹?×ð|&èŒ   „ùŸ¬$#$):ªMçfùÅÀÙnøùŸë¼Qmîfè7Œ  \eþ'#aš¦âñ¸LÓt6÷wü JÛÉò|èoyCNé¼Ñm:?–êˆÜŸÏ}�øÁˆŒøÁCüOó>Ô¹ç‡ÎVmþgèŠ+VJRGG‡<¨ãÇ�+‘H¨¸¸XyyyîÇ÷š_üa‘ ?ÿs�“J§NI'ó¤S}÷¼€”¼!§4lx‡"çŸÔù_hSA¤C ø|î+ÄFü`Ä6˜âŸhÿX_¸d„ò‡‰1!ôÒ@žÿÉK&“§¬¿÷Þ{úì³ÏTPP K/½TC†ô]'â#~0â#~0â#~0â#~0â#~0â#~0â#~0â#~0â#~0â#~0âñí•yyy*,,T~~¾ÆŒ£aÆe<ðL?ñƒ?ñƒ?ñƒ?ñƒ?ñƒ?ñƒ?ñƒ?ñƒ?ñƒ?ñƒ?Ø@ˆo¯ŒCß­Ãð@2„ŠdÉ*’ T$#@¨HF€P‘Œ¡"BE2„ŠdÉ*’ T$#@¨HF€P‘Œ¡"BE2„ŠdÕÐ+V¬´~1MS­­­:t¨òóó3ÙˆŒøÁˆŒøÁˆŒøÁˆŒøÁˆŒøÁˆŒøÁˆŒøÁˆŒøÁˆŒøÁˆŒøÁˆ,ÛñídDGG‡<¨ãÇ�+‘H¨¸¸XyyyîÇ÷ñƒ?ñƒ?ñƒ?ñƒ?ñƒ?ñƒ?ñƒ?ñƒ?ñƒ?ñƒ?ñƒ „ø”i¡úÿÊäï;¶ ãIEND®B`‚alainm23-planify-69962f8/docs/image3.png000066400000000000000000002113071517337276100177020ustar00rootroot00000000000000‰PNG  IHDR"«�1sRGB®ÎégAMA±� üa pHYsÃÃÇo¨dÿ¥IDATx^ìýpS÷�ïÿ¿lË?°¤ÁRloë~ˆ7Ÿ›8[ÚL̲ž¹ ݉;MºÝ…$Ý»[¦fîÜOØPòù|&Ø3!Ÿ!0s¿¡¤ôóýÞ‹3ôöNCáÛv¡S3Ýd¿óq tn—Ýîìzbì´ã©Ed9@�e[Øß?äs�Žä_Ò‘Ð�çcÆÓò>ÒKG²¥ø¼ü>ïS‡g�¥ö€L¡ˆY“PD†!Ã0ìÃi!“L§�I¦SÈ$Ó)d’é2Ét ™d:…L2�bÏ,ëèèØ»q``@£££òz½ª¬¬´n˜*2É$“Ìt�I&™d¦ƒL2É$3d’Iff2fDdJ‰ýªÆÜt ¯×;œ2Ét ™d:…L2�B&™N!“L§�I¦SÈ$Ó)öÌ„" S85d EÈŠ�5 k("@ÖPD€¬¡ˆYC²†"d EÈŠ�5 k("@ÖPD€¬¡ˆYC²&¡ˆ0 C†a؇ÓB&™N!“L§�I¦SÈ$Ó)d’é2Ét ™d:ÅžYÖÑѱ/vãÀÀ€FGGåõzUYYiÝ0Ud’I&™é “L2ÉL™d’If:È$“ÌÌd–„ÃáYû $iÆ òz½±÷O ™d’If:È$“L2Ó‘ï™SáRMÜréöD™îL•Øî/WÕŒ**g´beDîi�÷Q:È$“ÌÌdÆæ�$9ò€&2Ét ™d:…L2�B&™N‰Íœ�)Ñ­á Meö›°©^‘·vZ¥¥³o:…L2�’¯™ Eî�Ù™…†ªa°d®òY­ṳ̀JK9´òAÂb•¸wþðI9%°L‘éè,"ù�" GL…K5~Óe°“F™¦ÂÞù€w*@Ž˜ø%�މ[¼‡€|@�#¦'ùÕ HÇíqxòÿµÈ@zîL³¾ �ø¯ÈŠ�5 k("@ÖPD€¬¡ˆYC²†"d EÈŠ�5 kŠÃ0d†}8-d’é2Ét ™d:…L2�âtP¬œ~/eêýN¦sÈÌ¿Ì²ŽŽŽ}±4::*¯×«ÊÊJ놩"“L2ÉL™d’If:ò-ó¾ŠuöM–i(pÑñ÷f&Þïd’™®|ÎL˜�)%ápx6vÀ˜›.áõzc‡ÓB&™N!“L§�I¦SÈ$Ó)†ahìãìÖÉóà'Ž¿7•�÷»È´oJ™ù—™PDàÞôWÛ‡,S]ã¸}@ŽáÔ �5 k("@ÖPD€¬¡ˆYC²†"d EÈŠ�5 k("@ÖPD€¬¡ˆYC²†"d EÈš„"Â0 †aN ™d:…L2�B&™N!“L§8�+§ßK™z¿“é2ó/³¬££c_ìÆ���ŽŽÊëõª²²ÒºaªÈ$“L2ÓA&™d’™Ž|˼¯b�}€e \tü½™‰÷;™d¦+Ÿ3fDdJI8ž�0æ¦Kx½ÞØá´�I¦SÈ$Ó)d’é2ÉtŠaûøû0€eò<ø‰ãïMeàý.2í›RFfþe&¸7ýÕö!8 &M�} P]ã¸}@Ž¡ˆÈÎ �ê~ï„zÎw+ Xã ëÖ«í‹/¨uó³q·Gá ˆrE@Ž ˆpFxÜPç��º2(IrW{å®öÄ­-mÚÕþz̽¤Î7w*ÖŽ÷hÓ“[â¶9-82¬Î;%Iû;º˜­á Š ÷±X% ʱwièÊ ÜÕ^íß{TÇ�þB]‡»õÓüZ;^Ú#Iê9ß­žsgâî + (<17ž)ÁP ®€bA€‚Ò×ß+IÚö\»š›ã¶µ=³]­-ÑÓ2.\<+ÍÍ ˆ-̇ǣ‹«ÙCõõ÷Z3.ìì÷�º2hÝÞ^@Gæ �y §fäNÍpÆW¾þ¤$iWû>«tˆe.^)Iþš:éÚ§žóñ³#”äô�“§ºÔýþ‰¸ÂÀ_S¯mϵǭ9Ñs®[GÞyCM�Íj{f»Žt½¡ð¸¡¦Æfíß{T�oîTßåhYkÛsíÚö|»}ËÄ©@îcF JÓ£ÑY'Ou)8’xꃻÚ+M�µ.ƒßW¯¦G›å®Ž^VÎï«SÓ£Íjxh½uŸcïÒÉÓ]V¡ÐÚÒ¦¦G› ëÈ;ût¡7:»"V0бwIs‹dšù ëÖ[ûûo¿�u"fDäfD8£¯¿×ZR’6=±E›š·¨aÝz5¬»[.صïnS0H˜IVçÁ� ŽôÚ+oiSóÝ…,ÍÙælÅ̈�¤Ö–gµã¥=V a Ž «ý[_–$uîf±J1#È}̈@AijlV×áŸY³.\<«#ïìÓîÎÔ¾ûËê~ï„ý. òûêÕõín?ú‹¸B1³/’ͼ�¤mÏïL(! ØQD àøk굿㨺ÿL;^Üs·0 ëØñCjßýåe/é®öZ OöœëŽ®ñ�ó—þšzf:@(XþšzµmÝ®ýÑËxîj]îj¯‚¡a�<Õe¿ù¼úú{ÕùæN½¸óÏ´»óyç �<Ý5ï•3ó£ˆ@QpW{ÕÚÒ¦mÏE¯L‘ìJÉ ]Tç�è•.š›µãÅ=zí•·Ôu¸[»¾y÷ª€¥¡ˆ@Á¸Ð{Ví»Û´»óû&‹yuŠ¥žšÑs¾[’´©y‹öï=ª¶­Ûµ©y §]@Š("P0š› 4teP'O'žz7¬Kj65Þ½„æBÌÂ"Ù¢“}—{íC€E”uttì³ ûÆBåö!,SEy¥Âã†Û§¾þ^õ]îU8<¦ßÿN=çÏèH׺ykT’´ã¥=z°þ�­û^èýÀ*1ÌòÁï«Wxܰ¶­^Y#Iú}àw:yºË:½Ã]íUÛÖíÒÜ©.~7fçv{Õýþ MOOéBï �rW{µzÕûM±L^ß´}@Ž¡ˆÈÎxâ±§¬2" èÒ¿ýJ.~ ÁßöizzJîj¯þãßîUËç¿w¿†uôËúGݼ5-0ÆÇÔòù/ªaÝCÃümŸ.\<«÷{þ^=çÏ( è?þÍk ¥ÃRŠIª¨¨Ô¥ý•Âã†ú.÷ª¢¼BO<ö”ýfX&Š ÷•„ÃáYû ²/Ð_mB‚¡a]øõ ††“»Ú£†‡ÖkÓ“[’žf¡˜û„Ç ù}õjmyÖÚv¡÷¬úú£EÃCëÕº9ºí¯ÏÊíöjSó+£ïÃÞ¸±ùÄ>^Scó’OÁüêÇíCrLBaÑih^oòçT�I¦SÈ$Ó)d’é2ÉtŠaûøû0€eò<ø‰ãïMeàý.2í›RFfþeÆ�ša†4::*¯×«ÊÊÊ»÷L™d’If:È$“L2Ó‘o™÷U¬³o°LC�‹Ž¿73ñ~'“Ìtås&WÍYé1È$Ó)d’é2Ét ™ù‘É©@ú85ƒL'�™ÙÌ„"÷‹Uéc±J ÷qjÈŠ�5 k("@ÖPD€¬¡ˆYC²†"d EÈŠ�5 k("@ÖPD€¬¡ˆYC²†"dMBa† ð§…L2�B&™N!“L§�I¦SœÎŠ•Óï¥L½ßÉt™ù—YÖÑѱ/vãÀÀ€FGGåõzUYYiÝ0Ud’I&™é “L2ÉLG¾eÞW±Î¾ À2 .:þÞÌÄû�L2Ó•Ï™ 3"2¥$ÏÆsÓ%¼^oìpZÈ$Ó)d’é2Ét ™d:Å0 �}ü€}À2yüÄñ÷¦2ð~™öM)#3ÿ2ŠÜ�þjû€eªk·È1œš²†"d EÈŠ�5 k("@ÖPD€¬¡ˆYC²†" G”–ÎÚ‡(89¢¬‚"H‡«jÆ> QDäˆ*ïû€e¨tSDù€" G¸ï�pz�†êUÓö!9ˆ" G””ÎÊ]Ã�� ¯oZ.NoòE@ñ¬‰È료–Ãë›–‡È9ÆS3­•õS,^ ,¢¤tV«ê§(!€²oΚ¡¡!ýêW¿ÒÅ‹511aß Eƒ"krrRÿöoÿ¦›7ojllL×®]S¿ýf÷á‡jhhHºyó¦þå_þE‘HÄ~3( (X†a$Ì>Y-#>üðC]¿~=n,‰èÆ�qcP,("P°\.—}HÊb‘¬„0Í·oPè("P°V¯^­ÚÚZû°”…2b¡bíÚµZ½zµ}ŠBBa† ð§…L2�B&™N!“L§�I¦SÈÌ\æÆ�³^F,TBÔÕÕé‘G‘²ðÜ�B&™N!“LI*ëèèØ»q``@£££òz½ª¬¬´n˜*2É$“Ìt�I&™d¦ƒL2ÍLŸÏ§‰‰ ���Ùo®±±1MNNÊçóÙ7I’B¡PÂý<ϼ·_¬„hll”æÙÏt‘I&™d¦#[™ 3"€B”�™K-! ˜•„ÃáÙØcnº„×ë�N ™d:…L2�B&™N!“L§�™½Ìå–ýýý qcµµµÚ¸qcÜØrsµÈ~¦ŠL2�B&™N±g&@¡[Ni°”"b9yPì85EÇÉÓ4(!`y("P”œ(#(!`ù85Em±2AsÅD,³ÀXè~”�EŠÞBeD2.—K‘HÄ>,QBÀ¢85Eo¡Ó4’¡„€ÔQD)”v”°4ÀœTËJX:Š ÆrËJXŠÀf©e%,E�Äbe%¤†"˜Ç|e%¤Ž"XÀÆ�µvíZëßk×®¥„€4”„ÃáYû €x‘HD’är¹ì›ËÀŒ` \.%8€"d EÈš„"Â0 †aN ™d:…L2�B&™N!“L§�I¦SÈ$Ó)d’é{fYGGǾØ�•×ëUee¥uÃT‘I&™d¦ƒL2É$3d’I&™é “L23“wÕ ó’´aÃy½ÞØû§„L2É$3d’I&™éÈ÷Ì©p©&n¹t{¢Lw¦Jl÷Š—«jF•3Z±2¢ ÷Œ´Àû(d’Iff2.ßiÌM—pâMd’é2Ét ™d:…L2�›9;S¢[Ú0Êì7`S½2"oí´JKg3þÞt ™d:%_3ŠÜ;³3% U) `É\å³Zó™I•–rh䃄Å*pïüá“rJ`™"ÓÑYDòE@Ž˜ —jü¦Ë> ` &�2M…9¼òïT€1ñJ ·xù€" GLOò«�ŽÛã,ð äþk�#("€ôÜ™f} ð_;�5 k("@ÖPD€¬¡ˆYC²†"d EÈŠ�5 k("@Ö$†aÈ0 ûpZÈ$Ó)d’é2Ét ™d:Åé< X9ý^ÊÔû�Lç�™™eûb7 httT^¯W•••Ö SE&™d’™2É$“Ìtä[æ}ëì›,ÓPà¢ãïÍL¼ßÉ$3]ùœ™0# SJÂáðlì€17]ÂëõƧ…L2�B&™N!“L§�I¦S ÃÐØÇ؇,“çÁOo*ïw‘iß”22ó/3¡ˆÀ½诶X¦ºÆqû€é k("@ÖPD€¬¡ˆYC€{nèÊ ‚#û0 qÕ €áäU3zÎu«ïòEû°$©á¡õÚÔ¼E~_�}Ó=Ñs®[GÞyCîj¯ºÿLîjç.gº2¨î÷OH’vµ¿nߌ{Àümz´Y­›ŸµoNWÍr3" Pßå^õœïNúuìø!µ«M'OwÙïvO„ÇÇæþ×°þ¿ÓÂã†õü1¿ð¸¡#]oèH× �öÍŽ2Fû.÷Ú7(p¬©±Y»¾ùºõµãÅ=jz´Y’tòT—ºß‹Î¸—Ú¶n×k¯¼¥ý{�Ê_“³4ŠU8|·°ÉT)Ì_S¯ÖÍmÖWÛÖíÚßqÔ*#re†À¦æ-jjŒî °±F@Žpr�ˆ#]ûÔsþŒZ[Ú’®‰p¡÷¬¾ýª$é§?øu¶î÷Nhèê Âã†Ö­WÛ_H8�ÿØéÂųj{æ556ëØ»‡4tuP’ÔÚò¬v¼´Gš›yÑs¾[ÁP iV_¯Žtí“$uŽ#æ˜ßW¯×^yKÝï�X0Ã7tòT—.ôž�»­ßW§Î;¥$Ï7ºàÏhªX#È}eÑO}ÜSc¡rûPÊ.ôžÕÐÕA5¬Û MÍ[ì›uóÖ¨zΟ‘æN�¨(¯”æJƒÿúýƒ †ª(¯Ôê•kôûÀ]¸Íkùü­Œ_^øGõ]¾¨Õ«ÖèÔ™ïkèê ¦§§4==¥Áßö)/sÆ@¬dyÉ ]´ÌcO™0Egtk×7×Hhx(þyÇ~�šmNØßØï‘ù˜šû>›ÏÑ,¦zÎ-ÿªæëа.ñçÃ<íC1%“9ã¡éÑæ„ï»»Ú«MÍ7 xPD0wµWþš:ëË´íùvíß{Ôúwìé»;_ˆ+/ÌôÜØL0‹“¹ÿÉKT’ƒzÅ–Wžoûî6;~ÈÚžªØÒf¹—&�]kAËüÅêëïÕÁïêÅ�¦wþ™Úw·éÈ;o$J‹ ††%IÇÞ=”ðØí»Û¬’$ŽÏ�ïyÛË Åƒ" €mjÞ·6€ùW~ûùù±ö­-m ~ÙK€\`îS8œ¼$‰�!`ç÷Õ'<ÇØ¯\ùË}*ߣ“§ºÔy`§.\<+¿¯N­-mÚñâíß{tÞ‚`1M�Í �û5_¦„"Â0 ÆòÚÑÅ�I¦SÈ$Ó)d’é2ÉtŠÓyó1º2·–@ì_ß·=ß®]í¯Ïû•‹É6÷?¿ŸvYkˆ´nŽ^ñ#~À>œ²#]ûÔsþŒZ[Ú´«=ñŠ æ�£»Ú«®Ã?³ ÍÜdü¾èeÍÓ zŒöÝm †Ú¿÷hÜiæA¨$ýô¿^ÖX¬dùáqC»;_Høë»$½öÊ[Ö¬ƒØ¼ØƒädZ[žÕ®öèe15Ïã.ÅB¯ë¶çÛ­«—G†Õþ­/K’ºw']Ça¡,û÷¨ûý:öntÑMÍ�* ä÷ÕË¿¦N}—{µ«}_ÜU@ÌŸ ÓŽ÷¨mk´Lº2¨Î;“žþâ®öÆ�š!s¡Ì·_M¸½ßW¯Ö§ŸÕÉÓ]I~ÒáyðÇß›ÊÀû]dÚ7¥ŒÌüË,ëèè¸ûÉ*©²²R•••±Ci#“L§�I¦SÈ$Ó)d’é”ÊÊJ�…ÊíÃ) �rWßwéÆXþ¬nÞúTÖÿ±V¯Zc�ÿßÔØ¬MOnÑôôm©Dª(¯Pú jÝ=X\½r�•±ÐcC=Xß ¦Æf­^u÷>š»êFú q¬K3%˯(¯TÛ3/È﫳­lj|Rÿño_³ž¯=¯¢¼R[[¿jÝÇíöª¢¼Âº_ÛÖø+Q${Ü¥0_£éé)UTTÄ=Fkìe=K³ŸªŠòÄŸ³¦Æfµn~6zp¿È÷hÃß�{=$©më ÚÕþº¦§§´zU�š66[ßIzâ±§¬ûøkêµá‘ÏZßßÕ«Ö¨å _”æ^;Í• -Ÿÿ¢víܧ Öʱ¶}á‹qûûøå•I~Ò±æ�œ�ô�©÷;™Î!3ÿ2fDàÞôWÛ‡,S]ã¸}@Žq¶.XEÈŠ�5 k("@ÖPD€¬¡ˆYC²†"d EÈŠ�5 k("@ÖPD€¬) ‡Ã³öAd_ ¿Ú>”³‚¡€$É]í‘»Úkß|OdcŸ–ûÁ‘a�<ýŽúú-·Û«¶/¾ ÖÍÏÚo–óÌçm篩³Å � ��Ù‡¥e¼†ËU×8n�cŠÃ0$I^¯s d’é2Ét ™d:…L2�b†Æ>~À>œ³:ßÜ©¾Ë½Úö\»¶=ßnß|O´ïnS0Юö}jmÉÌÁþr#82¬Ý�/*<ýy‘´¤ûåšàȰڿõeû°¥©±Y­O·%-Xúú{Õy`§}ØÒ°n½ãåŒçÁOo*ïw‘iß”22ó/3îÔ Ã0400 ��ë†é"“L2ÓG&™d¦�L2ó!…¥çü…Ç ù}õ:¼ÿ‡:¼ÿ‡yWBØùkêâ¾4W6ygŸvw¾WºØ%»ïЕAygŸºß;a¿yÊ2ñÞ$“Ìt‘ŸÉ@CÃ’¤†‡Ö«a]ô+ßíïèR×áŸiÛsÑ1CWuðíWíw±$»ï¦æ-’¤“§»ì7PÀ85#™d:…L2�B&™N!3?2�>5# ¨ïÃ_+ È_S¯¦Æfù}‰çô_è=«pØÐ¦'£…=ç¢ÉoÝÜ6ï‹�šÑ×ß«¡+ƒ �jX·Þ:àœ�ýö mHº¯š[wà¯Ï* È]íÕ¦æ-òûê=mÂþ íSª�¡¹Súú{ÕsþŒú.÷Î�º½í¦'·È]íµ^ó¦Æ'åv{æ}͇® ª¯¿wÑ×¥ç\·4—/ÉÚwûó4_Í�ÑÔØlm›Oì©]‡»“þLÄž‚±ïQ+7v<Ù}—’½\œšA¦ÈÌlfB€{ÃÉÅ*�½{HÝï'Nwo{f»v¼´'n,öàúä©£Ö„±”vóÑ¿ŠïIXÜÐ_S¯/}+áà¾ÛKÒ¶çÛ­¿¶›’ÝÞ]íÕþ½G­q{IÖÁï¼j€›ü5õzí•·f*Ì÷¯½ò–ŽtíKú±zÎuëÈ;o؇¥˜ƒmó5ßö|»zÎu'¼æáqCGºÞÐ…Þ³öˆ¤¯ËW¾þ¤4wsM ëÖkÿÞ£:öî!õœ?s¯äYvK- ÌŸ‰¦Æfíß{TZB1teP»;_˜w{*X¬È}eûìƒÈ¾±P¹}(%f á®öjkëWµµõ«r»½º:¨Áßö) ÄÝïŸPx|LCWSËçŸQSc³6<üY­^µ&.ÛÔsþŒ‚¡€š›­²"82¬ÿó�¿ÕÍ[£jX·^_}öoôÄcOéæFõûÀïôËúǹYõÖíÿ¯ÿ×ËÖ_îÿú/ÿ7mjÞbík_ô 6Ùíý¾zµ¶<«–Ï?#•D§öOOOizzJ›š·XåBpdX�vê÷�+jjlVÛ3/¨åó_”ÛíUßå^ýòŸþQO<ö”õ<í�Ѷu»6=±E*‘N�ùïI#Q‰V¯\£ð„a½[[¿j½Vå•w_ó+ƒšžžJxÍÿ¯ÿ¼K—þíWrW{õÕ¶¿QëÓÏÆ½.áqCO<ö”õˆæ© CWµzU�Z[Úä÷Õièê nÞÕ¥û•Ó§­­_Õ�=¥àè°Âãc ¯q2áqÃ*µÚ¶¾°à•..\ü@áñ1}µío¤¹Y9fù‘ì¾§Î|_ƒ¿í“ßW¿h!²T^ß´}@Ž¡ˆÈN}ý½ú¯ß?(Iúϯ_­›ÛÔ°nƒ65oQSc³zΟÑÐÕÁ¸ƒOó Øíöê?ïû¾Z[ž�;8O&Yqìø!ë ò?¿þ߬ë­­_ÕÐÕAý>ð;Cµ¶´IsÍÁP@«W­ÑëÿûwµááÏZûÚ×ß«àÜiæ÷±ã‡Ôwù¢ü¾zíß{T-Ÿÿ¢6<üYµ|þ‹ºykT}—{%)®$0ﳩyKÂc„Ç õ]îÕ￳öÉþ›š·,úv«W­QSc³óoº:¨'{J;^Úc•ŠyÍW¯ªIxÍ{Îu«û£þÿïÿü÷s�Ýg¿¯Nz?Ðàoû⾇fñÄcOéµWÞRSc³õÛ§›·Fõê: ¶­/X…L÷û'4==e�¶3Ÿ¥%z¿çï5==¥ÖÍmrW{ãŠIüMŸúú{u¡÷¬NuÿwýòB´œzí•C ä.E�ûX¬ €ôœ�®ÐÔØœp ÜÔØ¬¦G£œÉ¦ü·}q{ÊSãÃã†uÀ¹ë›¯'Tš§oÄ®Q=}Kû÷M¸½Ûýwx|Ìëë�–ÛžkOØÏdëTHÒ…Þ¤¹ûص=³]š;=Àd>F²×b¾ÇHG²Ç¹p1ºÏ­-‰kt´¶´YßC³‰ßºHÃCÑŸs�‹X›šÿTš›µàwµÇ>§ûý:yºK'Ow©ûýê»Ü+wµWþšz‰“Å�¢BP@‚#уJó`ÕÎüËw²ƒXóà?±óöDsÄÖ%¯Æ¯Õ Ôs®[ÇÞ=¤#]ohwç EIxܰ˜íçš;ж�› Sjî øH×q_'O¿#ÅdÇ>F²ç�ì1Ò•ì5º½”«Y"Ø™ûf_ób!ö¢'bK£d¥Ä®o¾®ý{�Z_»Ú_�.Ôy¾[�vZß+…�" €˜—Œœïœó@:¾{Ðè´¥ô†Ç u¾¹Sí»Ûtä�7Ôýþ õœïV8l$\"¾{�:ßs³‹=°í9ß�ô+îö)i�ÊÓÔØ¬Ö–6ÞÿùS8†“.®  0QDó08-$ì¬YI.™ŽØÏù�Í¿˜›-?öî!õ]î•ßW¯/îQ×ánýô¿V×áåó=·Ø¿ÈË6sâðþªëp÷¼_þšº”#“b‹‘Xæë›ì`ÿ^2O)Yh½ ;wµ×:�d93<ä7Š€²Ð©ŠYa¾iÿ©òûê¬ãd”±§I4¬Û`�in�„¶­ñk%ØøcO‹HöÜbóM~_}ÜìMݼ_Jñ12Á|}.\L\ÇC1ë{ØËš{©û½Ö~ÙשXŒùšfãµ�(" ˆ¹ a_oÜÕ 4w°h`·m}!n[ºÜÕ^kñÃ#]oXkUhî󨻇¤¹¢Ä:=Ä<�ˆ? Ž '¬¡¹…5÷<æË·3¤÷õ÷ZÅ‘éä©.kV˦'㟼‚¡€NžêÒ±ãÑ׿µ¥-aQÌ…Äþœ:]ŽÈ]¤©±ÙºBÄ‘®}:xøU�<Õ¥Î7wZ‹ÛžO¼ê„¶=ß.¿¯NÁа:ìÔ±w騻‡´»ãë »Úï^9Þ<è?yªKGºÞ°¬ÜÝùbÒ5Ú¶n—ßW§ð¸¡öoµéàáW­üàhôRŸvæ}†® Zûd¾f±{*Á|�Ѿ»MCW3òºÙE×OˆÎ*è<°3î{hîs¦¾‡‹é|³]í»ÛÔ¾»M/îü3µïn‹{w¼ô-û],±÷5ïßy`§47{Åér @(0Ûžo·Êˆ Ïêäé.«ØñÒž¤—²t‚¿¦^û÷UÓ£ÍÖâƒÝïŸP0PSc³öï=wð¼íùvë¯ÿ=ç»­+[[žUëÓ‰ÓûÝÕÞhÆÜú.ž�.pXR2w ÐÄ+5˜÷ÙÔ¼ÅÚ'ûëaîCìíç{ MbA’ »Ú÷Ý“ïáb‚¡€õ7ä®öZßÛd—a�{ߨû·=³]‡÷¿'Å €{£$sÕ^€诶¥%Ê`9¼¾iy(ñ€¼A�c<5ÓZY?Åâ•À"JJgµª~ŠÈ3%áp8î¿p†aH’¼^oìpZÈ$Ó)d’é2Ét ™d:e¾ÌÛceº=^¦ÙHÜð’LOGÎÊËËí›RF&™NI'³Ä%Uy"rUÍÆ­«2ßû(d’é2ïfƆah``@’´aÃG˜L2É$3d’I&™é “L2ÉL™d’™™LNÍYé1È$Ó)d’é2Ét ™d:…L2�B&™N!3ÿ2Š€LáÔ �5̈ñÑG)(‰híÚµzä‘Gì7,3"€]»vM‘Hôª×®]Óõë×í7,E°€›7oÚ‡ôé§ŸÚ‡KD²†"d EÈŠ�5 k("@ÖPD€¬¡ˆYC²†"d EÈŠ�5 E„a2 Ã>œ2Ét ™d:…L2�B&™N!3÷33!ûI&™N!“L§Ø3Ë:::öÅnÐè証^¯*++­¦ŠL2É$3d’I&™é “L'2C¡�ÆÆÆâÆ<�|>_ÜØr9½Ÿ"“L2ÉLS¶2fDdJI8ž�0æ¦Kx½ÞØá´�I¦SÈ$Ó)d’é2Ét ™¹›Ùß߯@ 7V[[«�7Æ�¥ÂÉý4‘I¦SÈ$Ó)öÌ„"À]™," qjÈŠ�5 k("@ÖPD€¬¡ˆYC²†"d EÈŠ�5 k("@ÖPD€¬¡ˆYC²†"dMBa† ð§…L2�B&™N!“L§�I¦SÈÌýÌLÈÄ~’I¦SÈ$Ó)öÌ²ŽŽŽ}±4::*¯×«ÊÊJ놩"“L2ÉL™d’If:È$Ó‰ÌP(¤±±±¸1�Ç#ŸÏ7¶\Nï§È$“L2Ó”­Ì„™R‡gcŒ¹é^¯7v8-d’é2Ét ™d:…L2�Bfîfö÷÷+Ä�ÕÖÖjãÆ�qc©pr?Md’é2ÉtŠ=3¡ˆpW&‹(Fœš²†"d EÈÖˆp/ÖˆˆD"šœœÔÄÄ„"‘ˆ5fþ…ÍårÉårÅý¯×k�å;Š`Ù("nܸ¡›7ojllL7nÜ p�”Ëå’ÇãÑêÕ«µjÕ*­^½Ú~“¼@, SEÄ�7 …(¤¤ªªJ«V­R]]]^•Àœ,""‘ˆ®]»¦k×®Q>pTUU•>ó™Ï¨¦¦&çOá`±J Ã"‘ˆ†††ô?þÇÿÐÐÐ%ÇMNNêÃ?Ô?ÿó?ëêÕ«öÍ9…ÀÒ�qãÆ ]¾|YöM‹r¹\*//—$•••åü_98#‰èÎ�;’”Òg‡bfHÔÖÖÚ7ÝsÀR-""‘ˆúûû522bß””ËåRMM�¼^¯<OA­� =‘HD†ahllL7oÞ\Ö¢¶µµµjhhЊ+ì›îŠ`©K�ár¹TWW§ššš¼ZhÀ½wãÆ ]¿~]7oÞ\ô³¦ªªJ�=ö˜<�}Ó=A,`¹Eĵk×ôÑGÙ‡ãTUUiíÚµª««cÖ€´ýîw¿[´�xøá‡õÐCÙ‡³ŽÅ*‡ -XB¸\.544è©§žÒÚµk)!8¢®®N_øÂÔØØ¸à)¿ùÍo444dÎ:ŠÀCCC þ‚ïóùôÔSO©¡¡Á¾ QWW§Ç\uuuöM–Å>«²�"HÓB¿Ø»\.mܸQŸýìg™ 㪪ªÔØØ¨ÆÆÆy?súÌÊŠ ýB_UU¥?ù“?ÉÉËç(luuuúÜç>7ï©CCCºzõª}8+ŠÃ0d†}8-d’é2Ét ™d:…L2�Bfîg&sãÆ�yK�Ç£Ç|Þƒeh?É$Ó)dæfUUÕ‚ŸC¿ùÍotãÆ�¸±Å2SaÏ,ëèèØ»q``@£££òz½ª¬¬´n˜*2É$“Ìt�I&™d¦ƒL2�È …B‹óx<òz½êëëS$‰Ûfnâ‰'|l§÷Sd’I&™I˜— ÕÔÔ”}³B¡�ü~¿ÊËË—œ¹É2fDXÜÐÐPÒKåUUU±€œâr¹ôØc�%�‰DÔßßoΨ’p8<;`ÌM—ðz½±Ãi!“L§�I¦SÈ$Ó)d’é2s7³¿¿_�@ nÌår%� ±Ø4h;'÷ÓD&™N!³ð2'''õÏÿüÏI?¿~øa=ôÐCËÎ\ {fBà®dEÄ|6nÜÈ”rÚ�7téÒ%û°\.—žzê©¬ÌæâÔ Àk×®¥„�óV¯^­µk×Ú‡‰DtíÚ5ûpFPDiªªªRCCƒ}rRCCCÒSÈ®]»–ô´ §QDiúÌg>“•éÌà—Ë¥‡~Ø>œµY@ªªª8%@Þñù|Zµj•}8+³"("€4|æ3Ÿ±@^HvJY$Yò½©¢ˆRÄlùlõêÕIO+±9Š"HQ²•ç Ÿ$û»yófFOÏ ˆRTSSc€¼’¬ˆ�¤P(dr E��Ç“ôòw�O\.WÒE+?ýôSû�c("€¬^½Ú>yÉëõÚ‡tóæMû�c("€pZ€B‘lFÄäädÆÖ‰ ˆR�ì/ˆ��æ›á511arE°L.—+é%ï Í÷™‡íCŽ ˆ–Éãñ؇ ¯UUUÙ‡˜2#ÙU€X#ÈÉþrù,Ù©ÓÓÓö!G$†aÈ0 ûpZÈ$Ó)d’é2Ét ™d:…ÌÜÏÌ„Lì'™d:…ÌâÌÌû~–uttì‹Ý800 ÑÑQy½^UVVZ7L™d’If:È$“L2ÓA&™Nd†B!���Å�y<ù|¾¸±årz?E&™d’™†l~Ö%̈Ȕ’p8<;`ÌM—ð:x]d2Ét ™d:…L2�B&™N!3w3ûûûâÆjkkµqãÆ¸±T8¹Ÿ&2Ét ™Å•™ÍϺ„"($‘HD×®]ÓÄÄ„î¿ÿ~ÕÖÖÚo² §~9ºqã†ÊËËõàƒ&]¡î§>ë–‚S3PÐþå_þECCCº~ýº>üðC Ùo’qCCCêïï×õë×uíÚ5]ºt)c—Å€\G€‚uãÆ MLLÄ� eµŒHöx“““ÖTe(6(:ÉÊ�LÈÖã@>¡ˆ@ÁZ½zµ<�}XÊBI°P¾ÇãÑêÕ«íÃP("PОx≬— åz<=ñÄöa((h.—+«eÄByf ár¹ì› hPD àe«ŒX(‡¢("P2]F,tJ¸‹"E#SeÄB÷£„€x(*N— ÝžQD è8UF,t;JHŽ"E)Ý2b¡í”0?Š­¥”###öa…B!JHEŠÚbeD$±%%, EŠÞbeÄRPBÀÒPDi–”°t E„a2 Ã>œ2Ét ™d:…L2�B&™N!372S)#Ò)!RÝÏ…�I¦SÈ,ÎÌL°ïgYGGǾØ�•×ëUee¥uÃT‘I&™d¦ƒL2É$3d’™Jfii©xà�ŽŽjjjʾ9Nº%D:û™ ™d’IfªB¡�ÆÆÆâÆ<�|>_ÜØr%ÛÏ„@±[Ê̈tJ(f%ápx6vÀ˜›.áõzc‡ÓB&™N!“L§�I¦SÈ$Ó)dæff$ÑÅ‹“þ•Љ©ýŒE&™N!³¸2ûûûâÆjkkµqãÆ¸±TØ÷3¡ˆp—½ŒXµj•{ì±´KÈ%™,"ì("€%¸qã†\.—#y€\“Í"‚5"€%X½z5%8€"d EÈŠ�5 k¸jŠÖ�©Ý™.Q$R*Ý‘ffJtgªD’™Žþ¯if¦D¥¥‰¿:»Ê£ce³*-�UIù¬ÊJgUV>«²ŠÄÛ@.ÊæU3("PÐfgJ™*Ñôx©îDJ£ÿÿv©U8dZYŬÊ\3ªXý_WåŒÊW̪$I©÷ E�¢éÉRM�—jz²T·'ʲV8,—«jF•3ªtϨ¬rFåU3ö›@ÖPDKtgªD·ÇÊt{¼LSáRÍÌäfñ°˜ÒÒYU¸g´Â{Gå+îpZ€¬ÊfÁb•È;SáR#å þv…‚¿]¡[ŸThÒ(ËÛBskPLeº1\¡àoWhd¨JF°BSa~ePXøT@^˜ —ÊVè“�½Z¥±PyΞvá„Èd©ÆF]½Z¥‘߬Эá MOòë;€üÇ'rÖìL‰Œ‘r�^©Œ–£®¼žõ�ªÈt‰Æo¹Š–“·\]Â(lÈ9SáRÝü¸RÁ�¢3¦ÆËì7)Z‘éëô�[ܺ ÿ𩀜1qËeÍ~˜Èó5²aüÖÝS7&o¹ì› 'QDàž2O¿ød`…nW0û!æ, ù ¡ˆ0 C†a؇ÓB&™N!“L§�I¦SÈ$Ó)ŘiæéÌ~HŸYH|2Xéh!áä÷ÝD&™N!ÓÙÌL°ïgYGGǾØ�•×ëUee¥uÃT‘I&™d¦ƒL2É$3dænfxÔ¥Wêv¸L³³N›�-Õ¤Q¦É[.••I®ªûM–ÌÉﻉL2É̽ÌP(¤±±±¸1�Ç#ŸÏ7¶\Éö3aF�)SáR�üv…þ¬`DpÊ€\T‡gcŒ¹é^¯7v8-d’é2Ét ™d:…L2�Rè™w¦KXÿ!T¯ŒÈS3­²Š¸C€E¥ú}_™d:…Lg2ûûûâÆjkkµqãÆ¸±TØ÷3¡ˆœ2;S¢±Q—Æ?u1"‡xj¦åõMÛ‡±Lvœš€Œ˜ —*4ÄB”¹h,T®‘߬Ðô$‡²�O8jv¦Dø¤B£W«™¢€ÈU‘é…†ªd+ì› £("à˜ÈdtDøSFÌc£.�üf…îPÈŠ8"<êÒȳ òQdºDÁß®�1Rnߎ£ˆ@ZfgJ4z¥R`ŠÞ •ëÆÇ•ÌŽ�QH™y*—å,“F™>½ZE c("�’ð¨K£W*9£™§jŒ�²ÖçQD`ÙŒ‘rý!XÁe9 œ¬`ÝŽ£ˆÀ’ÍΔèÆp…ÆBœ‹±P¹nS:pE–Ä\”ròÓõ‹ÍÄ­èi8¬À XÔ�é…†ª4=ɯ�Å*2YÊ"–ÁI° ;Ó%úôj‹RB‘¹ŸÊé ˆÀ¼(!`G ]HŠó¡Œ�Š$ „Àb(#¤Š"q(!°T”R‘PD†!Ã0ìÃi!“L§�I¦SÈ$Ó)d’é”\Éœ�¡„ÀòD¦Kôéï+53³¼Ÿ™T~>C&™N)æÌL°ïgYGGǾØ�•×ëUee¥uÃT‘I&™d¦ƒL2É$3d.?óÓ«•\¢Ë6)ÑôD©ªWݱoJ*ÕŸÏ…�I&™ée†B!���Å�y<ù|¾¸±åJ¶ŸüW’¤?|R¡©ñ2û0°$Sãe2‚öaHP‡gcŒ¹é^¯7v8-d’é2Ét ™d:…L2�r¯3�‘r�…ÊíÃÀ²yj¦åõMÛ‡,ççs©È$Ó)ŘÙß߯@ 7V[[«�7Æ�¥Â¾Ÿ EŠË¤Q¦§7¥ˆµæ¡IU¸gìÃrX&‹;NÍ(bw¦K˜NÇ}úq%WÒ0/Š€"Æ2� ³3©]I@qàÔ €"õ‡O*þÔe¾ç†® *<=Ÿx)š›%I�oîTxÂЮoîSúõö›åµ“§ºÔs¾[ÁP@þšz½öÊ[yñ=k"òú§ìÃrP6OÍ ˆ(B·\º9œ›§d´ïnS0ÿËð|ü5õê:ü3G†Õþ­/K’Z[Ú´«ýuûMóÖÉS]:yºËú·ßW¯®oÿ,î6¹lÕƒ·µÂ»´Ëz¸wŠ®ˆàü1லŠ{þ–,|®w•º¤’R>[p×�é’œ>%ãàÛ¯*ŽŸÑw¹W’Ô°n½Ü+î®ï÷Õ[¥Ã±w) hÇK{䯩³n“ïÌb¦í™íÚñÒ…Ç ¹«Ó_!?[JJgåk˜äw ÇE1qË¥ñ›e\«H¢¢úŽÜ«î¨jeľ ˜ —Ê•+2YÊ9©€�«jFÞû#*_q‡ƒèV Bã7sùÄÎvè:Ü]P%ÃR|åëOJ’öï=j�†’o*ªïhͺÛöa9$›EDYGGÇ>û`&Ý™.Ñ��+þ´\w¦Y+HæÎt©&�2MÞr©ÊsG¥ôu š�‰®ø~ëz…îL—jv–°›‰”hÒ(Óí1—*ªgT梌(V·\2FÊíÃ9-œÔ±wYÅJ,sü¾èóë|sgL qWSc³öï=jÎyœ¢ä¶lΈÈꔄ›Ãy÷>à^‹L—èf 7ËÆH9%�‚O?æ²zÅh,T^´¿‹{÷�ÖmЮo¾®/î‘»Ú«`hX�Úu¡÷íxq�v}óu«Àº2¨î÷î–±%DSc³^{å-íß{Tm[·KæU-ÎÅ—ɘ%„»Ú«mÏ·ëµWÞÒ®ö×å÷ÕÍíÏNëŠ!Ûžo×®oÞ]tÓüwÛ3ÑÇÌ7³3%úC�ßid±ˆ˜4XHÕÔx™¦ÂY{»æ�;Ó% å×ôb WÌΔh</ۈ̉®ÏU¼ßóMÍ[ôÚ+o©us›Ú¶n·f/DgK¼®¶­ÛÕº¹M»Ú÷©éÑè: CW­ûŸ<Ýe•û÷Õ¦æ-jjlÖŽ÷hÇK{$IÝïÇÏ ° Ž [3!v¼´GÛžkצæ-jmiÓþ½G­rļMSc³Z7·Y÷oz4úïMÍ[¬±|3ið; €l·Š÷?|€Â78à¶£ÜÒ36Ê›‹I±·öEc×X°Ø›§FÄêë�ž"‘ìô‹Ö–gå®öjèjtý†ù\èý@š»Ò‡9óÂ䯩·f:\è=·­ÐÜ 0# (vY+"nÓ|i™žä=dwÛ ˆÒ1;S¢™iŠ�1R¼§d8!zùÏÖ–»WÊ(tüŒÅ)¡ˆ0 C†1ÿh*œÎŠ•Óï¥L½ßó!@ú2ñÞ$Ó¹LfC8«µ¥MM�6+¼$ó½7ÓA¦3™·œ–�¼âõMËS3m^6'ßG&2ÉtJ®gö÷÷+ˆŸ¢T[[«�7Æ�¥Â¾Ÿ ED¦ú«íC–©®qÜ>TÔ("€ô¥SD 7ÍΔ(4TÅ%;‘WJJgådR¥¥Y94�D&‹;NÍ( “F%òÎìL‰&nòÇ XPD.‡ˆ|5iPDÅ‚" @L…K™ �¼55^¦©0‡'@1à�P &þÀ•Èo“a~†�b@P &ÿÀÔvä·ñe\Ê(`â–‹8ä½Ù™Ýf­ àQDÞP(ƹzPð("òÜìL‰&("P ¦'K™Ý8Š€<ÇeQH8=(|ynjœ_éPX¸Œ'PØx‡ä9®–�BéF@a£ˆÈcSaΧGá™�)aVPÀxw䱩 þrì¤ð¸¡žsÝ Žì›�eül…‹" �Ýæ¯ÆŽ:öî!yç íî|AáqþÙ}ý½ê<°Sß~Õ¾ 1øÙ ïn€<65Î_��䯩—$¹Ý^¹«½öÍŽŽ «¯¿WCW훃Ëx…‹" Oq½ó¶=ß®ý{�êðþãöMȲٙE&("€B”ð_/Ã0dÎNCs:(VN¿—bßï‘HDCCCúè£�422b¿é’eê3ÄéLé[Ê{óÚµkúðÃuýúuû¦¤–’¹\…œ¹�ð«\^ † †’¯Í –}ªÄ|YáqcÞm’ÔÔØ¼èlˆÅ2b-ç¶±–{ŸT'—M/óg<•÷ÑbÈ$Ó)ù’™ öý, ‡Ã³±$I6l�×»ððR˜™äÞlß`™~>çø{S’488¨‰‰ kûÃ?¬‡z(æ‹Ëägˆ’dŽ^©dJ2�¦5ë&UQ=c^ÔBïM“½€X»v­y䑸ÛÄZJærzæÍ�+óö2‡æ: þšzíßû_u¤ë õ]î•¿¦^]‡&ÍXw¿wBÝJM½ÚžÙ®¶­Ûãò:ßÜ©¾Ë½ÚÕ¾Oá°¡“§»¬û´=³];^Ú£àȰõ8fÖ¶çÚÕºùY+çä©.�<Ý¥¦Æfíß{4al×7_OÈhÝü¬¶=×ne˜úú{uòTWÜmw¼ô-…Ã†Ž¼óFÜs5 ]Ô±wY÷Ñ\1²í¹v556[cÁ‘aµëË’¤®oÿ,nŸ~úƒ_[·ËwÕ+#ZY?eN*Õ÷ÑBÈ$³˜2ûûûÄ—™µµµÚ¸qcÜØr%ÛÏåUŒ Îìì¬._¾WBHR(Šû7,‡½„ÐÜìˆH$7†ôD¦ cÚzç�h‰; !g^T¦>C”$“@úR�¡Þ›ÉJÓæÍ›år¹ìÖù2ÓQ¨™³3%º>°Â>œ7̃kIòûêõÚß½¥†uë­íGºö©çüù}õÚ¿÷hÜ�ÿîŽ7´ë›û¬Ù æŒIÚ¿÷¨5{àØ»‡Ôý~´$ØÔ¼E»Ú_—»Ú«`hX�v*8PkK›vµ¿.-2#B’Z[žÕŽ—öXß~UCWå®öêøÑ_ÈÔ¾»MÁP@ ëÖkÿÞ£VI›eŸaÞÇœÁa2ïã®öªëðÏ¢�3#Âï«×®o¾7c¢�<°aB¥¥q‡,óZîûh)È$Ó)¹ž™©J²Ÿ 3"¼^¯#O"–Óy@±rò½499©ÁÁÁ¤%„¤eŸ–aÊÔgˆÓ™Ò—ì½¹P ±víÚKÍ“™®BÍœ. Eüöï=WB„Ç ë¯ÿ±%„bNÍ�¤ž_v[ã¦Ö–¶¸ró¶æÿ7 M½Ú¾ø‚4Wn,…»Ú«]íûâ2v¼- b×g¸Ð{Öúÿ¯½r(n¦Â¶çÛÕôhbaÐs®[ÁP@~_}\ ¡˜û„Ç õœKœa?m£ÐÜ™ZúÏúrßGKA&™NÉ—ÌL°ïgB ðMNNêÒ¥K §c˜T[[k€-TBÔÕÕ-¸>–¯�ªŒ-4wŠBt¼ÞºÔeì—y`Ÿìò—ö¬X~_ôÒœ&wµ'îß‹‰-KLÉÏܯ¦Ææ¤Û75o±ièjô> ­Ox¾}ý½r»£Ï9YiRÈ%„ ìg@ïj È,¥„hhh°À‚+!íÃHÓ�Háþ‰l›§OØ¿Ž?$ÍÍBÈEfY௉/>LÉ ³¼0×–°]è=+I ��ÙîYø–{å ¹�w5PD(!d%Ľ±œéêùÊ]íÕ¶çÚü*æŒó ó}mjþSû] ^1ü¬ņ"(”2�âÞ)”+f$Ó°nƒõÿÛ¶n×¶çÛçýÊE E÷¾«qÄ^šÓdžÂᯩOxޱ_ÉNë(t…ü³+Š PBÈJˆ{«�ÿJܰn½ÜÕÞyg¼Ð{VÇÞ=d�®�k̵$‚¡èú±Ì5/ìÌ‚áBïYGâW­×Ü•3޽{(麅®�Ö�bE8J™@ qïÍÌöÁ™9ÛáØñC:yºKCW tòT—Žt½¡î÷OX <暦ÆfëÊß~U=çÎhèÊ .ôžÕÁ:t�ó>áqC�vªçÜC ]Ô±w£¯A÷û'¬S8ŠÉìLIÁÿ¼ņ"(`”2�âÞ»SSÕÛžÙn­qòT—vw¾ öÝm:yºKáqC­-Ïæô»v¾.¿¯NáqCGÞÙ§Ý�/èàÛÑ"ö’¢±ÌûCÃ:òÎ>µïnÓî΢ÄÜ¥C“]…£(ܱÈgeû샙0*·ÁaÁ‘a;þm…ÃcI//µT'Ou©ïroÁ_ *y}Óö¡yC 1qË¥;Ó™íSÃã†~?|E¿üNáñ1­^µÆ~¤¡ç\·zΟуu åëëïÕÉÓï¨ûýêë¿h�3þƒÿïÿ­ß_ц‡?wû{!82¬“§»tóæ§i}îÞKÕ«"*+ŸµÏ‹"7D&K5qËeÎ;îjot&À<¿s456«uó³’¤ŠòJ5¬Û 'û‚þú¯^VÛÖì7Wú ÑKfÆ^¦³$z_óq*Ê+cîQ¢Õ+ר©ñɸ÷°¿¦~IcÒüùîj¯ÚžyA~_�¤=XÿÇjùµ«ýu­^Y3÷¸ÍqŸe±÷qW{å®öªaݵ|á‹zõ?ˆÿÜ›çq ÕŠ•wTæZúg€å …B‹Ÿ±åñxäóùâÆœP‡³òŽôWÛ‡°ˆžsÝ:òÎöá]‡»å¯©Sç›;­Å�Žý…u�íå¸Ð{Vß~U’´«}ŸZ[¢ÿñ_ªàȰڿõe)f¿àœºÆqûPRÅPBHÒè•JM�—Ù‡Ö‘®7ó×ÔkÛsíÖ/ƹÂ|ÿo{náÅÛbߣ;^Ü£¶­Éÿ*'I_ùú“’¤ý{�Î{��Žð¸¡wþ™4wnôk¯¼em;yªK'OwYÿvW{uüè/âÆïÿaâA–{÷�ºß?!åÈþ¤bͺIUTÏØ‡“¢„ÈSáR�^­²kõÚÛªò0-Ȥþþ~ñkÔÔÖÖjãÆ�qcNÈ쟑U›žŒ.rÔÔØœR ¡¹Å•ü¾:ù}õ9ð@æK ‘ICWµ»óE«„hX·^M�FßWætÙØƒä|uòtWÒÑœv¤kŸ¾òõ'u¤+¾XuW{­s¨íð=绥¹‚bÿÞ£VIýKgô3Ê>ƒ"S‚#ÃúÊןÔW¾þ¤‚¡ø×kSó–¬ïϽB ‘["~…Cq™½Sø§#Å„ÿŠå‰Ÿþà×ó~™³ÚžÙ®Ÿþà×Ú¿÷¨ýîK毩W×·»ÕõíŸ1›!QB8ãàÛ{7Ô°n½Žý…ïÿ¡öwÕñ£¿ˆ;_9ÙªçùÄ£rm2…8‰"¢€Gêëï�»¬“},”V®\©õë×ËåJ\”-kD ]ÔîÎèhË=çhîkö÷IkK›¶=×n½O$©}w›‚¡€vµïS_ÿ¯ÕsþLÜ}¶=ßž8K ÉûÐ|O™�»œ5"ÚžÙ¾àúó­‘l?”ä󠯿W�vÆÝÆd~¦Ù×¶0_»Ö–6íj=.Óþ¹ØýÞ k5ýXÉ^˾þ^éÚ—ðXöç»öN,s�Úóyïß{T=ç£ xšÜÕ^íxiϲ×ìYª…ÖˆX¨„P†>W*++ÕØØ¸äì—_~Y—.]Ò7¾ñ }ã߈Ûö£ýHGŽQ]]�~üãKs%ÄË/¿¬ëׯËãñÈãñhllÌZœ«££C_úÒ—¬Œï}ï{úÞ÷¾'Í�'[WWg•?ü°¾ÿýï[·]ÌØØ˜uûömû¦¤z-ÆBå2FXÅÃë›–§fé‹vX>Öˆ€ã‚¡aéÚ§†u룥ÄÜyÙ=ç»­‘…tˆþ2î÷ÕkÇ‹{´ãÅ=jX·^Áа:ìLøE[1矷¶´iSstýŠ…n�Ôýë¿þë‚%„$MLLäå×õë×õ¯ÿú¯ö§“1æJå’tä�}Kžq‰þl›WœÙö\»ÚžÙ.¿¯N=ç»uð;{ìw‘$u¿ÿC]èýÀzŸ˜ÀÉNý0óÝÕ^µ¶´E/ÿV2›ò{jSóërÑKÊ-žû<£«»o·žg04¬Ý�/X¯™¿¦N­-mÖsòûêÕÚÒ¦Ö–6[ê]›š·Äm7ÿ[„$sòT—Ž�­æëo~îœ<Õ¥î÷î~ΙÏ! X·5‹"ûgÔ¦æ-VŽùïÖ–¶„ÒÆn±ý9öî!û]¤¹ÏMûÏCxÜБ®} ?™644´` ¡ }®Ü¼ySýýýö‡š×ã�?.Iú‡øû&�?^’ôôÓO[cf ñ¥/}I?þñ�õ“ŸüDï½÷žUb|ç;ß±f:«„صk—~ò“Ÿè»ßý®~üã«¶¶V¿ùÍoô£ýÈÊ^Èää¤.^¼¨›7o&<çù¾nÞ¼©K—.)‰ØãÈky¢ç\wÒ¯dS‰“éëïÕŽ—öhÿÞ£ÚÕþºöwµ@bAO¦¯¿×ú«áþ½GÕ¶u»Ú¶n×áý?´~Qºš|?ºÿL»Ú_×k¯¼¥Ãû(Y§‡|`¿)R‰D.³ShnÞ¼iʘè_Ÿ¿%ÍÍphÿV›:ìLZ Ä:Òõ†Âã†ÚžÙ®ý{�jÛóíÖ{Îï«ÓЕÁ¤ïµðø˜¿ùCë}²ïQ«¹Ð{Öº]Ϲî¸÷á®ö×µã¥=êúv·Z[ž�÷=¸˜mÏß=?yjñS4NžîR0�ßW¯®Ã?ÓŽ—öhÇK{¬á˜u'ü¾zíjÝ*>›mÖ®ö×µ«ýu[ê];^Ú·½í™íÚÕþú‚³ÌKhjîù˜¯ÿk¯¼¥/E  Ø™ =çÏX¥¬y[ó~悤ægkÛÖíÚñbôçA1û[NØÅî�ù3`î�ùÜ¢—$Müy †KúyȆ‘‘ûPÖܼyS“““ö᤾öµ¯Is¥Alq¬™ õW%Iºté’®_¿®ºº:íÚµK^ïÝS¯¾ñ�oèñÇ×ØØ˜UjÄ~¶ÆÎ’¨««Ów¿û]ýä'?Ñ_þå_Zã 1 #¥BarrR‹Í䊈ýlÂÏææ?•ÒܧTÜëÏ•¥>¾×ëµfEüüç?·ÆcOŸ¨­­•$�;wNš›f‡uýúõ¸¯‡~X’ô›ßüƺ�Çý™xùå—uîÜ9k¶D]]�•»K}>ɤs_rQBa†ã‹/9�WŒÌéÌö/ûÉ|’­ænþ½ó’ž’´»óézC=çÎ,:Ãï«·-y‘Ü|ï¥B^„ÒåréÁœ÷¹gŠ¿¦^û;ŽZ³z65o±þZ~òT—µŽ„b ¿¯^=纣k³Ä| ]�]<Ö®aÝûP™Šy ó 4–»Úk•|©hjl¶˜Í™Éľç“ÍhйtðB…†ÓÌýÚôDâk#sM†çÛ>£³³Îªû½:öî!u¾=]#]æþ$+hóÚ%[{"Ù禿&:6ß÷%Sæ[›%þè�þhY�ÝÒÒ"Å”Š9Uã¯þ꯬ßmÌ—.]²±Œý2ב0?o¼^¯víÚ%Í•{÷îÕ—¾ô%ýÍßü�^ýu«°XŠÕ«WkíÚµöáE544$]#@r™:–!Ó9dæ~f&Ø÷3®ˆ0 Cpìɘ™H�9�Ùþ•ì`Àiîj¯öï=jM»î9ß­#ïìÓîÎÔ¾ûËê9¿È2g¾÷æÚµk-#´qãFëë3ŸùŒV¬X¡+Vè3ŸùLܶT¿2‘ùØc�) ÎûÜ3-:C¡M¯½ò–Žý…5ÕèÊ 53"Žî—9%ßþeÎ"†RŸ d„&+)´ÀøRm{¾ÝZ÷åHWt‘ÜT˜§9û ›–úG†ÕùæN½¸óÏtðíWuìø!u¿BCW—œ±óeY¯Q8û¯Ñrx<=ñÄ åå厾ß?ó™ÏÈëõ&ü²²˜/}éKòx<Ö©±§e<òÈ#Öï6SSSÒÜ, sqËd_›7o¶²ÿüÏÿ\?þñ�µk×.µ´´Èãñh``@ÝÝÝúÿá?èþÏÿiÝv1�<òˆüñ„çm>wûççŸüÉŸ,úÙà®LË�Ifºò%3’ígÂŒ M½ïÿ¡õ×áÖ–g­óÊ�¼“ýEÔ�h±Ës­\¹Rµµµª­­Õš5kT^^®òòr­Y³ÆOç+™eeÎ^#]æâŒ²ÍÐÜ_³÷ï=ºàWªÌƒZ'þbŸLì)zÏ&\Åc©Ìb©3®œàvG_›¥Î°/¾ýlëÖñ£¿pt¿çÛë5r;÷X™²X1=]ÁÞ©÷ûš5kTRRb˜EÙOÏ0Kˆ––=ðÀÖíÜn·4wZ…½|ˆýŠ]¼ý_þå_êàÁƒzï½÷ô_þËÑš5k411¡Ó§OÇÝv1«W¯NxÞæs·~Æ®aaWZž•‹ž9£ŒŸy  Ä^¯W6lІ ü�ßr˜™( æ_‡wµïS×·»c®¾‘ÚA –g±÷æBe„ýŸ™|¿çzæB޽{H_ùú“q§^Ø™˜æÿš§W„ÆÖ­WScó¼_©2O½º’8Ã,v�Št4¬[oÍøHvU‡ØS«’•�CW^“l0O¹˜oÁNsqßð¸·&Îk÷–Ú¶n�ž~–äôµT™¯Ó|ûc~¯ÌS.rÝbeÄÄÄ„Âá°}8%é¼ßÍE#/]ºd�–±yóæ¸Ìÿïÿ½u›dWùÑ�~¤ýèGÖ¶�>úHßûÞ÷®ŒñïþÝ¿ÓsÏ=§ÊÊJ}úé§qÛR•Îs•‰÷™d[f&$ÛÏ„^¯×ñ'át²«çܵïŽ^9ÀÎüK¤“EÄü–ò^Zn±”ÌåÈ—Ìù˜§;Íw•‹¾þ^ëª/æmÍuTÂãFÒ+O銞Êd_är9Ì£çü™„µ&œ,ÛžÙ®¦G›“þ5ß]íµÊÇdÏÅ›ïÀ>�SSb­¹Ðß›ðZôœë¶÷ ��Y§Ñ(æóËt¡÷ì¢3N–²ÐnìþØ ›¡+ƒÖ"• ] $×,VF|øá‡IìS‘êûýñÇ·Nϸté’<�5³ÁÌ|üñÇ­+c¼üòËÖÌ Ã0ô�ï|GGŽÑ‘#G¬k¨���é{ßûžŽ9WF\ºtI===*++³Ö§pBªÏ(%eK›‘‰÷™d:%_23Á¾Ÿ E`=# ¾þÞ¹…*£]<Òµ/æêè8�–SF ^Sc³u°}ìø!uØ©cï²3ì<°SáqC~_}Ü-±Wž8xøUu¿wB=çºÕùæNõœ�.îšÎ_ÀÛ¶n·ÊsŸºß;¡Î7wªûýIüSµkçëó®o°ã¥=rW{Õ×ß«öÝ_V÷{'¬ý0?^{%~6EÃCÑÙ}ý½:xøÕ¤%F:âÛÜg}N{÷�Žÿ¶4W°økêä÷Õ[3:ßÜ©žsgt¡÷¬NžêÒ‘®7’>o¿¯Þ?Òõ†Žt½‘P0ÄŠÝŸÎ;ãöÇ,t[[Ú²²Æ�“²YF¤*ö”ŠØubíÝ»Wµµµ zùå—õôÓOëK_ú’µP¥yOÍ•æåA�9¢§Ÿ~ZO?ý´^~ùe]¿~]�?þxÂiÙârÍØ‡€‚VZº´"@~ ˆÀ¢š›µã¥=òûêæªŒþu±çü¹«½ÚñÒ®†‘ƒ(#R÷Úî·¬¿V÷õ÷ªûýÑK[ÎM©ojlÖþ½Gãþ››õÚ+oÉï«Ó…‹guìø!yç õ]îµÞ'éüÜ\4Ö\›¥ûý:vü�ú.÷Fߟi”vþšúy/ Ú°n}Ü~;~ÈÚs� {)Ò¶5:ËBs—0=yª+錋tìxi�uðo~Nu¿BáqCmÏl·N9Ñ\i»ÆÍÁ·£åHÛÖíó^}dW{´œ ††Õs¾;é¥7c-´?­-ÏjÇKß²ß%/äza²•±êêêô“ŸüD{÷îÕã�?®‡~X?ü°¾öµ¯é»ßý®¾ñ�oÄÝþïþîï´wï^µ´´X·oiiQGG‡¾ûÝïÞ³¿B•UpP†âRÂQ PPJÂápVþK诶aÁа5{)ç–›·wW{­b Ù˜)œq?ÿùÏuàÀÕÕÕY3 ÕìL‰®äçgw:z¯8ièÊ Ž½{(ú™0nhÛsÑËãÞy`ó"€ ëïï·NO4ÕÖÖjãÆ�qcN ˆòH*E„ ¸ŒÈtƒTŠåXa†®_¿®×^{Mׯ_×®]»¬Å+ Y±ýnVû·¾,Iê:Ü�´ÔsBpdX»;_Œ›¹µ«}_Z³Ú�¾T°tÙ,"˜äNÓà´\9Mã£�>Ò—¾ô%ýíßþ­®_¿®ºººyׇ(4œž‘z?°Öê:Ü­Ÿþà×ÚÔü§ö›!‹¸t'Px("€"AÀi¹PF=üðê­­µÖyÈÖLŒ{­¢rù3Y°8s&„¿¦Îšu‘ÉÓ@°¸²r~Ö�Bé@qbZb!�¦Á©@úR=5#V.�¦QLn*4~3y Tˆì§f¸«=ê9wFCW審SkK›ü¾ùO×èëïÕ…Þ³ ��%½}pdX=çϨïrtý¿¯^­OGOÇhÛº=®ŒˆÍrW{ÔÔØœôJ8=çº ´©y‹ü¾:u¿wBÁP@­-ÏÆ­+³Ø¾;÷šˆîóOÙ‡8,›§fPDyĉ"BTFPDés¢ˆeÄ=1þ©K·>©°¬Ø"bÿÞ£:øö« WàÙö|»¶=¿¨dpd8zÙݹ+ÅŠ½ªN_¯u‰]»Ø5)ŽtíSÏù3ö›È_3wå ˜¡óÍ�ê»Ü«mÏ·[¥„bÖœXê¾»û˜’ûþäŸ-œ“Í"¢¬££cŸ}0ÆBåö!ËäõMÛ‡R²zõjIÒÍ›7훉D …TSS£òòÜ~ßNÜréÎ4g˜é¨^qäü늊 ­Y³FŸ|ò‰ff‹�‘‘y<¹Ýnû&¤èN¤D“(žáqCÝïŸ�æÖqhX·^ÛžkWëæ6U”Whèê u%Ÿ Öº_çÁ�ümŸü¾zíxñ[jÛú‚u•œKÿú+©$zÕ·Û«ëþX*)Ñï¿Súõúë¿üß´©y‹Ö­WEy¥Ž½{Hï÷œ’»Ú«¯¶ý�¶=×neC]èý@­›ŸUEy¥$©çüC ]TEE¥Z[žUËçŸÑ†‡?«Õ«Ö,ºoáqCO<ö”õ\Š•§fÚ‘Ï) …B‹óx<òù|qcNà7x H-¶fD¿}´Øš|®8«¼*±ð)~_�öï=ªÖÍmÚÔ¼E»Ú÷©í™í’¤“§»¬ÛõœëÖЕAù}ÑÙ ­›ÛÔÔØ¬Ö–6íúfôoqÝï�PxÜ�»Ú«ÖÍmjx(z™\óß­›Ûä®ö*82l!»Ú_·JˆÖ–6íß{4z›Ð°zÎ%Ζp»½Ú¿÷¨v¼´Gm[·«aÝú%í[Ïù3 ³>ŠQ G,@Áám ±…ʈù¦WÀB*#"‘ˆ&''íÃHQYù¬JK‹ó¯ÄöÓ/4w*ƒæfN ]”$]¸øAtÛ·'\±Y ­WxÜÐ…Þèíb–ÉÖƒð×Ô[—÷¼pñlÜ6Ij}úÙ„Çwrß YIélQ—n@¡¢ˆŠÜ|e„Çã±À’ÌWFTUU©ªª*n éqéZú ö!ù}õÖ‚’CW£EDpdX’Ôs¾[�v&|™k6„ËÏ:0okΘ°3ǃ#ñçWÏg©ûfÞ®XQB…‰"€ôÈ#�X T®ZµJë×'ÿE –Â,#ÌÏ�Ç£ÇÜ~3¤©bEqΈ˜�»:¾D7Ok0×�°™Û—rúƒYVÌw)O¿¯^’ -­8Xê¾»r~Æ�‚D@’´víZ}á _PkkkÒ¿dÀry<ësåsŸû\^\�'ß”Uç_‹ç›Á`Î"0Ou0Kƒ]íûôÓüzÞ¯mÏ'žêag^ Ã| ;ót�†uK+ò�Ü·BVQ}Ç> PDä©Ê"=HK¶CϹnëÿ›³š›¥¹Ks&3_©�LÃCÑÓA.ôžM:[Á¼§y»Å˜ûv¡7ñ¹h™ûVÈ\ÅY¶…Ž" O••Ϫ¬¢ø¦®w¿w"n-†àȰuµŒ¦ÆfkF„¹¨dÏùnu¿]lÒÔ×ß«öÝmúÊן´f3,¤uó³rW{7tòÔÝ+shnÌBÁ\´r1æ¾]è=›ö¾ª²òY¹Šðç(eÑëÍ1 CSSSª¬Œ^ÿØ †ahê,|¤­êSçß›™x¿g)sâ–Kw¦éS�tT¯Š¨¬<µ_ôç{o¦ƒÌågFn—jz²ð? Ãã†uåŠ'{JÿõûÕw¹W~ý�~ð£ÿ[7o�Ê]íÕëÿÇw­ÓÌ™}—{uéß~¥¾Ë½ê뿨î÷NXÅEÛ3ÛÕº¹Ízœ¾þ^õ]î•ßW¯Ö–»ãå•Z½j�.ô~ Áßö©çü ]T÷{'ôþ/þ^’´íùö¸ûôœ?£`( ¦Æfk„)•}+6UÞ;ªò.oÖOªï£…�I¦Sr=3 ill,nÌãñÈçóÅ�¥Â¾ŸqE„aÐè証^¯#OÆÌ¼¯b�}€e \tü½™‰÷{¶2)"€ô¥ZD,ôÞL™©eÎÌ”è¶Qf.8±EÄëÿÇw%I¿ü§Ôï¿Óôô”š›õê: ëÿ8î~M�Íòûê4tuPCW5tuPÁP@îj¯¾Úö7úë¿z9îöóš»ZGúõüí¿) Äeýõ_½¬¯>û7q·_¨ˆP ûVl¼þée͈Hç}42É,¦ÌLÉö³$[ïnó’´aÃy½ÉW^3ó�Ü›í›,ÓïÃço*ïwe)sôJ¥¦Æ ÿ—o “Ö¬›TEõòÏÁ^è½™*2SËœ�)Ñõ�â\4Vp$ ¿¯Þ:c!CW7–|û…8™¥ äßÿ2‘R¡ÞGó!“ÌbÊìïïW ¿>Mmm­6nÜ7¶\Éö3®ˆ0o$)í'Ë0 �}ü€}À2yüÄñ÷¦2ð~W–2)"€ô¥ZDh�÷f:ÈL-“ÏCšŠê;Z³î¶}xQé¼�æC&™NÉõÌLJ²Ÿ ED¦ú«íC–©®qÜ>TÔøÅH_:ErÇX¨\ÆH¹}È[÷=0%÷ýû0€ ÊdaÇÉÕynÅJØPX(H�ÂF�çŠõ2ž(Leå³*¯¢ˆ E@¨fV Dõ*~–�BGP8=…¢ê>~–�BGPÊÊgUQ}Ç> 䕊ê;˺d'€üDP Vx)"�ߪWñ3 Š€±bÕ•–ò×dä§’ÒYUR¦E�" @””Ϊz5rÈOU^Š4 XPD�J7 ý!?yj¦íC E@©pϰh%ò‹TÅ…" ÀxùË2òŒ{ 3y€bBP`˜�|RV>«*?¯@1¡ˆ(@þœÂã†.ôžUp$`ßT4¼>fðņ" UzsîsÞîŽtðíWuä�}öM÷DxÜÐÉS]jßݦ¯|ýI½¸óÏÔy`§†® ÚoꈲòY­XIiŠ€uŸÊ>„4õõ÷ªóÀN|ûUû¦yõœ;£Î;uìÝCöMò×ÔK’ÜÕ^û¦¬ Ž kwÇ :yºKÁP@þš:…Ç õõ÷jwç ê9Æ~—´1(NªÊ{‡µ"V_ï²fCs÷¹šxŸ];_×þ½Gµ«ýuû¦¬³ _½öï=ª®ÃÝê:ü3µ¶<+I:öî!…Ç ûÝRÆl x%†aÈ0œû€Ñ\&€ô9ý^ÊÔû=2¤/ïM2�Ï,sÿÁ>ì¨`(àèÁ©]xÜP04ÿú m_hÛ|R¹O:ü5õjjl^tFÄ|¯óröw±ÛšåJÛ·«©±YšÛ¿/í‘Ìû;¸–EùÊ[ù™'Ó9dgf&Ø÷³$['†¡��IÒ† äõ.ü�¸ff}õS*)qÙ7X¢™ÙˆãÿÃñ÷¦2ð~W–2o~\© £,æÖ–kͺIUTÏØ‡µÐ{3Udf.ó¡û?¯;·+ì7IYxÜP÷{'Ôýþ ëàØ_S¯MͪmÏ·[ÕÁ‘aµëË’¤®ÃÝò×ÔÅå´ïnS0Юö}Ö_ÝcÇ‚#ÃÖcìß{TM�ÍúÊן”$ÞÿC�<Ý¥ ½gò£ûöCë Û]íÕ¦æ-Úö\»ü¾»ûpòT—NžîRkK›ÚžÙ®cïRßå^iîù´=³]m[·K¶çb—ì¹i‰÷9ÒµO=çÏhÛsíÚö|»$Å�¹«½:yºËz�[[Ú´ã¥o)6t¤ë�¸ýmÝü¬¶=͈Õ×ß«“§º¬ÛJÒ¦'¶hÇK{â^�»¯—'® �zqçŸI’õ}H—«zBWFþEÊÐÏ<™d¦£X3ûûûÄ—�µµµÚ¸qcÜØr%ÛÏ„™253f° Ó¼‡°�>Wï£bPy¿³³":ì´Žý5ujz´YÁP´4è<°3é_î—«ç|·õÉf ;~HzÏÊ]í�Û~òT—Ž?¤`( †uëÕôhô ¹ç|÷¼û ëàÛ{4tuÐ*‚¡a;~HÝï�°n篩‹{,M]Ò"Vì}ÜÕÞ%ÝÇdîCl1Ðs¾['OuE�´íïÉS]ê9¿ŽC÷{ÑïIßå^ë{å÷ÕéÂųÚÝùBÜ)&æ¾Ù_ïØ× aÝú¸m©ª¸/lPDâfDh®­�”v›Ë0 MýÁ­©?xì›,QÕý�«zÂñ÷¦2ð~W–2§Â¥½Z7`é*ªïhͺÛöá%›ï½™23—9*—1Rn¿É²™³ÜÕ^½öÊ[Ö_ǃ¡aíîxQáqC;^Ü£¶­ÛÓš!I;^Ú£Ö–gãŒÍöÇ—¤žsÝ:òÎ Û¢Eëº2¨Ö–6k=ó¹HRÛ3Û­Ù±·÷×Ô«ëðÏÃ>¾óqš›µïѸm ͈�÷Ú{÷�ºß�–~_½ï?ž°¿±�ûúo{¾=n¶„™µÐóÏ]AÃ|L{FªÜk"ºÏ?•ñŸy§�I¦Sr=3S3"”d?fDx½^GžD,¯×«ûëÊTZÊ_]€T”•ÏÊ»º<#ïÍ|άpϰ�†tW«Ÿï½™23—é¾?âÈL²žóÝÒ\I[økêµíùv5=Ú¬ðDôÎt˜§KØÿ:o²?¾$ëà}Ûóí û¶«=zyÌ ½gfEø}ÑuÌÇò×Ô[ÜÁÐpÜm³iSó«„ÐÜó2íúæëqûÛöEó’»f�ÐÚÒ–P ˜Ï×\H3™Î;Õýþ ¹«½ÚñÒž„ŒT”•ÏÊSýìÉôϼSÈ$Ó)ù’™ öýL("2¥¤tV÷Õ¦÷ P¬¼¾i¹øå±­¬Ÿ¢äRà^Iim䯒ÒY­ªM}Œæ34g+ØKÍÍ*ØßqÔ‘Ödù±ì³+$Yk ¸«½êëï�û ‡£åC²“e5#¢P™³9̵;ì_æåD“½æì’¦G›û^¯XáwR¶‹IòÔL«¦a’ƒ`Ñs·'­é‹˜Ÿ«jF÷?4©«øåXHIé¬î{`J«ê(!ŠY1Ì$k{f{tÍ…y¾ü¾zû] šyÅ�ù¾š}²Ð¶åˆ=%«Ì¦Èd©n�—jv¦Ä¾ (Z%¥³*¯šaÊtŠ"Ó%š/ÓÌ4Ÿ+€‰ÏØMeºñq¥}xQ±‹&»ŒcxÜPx|̺ÊÃb‹U¾¸óÏ7’.V;Ë\¬2Ùã›yɶ%³Ð"’óí{6«Œ3Í÷ü“í×Á·_Õ…Þ³)-29ߥa2 c·™å€ý`¸û½:vü�d»2D:E„ùø›š·èµWÞŠÛÖ±w¿­†uëÕ¶5ºæBA&Šˆ†uëuxÿã¶%+’�™æ{þÉöË|�ý5õ:üfô ±Žt½!M�õzÄ �êëïÕ¦æ-qã©X±2¢UõÌÄr]6‹ˆ¬Ÿš€{ÏS3�Ò©²æ�qÏùnézC}ý½º2¨cï²Öˆ-ÌOžêÒ‘®7¢Ì]ûæ��Y{Àd^~óBïYkß‚¡€úú{Õy`§.\<«¾Ë½ ÝËažÖ ëä©.õœ‹^Ed!±‹Bž<Õ¥ ½gí7ɈÖÍÏÊ﫳.­ûz|ûUõœïVÏ/Ï(<>w¿ð¸¡Ý/èàÛ¯Z—7MUY9 ÖHDP„JJguÿÝ^özM�ÍÖ̆žóÝê<°S»;_°.i¿tæ®�¯Ëï››Mp>úWûžóg´íùvùkœ]«!z™Îèã™ûÖ¾»M�v* Èï»{ÏT556«aÝ\¹rºKGÞy#éU'bmzr‹õœ<Ý¥ƒo¿št�H§¹«½Ú¿÷¨UFľzÏÊ]íÕk÷VB!Ö©ó]Ús©îhrÙ?c _YGGGzŸÆÈK¥®Y©Dš —Ù7-¨©±Y­›£³*Ê+Õ°nƒžxì úë¿zY­-mq·uW{µ©y‹ü5õZ½ªFM�Íq·kX·AM�ÍZ½jÍÜ=J´ááÏÚÆâ556«iã“Ig6•t_Lå•jmiÓƒõlÝgÃßµîó`Ý«©±9nÍdc¦äÏ¿dî¹6kÃßµFÝÕ^µ=óÂ\bÞ&úzDK¢Ä|·Ûk=¿/íYð¹-侦Tåam _„B!��ÅÏ�òx<òù|qcN`�€"—êzÀ|Ük¸L0�oX#�×"‘ˆ®]»¦¡¡!MLLØ7È1žši•Wñ—k8ÃU5C `AGE"]¼xQ}ô‘†††ô«_ýJׯ_·ß @))�Õªo§´x%«¬|V«ÿè¶}âPDc–öó ?üðCÊ ǹÊgYXi))�þ ¹(´,‚"àˆùJe�û\å³Zý ÍFjî_{›À’PDÒ¶X a¢Œr_…{F«ê9¿ËsßSª¨f�KCHËRKe�ûV¬ŒÈë›¶Iy}Órß±À¼(")[n a¢ŒrŸ§fš2‹òú¦å©áçÀò$†aÈ0 ûpZÈ$Ó)d’é2ÓÏLµ„0-VF8µŸ±È$Ó)Å’I�…¤[B¤ûó™ ™d:¥˜33Á¾Ÿeûb7 httT^¯W•••Ö SE&™d’™2s33ÝÂ422¢+VÈãñÄ�;µŸ±È$“ÌÔ2+ªgTR"M�—Ù7¡ˆ9QB8ñó‹L2ÉL/3 %ünçñxäóùâÆ–+Ù~&̈`!‹•öRA’\.—V¬Xa––03À½ÇÌÄJ·„€’p8w�cnº„×ë�N ™d:…L2�Bfj™‹• ªªªRÜxUU•žxâ ]ºtIqÛL7nTmm­õïtös>d’é”bÍœ¸åÒÍá û0ŠÈêú)U­tfaJ§>E¦D¦}SÊŠ1³¿¿_�@ n¬¶¶V7nŒK…}?Š’YJ ÑÐР@ �´ˆxê©§499¹¬2@î™ —êÆÇ•š™)±oB+)�Õýkos‰N €e²ˆ°ãÔ À¢–ZB,¦ªªJ�?þ8§iy¬Â=£5Ÿ™TYË*e峪i˜¤„àŠÀ‚œ*!L”@þs•Ïêþ‡&U^Å�i¡sUÍèþ‡&å¢xà ŠÀ¼œ.!L”@þsÍý•ܳƙõ�{Ük"ò5PBpE ©L•&Ê 0xýSòú§ìÃÈc%¥³ºï�)ÝÇ÷@†PDdº„0QF…Á³&"ßìQÊÊgµfÝm¹ïg¦ €Ì¡ˆÄÉV a¢Œ ƒ«|V>NÕÈkî5Õ|†µ?dE NÖJÓRʈ7n؇䘒ÒYyýSZY?Å숟Oµµµ”@�p•Ïjõƒ·9]#Ë\U3Z³nRkÖݦ„�("�UÕ+#òÿ/VV>«UõSò5p€ÜB€{‚B"3ÌÂÿð„V¬dm¹‡"÷…„3*ªïhõÚÛrEr‚YH¬Y7©«8�^ªŠê;ÖUž;öÍ�sŠÃ0d†}8-d’é2Ét ™d:…L2�BæÝÌŠê­ª›’ïá y}ÓÌ’H¢¤tV^ß´Ø0¡5ënÇ­a=�@&™N!3÷33Á¾Ÿeûb7 httT^¯W•••Ö SE&™d’™2ó/sjjJ¡P(î6.—Kk×®�[ˆ=3ûIfzÈ$3™¥eÑRÂ}D•î;R‰tgªDš-‰Ë(%¥³ª¾ïŽî«�ÒʺiUTϨÄöR,ôz¦ŠL2É,ŽÌP(¤±±±¸1�Ç#ŸÏ7¶\Éö3aF�kÌYµ&tÿÚÛZ±*¢’ÒŸ)QR:«ê•­Y7)ÿ#“ZY?Å0ä½’p8÷ nÌM—ðz½±Ãi!“L§�I¦SÈÌ\f PÜöªª*=õÔSqc‹Éô~:…L2�Bfj™S㥚si*\ªéÉÂøŬª¼wTå‰ÈU5«Òe.鼞ó!“L§�™»™ýýý qcµµµÚ¸qcÜX*ìû™PD�§ŠX®Èt‰¦ÆË45^ªÈdþe³ª\qGžUzî,»x'd²ˆ°Ë�Og`®òèi «ê¦TÓ09·�㤼¾i­ðÞQyÕ½?¥¡¬"º�÷=0¥5ë¢ûh^ºtÅ}JE�G1#@®‹L–êN¤D‘©݉”jfªDwîHw"¥ÑÅ0ÓPV=•ÂU>«ÒŠY•¹f䪘UyåŒJËùµ@îÊæŒŠ€£("‚™éh!1s§D3óL¤(-•JË¢¿JS2ÈwÙ,"85°)-ŸUiù¬\U3ª¨Nþ媊Îr „€å¡ˆYC²†"d E°ˆH$¢k×®éÚµkš˜˜°o,E°€ÉÉIýË¿ü‹>úè#}ôÑGºtée¤�"X€}Äää¤>þøã¸Û–Ž"X@$±izzÚ>X"Š�5 k("@ÖPD€¬¡ˆY“PD†!Ã0ìÃi!“L§�I¦SÈ$Ó)d’é2s?32±Ÿd’é2‹33ìûYÖÑѱ/vãÀÀ€FGGåõzUYYiÝ0Ud’I&™é 3ÿ2§¦¦ …ânãr¹´víÚ¸±…Ø33±Ÿd¦‡L2‹)3 ill,nÌãñÈçóÅ�-—Óû)2É$“Ì4dó³.aF@¦”„ÃáÙØcnº„×ë�N ™d:…L2�Bfæ2�€úûûã¶WUUé©§žŠ¦÷Ó)d’é2s7³¿¿_�@ n¬¶¶V7nŒK…“ûi"“L§�Y\™Ùü¬K("H‡SEäŠLþr¹"›Ÿuœš²†"X€Ë岩¼¼Ü>X"Š`k×®�+#\.—|ðÁ¸Û–Ž"X@UU•>÷¹ÏiíÚµZ»v­þäOþD+V¬°ß °DÀ"ªªªôÈ#�è‘G¡„€4QD€¬¡ˆYC²†"d EÈŠ�5 k("@ÖPD€¬¡ˆYC²&¡ˆ0 C†a؇ÓB&™N!“L§�I¦SÈ$Ó)d’é2Ét ™Å™™ öý,ëèèØ»q``@£££òz½ª¬¬´n˜*2É$“Ìt�™™SSS …Bq·q¹\Z»vmÜØBì™™ØO2ÓC&™d’™2É$3÷2C¡�ÆÆÆâÆ<�|>_ÜØr%ÛÏ„™R‡gcŒ¹é^¯7v8-d’é2Ét ™™Ë êïï�Û^UU¥§žz*nl1™ÞO§�I¦SÈ$Ó)d’é2‹+³¿¿_�@ n¬¶¶V7nŒK…}?ŠÒáT€ìÉdaÇ© k("@ÖPD€¬a�€£X#@¾yùå—%I úÑ�~¤�>úHuuuúó?ÿs}éK_²ßE’téÒ%�;wN—.]’$ÕÕÕióæÍóÞrY6׈ ˆ8Š"@¾yúé§%I»víÒ‘#Gì›õçþçÚ»woÜØ÷¾÷=}ï{ß‹3µ´´èàÁƒöaÈiÙ,"85˜+¾ñ�oè'?ù‰þÛûojii‘$ýüç?·f=HÒG}d•_ûÚ×ôÿðú‡øíÝ»W�GçÏŸ×w¾óëö€x€¤Í›7ëßø†jkkõÈ#�èàÁƒòxþÿíý}lç�ï$Q-‘‰T›ª¤�âª'qjA) ([o…:›õ6iP›tÛuöÜÝ+cqŸ¸qàF,q~pœ?6©³ÎïÇ*ÒÝE“ØhûK‹Uîm²·7µƒvÝV6Ðfd§Pm·¦#Q±œ!%š¢¥ûjhÎ�Ôgh>¼_€Ðæ;£‡y™üòšk|Òâi&sÖÄ< oûÛòûýòûýzà�´sçNIÒÏ~ö3†‘úÀu4")ëÚ欈K—.I’ ÃH5%²íÿÀÈçó)‰è½÷Þ³oЈV.‰¤þ[[›e›©µµUZ\3�‰Fà ¿ßo/ÒЈVÈ\3BKÌx8{ö¬$é¶Ûn³oЈVÎï÷«§§G’tìØ1ûf�:u*uúƦM›ì›4"€Õ1©üÑ�~¤þð‡©ú©S§ôüóÏK‹‹VškE¬hD«ðÀè[ßú–´x)Ïûï¿_ý×­'žxB—.]R[[[j; �T´žžõôôXÖ0µµµ©§§'c½‡o}ë[Ú½{·zzz‰DtéÒ%µ¶¶ê[ßú–¾ÿýï3–P�FìEÖ* ) Zj^¯W}}}–ŠG0ÌX„·µµU]]]–š2fD†!Ã0ìå¼�I¦SÈ$Ó)d’é2Ét ™d:…L2�BfefºÁ~œ5ƒƒƒ{Ó7Ž��ijjJ~¿_õõõ©׊L2É$3d–^f<W8¶ìãñxÔÑÑa©-ÅžéÆq’™2É$“Ì|�I&™Å—‡SWý1ù|>Kmµ²gÆŒ·d¬a,N—ðûýéå¼�I¦SÈ$Ó)dº—éÔn§SÈ$Ó)d’é2Ét ™••éæöãÌhD�§(7vœš †F( `hD€‚¡ †F( `hD€‚¡ †F(À2&''uòäI�}Z—/_¶ïX!À¦§§í%…B!{ °B4"€%$ { � `hD€‚ÉhD†!Ã0ìå¼�I¦SÈ$Ó)d’é2Ét ™ÅŸé7Ž“L2�BfefºÁ~œ5ƒƒƒ{Ó7Ž��ijjJ~¿_õõõ©׊L2É$3d–^f<W8¶ìãñxÔÑÑa©-ÅžéÆq’™2ɬ¤Ìp8¬H$b©ù|>Kmµœ>N‘I&™dæ¡�c]ÆŒ·TE£Ñ…ô‚±8]Âï÷§—óB&™N!“L§�é^f(R0´l÷z½êëë³Ô–ãöq:…L2�BfñfƒÁŒËu¶¶¶ª««ËR[ '�ÓD&™N!³²2 9Öe4"ȇS�(n¾9€bQȱŽS3@ÁЈC# �P04"@ÁЈC# �P04"@ÁЈC# �P04"@ÁЈC# �P0�Ã0d†½œ2Ét ™d:…L2�B&™N!³ø3ÝàÆq’I¦SȬÌL7Ø�³fpppoúƱ±1MMMÉï÷«¾¾>µãZ‘I&™dæƒÌÒËŒÇ㠇Ö}<�:::,µ¥Ø3Ý8N2óC&™•”‡‰D,5ŸÏ§@ `©­–ÓÇ)2É$“Ì<r¬Ë˜à–ªh4º�^0§Køýþôr^È$Ó)d’é2ÝË …B ƒ–í^¯W}}}–ÚrÜ>N§�I¦SÈ,ÞÌ`0¨P(d©µ¶¶ª««ËR[ '�ÓD&™N!³²2 9Öe4"ȇS�(n¾9€bQȱŽS3@ÁЈC# �P04"@ÁЈC# �P04"@ÁЈC# �P04"@ÁЈC# �P0�Ã0d†½œ2Ét ™d:…L2�B&™N!³ø3ÝàÆq’I¦SȬÌL7Ø�³fpppoúƱ±1MMMÉï÷«¾¾>µãZ‘I&™dæƒÌÒËŒÇ㠇Ö}<�:::,µ¥Ø3Ý8N2óC&™•”‡‰D,5ŸÏ§@ `©­–ÓÇ)2É$“Ì<r¬Ë˜à–ªh4º�^0§Køýþôr^È$Ó)d’é2ÝË …B ƒ–í^¯W}}}–ÚrÜ>N§�I¦SÈ,ÞÌ`0¨P(d©µ¶¶ª««ËR[ '�ÓD&™N!³²2 9Öe4"ȇS�(n¾9€bQȱŽS3@ÁЈC# �P04"@ÁЈC# �P04"@ÁЈC# �P04"@ÁЈC# �P0�Ã0d†½œ2Ét ™d:…L2�B&™N!³ø3ÝàÆq’I¦SȬÌL7Ø�³fpppoúƱ±1MMMÉï÷«¾¾>µãZ‘I&™dæƒÌÒËŒÇ㠇Ö}<�:::,µ¥Ø3Ý8N2óC&™•”‡‰D,5ŸÏ§@ `©­–ÓÇ)2É$“Ì<r¬Ë˜à–ªh4º�^0§Køýþôr^È$Ó)d’é2ÝË …B ƒ–í^¯W}}}–ÚrÜ>N§�I¦SÈ,ÞÌ`0¨P(d©µ¶¶ª««ËR[ '�ÓD&™N!³²2 9Öe4"ȇS�(n¾9€bQȱŽS3@ÁЈC# �P04"@ÁЈC# �P04"@ÁЈC# �P04"@ÁЈC# �P0�Ã0d†½œ2Ét ™d:…L2�B&™N!³ø3ÝàÆq’I¦SȬÌL7Ø�³fpppoúƱ±1MMMÉï÷«¾¾>µãZ‘I&™dæƒÌÒËŒÇ㠇Ö}<�:::,µ¥Ø3Ý8N2óC&™•”‡‰D,5ŸÏ§@ `©­–ÓÇ)2É$“Ì<r¬Ë˜à–ªh4º�^0§Køýþôr^È$Ó)d’é2ÝË …B ƒ–í^¯W}}}–ÚrÜ>N§�I¦SÈ,ÞÌ`0¨P(d©µ¶¶ª««ËR[ '�ÓD&™N!³²2 9Öe4"ȇS�pJ"‘Ð… 4;;«O}êSjmmµï²$§Þœ‡B!]¾|Yµµµºå–[´nÝ:û.pÃ85Ö­§f ¬ýú×¿Öøø¸.]º¤Ó§Ok||ܾ‹ëÆÇÇ uéÒ%]¸pA§N�R"‘°ï�FÊÖåË—5;;k©���´‘íöb±Xjª2T¨8Ùšn(Ôí@)¡€²ÕÜÜ,ŸÏg/Kh,•ïóùÔÜÜl/@E €²v×]w¼±T®ÏçÓ]wÝe/@Å €²æñx ÚŒX*ÏlBx<û&¨4"Pö ÕŒX*‡&$ш@Ep»±ÔïÓ„€ëhD b¸ÕŒXê÷hB€�T§›KíO2ш@Åqª±Ô~4! ;¨Hù6#–ÚNr£€Šµ’fÄä䤽¬p8LÖˆF*Úr͈D"a/e­‰&¬�T¼åš+AV†F�g3‚&¬\F#Â0 †a/ç…L2�B&™N!“L§�I¦SÈ,ŽÌµ4#òiB¬õ8—B&™N!³23Ý`?ΚÁÁÁ½éÇÆÆ455%¿ß¯úúúÔŽkE&™d’™2K/3�+[öñx<êèè°Ô–bÏtã8ÉÌ™d–sfuuµ>ýéOkjjJñxܾÙ"ß&D>Ç™ ™d’IæZ…ÃaE"KÍçó)Xj«•í83fD•n%3#òiB@%«ŠF£ écqº„ßïO/ç…L2�B&™N!Ó½ÌP(¤`0hÙîõzÕ××g©-Çíãt ™d:…ÌâÌL$:yòdÖo �hB8uœéÈ$Ó)dVVf0T(²ÔZ[[ÕÕÕe©­…ý83äéF {3¢©©IŸÿüçónB@1q³aÇ©À<�¾ð…/¨§§Gú§êÈL¨d4"€hnnvdú3T: `hD€‚¡ †F(.ß p—ïPJ®Å«tm®J‰DµtMšŸ¯Òµx•$)1—ü_Óü|•ª«3ß:{j“µšºUW/¨ªvA5Õ ª©]PM]æþPŒ yùNGшPlæ«”ˆWin¦Z×ÕÉÿµ:Õpp[MÝ‚j<óª[—ü_Oý¼j×-¨*KSn”B6"85ee.V­™�=ºr±N¿[§Kcë÷êÊGuŠLy3j Ö„Ð⬋øL�"S]ù¨NS罺4¶N“ã^]¹X§Ø�æb¼-P9ñPҮū4ó±G—ÿP¯�Òš3W<m8¬V"V­™+]¾X§ð¸W�­Óå?Ô+VäÇ ù¢€’�V˘¬ÕÄïÖiâwëtå£:ÅŒÍÏ—îøùù*ÅŒ]^œÉ19î•1Q§x”·ìÊ £JBÂÌ•ë§nÄ®xì› (шÀ ež~ñÑØ:M_¬cöس$hH(�Ã0d†½œ2Ét ™d:…L2�B&™N©ÄL³až~Áì‡ü™ ‰�Î$/ê'ÿî&2Ét ™ÎfºÁ~œ5ƒƒƒ{Ó7Ž��ijjJ~¿_õõõ©׊L2É$3d–^f<W8¶ìãñxÔÑÑa©-ÅžéÆq’™2ÉÌ73:åÑå?Ôëj´F 4 œ¶°P­˜Q£Ø�jj$�w޾ˊ9ùw7‘I&™Å—‡‰D,5ŸÏ§@ `©­V¶ã̘¸%­ÖäïÖ铉:f@§l(FUÑht!½`,N—ðûýéå¼�I¦SÈ$Ó)dº— … -Û½^¯úúú,µå¸}œN!“L§”{æµ¹*Ö( 7'äÛ0§š:ËG€e­õï¾2Ét ™ÎdƒA…B!K­µµU]]]–ÚZØ�3£@>œjD( óUŠLy4ó±‡EÄ·aNþÀœ½  ‚¹Ùˆ°ãÔ ¸"­Vxœ…(‹Q$\«É×i.ÆÇ…ÇÈG-ÌWé“�ê4uÞ«DœD±JÌU)<î•1Qgß®¢Ç$bÉYÑ�Y±TD¦<šüp�®Ñ4P 4"àˆè”G“ãÌ‚(E‰¹*Mün�ŒÉZû&p�äea¾JSçêõ SüK^$\«Ë¨gvWшÀš™§bpYÎò3jôñy/Í®¡€5‰Ny4u®žS1Ê�yªFdе>8�FV͘¬Õ'u\–³Ìu¬Àq4"°b óUº|±N‘0N+E$\«é‹4�8‡FVÄ\”2v…éú•föJò4Ö�àXÖµ¹*…ǽš‹ñö±R%bÕ,b ÀüK€%]›«ÒÇç½,J %Ÿ 4#äƒFr¢ ;šòE#YÑ„@.4#äƒF2ЄÀrhFX+°  �•¢`-2†aÈ0 {9/d’é2Ét ™d:…L2�R,™ ó4!°:‰¹*}üÇzÍϯî9³–ççrÈ$Ó)•œéûqÖ îMß866¦©©)ùý~Õ××§v\+2É$“Ì|�Yz™ñx\ápز�ÇãQGG‡¥¶{¦ÇIf~È,ßÌ�Ï×s‰N¬Ú|¢Js³Õjhºfß”ÕZŸŸK!“L2óË ‡ÃŠD"–šÏçS °ÔV+Ûqò¯ $IŸ|T§øL�½ ¬H|¦FÆD�½ ª¢ÑèBzÁXœ.á÷ûÓËy!“L§�I¦SÈt/3 ) Z¶{½^õõõYjËqû8�B&™N¹Ñ™Æd­"áZ{X5߆9ùsör†ÕS£ÈÏ;I4"*§dàFŠ„k9E€D# rpJn¤…ù*}2Á)hDTNÉ@1ˆ5ŠGùT:F€ À)(WBõšŸgfPÉhD”9c’S2P<sUšù˜Ù9@%£PÆ®ÍU)ö úP\"SfEŒF@c�J£…ù*E9]¨X4"ÊÔµ¹*¨DÑŠLy¸œ'P¡hD”)¨D±ã9 T¦ŒF„a2 Ã^Î ™d:…L2�B&™N!“L§8�Él”‚™+ÎΊpúu$2ÉtP©dºÁ~œ5ƒƒƒ{Ó7Ž��ijjJ~¿_õõõ©׊L2É$3d–^f<W8¶ìãñxÔÑÑa©-ÅžéÆq’™2‹?óã?Vi~Žo›QüâWjh²WWÏ�×™dVRf8V$±Ô|>Ÿ�€¥¶ZÙŽ3cFJÛµ¹*ÍE×ÙË@Qš›YÇ4€ S�FÒ Æât ¿ßŸ^Î ™d:…L2�B¦{™¡PHÁ`вÝëõª¯¯ÏR[ŽÛÇé2ÉtŠ“™WBuœ–�’âÌÉ·aÎ^^5'_G&2ÉtJ±gƒA…B!K­µµU]]]–ÚZØ�3£@>œjDX›…ù*…ǽ\²%¥ªzA-·ÇT]ÍGàFq³aÇ©e$fÔЄ@ÉY˜¯Òìt�½  Lш(#\¥*fЈ*�€2�V3%+>S£x”�'@%à•P&f?a�J”¶X”ç0P hD”‰Ø'LmGi›¹\Ã¥<� @#  Ì^ñð%oa¾JWY+({4"ÊÞP.f¸zPöhD”¸…ù*ÍÒˆ@™˜‹U3»(s4"J—=D9áô  üш(qñÞÒ¡¼pO ¼ñ (q\-å†S�€òF# „Å£œO�ò³0_Ŭ Œñê(añY¾9.„ÑàˆNŒ¼k/ÃE<·�òU�FìEÖ* ) Zj^¯W}}}–gL�«W|¦ô>°�Ÿ;£W_É^–$5®ókKï½ÚvÏWì›nˆèŒ¡Gwü…$iûCÚþà€}GzNá‹êÿˇµåî{í›+N]Ã5­ßxÕ^à’`0¨P(d©µ¶¶ª««ËRs3"JX)6!´øá~48’õçÄÉwuð{{5°ë«š˜´¾)¾Qü–ÿuÃhð7 Ž(:±oªH\Æ(_4"JT¹œC¿o÷!ËÏã�>¥–@›&Âuð{{í»\cƒ_ž]ö½¡þû¶o†Kæ«”˜¥”£Œ½ Ã�aör^È$Ó)d’é2Ét ™d:e-™‰«oåJR÷æ^ËOÿýkçß'æ,‰l¢3†&«›1�1�Éþ8O„C9·µlhWçÆMör†¥2ìV³¯i©ãÏe-·S,æVù_Ëëh9d’é”RÉtƒý8kSmfÃ0466¦©©)ùý~Õ××§v\+2É$“Ì|�Yz™ñx\ápز�ÇãQGG‡¥¶{¦ÇIf~È,ŽÌèT­ñÕ}P+á�ŽKZ\wÁ®%Юáwkn.®îÍw[š£ÁzNÿû_^Ðð;‡uä'Cý`DÝŸ»[��×O� Žhà;_ÕÑãoiKïŸë…—ŸÖÿþ—ôæ[ÿª£ÇßR÷æ^57­×ðÛ‡õýãN½ùÖ¿èÍ·þUãçÏèŽÿv§%k`W¿^}ý»j \oH˜µîͽ:1òsKF¶ãÑb#áÍáÕ /?�Úw"Rç­wèèñaEg"ÚÒ{oFÓcøíÃzéíÖ~ø§ŽüüuoîU]íõçËÁ¡½záå§›íÙ¿Co¾õ/ª«­W÷æ^Kf)¨ñ,Èë¿f/gµÖ×ÑRÈ$³’2Ãá°"ë©a>ŸO�@ÀR[­lÇYšÿr@‰¹Ê›¶~ôø[Ú³‡F?Qcƒ_ÝŸëUK M£ÁíÚóˆÆÏ�±ÿŠ´¸äøù3jÙÐ&Iš_Ôžý;täÍ!½úúKjlð¥Ö81’\£b¥†ß9œ‘1Ñžý;2f"ìÙ¿CG~2¤èŒ¡– mêþ\¯Ž^òöíÕ«¯¿”lXlܤîÏõj"|QG�k×ࣷ¡Åûwph¯¢3†«ëZ¸íj‰®�`iWÍ0§KøýÎ Xd’é2Ét ™îe:uÕ ·�Ó)d’é”Õf.ÌWéÒØ:{¹d˜Ô%é§?ø�}³NŒ¼«^~ZZ\C¢{s¯&&/jמäoûÕ+޼9¤#?Rˆv ø7ÉvïÕÎ�gÕØà×Dø¢åüÎ�½Ú¶5y…ŽáwëÕ×’Wó8°ï Ë쇉pȲ¯Yklðë™'_LÍ8HÏxüѧÔr]‰£Ç†uð{ÏeܦÙ1æLßfþNK ];ÿþÙÔm¤ÿNúcqphoj¦Iÿ}kûC%݈�¤Oß1«êê•]èoµ¯£• “L§{¦›WͰgÆŒ¿ßïÈ�HG&™N!“L§�I¦SÈ$Ó)«Íœ+£Eü,WÌyWGÞÒÁ¡äö–@{êÃ÷‰‘Ÿ+:chKï½—Ð4?pO„/f]SâñÇžJ} oÙЮ-½.-®Oa~è×â‡ws¿ñóÙgWØmé½×rÚCÿ}«ûsÉÿNÏ0Û¶ö[n³eC{jM »áwK’¶?8`¹�ôß~;¹Oº–@»å>—²kñ•?×Wû:Z 2ÉtJ©dºÁ~œ�¿rY¨R‹§+˜?/¼üôõSíÚ·ûPj¿#ïJ’Z6$OŰÿtÞšœ½�íô ó”ŒëÿÝnùßt� >{iIÙÖ^h XoO’F?H6HÒ›¦îͽMƒèŒ‘jd46ø2îoú~öE;ÍÇ¢”Ós@¯j€t-Q>oãº?×›ú1?À·Úu`ßë–‚y*Åð;‡-Í óÇü ŸmÍ„mbòbêÿÛ&{$½~?^xùéŒûkžv’M®Û(E«½r€âÇ« ­fºz±Û7x(õcžn01y1ëÌ-ž ±ýÁäºÙ~²ÍP¸ÑìWÏX-û}´ÿØ›夜žë’hD” r½bF÷æäÌI:ò“!˶–€y:E[r�Æ?EÙˆhð[®¨a—íôŠôæÅ–Þ{3îgúO9Í€°+×ç:PÉhD” rþ–xûCÉ…(Gƒ#:z,¹À£OáÐâ¢�ÙN¿xáÀÓ:òfr}‰bd6H޾7lß”uÁÉÆÅË“JÒÑ㙿31yQ/x:ëï–“r~®•ŠF@ šŸ/ßgöYfc¡ÿþ‡ÕhStÆÐ®ÁG5ÑD8¤Ñàˆ^xùi�8ù®Ž¾÷–¢3[bqè¿/yÏñsgôÂËOk48¢ñsgR—Í6«ÁlÊ ¿sX‡žÓø¹3©û¼gÿ�8ùîQªæ«ÊúùT"%æZLUü±§$Iá‹©KXJҾ݇ÔhÓDø¢öìß¡�]ýÉä#缾Á¯g¾ýbÆ2ŠE÷æ^m_¼ì艑wµgÿíÚóˆŽüdHÛÈz¥‹îͽÚ9ð¬´8+bמGR÷y"RçÆM©fEY»f/(e5ƒƒƒÙ/Z ÀD"…ÃaKÍãñ¨££ÃR°v‰Xµf¯xìå’ÓØàOÎ~Ȳ¦CsÓzµÚÔyëjlðëŽÛîLýNÿ}�,^]£JÍ7¯W÷滵mk¿vîx6µŽ„i©ÛhÙЮîͽº¥ý3¶-Uºã¶;Õ½¹WÍMëWY»î–¶ÏdäwoîÕ¶{’—שׂ­W÷æ»õøcOiÛÖ~IRçÆ;2ò:7Þ¡m÷|%¹ÎD£?uŸ·?4 Ç{*c&E¶Û-uën¾¦Ï‚½ ÀAápX‘ˆuF™ÏçS °ÔœP�FyE … -5¯×«¾¾>K ÀÚÅ£Õš:ïµ—�²ÕÜqU^Ó"7ƒA…BÖEs[[[ÕÕÕe©9�S3JL"Á[8T–…kå:PIøW  �€Rà uT˜yžó@Y¡Pb¸”!*ÍÏy ¬ÐˆC# �P0�Ã0d†½œ2Ét ™d:…L2�B&™Nq#¨4n¼ŽÈ$Ó)¥’éûqÖ îMß866¦©©)ùý~Õ××§v\+2É$“Ì|�Yz™ñx\ápز�ÇãQGG‡¥¶{¦ÇIf~ȼ±™ñ™Ågjìe lÕ7Ϋ®aÞ^¶Xíëh%È$³’2Ãá°"‘ˆ¥æóù,µÕÊvœ3"Pܪkì% ¬ÕðœÊJU4µ¼ª�Åé~¿?½œ2Ét ™d:…L÷2C¡�‚Á e»×ëU__Ÿ¥¶·�Ó)d’é”ÕdÎ\ñèÊÅ:{([Míq­»9a/gXÍëh¥È$Ó)Åž  …,µÖÖVuuuYjka?ÎŒFùpª 7¨4ÍWåõ]³—8ÈÍF„§f”�géså�rS]Íw§@9¡PbjêøP†ÊRŧ ¬ð’(1ÕepÁŒ‰É�Fƒ#?wƾ©ì�G4Qt&yÎt¡ŒG4üöaysH'FÞµo.j4߀òÂG±FP¡`ƒ½TR޼9¤#?R÷æ^íÛ}Ⱦ¹àÆÏ�QtÆPˆvµÚì›õW{·$ißîCêÞÜkß츉ɋz៞Îhú´lh×ã�}G[zïµÔ‹QÛæ{ €ÃX#Kâbg½ðòSÚ³‡F?±o*y{öïÐø¹3j ´kûCzüѧÔhÓDø¢=§‰Ië�bãñ²& PnhD” ºz>œay'FÞÕD8ÙhØ·û�¶?8 þûÖ�}o¨%Ц茡áwÞ°ÿZQa¡J üÔ îµX«H$¢p8l©y<uttXjòs5Z£¹Xi|§4Ñð;‡uê·¿ÔôôÇêܸ)¹NÂ#j ´kÛÖ~iñ‚áwk48’õ”…#oi4˜ü�ƆäµèM“uôø[zçè› Žhn.®[Ú?cÙ'›ÑàˆŽK£œÔÜ\\’ôÇ‹¿×D8¤Î�›2ö=1òóßFú1�Ÿ;£– íjlôëÈO†$IÛ¶ö«%Ðnùûm˜�—iüܽsôÿÑhpD�7©®¶Þòûé�aK ]ÓW¦TW[¯-wßk9£®¶^ãçÎhüüÝÒÞYÔ§gxošW}#—î܇‰D,5ŸÏ§@ `©9�5"Žb� 0f>öèÊGuörQ™˜LNý·Ÿîн¹WÝŸëÍX#b48¢=ûwH’~úƒßX~GK¬­`®7aײ¡]ûvZr͇\¿k_»âÕ×^Òð;‡-ûh‰Û~û°^}ý%K­±Á¯gž|1uÓïGtÆÐÁ¡ç²."™~ÑC�îø )Ëã IG� ëà÷žSK ]Cßý7Ë6»=Ï'OEé¿ïa=þØSöÍEã¦OÇÕø©„½ Àa¬€%U×ÿwI¯¾þ]�~0¢Æ¿¶?4 gž|Q�?ú”&ÂÉ™N0 æmìÛ}HÏ<ùbj „=ûw,yuŠ-½÷jçß?›ša±mk¿vþý³ê¿ïáÔ>f"ý~ìx6çmŒGRMˆîͽÚù÷Ïê™'_Ô–Þ?×Á¡çRû¥{õµ—tbä]Ëý0›á‹:ø½ä$æÆ¿º?—l>d{ Íš¹O.GÞJ5ˆÌ)Ū–5"€²C# û‡³ä)Éo÷w<«íhKï½ê¿ÿaíÛ}Há‹ö_YµèŒ¡£Ç‡%I�?ö”¶?8 îͽÚÒ{¯ì{C�7%›Ç2?°›:7nÒ¶{úÕØà“ÛîéO�ª`žê ´ÛØÒ{¯¶mí×¾Ý‡ÔØà×Døú>Zl*˜YûvJåíØ«îÍw¥öK×yëÚÒ{¯žyòÅÔýèÞÜ«gžLf�GRk=lh@Z\ÿ!ÝÄäÅ´æÂW,ÛL“µçù©Y ÛÈ8¥ØTñ‰(;¼¬JPMíBQ/âg~H6éZ6´gÔÖÂüpÞ¹qSÆïÆ¿¶})ùM¿ýÔ�Õ81òsIZ\ËÂz-ÚS3'Ìû;1yQãç“—ÉÜþ`²a�.×ìƒþûÖ3O¾˜qª…²ü‰;7nRcƒ_ÑC£Áë÷Íüÿ-�öÌœEæ•AZÉÓ=²c1©ª^(ú¦€Õ£P¢Šù²†æ·÷�·fÿ¶=W}5ÆÏ%?ðOL†´gÿŽŒs–B>³/ÆÏ�IK¯9› u,‹÷;}[º\ ™3<Ž ëÕ×^Ò žÖÀ®~íÚóˆ}·d“e±)’>+Â<-ÃÞ01�Ÿ;c¹‚ÆRÇR,hBå‰F@‰ª[—åëòa¿êE>Ì™ö³�ZW�_‹\Ç›«®e¶Ù ¿}X»¾ªƒß{.yÕ‹FÔØè·¬U‘ΜQb6¢3Ʋk>˜�GçÆMjÙ�{ÏbR[ÂÏq¹Ñˆ(Q5õÅûm±¹æBt&{ ŸY v[zïÕOð›œ?C–¾zÄRÌfB®/ͺ¹_úüôÙ¦l9“õêë/):c¨ÿ¾‡5t`X¯úOØ÷FΫYtožqâ7×O…ÉÕdHΤ¸¾þE)¨kà²�@9¢P¢ê‹øCZç­wH‹§dûðm_hÑÎþ;ék!˜ÌS Fƒ#ûkñ”�lõÕ0OÉÈuæý0OÃh ´§šæBšé̆A:sM‰Æ¿ì)K#Á<å#›ôõ)NœL®e‘k6„Ì+x,.Z*né½WÍMëí»¯ÿš¼þÕÍúYëëh)d’é”bÏ ‡ÃŠD¬§Óù|>Km-ìÇiiD†¡±±1MMMÉï÷;rgÈ$“L2óAféeÆãñ¼öL7Ž“Ìü�Y<™óóUºjÔØËEáŽÛî”$ML]ÔD8¤?†~¯¹¹¸þÇß<¡– m:qòç–F„ù;ÓW¦R§+Dg"ê¿ïamh@o¾õ¯’­ÑÜ´^[¿ø—?wFãçÏè�¡ßküüÍÍÅÕ½¹WÏ<ùRÎ5ÒunÜ”ºÝèLDÓW>VÿýÉSniÿŒº7÷jôƒäåBÿú½&Â!56øõ?þæ mÈzªC]m½¶ôÞ›ºJ…ù;wÜv§žþïϸæþ'N¾«‰pHg~7ª3¿UçÆ;ôÌ“/]oxØZ||N½ÿKIÒÿø›ÿ©[Ú?cÙž.:Ñ©ßþR-�v}­ÿÿ¥ºÚ•?ÏnËܪfDäó:Ê…L2+)Ó­FD¶ã,¾ö9VlÝ*¿1.´í hè»Ã:°ï Ø÷††ü›úï{XÛîé×OðíÛ}Ȳcƒ_;öêõCÿ™Z´ññÇžRcƒ?µø¤ýôƒ– íÚ7xH¯úOíÛ}Hö½‘úÿ+iB(ËíxþuËöîͽúî°†ü›öí>”:¶\Wµ°ÓÐ�aíÛ}(çýhÙОzœÒ÷oÙЖÚ?Û}1m ´/»eÿ}/.‚ùzFC£±>P¾ª¢Ñ¨¥ÍhÉ©_~¿sƒ™d:…L2�B¦{™¡PHÁ`вÝëõª¯¯ÏR[ŽÛÇé2ÉtJ>™SçêŸ)ÎYp×®ÁG4~þŒ¶mí×Î�gí›KV]Ã5­ßxÕ^^V>¯£\È$Ó)Åž  Y×ïimmUWW—¥¶öãÌhD�§V.®•1Yk/£LML^Ô«¯}7yéÎ’W:0œuÆD©ºéÓq5~*a/p‘›�;NÍ(qënæ[%91òs�8ù®F?I�RRNMIªkà´  œ1#à(fD7ÆÄïÖéZ¼Ê^Fš_ÔÄdr±Ì–@[I¬÷°5µ j¹mÖ^à2fD`U˜Q1Z6´«{s¯:7n*»&„$54ñ\Ê�€2Àé(Þ›x.åŽF@¨©]P]Cq_ÊXN]Ã5yê8s(w4"ÊÄ:?�”¶†&žÃ@% P&Ö5]Su5ß&£4UU/¨žfPhD”‰ªê54óA¥Éë§‘T e¤¾‘…þPš|æì%eŠF@©kœgÑJ”©* �€2ãç›e”˜ÆõÌä* �€2ì”’šÚy}<_�JB#  ùø†%Â`PihD”¡zß5ÕpÎ=Š\Mí‚ÖÝLÓ ¨44"ÊTSëU{ (*̆*�€2ÅZ(f̆*WF#Â0 †a/ç…L2�B&™N!“L§�I¦SÜʬiüÄ^ŠBíÍW\yΓé2+3Ó öã¬Ü›¾qllLSSSòûýª¯¯Oí¸Vd’I&™ù ³ô2ãñ¸Âá°e�Ç£ŽŽKm)öL7Ž“Ìü�Y:™OO¨Ùߦ…k5ö]€ÆÓ0«ñ‹§\yΓIf¾*53+‰Xj>ŸO�@ÀR[­lÇ™1#å¥þSÌŠ@q©»)j/¨ UÑhÔ²œ²±8]Âï÷§—óB&™N!“L§�é^f(R0´l÷z½êëë³Ô–ãöq:…L2�âvf$\+c²Ö¾ Pp�뺩%îúsÞ)d’é”bÏ ƒ …B–Zkk«ººº,µµ°gF#€|8Ոଅù*MŽ{u-^eßLMí‚6|6¦êj>‚ÅÆÍF„§fT€ªê.ç‰Î˜£ €F@¥¨kœ×:?—óÄ�±îæ—ë ш¨,7·ÇùFWS» ߆9{@…¢PAªªts{Ü^\åÌÉSG @�€ ãõ_“o=SäQœ’ÀŽF@òm˜S ßPÃe5µ º©•S2Xш¨@UÕ úÔŸ\e½¸êS·r©N™hDT(�w^�, —Üôé8ëBÈŠF@ó­O°^׸>¡ÆOñ¼��€ çÛ0§Zï¼½ ¬‰Ç;¯›Z¸2 €ÜhDT¸ªê5Ýr•Å+‘·šÚ5ÿÉU{,hD@žÚD^ªª“Ï!Ö…°�›Í·ðm6ÖæSWiBXH©kœWS;ç÷cunút\u ¬3`ehDÀbÝÍ ù\Ö+ãÌq… «B#|æhF`YþÀœ|xžX�ŒF„a2 Ã^Î ™d:…L2�B&™N!“L§c&Í,%ß&D¾ÏÏlÈ$Ó)•œéûqÖ îMß866¦©©)ùý~Õ××§v\+2É$“Ì|�Yz™ñx\ápز�ÇãQGG‡¥¶{¦ÇIf~ȬœÌº†yUUIñ™û&T0'šNukLOD#«æYü–Ü·Þ™õP|×'è¤ Ày4"°fþ–¸ü-q{%¬ªzA7}:®›ø»p �äÅ·>¡Àm³¬Qjj´~ãU5~Š™.ÜC#yóÔ.(À©%­q}B>ËÚÜG#ލª^�¿%®›ÛãÌŽ(!UÕ jºåªnj‰«ºš¿÷ш€£nNèS·Æ´®‰ÙÅÎ뿦–ÛcZç¿fß®¡ÇyjÔÔÆìˆb•\ "¦æ[®2 @Áш€knN^’µ#Ї¹D]kA¸1hDÀUæÚ�Ûfå倦®ášÿm–µ Üp4"PžÚ5ßr•Ó5 Ìã�×ú�1­ßxUwE€F ªáæ„ZþÛ, —ÕÔ.¨©=®@'§a(.4"pCÐ�p‡Ù€h¹mVënfmŇFn(Ψk¸¦æŽ«4 =( fCbýƘÖ5ñAz¥ê®¥Ö€ðúX @ñËhD†!Ã0ìå¼�I¦SÈ$Ó)d’é2Ét ™×3ëæÕÔ–¼Ê†?0Ç,‰,ªªäÌéÓwÌjýÆ«–5 ì�§È$Ó)d¦ìÇY388¸7}ãØØ˜¦¦¦ä÷ûU__ŸÚq­È$“L2óAféeÆãq…ÃaË>�G–ÚRì™n'™ù!“ÌBdV×$›�ŸJ¨¾ñšT%]‹WI U–ŒJQU½ †›®é¦Ö¸nn›S]üªlÅR�çZ‘I&™•‘‡‰D,5ŸÏ§@ `©­V¶ã̘s–Dë³úTÇU­kJ¨ªºügJTU/¨áæ„ÖoŒ©åö˜nn�s %¯*�ZFpcqº„ßïO/ç…L2�B&™N!Ó½ÌP(¤`0hÙîõzÕ××g©-Çíãt ™d:…̵eÆgª‹x�Vk.Vß±ÕÔ-Èë¿&¯/!�wAÕ«l¸äóxæB&™N!³x3ƒÁ B¡�¥ÖÚÚª®®.Km-ìǙш N5"`µsUŠÏÔ(>S­D¬t5u ª_wMu¾yÕû®­ºñNp³aW£3° Omò4†¦¶¸6tÆrŒÉ˜Ó:ÿ5Õzoü) 5uÉc¼éÓq­ß˜Kmµœ>N‘I&™dæ¡�c]ÆŒ·TE£Ñ…ô‚±8]Âï÷§—óB&™N!“L§�é^f(R0´l÷z½êëë³Ô–ãöq:…L2�BfñfƒA…B!K­µµU]]]–ÚZ8yœ&2Ét ™••Yȱ.£@>œjD@±póÍ9‹BŽuœš †F( `hD€‚¡ †F( `hD€‚¡ †F( `hD€‚¡ †F( `hD€‚ÉhD†!Ã0ìå¼�I¦SÈ$Ó)d’é2Ét ™ÅŸé7Ž“L2�BfefºÁ~œ5ƒƒƒ{Ó7Ž��ijjJ~¿_õõõ©׊L2É$3d–^f<W8¶ìãñxÔÑÑa©-ÅžéÆq’™2ɬ¤Ìp8¬H$b©ù|>Kmµœ>N‘I&™dæ¡�c]ÆŒ·TE£Ñ…ô‚±8]Âï÷§—óB&™N!“L§�é^f(R0´l÷z½êëë³Ô–ãöq:…L2�BfñfƒA…B!K­µµU]]]–ÚZ8yœ&2Ét ™••Yȱ.£@>œjD@±póÍ9‹BŽuœš †F°„D"a/éÚµkö`…hDK˜››³—4;;k/VˆF°„«W¯ÚKYgIV†F�C"‘È:û!‹ÑŒ€5¢ä`^r.›¥¶r£ä‰D쥔¥¶r£ä099i/¥,µ �� ‹D"¡ééi{9%‰°N¬� ‹åf<$ …Ãa{° @¡PÈ^ÊpñâE{ ° €M,[ò´ Óôô´._¾l/–@#°·—rZÉÌ Àu4"€4±X,ks¡µµUMMMö².]ºÄ¬X@š³gÏÚK’¤¶¶6uvvÚËÒ*gP@¥£, …BY¯–ÑÚÚªææf577g�1==­óçÏÛË€,2†aÈ0 {9/d’é2Ét ™d:…L2�Bæ�ÏŒÅbúýïo/K’:;;S™›6m²o–$ýþ÷¿×ì쬽¼¤µçrÈ$Ó)dVf¦ìÇY388¸7}ãØØ˜¦¦¦ä÷ûU__ŸÚq­È$“L2óAféeÆãq…ÃaË>�G–ÚRì™n'™ù!“ÌrÌüõ¯�µ‘ÐÑÑ¡†††TæúõëUSS£O>ùIJßüü¼¦§§õéOZÕÕß÷eXëq.…L2É$s­Âá°"‘ˆ¥æóù,µÕÊvœË��@™;{ölÖ&„×ëͺ.Dgg§Ö­[g/+‰ä\c�T�FÒ Æât ¿ßŸ^Î ™d:…L2�B¦{™¡PHÁ`вÝëõª¯¯ÏR[ŽÛÇé2Ét ™7.s||<çb“===jnn–²d^¾|Y§N�²ìoêììÌÚÀ°³g:�L2�BfeeƒÁŒ+µ¶¶ª««ËR[ ûqf4"ȇS�(„¥š+i&äûûP,ÜlDØqj*ÒÙ³gs6�ÀŠš���jmmµ—¥Å&§i@&¨(±XL¿úÕ¯táÂû&iqq¶Í›7ÛË9mÚ´I>ŸÏ^–$]¸pA¿úÕ¯²®?•ŠF*Æää¤~õ«_e¬ oòz½ºóÎ;åñxì›ròx<ºë®»².^©Å,O�:¥K—.Ù7@E¢€²‹ÅtòäI½ÿþûJ$öÍÒâLˆ/|á 9 Kñx<êééÉ93"‹éôéÓ:}ú4³#T<([‰DBãããúÅ/~¡ééiûæ”@  »îºkU3!ì¼^¯îºë.û¦”K—.é—¿ü% �FÊÎåË—uòäI;v,ç‚”¦ÎÎÎUŸŽ‘‹ÇãÑ�wÞ¹ìB—é ‰Ë—/Û7@Yãò�GqùN ð ÃÐ�~ô#IÒ׿þõ¬×“ÿþ÷¿/IÚºu«n¿ýöT= éøñãúðÃÕØØ¨žžÝsÏ=i¿y�a:~ü¸Îž=«h4ªÖÖVõôô¨§§Ç¾kÁÍÎÎjzzZ—/_V8ÎyúE:¯×«Í›7«¹¹Ù¾É“““úðÃW4óÁëõª©©I�@@>ŸoM§‡¸éÔ©S:uê”n»í6ÝsÏ=:uꔎ;¦h4ªžž}éK_Êú¼Óâïž={vEÏ17N!/ßI#à(¨d³³³ŠD"J$©ŸµZ·n]ÎËBfsÿý÷+‰è[ßú–¾õ­oY¶�:uJO<ñ„$éÇ?þq*÷ûßÿ~ªA‘®­­M¯¼òŠåöC¡�žx≬ .f»ÍåLNNæ\0r%‰„æææ‰D‹ÅVýXwtt¨³³Ó‘YK‰ÅbÏxs¿�Ç#ŸÏ§ÚÚZy½^Ç�³µµuUÍó¹òÀ¨µµ5ãy“í9#IÿôOÿ”j’¥Ëµÿr"‘ˆ._¾¼ê¿÷R<�<�¼^¯jkks®ó”;€’E#•"‘HÈ0 …Ãa†‘j@8©­­mÅ—‘4?(öôôè•W^±l{þùçõ³Ÿý̲ÍÜßçóéßø†zzzd†<¨K—.©­­Mßÿþ÷Sßrÿõ_ÿµ.]º¤Ûn»Mßþö·åóùtöìY@™ÛÍfÅm·Ý–j`˜ü~¿¾ñ�oH’>üðCiñ²–¦ãÇ�§þ¿›ßþö·W<¢�<�:::nhÂμ:G__ŸÚÚÚVuz„ÓVúÜJ×ÓÓ“q:ÅÖ­[¥Å&…Ù83Ÿ'mmmϱ¶¶¶ÔsÌl’­ÄZŽ×)“““:}ú´~ñ‹_h|||Eë~È�F@é ˆñññ‚òz½«úðl~ Lo˜3¶nÝšúi6.]º¤'žx"ãÇü–Úœ¢ë÷ûS³¾ÿýïëþûï×3Ï<£þð‡–oÁWÂí…}>_ªùpÏ=÷èöÛo_ÕcX(æB™_üâÕÓÓ£ŽŽŽ‚¯Mpë­·ÚKk’~ÜÑhTJ›qÛm·¥¶¥3ë«yþ´µµÙKg®ùñË_þ’†�Öˆ8Š5"P..\¸°ææƒùA»¾¾Þ¾iÅü~¿n¹å–U}h7 #õíóÏ~ö3ùýþÔÚû÷ïO]© ×"•vösþÿýßÿ]?üáS� ÓÖ­[µ{÷îŸëo~˜ËçC\mm­jjj´nÝ:­[·N���Z·n]ÉŸËo®=rõêUÍÎÎjvvV±X̾[^jkkÕÔÔ¤ŽŽû¦œ–Zƒ$ ¥Uæb¨æº$<ð€vïÞmÙ_¶Tß{ï=ûæœB¡PÆ9ìùJ$kZðT‹ÿ¾}ö³ŸÍ˜%”¢B®A#à((u±XL§OŸÖôô´}SVëÖ­Ó† ä÷û‹âÃðO<¡S§NiçÎ�êééÑßýÝß©­­Ír.þøCýèG?Ò׿þu=óÌ3Ú¿¿¾þõ¯ëÒ¥KjkkÓßüÍßHi ]F"ýÃ?üƒž~úiíß¿_O<ñ„åÔŒµrê¾§#ÓÙÌX,¦k×®ÙË9ùýþÔ)éϱ'žxBÏ?ÿ¼$é«_ýª¾ô¥/Ù~3?nÜw3³­­mE ‰åƹ|œN"³23Ý`?ΚÁÁÁ½éÇÆÆ455%¿ßŸ×K&2É$“Ì|�Yz™ñx\ápز�y ½•²gºqœdæ§œ2OŸ>­?üáörJGG‡º»»uÓM7I+Ì\-§3ëëëõÖ[oéêÕ«ºçž{t÷Ýwgd®_¿^ÿý¿ÿw}øá‡:{ö¬ÎŸ?¯³gÏ*�«§§G/¼ðBj–C}}½¶nݪ�?þX¿úÕ¯4>>®ßýîwúè£�ÔÓÓ£ÁÁAýÙŸý™%¥œ¾ï"Ó•Ìÿóþ�NŸ>­¶¶6}å+_±l�D"©5H¾ñ�o¤®¢±qãFõôô¤.{þüy]ºtI>ŸOßüæ7õ…/|Áñãtã¾Û3ý‹§oÌÏÏë“O>±ÿŠ$izzZ±XL�@À¾)kf¾È$Ó‰Ìp8¬H$b©ù|¾¬ÏãÕÈvœ3"*ÅøøxÆ©&�Ç£žžÝ~ûí7|݇ÕJ?Mb©…bÛÚÚôÊ+¯èg?û™^yåýó?ÿsêÿÛOµhkkÓÓO?­—_~YO?ý´^|ñEýøÇ?Ö+¯¼’uÆÊK¿†††ô�ÿø�öMjkkÓ{ï½§÷Þ{/ãyÓÓÓ£ÿøÇúÑ�~¤W^yE?þñ�õöÛoëÁ´ìWj<�n¿ývÝyç�9gG„B¡egF•*ãªÆât ÿ /¿´d’é2Ét ™îe:uÕ ·�Ó)d–næRÓ§½^¯zzzr~ÀÈ•™'3Í+twwëÿñÉ49yœ&2ÉtÊ�ÈŒÅb:uêTÎ+ltvvª³³ÓR[.s-È$3_n^5Ã~œ�òáT#pÓää¤Þÿ}{YZœ†z×]w•Ü,IÚ¿¿B¡�N�:%IÌX¨€ó‰„Nž<™1­Ýtç�wæ=½p››�;NÍ%‹éÃ?´—¥oBœ:uJÿþïÿžjBìܹ“&P �GwÝuWj} »`0˜sÆP‰hD€Šrúô鬼^oÉ6!$é¶ÛnÓ+¯¼’Zóáßø†}.Zª‘H$2f •ŒF¨.\Ðôô´½œZ¢T›Z<ï¶§§G===Žœ+ `õ<�>ÿùÏg]_fzzZçÏŸ·—�ŠD#T„X,–ó2�›7oÎúÁVËëõêsŸûœ½,Iúýï¯D"a/‡F¨ãããYOÉèììTss³½ kÖÜÜ¬ŽŽ{Y‰D"çÕz€JB#”½X,–±¸¿¹´_VœÐÙÙ™u¦Õ… ˜�ŠG#”½\ß@~ö³Ÿµ—À�'ç).\°—€ŠB#”µX,¦ÉÉI{YMMMjmmµ—À1ÍÍÍjjj²—™�ŠG#”µË—/g}ßíümpZ¶Ó¿‰DÖÓÅ€JA#”µloö½^¯�€½ Žknn–Ïç³—³ÎÔ*�P¶b±˜¦§§íeÖ†PPÙŸÓÓÓYgk•€F([—/_¶—$I7ß|³½®Éu*X¶[@% ÊV8¶—ÔÔÔ”õ’zà�Ç“uÑJÃ0ì% "Јe+‰ØKjnn¶—ÀuÙÆžl§Ž•€F(K‰DB³³³örÖo%ÀmÙÆžX,Æ:¨H4"@YÊ5åÙï÷ÛKàº\cO¶†)Pî2†aäü‡{­È$Ó)d’é2Ét ™Å›‹Åì%y<y<{yÕœ­ññqÍÎÎjzzZ¿þõ¯•H$컨ŒK€shD€¢cFÆ·|¡P¨ oúOŸ>­K—.Yj‰DB—/_¶ÔTÆ%À94"@Ññx<ö’TÀ7ýÙÞì›r€ò–ëµÏ¸¬�Ptš››ÕÚÚj/KxÓ¿Ô›ýŽŽ577ÛË*ãàœŒF„a2 Ã^Î ™d:…L2�B&™N!ӽ̮®®‚¿é_êÍ~[[›n¿ýv©÷Ý)d’é2—œBfñgºÁ~œ5ƒƒƒ{Ó7Ž��ijjJ~¿_õõõ©׊L2É$3d–^f<W8¶ìãñxÔÑÑa©-ÅžéÆq’™ŸBeÍÎÎ*‰ØwW$Q,S °o’$…ÃáŒßóù|9÷_îÍþæÍ›¥Ç™/2É$³t2—ÖŽÌâÎ\íós¥²gÆŒ€bRˆo Wúfĸä­*�.¤ŒÅé~¿?½œ2Ét ™d:…L÷2³½óz½êëë³Ô–ãöq:…ÌÂe®öMy0T(²ÔZ[[ÕÕÕe©­6WËçZ‘I¦SÈ,\æjÇÆ%2UÄ™+}~®…ý83äéF�ÍjÞœ¯ä Õjò ›ÕŒ#ŒK(f+y~:…S3@Épr:4oö8�q X= ¤8ñ¦Ÿ7ûœÄ¸¬�PròyÓÏ›}n`\VŽF(I˽鷟çªÅK“ñf€[—€•¡JÖRoú³I$ö’Ä›}b\–G#”´Õ¾é·ãÍ>§1.K£JÞZßôóf€[—€ÜhD€²°Ú7ý¼Ùà6Æ% ; l¬ôM?oö ã�‰F(+˽éçÍ>€Bc\¬hD€²“ëM?oöÜ(ŒKÀu4"@YêêêRGGGê¿;::x³à†b\’ª¢Ñ肽ÀZ…B!ƒAKÍëõª¯¯ÏR %‘HH’<�}ÜŒK(FÁ`P¡PÈRkmmUWW—¥æfD€²æñxx³ ¨0.¡ÒшC#LF#Â0 †a/ç…L2�B&™N!“L§�I¦SÈ$Ó)d’é2+3Ó öã¬Ü›¾qllLSSSòûýª¯¯Oí¸Vd’I&™ù ³ô2ãñ¸Âá°e�ÇcY%|9öL7Ž“Ìü�I&™dæƒL2É,¾Ìp8¬H$b©ù|>Kmµ²§åªæ’tÇwÈï÷§ÿþš�I&™dæƒÌÒËŒD"y_5ÞéÆqº™�VköŠGWgkt-^eû- ry¼óª«Ÿ×º›ªkœ—–xåƒÌÌLÆ% ;Æ¥ëܺjF¶ã̸|§±8]"ß;‘ŽL2�B&™N!Ó½L§.ßéöq:%=sa¾JW.ÖiÖ¨±ïÀ¦áæ„ü­sª®^pýµé”RÌd\V®ÒÇ%·Êrœ�òáT#¢Ô,ÌW)<îU‚o�óÔ.hýgcª®æí¨—€Õ«äqÉÍF„]Æb•`õ>ù¨–7ûÀ*%æ’ßÖÃŒKÀê1.�ò�VkfÚc/X�˜Q£x”·¤Nc\ÖŽqÉ}<ºäiöÞìù˜½ÂkÈiŒK@~—ÜE#€<ÍÅøçÈÇÕRtã�Æ%w1B�'Þðù¹6Ç:Nc\òøä.F(P04"@ÁЈC# �P04"@ÁЈC# �P04"@ÁЈ“ш0 C†aØËy!“L§�I¦SÈ$Ó)Nç•Êé×’[¯÷RÉ�?§_Kn½Þ�Îtƒý8k÷¦oÓÔÔ”ü~¿êëëS;®™d’If>È,½Ìx<®p8lÙÇãñ¨££ÃR[Š=Ó�ãt2ó¦º�öMViŸ�€¥¶ZÙŽ3cF€[ª¢ÑèBzÁXœ.á÷ûÓËy!“L§�I¦SÈt/3 ) Z¶{½^õõõYjËqû8�b†"ø´½ `•|·|äøkS.¼ÞU"™ŒK@þ*m\ ƒ …B–Zkk«ººº,µµ°gF#€|8Õˆ(%¡`ƒ½`•Ú6ÏØKÈã�¿J—ÜlDØqj( `hD€‚¡ †F(˜ñsg41i] Å…¿ÊMtÆÐhpÄ^pqÕ €£¸j†;Fƒ#:zü-�ŸS4j¨%ЮÎ[7©ÿ¾GÔh³ïî*óXVjKïŸkKï½~û°^}ý%56ø5tàßÔØ�ÿ¥Æà¬#ïê…—Ÿ–$íÛ}HÝ›{�1ôêkß•$=þØw\û»UÚêôn+ĸTHéÏÕè¼u“úïX“5ð�¯J’žùö‹Úr÷½ö]�œ*m\⪠åàÐ^íÙ¿CG�'¿­‡4Ñð;‡5ð�þU5ryõµ—tpè9M„—ÿ&|bò¢Ž^ñÏø¹3Òâ ó£3[jy:1ò®=§á·Û7ÝP‡ž[öï�ú{E�Ôß²Rþn(>éÏÕüœ8ù®$YžãÑÙÊxþFgŒÔkÜ-æØvôXþÿþ 21#à(fD8ëÈ›C:ò“!IÒö‡´å®{ÕØè×ÄäEysH£$§}w8¯™»ú5¥¾_ÊDø¢FO[§9=þ–F?QçÆMêÿˇ-Û:7Þ¡Î�›¤Å7¯� þeo£\˜¿îͽڷû�}ó óW{·”6ë!�ýo”þ�òÐ�aµlXûól)•öÍ£ÛÜ—n„茡¿I6L£\Ÿ�µólklôkKoröÉ‘äï™ÿ]îÒ_³?ýÁoì›aŽmÛ¶ökç€õ±/'•6.1#H’†ßI~“þøcOiûƒêܸI-Ú’l©ûsÉ‹Ãï¼aûM÷´lh×¶{ú-?f¤±ÁŸ±ÍlBhñƒ€ýƒ/Š #£lc‹9þIÊØ–ÞtØÒ{oÅ4!€RÁŒ€£˜áœôoµ²}s­Åõ&&/ª%О±ýè±áÅu%’§Ftnܤm_ê×¶{¾’ÚçÕ¼¤'ßMM_nlð«±Á§-½÷êñÇžJí·œƒC{uôø[K~óbä]½úÚKj ´§ö1kÝ›ïÖöÿ^G~2¤#?—?¬£Ç‡5©±Á¯Î�›ôø£OY"鎼9¤'ßÕø¹3©ýí�“$ ¿}XÃAîÍwg|8ÑÁ¡½Òâ¬�‰É‹Ú³‡¢3‘Ô)æL‚}ƒC9gd{ŒLf¦Ò2쵿yWÃA‰p(õ8mh µ®Ãro{žÿ(=n�KÅäè±aü^òôƒ¥¾ùØÕ/Ù^{éµô×MçÆMÚþà€¶ôÞ«ñsgôêk/¥ÆÐô1É.}¼�ÎêÞÜ›u1�GtäÍ¡ÔþéãNú:,ö±ÅμÏ<ù’:7nÒžçwh"|1õ7ïïã�>µìú£Á ¿}XãçÇRã§ý>›ÇcŽmæ¢ÇWê*m\bFPK =õ†ÔœZl×½¹7ùÍ ­ qph¯~ï9�~0’z“8ÑÁïíÕ«¯½”Ú/:kXÏ¡žIþ·kD£Éìô+2¤jáäà£ÇßZ\C"y>øžý;R‹\š§¡L„/jø�Öû¡Åê»Ñ‘Ÿ -~¿þÆyמG2ÖiˆÎÚµ'¹ÿø¹3–ýí�“¹¿y¬Ù$·]¿oÉÇ1لȶ=›l�QºlfíÈ›‡ôêë/¥¶›�“¹ø¤Vø÷Îv@)ËöœÎõº?wF/¼ü´NŒ¼«=ûwhôƒ‘Œ1)ýu­Åf¦9Þj±ÁgŽ#ÙÖi8òæP*ÛÜüܽúúKÚ5øhÆë?Ûñ›Ìmæ1¥7!,Û—Yãèñ·´gÿ�8ù®¢3‘Ôxxôø°víy$µÖ�lcÛõq1ûñ¹Ðˆ ˆmh@Zަõ÷ŠEúëfèÀ¿¥¾ùáå§µmëW²ŽIæ¬--Ž·G~2¤Æ¿öí>¤×ý§^?ôŸ:°ï µÚtôø°e1÷×âønîoÞöDø¢~/9b-† kè»ÿ–úosÜÙ¶5ûÌ )ÙÄ5¯æ1™ãa÷篜ózr»9–™ã˶­ý©ÛVƒFE¬ÿ¾‡SoøÌ7¨»ö<¢�]_M^õ Ë7ç©7¹XfJ˜Sl%éè{Å7…ö™'“—öÔâý6ÏÿÞÒ{oêMtcƒ?Õœ‘”ºÿÉ+y$›+ûv²|Øï¿ïáÔï›kiDgŒÔúöÇ)ý17÷)é÷Ã|œÌÇs¹æP©Ò_7-ÚÕÿ—�H‹¯¡Ç{Ê2&uÞš<½kbòú¬(s¼}ü±§,ãHçÆMÚù÷ɆÂÑã×Ç[sœÚ¶µ?5Îhñ¶ÍýGƒ#�aÐh×�ç_×3O¾h9&Iê¿?ÙøÍöo �¹í hèÀ¿içÀ³©çáä%4¾ÓŸz#¬ÅœæØîͽ©)³æ�¹NB±}0mÙО1SÀüfÒ^O?Úœa~ãoÞ¿Œû}ë’”:×ÛÜ_RÖo Íš}šs13?$e«Ù§’H²¿nÌSÙÒÇ™ëÛ¬5ó´-æØÇ“¹„”¼Ò‡rŒ;Ý›{Sã�ý !nK®)s} ‰‰pHãçΤÆÊ\§¤kE#€в¡]Û¶ökß`r ñ3O¾˜zÓxä͡ԩé8võgü˜ šç<—û›ÿlÌ7ýãçÎdÜç�]ý©iÅæ·zѨ¹€d{ZÊu-�ëõôo?‹Ycãò�«|^7é ÝäLµìã­$Eg"–±$}ŒIgŽI…Ÿ£3†Ž¼9¤]{Ñ_ýíÝØÕŸ\[§„f…¡´Ðˆ mé½WÏ<ùbê[5û©� ~mÛÚ¿äO9j $6¹~¶ôþ¹ýW oö±Æþcδ(F–…~'CÚÒ{¯úï{X�?ú”žyòEûî€#2†aÈ0œíÀ‘I¦SÈ$Ó)d’é§óÒ�yW‡žË¸zC:ó”ó›~sZotÆÐã�}G;žÍù³’™¥Â¼ß� ¾Œû™þc.8g~9¾˜õ›Çôo:í—ý̶¿Ó²Ý†W2)&N¿–Üz½—J&Ü—~ÚØJÆÛô+!�ŸKKºÎ<},ÛŒ‰lã‚NŒü\‹ ýxþ =óä‹zü±§ÔÿÃeõïÄZ8ýZrëõît¦ìÇiiD†¡±±1���9vgÈ$“Ìü‘I&™ùs3Ó-� þäŠëï馃y¾qj=…´7ºÙ¦ÔŽŸ;£#o弨[otݶåîäi*éç4§;zü- ¿}ýqìܸiÉÇÉ\Ô2}?ó'&­—å”m1ºlìûçÒ¹1ÙXŠÎ÷#×ß,+=®BpãµYÉ™p_K =µnO¶qdbòbÆxk®I‘mÿ£Ç†S¯ÉîÔš×›öVrUŸ•¼ÆÇÏ'Ÿ/ÝŸ»¾F…i¹qg%ù¥Ì�×f±gº!Ûqf̈š{s¯åRræ¥;'¡ä5îŸß‘z“˜~ªEê’Ÿo'/?i¾Q Žè…—ŸÒ‘Ÿ Y.?—nø�ÃÉÛKl…ôÆ겞‡žK-ô�1tbä]½úÚKzõõ—Rß6¦ï?üvòr¦ÑÅu3^}í¥ÔÊöý÷%WЗ”:­#:ch×à£:1ònêï`îog¾©Ÿ˜ éè±·2š v-�¶TÃãàÐs:zì­Ôñ}/ûm¬…y\G�'�©ÔþÞ@±0¯*qäÍ¡ŒñvÏþã­9>�GR§B˜�Gsáám[ûS¯Ñ–@{êß�ô1áÈ›CzõõëWJ—¾î…9¦/Õ00gÖ�y×2 ¿}8kÃDi�YóòÀË�m€]U4]H/˜ ¿?óI½Vd’é2Ét ™îe†B!ƒAËv¯×«¾¾>Km9n§S ÃP䟶—3¾¨=ûw,ùAqûC—\;òæ�åjé:7nÒ3O¾dùækø�ÖS@¶mí×Î�gSÿ½œƒC{uôø[êÞÜ«}»Ù7K‹ßöüÞsjÙЮ¡ÉëÜg«™ÌÌíX.Ù)Iõ·wK‹—ê4¿9ŒÎÚ³GÆ·†¦m[¿¢�ÉËã™^}í¥œo´³=®ÙöolðëñG¿£ƒß{N’ôÓü&µ-:chמG,¿×ýgÖ&ûßÂôÌ“/ê…—Ÿ–$ Vˆ6ML^ÔÀw¾j©¥Ûóü�~0’ñÚo£ÿ¾‡õøcOeÍËVsƒï–�mÊ…×»J$ÓÍq©X˜ã‡l¯;;s¼Hþf«i™1)×ëi©ñ¶%ОqIá¥öïÞÜ«gž|Ñ2Fœy7õÚO·ý¡=6¬‰pÈ2*mü4íØ›õJÊ2N™·�1´mëWR9ùŽm¥¨ÒÆ¥`0¨PÈú~£µµU]]]–ÚZØ�³fppÐò/r}}½êëëÓKy#“L§�I¦SÈt/3‰([¶{<uttXjËqû8�R__¯H¸Ö^vLò›ûGÔhS4Qc£_uµuj ´këŸý¥þÇß»Át×çûR÷Û|œ¶ôþ…쩬�«¹4I]în玽jÙЦèLD�ï°\¯®¶>õßuµõêÜx‡:o½#uÌÙØÿÝ›ïÖã�=¥»>ß—ºß[zÿ\uµõR•4}åck-Mt&¢æ¦ �¡ý6nù“Ï$ÿnÙò²Õ\°þOœ�¨ëÖë½T2Ý—ŠÅõñÃúº³ËxÝä¨iÙ1)ûëÉo%IUJ�;[¿ø—Ú9ðlÆxÛ½¹WÛîùJr–BÚþ_ëÿ¦ì©Œ×Ø-íŸÑ–»ïÕÜÜU56øÕ¹ñýÃß=£m[û5é–öNËX¨Å�ÓÇ*û1§3Ç)óx´x›;ö.Ös�mÉq:yL[zïÍ8öRWiãR8V$b]�Èçó)Xjka?ÎŒäé¥$l°—¬RÛæ{ y`\òWiã’›3"ìœmñ,�F( `hD€‚¡ †F( `hD€‚¡ †F( `hD€‚¡ †F(”�á·kÏþ?wƾ©ä�yW{žß¡�]ý%{�¼9¤=ûwhb2dß䘉pHa÷ò�J3~îŒ^8ð´ŽüdȾ)'óu�1ì›Vlbò¢^8ð´=—WNtÆÈûX·d4" Ã�a8ûd%“L§�I¦SÈ$Ó)Nç-%×›Ê茡W_I£Á‘U½a.G� ë…—ŸÖè#š‡4QK Í¾[Q3ÿ.£Á=>lßì˜=Ïh`W¿Fƒ#öM%Áé×’[¯÷RÉDþŽüdH'N¾«#o­¸ÉwðÐ^ ìê×ðÛ‡í›Vìèñ·tâä»:z|8¯×óðÛ‡5°«_/¼ü´}SNæ¿3+½¿åÎé×’[¯w§3Ý`?NK#Â0 ���ilḻ;C&™dæ�L2ÉÌŸ›™…òêk/i`W¿^}í»–zcƒ_ý÷=¬– mÚ¶õ+–m¥nø�ä›ù-½÷jèÀ°† «±Áoß­¨unܤ-½÷ªsã&m»§ß¾‹ÜxmVr&ò·mëW’¯Û­_QˆÂ5@·Ý“¼ÝîͽêÜx‡}³«ÆÏ�IÎ>{~‡}SErãµYì™nÈvœ3"@éyü±§4t`X[zïµo*iæì�-½÷ªeC[A? 8¥±Á¯gž|Qö½Q’ÇTª-½÷êÀ¾7´s`¯}“«Z6´ëÀ¾7´o÷!Æ ”­šÁÁÁÔ+«¾¾^~¿_6l�ßïÌ· d’IfþÈ$³”2#‘ˆÂá°e�Ç£ŽŽKm)öL'¸™ÿÄgß䨉ɋ:1ò®Fƒ'5©±Ñ/-$ÏE¾¥ý3Òâ: g>|_� 7%·§ÕZíª«­×‰‘wõÞý‡¢3Fê÷´xNóÑcoéÔo)Ij ´§¶Ù�Gtbäç:õÛ_*:c¨®¶>u{+�1ôÞ/ÿC'F~®ñsg47ϸÍÑÓ#ÉÛ:ùsÍÍÅÕØàW4j(:ÉØ7]úã *¥n§±Á¯æ¦õ©ýÆÏ�Ñ{ÿõKÞóq7ç‰É‹:z<ûã”<íâ-ML†ÔØàÏÈ:zlXãçΤþöÚÜ\Üò˜4ß¼!#Ôþø¥ßÞð;‡�‰hÛÖþ¬�QúßN9þÎæã.U©¹i}ê9“k'µÖëøkÓ�×{©dº=.3ûx˜ëõ�1ôÎÿïÍÔ8�>.*m È5©3ަ^³G�¿¥‰pHÝ›{Õ½¹WZoNýö©œå^‹æíŽŸ;“uFD¶ßÏv¬£Á�~0¢–@»¶mí_öþ=6¬ñóg4úAòt�æ›×gŒ[•¦ÒÆ¥p8¬H$b©ù|>Kmµ²gU4]°ïÀZ…B!ƒAKÍëõª¯¯ÏR+'¡`ƒ½ä¨£Ç†uð{ÏÙËjÙЮ¡ÿ&IØÕ¯‰pH;ö¦NÏH¯yó�åœß– íÚ·û�ŽÎXWbÛÖ~íxÖR›˜¼¨ƒCÏ¥Þ šZ6´«ÿ¾‡ÕÿÖz.ÃoÖ‘Ÿ e¬sÑyë&=óäK©õíÕÑãoYö‘¤îͽڷû�½œbÞçí èè±áÔ}6—茡W_{)köö‡´ýÁ�Ô�G´gÿµlh×ö‡tpÈú­èö‡´íK_I.B™öØ66øµsàYË씿úÛ»%IûvJ}8I¯Ú›qNöã�>•ñ¸ŽŸ;£=ûwX¿– ízæÉõÂËOi"²Ü†ù;æ¶tæïunÜ”ª™�ûöRb$iûƒÚþÐõÇÆ m›gì%äÁíq©˜íy~‡F?ÑÎ�½:zlØ2n™c߉‘wõêë/Y~¯sã&íÛ}(uú—9öÚÇ�‰É‹z៞ÎX8÷ñGŸJ6�?±¼f޼9¤#?J6 7´eŒ¹öÛ5ÇIúé~“Ú/:cèàÐs:1ònª&Iý÷=¬Î[7e«y»Ý›{Õý¹ÞŒÛ5 sÜ5Ç$;û˜RI*m\ ƒ …¬ÿV´¶¶ª««ËRs‚eFùrbFD©‰„kí%‡U©ùæõŠÎš¾2¥Î�›tÿ¶¯©{s¯î¸íNiq-…èL$µAzmüü56úuÿ¶¯©%Цñóg�14úÁˆÞû¯ÿPÿ}ë®Ï÷©±Ñ¯?†~¯ñógÔ²¡ÝòuמG’õ@»¶?8 ­ö—Éo?Ñ©÷©Î�›2¾]³~û°^}ý%ÍÍŵmk¿úï{XÝ›ïÖ/ý^ �Ó‰‘ŸkÛ=_I}óvKÛg4~>9cbKï½Úúg©îÍw[ŽË.uŸgZlý³û’�ÓíwªeC»^ú_ƒzï¿þC� ~}­ÿ›Úö¥¯¨±ÑŸü08¢Æê1�‡R ‹3¾¯m[ûu×çû41uQÑ™Hêƒz]]½îßö5unܤéO¦4}eJ§~ûK}­ÿ›©ã2?¤ÏV0kãçϤ2º7÷¦òO½ÿKõßÿpêñ˜˜¼¨ÿÏs§èŒ‘ú;Üõù>ýñÒïuôø[ŠÎDR�­y“õýã©ohûï{Dw}¾Ouuõ:ó»÷õÞý‡¶þÙ}–Y4ãçÏh"|QãçÏhÛÖþÔól¹¿o¾ü�9{ yp\*^欄‰ðEMòqr �@›&Â!M_™ÒèÉÛ¶ö'OûZ§¯L©®®Þ2“áÄÉŸ§f˜víyD �ScCr\Ýúg÷©¹i½Þ|ë_%IÑ™ˆeFDª©W%�úí/uÿ¶¯é®Ï÷å¼Ýô±'½ø¿ÿù…Ô %s mlôë½ÿú?úã¥ßkúÊ”åX¯ßn•NŒ¼›ëÓÿ0_ç&s[cƒ__ûÊ7“÷£ëî’[›Ç)•6.¹5#"Öˆ Èunܤí ¨óÖäðÎ[ïÐö‡2¾-_ʾ݇´ý¡íØ›úÖüÜ=þØSzü±§´ý¡=óä‹êþÜâç´oÍ™-�ä·gý÷?¬m÷ôkçÀ^=þØS’”±€¦ÝÄäE ¿ó†´øÆzçÀ³ÚvO¿úï8õMàDø¢eqÊí ¨±!9½Üüï•.ÆÙØè×�çßÐÎ�gõøcO©ûs½:zlX'FÞUK ]žCÛHÝ�gž|QZlØgkDg õßÿHêqúîõ3£3‘ÔcûøcOiçß'¿ß‰Îß–.åÀ¾7’32°}#{}æ†yl-�vØ÷ºúïOÎD9°ï unÜ”qÜæïL„CÚÒ{oêo×ÿÃzæÉS3DÌ¿Kº‰phñÜøäãWnk� 2Dg":°ïõÔØg¾ÎÇÏ�I�Cæ6slYîu›>ÓêÀóoèñÇ’3—̱Õ>ó(Ýø¹3Ú·ûPj,Ù9°Wý÷%Çñ宲až¦Å5�Ì1Ô¼_K÷ÄäEËXŸþïÀhp$5v$ÇØdS¢±ÁŸ“X§n @™ëÿˇ-ßf¥˜·À¼þ�ÜÅT-õÍ܃™oHûïKfO„/.ùFx4˜¼üfcƒßrúƒÒNï�íƒw>¶})s•û'.->ömæb˜¹æñ™¶ôþ¹$©ûs½–ÇÖ|ü”¶Ðær²=©odÏ_?–#Éãßþà@Æ·“Û³œ6�1,\ìÌÙNSIŸY”ªm_úŠåµ’þºOŸ ÅײVÒˆX|½˜§Y¤K6OsÏèܸ)ãueŽÁË�æí¶®�—¦îÅS/réܸ)ãwÒÙ“¹›'€[hDPær-z(Ûó\ÌÙG�ëàÐs?¦ôæ…�ù�Úþ&ÜdÖ—ÊX ûâoZüVP’Nœ|7ã>¤ßû‘– ™YNÊöÁÅœ bš˜¼˜ú bÎŒI×y릌œôûqäÍ¡ŒûkÎ>‰ÎßâÚ³$™cTzÓ1]®ºr¼®V2+ývs4V{»éµåš €hD€I®ÚÜ~Ì�r“óuèÒif"WÃ7ר +`Iæ©É«i´eü46øÿ7÷7r©ŒsÉ•Ú펖–8uà ©õ/&/f܇•Þ�¥%О:®'3g2Œ­—UÕâê÷©PŽûlþX™Î�wH9^‡“ɫ͸¡óÖÅÛy7ëÊ '””˜Bóµížäâ–ÃoÎø¶o48¢Gwü…víy$ë›cÓ–»ïUcƒ_ÑCGÞ´^Ë~bòbj!Æþû±lsRúâŒöu &&/êÑ¡�]_ÍØV,ÌEFí‡èŒ¡ƒC™Wcolð§f©¼úúKŸ#oé¯þön½ðòÓ–:€ÜÌ×Ôhp$£˜¼Œnîq0ÛîI.¼™|½?—¢3†^}í¥ŒQùš__—p�J„ù�þhpD{öï°,°è¦m[ûÕý¹^Eg íÚóˆ=—ZüpÏþR–«GØ56øõøcß‘$ ¿sX{öïБ7‡ôêk/iמG�1Ô¹qÓŠ/ϹÝqÔ�@«IDAT›{S—¬L¿æ1˜û¸9+#ÛPK ye�=ûwè…OëÕ×^ÒÀ®¯JUUYówÆÏ�Ñ®ÁGõêk/éÈ›CÚóüùI²!d¿r €ÜÌñP’åu¸çù~çpÎÅ$ó•>†žyWßé×À®~=ºã/tôø[WY«Î�×¾Ý5ø¨öìßáx“�JǶ­ý©K°™ .ê«gv½˜úôø°ŽüdHG�«qñZóÙ.i·mk¿žyòEµÚ4Ñ‘Ÿ iø�ÊÎÚ¶µ_ûv²ÿŠãvìM].Ó¼æ1ôß÷pê�~1jlðkßîCj ´i"|Q'N¾«áw«±1Y϶ˆ]ˆvíÛ}HÝŸëÕDø¢†ß9¬#?Òè#‹lžrµù”£�;žM½nÌ×áøù3Ú9ð¬Zî�ê´mk¿†ü[ªñ�‰¨{sor\pè+³áaŽ3Ùf~N¨ŠF£ ö"k … -5¯×«¾¾>K­œ„‚ ö’«&Â51Rcƒ?í²—Éo¬|××ÈR3™Ûìo^£3Fj14û6¥ÝöÄäE56úÕ½y陹ŒGV”±Ô}Èf¥ûGg �Ÿ;³ì1,÷8e»�lǰҚi©|¥=~-�öÔ7˜Kåiño7~QC�ïÈ:óc¹ÛuSÛæ{ y(ô¸TL–z/÷šNß–­–Î|Miq6Uãâ©öÛ^>'ó˜²Õ–räÍ!ùÉPª1¡UÜn¶ÇÉ#ü–õf*M¥�KÁ`P¡�uLkk«ººº,5'Ј8ŠF€µ¨´7ünc\*?É™poiçÀ³öM:8´WG�¿¥-½÷ê™'_´oÆUÚ¸TÈF§f@‹Îzáå§uôø°öìß‘œi48’jBˆ5_PB˜p3"¬E¥}óè6Æ¥ò3~îŒ^ø§§2®^¤Åµ¶?4�ZGΨ´q©�3"hDE#ÀZTÚ~·1.•¯£Ç‡“ë½,®ÿÐyë¦Ôå=á¬J—hDJ�kQioøÝƸä¯ÒÆ¥B6"2Öˆ0 C†áì¥ÀÈ$Ó)d’é2ÉtŠÓy@¥rúµäÖë½T2äÏé×’[¯w§3Ý`?ΚÁÁÁ½éÇÆÆ455%¿ß¯úúúÔŽkE&™d’™2K/3�+[öñx<êèè°Ô–bÏtã8�̼©n£}€U�tüµéÆë½T2—€üUÚ¸‡‰$Où1ù|>Kmµ²gÆŒ·d¬a,N—ðû�[ì„L2�B&™N!Ó½L§Öˆpû8�b†"ø´½ `•|·|äøkS.¼ÞU"™ŒK@þ*m\rs�ûqf4"ȇS�ˆR¢p@þ*mQ8·1.ù«´qÉÍF„§f€‚¡ †F( `hD€‚¡ †F( `hD€‚¡@žª«ì%¸¡—3䩦Ž7ü@><Þy{ yb\òøä.äÉë¿f/X…úFÞð;�q Èã’»hD�§ÆO%˜ ä¡¡iÎ^Bž—€ü0.¹‹Fyªª^PãÞ°káÌÉÃiŽc\ÖŽqÉ}4"p€o}Bþoú�Õðæäãòk—€Õc\* 8Ä·aN7·ÇY$XFUõ‚šÚã¼Ù/Æ%`e— «*�ZF%Ã0$I~¿?½œ2Ét ™d:…L÷2C¡�‚Á e»×ëU__Ÿ¥¶·�Ó)¹2¯Fjtu¦F KyEææ’o‚jkkí›ÖŒL2�’Of•Gòúòx,ëäzåƒÌÌLÆ¥µ!³¼3—® ƒ …B–Zkk«ººº,µµ°§¥a†ÆÆÆ$IwÜq‡#w†L2É$3d–^f$É»aÏtã8ÉÌ™d’If>È$“ÌâËt«‘í895 §f¤!“L§�I¦SJ1“S3òG&™N!“L§�I¦SÈ,ÞL·fD(Ëqf4"ȇS�Ž›�;NÍC#”­³gÏêØ±c:zô¨Îž=kß ǸЈe* éÂ… J$’×*¼pá‚.]ºdß †q H¢ÊÒôô´½¤�?þØ^€‚a\’hD€‚¡ †F( `hD€‚¡ †F( `hD€‚¡ †F( `2†aÈ0 {9/d’é2Ét ™d:…ÌâÏtƒÇI&™N!³ø3ÝàÆq’Y™™n°gÍàààÞô�cccššš’ßïW}}}jǵ"“L2ÉÌ™¥—�LJ-ûx<uttXjK±gºqœdæ§2Ãá°"‘ˆ¥æóù,µÕrú8E&™dVL&ã™ÅœYÈçgÆŒ·TE£Ñ…ô‚±8]Âï÷§—óB&™N!“L§�é^f(R0´l÷z½êëë³Ô–ãöq:…ÌâÍ ƒ …B–Zkk«ººº,µµpò8Md’é2‹7“q‰Lqf!ŸŸ�òáT#È—›o¨`-—PÌ ùüäÔ P04"@ÁЈC# �P04"@ÁЈC# �P04" <�½¤k×®ÙKÀ 1;;k/©¶¶Ö^r�P–‰„½7T¶FD¶@±Èöœu�€£¼^¯½¤X,f/®›››³—´nÝ:{ &Û¿‘4MQ,"‘ˆ½äÚ¿›4"ŽÊö&K4#pd{sïÖ7;°ÙÆ X,–u¼ )‘Hd}Ö××ÛKŽ pT®s ™zŠBËöÍN®F‚Ïç³—$I†aØK@Aåzúý~{É4"ŽòxȬ¬Ì±±1ÍÏÏ[jëׯ׆ ,µµpò8Md’IfådÎÍÍé£�>²—UWW§›o¾Ù^^7Ž“ÌÊÉœœœÌÚÀokkSCCƒ½¼jÙŽ3cFùòûýYÏ)ÌÖmœ699™õ›E¿‹SL`¥êëëUSSc/g�Â… ì%UWW¯¹±±UÑht!½`,N—pòk2Ét ™d:…L÷3ßÿýŒ7U�G÷Üs�¥–K¶Ì|‘Y™Á`P¡PÈR«««Ó—¾ô%K-N§™d:…ÌâÏÓÿøG{Y===Y×�X 7Ž“Ìòϼ|ù²N�:e/볟ý¬>ó™ÏØËkf?ÎŒFNÈõ[>o²€åÄb1ýâ¿°—ÕÚÚª®®.{nˆD"¡_üâ³·šššt×]wYj€›²5ï%é‹_üâŠN§]+N͸¢¹¹9ëéãããöà˜\ϯÎÎN{ n�Ç“u!Àééi]¾|Ù^\qùòå¬MˆÖÖVW›¢pSGG‡½Ä›,¸&‹e}CµÒER �Z[[í%i‰†*à´>øÀ^’ Ô¼§pMGGGÖYÁ`0c:*�¯\oÞÛÛÛí%¸áš››ÕÖÖf/kzzZçÏŸ·—G���kvvÖ^.Èlш¸Éãñd�‹Å²®Ð ¬U®é¥^¯7ç·Žp£uvvfmØÿþ÷¿W$±—GÄb±œÍûB̆�€ÛrÍŠçM‹ÅrN/½ýöÛí%(^¯7kÃ>‘Hè·¿ý-³á¸X,–u1q-6! 1B4"nóx<9»ë¼É‚–š^šm18(&���òù|ö²b±˜~ûÛßÚË@^NŸ>�õßL¯×›óýšhD\×ÑÑ¡¦¦&{™7YÈÛøøxÎS2 ù† òÑÕÕ•uöàôô´‚Á ½ ¬ÉéÓ§5==m/K‹—W/$€‚XêMÖÙ³gíe`Y.\ÈyŽëg?ûÙ‚M/€|ù|¾œÍÓP(D3y;}ú´.]ºd/K‹§1úßL€‚Xêê¥>PÙ„B¡œ ¬ŽŽ¨Pr:::²®¡Å1ïäÉ“Y§ÔKI$:yòdÎ&DgggÎç�›hD f©7Yããã|ãƒYê¹²Tà ŠÝí·ßž³‘:==­S§NÑŒÀŠE"ýú׿Îy:F[[Û û7³*�.Ø‹¸éäÉ“9ÿQôù|ºóÎ; >EÅ/‘Hh||<ç¥_½^¯zzzxî(iæ7ØK]Yª³³ó†}€Di0g›æZÜçóé _ø‚½\04"·Ü›,¯×«Ï~ö³9¿Bå‰D":}úô’ÏšÊÉRçôkqÜÛ¼y³š››í›PÁ._¾¬ñññœ_øhq&Äí·ßžuí®B¡¸!–kFhñò‹…¼¦5ŠO"‘Xv šÊÕøøø’ãŸÿ­lkk£!QáVÒ€Ðâi²·ß~»½\p4"7L"‘Й3g–üÆG‹SP[[[ù YaÌ)sM+MàÂ… 9çMçóùtë­·êæ›ofL¬‰DB¡PH“““Ë6 <Ï [˜2€n%ßøhñ[Ÿ[o½U>ŸÏ¾ eœqáÂ…%’ÔÔÔ¤Ïþó7tj)B,[ÕB•MMM òù|òûýŒ“e"‘HÈ0 E"‘5L>ŸO]]]Eõþ‰F (LNNêÃ?\Ñ›,ŸÏ§ææfmذ�©¨e`vvVápxUoªn¿ýö¢ùV e¥�{;�Ç“úêõzí›QÄ®]»¦ÙÙÙÔÿ®†ÇãQGGGQ.lšÑˆ0 C’ä÷ûÓËy!“L§�I¦SÈ,ÎÌX,¦ññq…B!û¦%555©¶¶V>ŸoÉ7X±XLrøM™«ÏL$ŠÅb2¿ÕYnæCº¦¦&mÚ´iUßê8õüLG&™N!“ÌÕZë¿•¨,ù¬³•Ïó3{¦¥a†ÆÆÆ$IwÜq‡#7L&™d’™2+3óÂ… úÝï~§ùùyû&T¨µžÛêÆó“L2É$3NeÒ�€�Çãц òZ¼Ô©çgºl™Õö�¸Ñšššäóù´nÝ:Õ××Û7£‚˜ ˆ¾¾¾U7! œ™—ïìëëSgg§ª«ùhW©jjjô'ò'êëëSWWך›…Ä©iÈ$Ó)d’é2“™—/_Ö¥K—øÖ§‚˜ ­µµµå½ÈšÛÏO§�I¦SȬÜÌx<®x<®p8¬H$²ê5P<�š››ÕÔÔ¤††ÕÕÕ9þ\’ ÏO¥ef4"(V±XL—/_V8ÖåË—Wµ¶Š›¹�šSÍÀõ«,\½zU³³³J$š››³ï†"V[[+�Ç£uëÖ©¦¦F~¿Õk3#€’e†b±˜¦§§‹Å477§«W¯ÚwC‘©©©ÑºuëäõzåõzÕÔÔ¤uëÖÑ| BЈÊ& `hD€‚¡ †F( `hD€‚¡ †F( `hD€‚¡ †F( `hD€‚ÉhD†!Ã0ìå¼�I¦SÈ$Ó)d’é2Ét ™d:…L2�B&™N±gÖ îMß866¦©©)ùý~Õ××§v\+2É$“Ì|�I&™dæƒL2É$3d’I¦;™3"ÜR�FÒ Æât ¿ßŸ^Î ™d:…L2�B&™N!“L§�I¦SÈ$Ó)d’é{fF#À-ÿýá 3Á¾ÛGIEND®B`‚alainm23-planify-69962f8/docs/image4.png000066400000000000000000001461101517337276100177020ustar00rootroot00000000000000‰PNG  IHDRkÚ ÕÃsRGB®ÎégAMA±� üa pHYsÃÃÇo¨dËÝIDATx^ìýqp[ç}çûDAhPY6à„É•J½Êò®{%ÞìÆ3kqš¤³#ÊMïάÄ&íÎÞ¡”»Ig"²¿­³·¢;³ÉN$nw¦iJywf›†ÔîÌÆÊ$w{)×Ní¡kw%GdÇ� 8’M¤E˜:"˜çäàx�8¾_3JÏ9øà�øâ9ÏÙ2??¿,´„.oîž²b�eYî¿6ùf䛑oF¾ùf䛑oF¾ùf䛑oF¾ùf䛑oæwþÖ‘‘‘§$)“ÉèúõëZ\\ÔÎ�;½ûmùf䛑oF¾ùf䛑oF¾ùf䛑oF¾ùf䛑oÖŒü.­T„òù|ÙïF"ߌ|3òÍÈ7#ߌ|3òÍÈ7#ߌ|3òÍÈ7#ߌ|3òÍš•ß%I�@@‘H¤ìw#‘oF¾ùf䛑oF¾ùf䛑oF¾ùf䛑oF¾ùfÍÊßâ¾”eY ¿#7òÍÈ7#ߌ|3òÍÈ7#ߌ|3òÍÈ7#ߌ|3òÍÈ7#ßÌïü²b î..Ý ÐB(Ö´Š5-„b @ ¡XÐB(Ö´Š5-„b @ ¡XÐB(Ö´Š5-„b @ ¡XÐB(Ö´Š5-„b @ ¡XÐB¶ÌÏÏ/{;�eY*•JZXX�eYÎÚW0T0Ô¶mÛ ¼»t,^Ï€»e3�¿4SY±Æ²,_ÝfåÏÍÍ©X,*ŸÏ«X,jaaÁ»+:L(Rww·"‘ˆB¡�¢Ñ¨w—55ëõY/^Ï€VÕÉão­È7#ߌ|3òÍÈ7k÷|§X“Éd”Ïç‰DÔÓÓãÝoÃüοvíšÞyç-..êÎ�;ÞÍØd‚Á "‘ˆâñxMoý~}Ö›?77§›7o*›ÍÊbÖ  M´ûø[/òÍÈ7#ߌ|3òÍ:!¿K+¡|>_ö»‘üÊ·,KétZÓÓÓº~ýº(Ô@’T*•”Ëå”J¥ô /hvv¶êŒ¿^Ÿ¶ZóݯçT*¥L&Su_ZQ;Ž¿ëE¾ùf䛑oF¾Y§äoyª««K‹‹‹Z\\T$©é›�z4:¿T*iffF?úÑ�ôî»ïjiiÉ» à°,K?ûÙÏœ‚^(Ò¶mÛœí�~}z­•ÏëЉZ}üÝ(òÍÈ7#ߌ|3òÍ:%¿­Ö¬±,K™LFétÚ» ¨K,S"‘Pww·Ó¶Ñ×çZ¼ù¼ž›M+Œ¿�F¾ùf䛑oF¾Y»ç·ÍÕ ìµÖ:§uwwkûöíÎ ü|Rá/˲tûöm•J%½÷Þ{U§W¯% ꡇR,ónò¯g@»é„ñ€vÑòÅšR©¤+W®(ŸÏ{7E"íÞ½[¡PHáp˜³̲, ‹Eݸq£î×J¥oùüÂëÐ)Úiü Ý´t±fnnN¯½öZÍßÜØhãñ8f71˲tãÆ e³Ùšß8ƒAíÛ·¯áçºñzt²VhG-[¬Éd2š™™ñ6W‹ÅôáX¡PÈ» ›\©TR:�V6›õnª(‘H(‘Hx›7Œ×3`3i•ñ€vÕ’Åšt:]Ó¢«LŸE­êyÓØè7Œ¼ž›ÕÝhg-W¬¹råŠr¹œ·¹L(Roo/SfQ·R©¤T*µæ©Hñx\ûöíó6×�×3Íhw-U¬©åƒmOO�z{{½Í@]j™í²Ñ7Œ¼ž(׌ñ€NÐ2Åšµï@  0û SË‚¿ë�’Íë€Êüè-Q¬Yëƒm0T2™d-4\-Ó²÷ìÙ£øÃÞæªx=`æÇø @'éò64ÛÜÜœñƒm(Ò#�<Â[øÂ.œ˜®¼4;;«¹¹9osE¼žX[£Ç_:Í]-Ö”J%½öÚkÞfG(ÒÁƒ¼›€† ƒ:xð ñ ãÕ«W�ßþ‰×3uiÔø @'º«Åšt:]uƒ:pàlÑ�@@¬:ã¥T*éêÕ«Þæ2¼ž¨O#Æ_:Ñ]+Öd³Ye³Yo³Äš¸K�€’ÉdÕ‚J>Ÿ×o¼ám–x=°nèTw¥XS*•ôúë¯{›ûöíãƒ-î {L5¯¿þº,Ë*kãõ ÀƬgü “Ý•b�ét‘D"ÁåŒqWE£Qõôôx›%I–e)“É”µñz`ãêèdM/Ö”J%ãé"‰DÂÛ 4]oooÕÝÅ^Ï4N­ã/�®éÅÓe�“ɤ· ¸kz{{½MûuÌë€Æªeü Ó5µXcš…‹ÅX×-%�*�{›%I7oÞT±Xäõ @ƒ­5þ²v `3hj±æúõëÞ&§‹ U{]Z–¥W^yÅÛì¨v;°¶jã(k×6‹²b�ßßTüô§?õ6I œ…àwÿÉ7ëÄü`0XõÛ½R©äm’ ¯çJù�D¾ùf䛑oF¾ùf•òMão½ÅšJù�D¾ùf䛑oF¾Y»çoyJ+ßõë×µ¸¸¨�;wz÷Û°k×®éÝwßõ6K’8 mÛ¶y›ëâwÿÉ7ëäüîîn½ùæ›em&•^ϦüF ߌ|3òÍÈ7#ߌ|3S~µñwiiI‘H¤â#^¦üF ߌ|3òÍÈ7#߬ò»´RÊçóe¿ɲ,ݼyÓÛ,I5¶&Íè?ùÕuz~(R$)k«¦Òëy­ü�"ߌ|3òÍÈ7#ߌ|³µòMãoµ÷•nkåoùf䛑oF¾ùf�’ß%I�@@‘H¤ìw#ݹsÇÛ,IzðÁ½MukFÿɯn3äïÞ½ÛÛTQ¥×s-ùA¾ùf䛑oF¾ùfµäW«-ðïVKþF�oF¾ùf䛑oÖ)ù[æçç—íF˲~G’477§T*åm–$õõõ5ì>ýê¿�|³Nη,KÓÓÓÞæUL¯gS~#�oF¾ùf䛑oF¾™)ß2Œ¿ÉdRÑhÔÛ¼Š)¿È7#ߌ|3òÍÈ7k÷ü²†ýº£b±èm’VNiä}62«òÍ:9?°RÝ4YëõlÚÖ䛑oF¾ùf䛑ofÊÆßjï/½Lù�@¾ùf䛑oF¾Y»ç7åÒÝù|ÞÛ$¦¶­h­×ëZÛ@ýª�¯ÕÞ_Ð šR¬YXXð6I+ Çíb­×ëZÛ@ýª�¯…BÁÛ@Çð½XcYVÕiªápØÛ´¬µ^¯kmõ«6¾–J%Y ¾­Â÷bM©Tò6I’‚Á ïçx�V]–ÛÆë˜Æßj³·hw¾knß¾ím’V>ÜífûöíÞ&‰×3¾ª6þVûR€vç{±¦Ú ʇ[´£jßìñzÀ?ÕÆß;wîx›èw­X³mÛ6oÐòª�êÄëÿT«Íà Ýù^¬©¦Ú  ´²j¯Ûjí`ãª�³,0 èTw­X€Õ(Ö´Š5-„b @ ¡XÐB(Ö´Š5-„b @ ¡XÐB(ÖuˆD"Þ&IR,ó6°.eÅ˲Üm;~÷Ÿ|³Í��F•H$œ¿õööª»»»l¿JjÉßòÍÈ7#ߌ|3òÍÈ7#ߌ|3òÍÈ7#ߌ|3¿ó·ŽŒŒ<%I™LFׯ_×ââ¢vîÜéÝoÝòù¼òù¼·YÑhTÑhÔÛ¼n~õßF¾ÙfÊ�F£êééÑý÷߯‡z¨¦×q=ùëA¾ùf䛑oF¾ùfµæ¯÷ýd­ùëE¾ùf䛑oF¾Y'äwi¥"”ÏçË~·¿ûO¾ÙfÌ ‡Ã ÞM«¬'¿䛑oF¾ùf䛑oF¾ùf䛑oF¾ùfÍÊïÒÊÏH$Rö»�øÝòÍÈ7#ߌ|3òÍÈ7#ߌ|3òÍÈ7#ߌ|3òÍÈ7ë”ü-óóóËv£eY ¿£t:­t:ímV"‘([û£üè¿ùf䛑oF¾ùf䛑oF¾Y+äoäýd-ùA¾ùf䛑oF¾Y»ç—-0ìç5ƒßý'ߌ|3òÍÈ7#ߌ|3òÍÈ7#ߌ|3òÍÈ7#ߌ|³vÏçÒÝ-„b @ ¡XÐB(Ö´Š5-„b @ ¡XÐB(Ö´Š5-„b @ ¡XÐB(Ö´Š5-„b Іr¹œr¹œ·Ð(Ö n333×øø¸ïƒééi���kbb»ÉÙlÖ×Ç611Q×ãq÷'•JI’¦¦¦tôèQ=zÔitŠ5¨›»X“Íf½›êÒ¥K×ää¤w“/r¹œ¯�Í~îÎ�;WS¡ÅîËøø¸Óæ¾]-€öB±h¢þþ~çϵZì}âñ¸’ɤ$ippPÉdRÉd²,Ð(ÖM”L& …¤•S¢LR©”s*Ö¡C‡œöx<®±±1���)‹¹nèeÅ˲Üm;~÷Ÿ|³zògff”J¥”J¥433ãÝ\‘�ŸËåœÛ ïn ç6Õf´ÔÚÿZ²*±ó�9"I*‹ÆÛOMM9~òÉ'�? …Š {ûï~޽ûÚìœjÏ£{»7ß»}£*å7ùf䛑oF¾ùf䛑oF¾ùf䛑oæwþ–ùùùeIÊd2ÊçóŠD"êééñî·nétZétÚÛ¬D"¡D"ám^7¿úo#ÿ禦¦4::*IS2™¬9ß^`·X,–µÇãq ©¯¯¯¬ýÌ™3ºxñ¢"‘ˆ~÷wWôG´ª¸300 ÁÁA…Ãá²v­6Î�;§‹/–µÇãq9rDƒƒƒ’ëùyóÍ7õû¿ÿû’ë±Ù²Ù¬FGGWX¼Y•¸ŸŸ›7ojhhHZéû©S§¼»K’Ž=ª\.§={öè™gžqÚ×zþÓé´Î�;·ª@“L&522R6Ç~~C¡�ž{î¹²ý³Ù¬$I‘HDO?ýtÙ¿o*•rÇÈȈS„Z�Z_?ëE¾ùf䛑oF¾Y­ùë}?Ykþz‘oF¾ùf䛑oÖ ù]Z©åóù²ßíÄïþ“oVkþÙ³guîÜ9‹E…B!íÙ³Ç)†d³Y ¯*„HÒòò²nß¾­ÿò_þ‹^yå…B¡²‚Ãä䤆‡‡Ën£•Ì'N8…šP(䜆d_eitt´¬ß…BAËËËÞ('ËîŸÝ÷X,ædU;­Éûü8p@{ö쑤UE$Ûôô´SlqϪ©Ä�ÿÌ3ÏèôéÓÊårÎslßW*•ÒñãÇËŠ8öó_i–�ý÷ååee³Y½ýöÛeÿ¾ÓÓÓξî¢V½¼ÏOµ×Ïz‘oF¾ùf䛑oF¾ùf䛑oF¾ùfÍÊï’¤@  H$Rö»�øÝòÍjÉO¥RÎ�Ž9¢ÉÉI=óÌ3Óä䤳ދûªG¶-[¶hnnN/¼ð‚¾øÅ/ê¹çžÓ… 499©Ã‡K+ùÞbÉøÊå·C¡�FGGõÜsÏillLÏ=÷œ3 fjjJ¯¾úªÓïp8¬-[¶”åØYöl ±±1§ï.\pf”Œ��W<¨ÒócÏ ªT$ÑÊU°lkBìÜ·ÞzKÏ>û¬¶l٢Ç;Ïñ3Ï<£ÉÉIÅb1‹E�9sƹ­ýü©Â‚Çv¶lÙ¢­[·êþÏÿYöï;;;+­ôo#kçTz~‰|3òÍÈ7#ߌ|3òÍÈ7#ߌ|3òÍÈ7kV¾s”V*8�¾£õN[]?úïFþû*�†£5ò …‚fgg•J¥400°ê”¥j§ãØí’tüøq}þóŸwÝêýÜ��‹EÅãq§ ä>…§Ú):CCCJ¥RJ&““eYzõÕW�S{Ü�ÍÞ×{J’VúpéÒ%õöö*‹­zl6÷óS(œ>U:ê‰'žP±XtúæVíùÿÊW¾¢çŸ¾ìypsŸ¶Té±yïË> +�+›Íê‰'žÐïþîïJžþŸñ.Æëå.šœ;wNO<ñ„†††411±êô¡ZÙÅ"ï©PîS Ü—ì6q_¦¦¦V=VûÇ.Ù§0ÉSl±Ûíþ$“IíÙ³G¡P¨¬ŸvãñxÙóØ8Š5hš³gÏêÈ‘#Õää¤.]ºäìEp×#�{›œ¢„]`¨ôã.è¬%™LêüùóN?íÜsçÎihhH«®Rµ–#GŽ83]ìÅzíSª´R 2ÍÔqsÏH²O7«ôS‰{Æ�Ý»}}} ‡ÃNAÆ~ŒöïFͪüÅ4ÅÄÄ„3“%™LêäÉ“:þ¼.^¼¨çž{nÕ%»ëQiQ_»ø�ÇuáÂ…5ªÍÚqëííuëÕÀÀ€s»l6«¡¡¡Š}©Æ]±g]ºtÉ)¼T;}«wÿOž<¹êñy†VÖ®±Ù÷etÜ3käštéÒ%e³Y§ÈVëÌ@í(Ö )¦¦¦¤•4ccc:vìXÙ/k9ÜëÑx¹O²g¾ØE�l6«;v(‹ê�ÇÕ××§S§NéÂ… Ε¥ŠÅâš§sy¹o›J¥ÊN/ªgÖJ(r TÅbqÕãóþxgìØÅ²ÙÙYgv�ûÔ3»X333Sוªõ£Xƒ¦°g‹ìÝ»×»Iò\ªùÎw¾ãmR6›uf�ìÙ³Ç)B¸×Q©te$­\jûìÙ³« ö* ×èèhÅbŒûòצ’+±×ƒÑJìç¡Þ"ˆ{–ÎÄÄDÅâW6›ÕéÓ§5>>¾ê”-w?ì+M¹û`nŠÅbÙ )oѰqk°!ÓÓÓšššªúc ìue¦§§ËfÈ �9s¦ê¬·ÉÉI���;™©•KQÛ·}òÉ'�}“ɤSl/+` MLLh||\“““e‹íV‡�Ç3>>¾ªÿãããÎß×Sdñž‚$Ã�LܳtÜÏ‹VfÄœ>}Z—.]Òøøøª"‹»ØSí4,»(e¯õSÏ•ªµÛ2??¿ìml¤t:­t:ímV"‘P"‘ð6£ LMM9³/Ö266¦d2éVl{öìQ±Xt~úûû�S¥Ü—ˆ>sæŒ.^¼¨x<®C‡U�%300 S§N•µ �8q¢¬haϱ ñx\cccÎé>î~Ú}×J‘ɾ„µ�#ÏU¤*õ¡Þç&�W}œò<ÿî>j¥0å.Ù§G¹û988èvÜ&&&tîÜ9çïîUèg­ký°Q¼Ÿl6̬AS$“I�ŽŽ:îggg•Ëå‡ËŠ%&§N�Z5ã$ ipp°b‘$ëüùóe çr9‹Eçvããã5Ýw___Ya$—Ë9�X,¦“'OVìC-’®«1i�³jlƒƒƒuúY,�~&“I���U,ÔÈs:W¥BîS¥öìÙSÓó¨3kÐt333*‹e ØÖ£P(hvv¶îÛoô~möý‡B!…Ãá eùÉÝÏX…E…h¼Ÿl6kÐÒx? Øl8  …P¬h!kZÅ€B± …P¬h!kZÅ€RV¬±,Ëý×¶ãwÿÉ7#ߌ|3òÍÈ7#ߌ|3òÍÈ7#ߌ|3òÍÈ7#߬Ýó·ŽŒŒ<%I™LFׯ_×ââ¢vîÜéÝoÝòù¼òù¼·YÑhTÑhÔÛ¼n~õßF¾ùf䛑oF¾ùf䛑oÖ*ùë}?Ykþz‘oF¾ùf䛑oÖ ù]Z©åóù²ßíÄïþ“oF¾ùf䛑oF¾ùf䛑oF¾ùf䛑oF¾Y§äwIR P$)ûÝNüî?ùf䛑oF¾ùf䛑oF¾ùf䛑oF¾ùfä›uJþ–ùùùe»Ñ²¬†ßQ:�V:�ö6+‘H(‘Hx›7Ä�þ»‘oF¾ùf䛑oF¾ùf䛵BþFÞOÖ’¿䛑oF¾ùf䛵{~ÙÃ~ÞQ3øÝòÍÈ7#ߌ|3òÍÈ7#ߌ|3òÍÈ7#ߌ|3òÍÈ7k÷|.Ý ÐB(Ö´Š5À:X–¥¹¹9-,,x7°!k€:¥ÓiMOO+•JéÅ_¬¸à!ëE±¨ÃÜÜܪâL:�ÖÜÜ\YëE±¨C>Ÿ÷6I†vêE±6‘\.§T*UñgffF…BÁ{“»ÂÝÏF°³r¹œwÐr¶ÌÏÏ/{)�N¯:mD’‰„‰„·hi¼žÑîÆÇÇ5>>îm.“L&500 ¾¾>簾q÷óùçŸ÷n®K6›ÕÀÀ€$iddDGŽñî Å1þ6fÖʤR) kbb» uÒ¡C‡œBQ%‡Ò¡C‡Ö, `s¡X›Ô… ôüóÏ;?/^Ôðð°B¡�´2»¥UN‹6Š5IR8V¿Ž;&I*‹ [3@í(ÖÊ$“IçÏóóóeÛ$iffFgÏžÕÑ£G�ÓxŽ?®ÑÑQ㾩TJCCCzâ‰'tèÐ!=ñÄÒÅ‹½» ?~\G�ÕñãÇ•Íf½»e³Ù²~ Tí»ý8�=êÝ$­<&{ûÌÌŒäº�ý÷l6ëìcŸZæÍœ˜˜X•c+ ×ñãÇkz¾½}š™™Yõx™5ÐÚX`¨ÃÝ~=/,,¨X,ªT*©T*éöíÛºsçŽnß¾íÝ. *‘H¨»»Û»ÉȽpï… ‹Å¼»hjjJ£££’¤±±±²âÍÅ‹uæÌ×Þåâñ¸ÆÆÆV宵°ñÀÀ€N�:åü½ÚÃ…BACCCš��•$�?^½½½ÎöJÜ jjjªb‘£RßÏœ9ã“*-tl äz®Ü·ñÔàà :äÝäp?çva©RµÒçÑÑѲçÀݧ‘‘�={VÅbÑu«÷%“I���y›×dY–Òé4ÅžM* jÛ¶m ƒ …BÚ¶m›sꤟîöø @³Q¬êÐì×s±XÔÜÜœòù¼ææædY–wlbÁ`P�<òˆ�€wSUkkÜÅ�x<®ÉÉɲmvÑ#�kxxX{öì‘$MNN:¹Þ‹»ø�Ç544¤½{÷*›ÍjbbB—.]’$�ÈíìÙ³u~†††400 \.§þþþU3aŠÅ¢œ‚F2™T8V8Öàà ó¡ß[Ô°sì™+}}}ŠÅbJ&“zúé§Ë >&gΜ©»PãU,õÌ3ÏèØ±cNFFFœbN*•Úð:=½½½Îs£•µ€’ɤ’ɤâñ¸´RrIâñ¸ÓfßÎ=hppP§N�R,Soo¯úûû522"­<¦ï|ç;N–[8vžód2Yv;­Ì”ªÇ�7(Ô`˲”Ïç533£—^zI/¼ð‚fffx­°k€177§Ë—/륗^R:�æM.j²‘"Þ¥K—455åüØEŠ={öhÇŽ«Ö«éííÕ©S§V�*d³¿Mw�fffÊf†TºÝÈȈ†‡‡uâÄ ï&ÇÙ³g�ÂÂààຠ5’tøðáŠ}tþ<==]¶ín±g…B¡²þÙÜŸjE—��§øcK&“ÎsPo±¯T*y›€UJ¥’2™Œ^|ñE]¾|¹êi| :Š5À]–Ífõâ‹/*•J)ŸÏ{7F»wïö6ÕìäÉ“v~Nž<©#GŽhvvV“““ƵR …‚¦§§555¥ññq�ŽŽ:Å7÷b¹î™$nöLû4 ¯³gÏ:³n*.jU­ápØ)`T{ÌÍf?w¦5y>,­Ì®©Ôoo¡f£"‘ˆ· 0ÊçóºråŠ^xá…Š¯QPÅà.±gÒ\½z•Y4X—ÞÞÞ ­ Ñ××çIìKvÛ³\´RHôž e¯‡räÈ kttTãããšššªØ÷‡³õܧGÙ ¯—©ö)J•ã½ìçÎîW%îç¼ÞY2ë�FYëR*•œ¢M«ü ••-0lYV] UÖ¢™ ÂùÑ7òÍ6CþF^Ïv¾}%•L&ãÝeM�@À¹Gww·º»»µuëV---©«Ë¿ú+ùfÍ·Ãk¾^+©¶À°÷õo/ä …ôÜsÏIž…‚C¡�’ɤz{{�uT&&&V-Æ;11¡sçÎiyyYÿõ¿þ׊§ Uâîg<×/ÿò/—�å�]ãí¿›{�aÓZ7öcNº¶^^^Ö_þå_zoRq�a›�ç]¨Ù;*ÔñãÇõùϾlÛO<¡b±¨þþ~§€æUéÊ]Þ«A9rdÕóc/\ì~¬õ(•JeEfïë³ÑÈ7kV¾eYºsçŽseÂÛ·o¯{Fh,s®hç}}VÒˆñ×/䛑oF¾ùf䛵{þÖ‘‘‘§$)“ÉèúõëZ\\ÔÎ�;½û­[>Ÿ¯8�G£QE£QoóºùÕùf›%½¯g;ÿg?û™fggõÎ;ïxw©*‰(�+‘HhÏž=êéé)»âÆŽ;tóæMݸqC]]]zà�œBN£~È7ÿÜ�üõ~0s/ {ìØ1…B¡Š¯ÿT*¥ÙÙY-..:…‘sçÎ9W‰úæ7¿©_ûµ_s 6»víÒ¥K—œ™/ömÞyç]¼xQ·oßÖßû{Oû÷ïwúbâîç3Ï<£Ã‡ë¯þê¯ôî»ï:{ÆI¥þ»‹E§X‹Åô‰O|»‹´òøÕÛÛ«Ç\ZY7æÊ•+º}û¶úûûWåÏÌÌèûßÿ¾$©¿¿¿lÌÅ‹•Ëå‡�«\y���kqqQ>ø z衲üï}ï{z÷Ýwµ¼¼¬_ûµ_+»�mjjJW®\‘VNkÛ¾}»r¹œSØêëëS0\õüLLL¨X,*�W=ýÌ$_Ÿ�ü!ßüÓÌüx<®P(¤h4ªxÀ›"‘ˆº»»¥:Ö5*‹ºyó¦”Ëåªþÿµmtü]+½È7#ߌ|3òÍÈ7ë„ü.­T„òù|ÙïvâwÿÉ7#ßÌÎ-‹º~ýzM§<% õõõéàÁƒJ$ŠF£+·Íê?ù•uj¾](©tš�{�Z·JëQ|üã×öíÛµ¼¼¬ÿößþ[ÅþŸ={VG�Õñãǽ›¤•K8ÖÓO?íôçôéÓÊårUû_ÍÅ‹U(¼ÍšššrNÍèëësÚxàݹsGËËËúÁ~°*¿Ò:=õX^^Ö�;w´´´´ªÿö,�ÙÙÙ²µÜìûw_îÛíÎ�;u=?õª÷ù¯ùf­’oŸwðàA=öØcÎŒ™µ”J%]¿~]Åbј¿^µö½È7#ߌ|3òÍÈ7ë”ü.­|0ŒD"e¿Û‰ßý'ߌüµ½÷Þ{5i‚Á öï߯¾¾>%‰šúâwÿÉ7ë´üW_}Õ)„ÈS¸° %×®]sÚl/y‰DôØc�iË–-š™™ÑþÏÿ¹l{*•Òää¤r¹œöîÝ[¶Í+�ëäÉ“ÒÊ·ògΜYÕÿµžŸb±¸ê´÷Ú<öé]¶‡~X[·nÕ–-[ôŸþÓÒÍ›7¥•–ÝW¨ªÄ.h …Š…,IÚ²e‹¶nݪk×®­ê¿{6Ι3gVe¸Ûž|òɲm¶­[·ÖõüÔ«Þç¿^䛵b~0T"‘У�>ª}ûöÕT´YXX¨iŒ¬×zú_òÍÈ7#ߌ|3òÍ:%Ÿ5kê@¾Ùfȯ÷õlY–._¾¼æbŠ�@@{÷î­8[¡Vµô#È7k—|÷Z0nËËËÚ²eKY[</»L·½þŒ½íСC ‡ÃÎ)KñxÜ™}c¯Y£•bÅñãÇõöÛo;·M&“Êf³e3xžyæç¾Üýtg©ÂÕ¡N�:e|~ÜkÖ>|X—.]R<מ={T,ËŠL•ÖÃ9zô¨²Ù¬óüÄb1§Hräȧ`ã]³Æ½žŒ}»ßüÍß,[3Ç^×fyyYápX¡PHçÏŸwfɸŸs»�‡5==íWŽ9¢‘‘'³kÖxyó�|³VÏÏf³zýõ××,È„B!8p b�§Þñ×m£ý_ ùf䛑oF¾ùfíž_¶è�ŸwÔ ~÷Ÿ|3òË•J%½üòËkjzzzôØc�m¨P#úïE¾Y»ç» 5¡PHýýýe…­Ìô°‹ÙlV“““W*•Òàà`Õ…{Ãá°þÃøÎe¦³Ù¬¦¦¦œ"‰·(´–ÁÁAíÙ³GZ¹RT*•ªùùéëëÓàà ²Ù¬.]ºTV,:yòäªB�VŠ0îµhìBÍÉ“'�ë½ô÷÷;Ï—Vnç�}4<<¬X,¦-[¶¨¸rùm÷>ÇŽsö)‹ºtéRÙ)[e…šjj}~Ö‹|³Ížoh{zz¼›ÊØÅÓµŠ:õÚhÿ×B¾ùf䛑oF¾Y»ç—ͬñÃF¾ ZM­¯g˲ôòË/ßpƒAí۷ϸ0"ÐhÙlvÕé4nñx\;v쨸þ‰Í.t‹E…B!õöö:3eìl÷ ·™™¥R©U·õZ+˽ÝΩ¦P(8 Ûk»¸C,ÓáÇ��Y+3Vì™Cöþ•²½Ü3ˆì­^•²Ý …‚R+‹>ke–NoooÅÇ]KŸÜEªJ€_æææôÚk¯­9>>òÈ#eo‚kèk€:Ôúz~饗Œ3jLS½èd¥RI¯¼òÊšãäÁƒ�‚M­ã/�b}×~PÕÌÌŒñ h<×#�°Y0»°™Q¬Á¦QK1d£›X,¶jV …ê˜m Ø´(Ö`S©¥(²‘‚M</û;…ÖïCú�· €M�b 6�ZŠ#ë)Øx¿¤PÀÆD£QN…lJeÅ˲Üm;~÷Ÿ|³vʯ¥HRoÁænjùüTB¾ùf䛑oF¾Y§çoôT¨µò7Š|3òÍÈ7#ߌ|³vÏß:22ò”$e2]¿~]‹‹‹Ú¹s§w¿uËçóÊçóÞfE£Ñ ¾n~õßF¾Y;æÛ¯¿J¯O[±XT©TÒîÝ»%ÃëY’>øÁjçÎ�w¥PãÇóãF¾ùf䛑oF¾ÙfÈ_\\Ô»ï¾ëm–jx?YKþF�oF¾ùf䛑oÖ ù]Z©åóù²ßíÄïþ“oÖÎù‰DBùÈG¼Íej�a‰Dj*Ô|ä#ih¡ÆÏçG䯉|3òÍÈ7#ßl³ä›Š1&µæ¯ùf䛑oF¾ùf�’ߥ•µ6"‘HÙïvâwÿÉ7k÷ü�~ô£Úµk—·¹L-›L&³f¡f×®]úèG?êmÞ¿ŸòÍÈ7#ߌ|3òÍ6K~(ò6Õ¤Öüõ"ߌ|3òÍÈ7#߬Sò·ÌÏÏ/Û�–e5üŽÒé´Òé´·¹á§�ȧþ»‘oÖîùû·«Ÿüä'Þæ2�@`Ý•Ó�|ä# /Ô¸ùýü�oF¾ùf䛑o¶ò_|ñE-,,x›kz?YKþF�oF¾ùf䛑oÖîùe ûyGÍàwÿÉ7k÷ü�~ô£5½á[�D"ák¡FMx~È7#ߌ|3òÍÈ7Û ùë�]£ó7‚|3òÍÈ7#ߌ|³vÏçÒÝ€K-ßÐÕË�L6¿ßÐj(Ö�,®42 €ÍŠb `³¡XTЈ"K#2ÅÀæC±¨b#Å–�ܰ¹Q¬ ÖStYÏm°Q¬ÖPOñ¥ž}¨„b PƒZŠ0µìÀZ(Ö52cLÛÀÆD"o“$i÷îÝÞ&:Å •Š2½½½«Ú@ãD£ÑUcmoo¯B¡PY�bËüüü²·±‘Òé´Òé´·¹â‡^ ]”J%-,,(s9Qš„ñ°Y0³X‡`0¨h4ÊEšˆñ°YP¬h!kZÅ€B± …p5(Жº Üþ™¶ÜY”–,ïfbyÛ½²¶íÔÒ=aï&èXk6hËòn½­®ÛEuY·´eùŽw`yËV-îÕ�íݹg§–·n÷î Iº Úv+«­· ÞM:ØòÖízïi)p¯wtNƒÚ€À­·|çUç #… smY¾£­· º§˜Q÷»£móoywÐÛæßRðg×(ԛЖ;ï)8w•1À¦PV¬±¬öžBìwÿÝù÷ü]Z÷Ì_§@lRÛneuOáuçïÍ<þø�|3òÍš•¿mþ-m»•õn°Él»•UàÖÛR�?~!ߌ|3òÍÚ=ëÈÈÈS’”Édtýúu-..jçÎ�ÞýÖ-ŸÏ+ŸÏ{›�F�F½ÍëæWÿmîüÝ[ÿN�ÒMï.6™.kA[´¤×ßþYÓŽ?ä¯F¾Y§ä/ß^Ð}Ë?õn°Im½ýwÊÌ-ê'™7}?þ�_ùf䛑o–ÉdÞŸYcY–òù|Ùïvâwÿݹ�Ò; ,ðfÀû·ÞÖ�[ï4åøCþjä›uR~xiλÀ&wß–w›rü!5òÍÈ7#ßÌÎí’¤@  H$Rö»�øÝwî‡v²Ì€r/ÒÕ”ãù«‘oÖ)ù;¶oÕîî%ïf›ÜîYÖöm[}=þø}|#¿2òÍÈ7ë”ü²«AY–Õð;jæÕ üè¿ÛÒâ-…~vÕÛ *Fö«k[··¹aü>¾‘oF¾™ßù[ÞUwqõ{ XØña-ß»ÛÛÜ0~ßÈ7#ߌ|³vÏ/›&âç5ƒßýß¶¼èmIÒ=K Þ¦†òûøF¾ùf¾ç/¿çmIR@�=ýÀË÷ãùF䛑oÖîùœÓS‡®;þ~о¶ÜáÃ$€Æ XÐB(Ö´Š5-„b @ ¡XÐB(Ö´Š5-„b @ ¡XÐB(Ö´Š5-„b @ ¡XÐB(Ö´Š5-„b @ ¡XÐBÊŠ5–e¹ÿÚvüîÿÒÒ’· ¤&ü>¾‘oF¾™ßù~ÿÿоü>>ø}|#ߌ|3òÍÚ=ëÈÈÈS’”Édtýúu-..jçÎ�ÞýÖ-ŸÏ+ŸÏ{›�F�F½ÍëæWÿm™LF·‹7õ�{–½›@¹ü‚noûvüñûøF~uä›5#Ÿñ@5Œ¿Õ‘oF¾ùfÍÈïÒJE(ŸÏ—ýn'~÷ßÎõ»r }---ùzüñûøF~eä›5+Ÿñ@5Œ¿•‘oF¾ùfÍÊï’¤@  H$Rö»�øÝ;·«‹%~TÖÕÕåëñÇïãù•‘oÖ¬|Æ_Õ0þVF¾ùfä›5+Ëüü¼3¯Ø²¬†ßQ:�V:�ö6+‘H(‘Hx›7Ä�þ»m-¾©í 9o3è½î˜î„>èmn¿�o䛑oæw>ã/€jÍÈ7#ߌ|3¿ó˾ªòóŽšÁïþóÍ€jü>>ø}|#ߌ|3¿óýþÿ }ù}|ðûøF¾ùf䛵{¾¿G7Ô…b @ ¡XÐB(Ö´Š5-„b @ ¡XÐB(Ö´Š5-„b @ ¡XÐB(Ö´Š5-„b @ ¡XÐB(Ö´Š5-„b @ )+ÖX–åþkÛñ»ÿKKKÞ&�šp|ðûøF¾ùf~çûýÿ @ûòûøà÷ñ�|3òÍÈ7k÷ü­###OIR&“Ñõë×µ¸¸¨�;wz÷[·|>¯|>ïmV4U4õ6¯›_ý·e2Ý.ÞÔîYönåò ºY¼íÛñÇïãùÕ‘oÖŒ|Æ_Õ0þVG¾ùfä›5#¿K+¡|>_ö»�øÝ;×ïÊ=€öµ´´äëñÇïãù•‘oÖ¬|Æ_Õ0þVF¾ùfä›5+¿K’�€"‘HÙïvâwÿíÜ®.–øPYWW—¯Ç¿�oäWF¾Y³òTÃø[ùf䛑oÖ¬ü-óóóμb˲~GétZétÚÛ¬D"¡D"ámÞ?úï¶µø¦¶/ä¼Í ÷ºcºú ·¹aü>¾‘oF¾™ßùŒ¿ªaü5#ߌ|3òÍüÎ/ûªÊÏ;j¿ûÏ7{ªñûøà÷ñ�|3òÍüÎ÷ûÿ€öå÷ñÁïãùf䛑oÖîùþÝPŠ5-„b @ ¡XÐB(Ö´Š5-„b @ ¡XÐB(Ö´Š5-„b @ ¡XÐB(Ö´Š5-„b @ ¡XÐB(Ö´Š5-¤¬XcY–û¯mÇïþ/--y›@jÂñÁïãùfä›ù�ï÷ÿ/íËïãƒßÇ7òÍÈ7#߬Ýó·ŽŒŒ<%I™LFׯ_×ââ¢vîÜéÝoÝòù¼òù¼·YÑhTÑhÔÛ¼n~õß–Édt»xS¸gÙ» ”Ë/èfñ¶oÇ¿�oäWG¾Y3òTÃø[ùf䛑oÖŒü.­T„òù|Ùïvâwÿí\¿+÷Ú×ÒÒ’¯Ç¿�oäWF¾Y³òTÃø[ùf䛑oÖ¬ü.I ŠD"e¿Û‰ßý·s»ºXâ@e]]]¾ü>¾‘_ùfÍÊgüP ãoe䛑oF¾Y³ò·ÌÏÏ;óŠ-Ëjø¥Ói¥Óio³‰„‰„·yCüè¿ÛÖâ›Ú¾�ó6€ÞëŽéNèƒÞæ†ñûøF¾ùf~ç3þ¨†ñ׌|3òÍÈ7ó;¿ì«*?ï¨üî?ßì¨ÆïãƒßÇ7òÍÈ7ó;ßïÿ_Ú—ßÇ¿�o䛑oF¾Y»çû{t@](Ö´Š5-„b @ ¡XÐB(Ö´Š5-„b @ ¡XÐB(Ö´Š5-„b @ ¡XÐB(Ö´Š5-„b @ ¡XÐB(Ö´�²b�eYî¿¶¿û¿´´äm© Ç¿�o䛑oæw¾ßÿ¿´/¿�~ßÈ7#ߌ|³vÏß:22ò”$e2]¿~]‹‹‹Ú¹s§w¿uËçóÊçóÞfE£QE£QoóºùÕ[&“ÑíâM}àžeï&P.¿ ›ÅÛ¾ü>¾‘_ùfÍÈgüP ãou䛑oF¾Y3ò»´RÊçóe¿Û‰ßý·sý®Üh_KKK¾ü>¾‘_ùfÍÊgüP ãoe䛑oF¾Y³ò»$)(‰”ýn'~÷ßÎíêb‰•uuuùzüñûøF~eä›5+Ÿñ@5Œ¿•‘oF¾ùfÍÊß2??ïÌ+¶,«áw”N§•N§½ÍJ$J$Þæ ñ£ÿn[‹ojûBÎÛ z¯;¦;¡z›Æïãùfä›ù�Ïø  Æ_3òÍÈ7#ßÌïü²¯ªü¼£fð»ÿ|³ ¿�~ßÈ7#ßÌï|¿ÿh_~ü>¾‘oF¾ùfížïïÑ ƒ™™MMMibbBSSSJ¥RÞ]6,—Ë)•Jù’ ø¡ì4(?4ó4(¿m»•Õ¶ù·¼Í Û;Ôí{ãÞfT‘J¥4>>^±€�Ç588¨#GŽx7­Ë™3gtñâEIÒóÏ?ïÝŒ6Àø  Æ_�Š™5€¦×ÐÐ�S¨ …BŠÅb …B’¤l6«3gÎh||ÜsËö644¤C‡ihhÈ» (C±Ð4ÙlÖ)ÂÄãq���é¹çžÓ… ôÜsÏéüùóŠÅbÒJQ§ÒÌ ÓQ¬4Í¥K—œ?+™L–mïííÕØØ˜ó÷ééé²íÀfÀš5uàœyÕpÎ|mÜëÇ\¼xQápØ»‹´R¤)‹ŠÇã« :…BA“““šššR.÷þåœ÷ìÙ£½{÷jppЙ™c[kÍšT*¥‰‰ ¥R)‹E…B!õööª¿¿ß¸n޽îÎÌÌŒs»d2©cÇŽ•õùôéÓÎ>ÅbQ’œ>ž>îj$ivvVSSS*k_ËÄÄ„†††téÒ%§�R,•J¥Œëæ¸×ÝqßîÒ¥K*»]±XT.—söÓʪr¹œæçç�¶V÷òË/+“ÉhaaAù|^/¿ürÙc€NV,uùòeåóyç¸þꫯzw€†¡XhšÃ‡;>sæŒFGGë*®ØÅ˜P(¤ÁÁA]¸pAçÏŸ×ðð°b±˜²ÙlÍ ø¦R)�;wNZ™™366æäÙ3jÆÇÇ511Qv»ññq§ã¾ÝØØXÅõvNž<©±±1íÙ³§ì6ccc:tè�+¹uÍÍÍiaa¡¬Í²,]¾|™‚ €Žgj,ËZÕ>77WÖ�B±Ð4ñx\ÃÃÃÎß§¦¦tôèQ?~\£££Æ5jܧ=�:uÊ9åÉ>eiddDZ™}cŸödræÌɵÐq2™tòFFFœÂ’{–L¡PÐÔÔTÅÛ%“I�?Þ¹ª•]äéííU2™tNù ‡ÃJ&“em­®T*y›$ 66�j…[µvØ(Š5€¦êïï×äädÙz0öiLÃÃèxú‘½8q2™¬¸–Œ]Ñʬ“™™§ð344T±hrìØ1iå�úÌÌŒ´’kº]8ÖÓO?­áááŠ}lW»wïV ð6Klt°µ 5Á`Ð)Ð@£Q¬4]<×ÈȈ.^¼¨ÑÑQ9rÄ9…Ⱦ¼÷ñãÇU(œÛØ“B¡àœŠäý±÷_«X“Íf�?Û {ܳ|fgg�}mÞõtlÉdRýýým³pp-�€>^vß6w1Â;«¦Ó…B! 66…Z 5dV _qéî:péPÕ4óÒ¡�®P(h``@Å•KwÛE“'žxBÅbQ{öìYsÖJ(rNcªtéî©©)�ŽŽJ’Ö,¼>|X½½½³je_=*™LjllÌ»¹mÜ�1Œ¿ªiôø{7ŽqP 3kM3::ªÑÑQãÀö¼^öãx<®ÁÁAã�]¨©Æý&»¯¯oÕí½?ö%ÇÝ—¯ç*V�„6:…­„b  i¦§§555¥³gÏz79 …‚³>ÍŽ;œvûêL©Tªl-·ééiãv[2™tÞlW[ß&›ÍjzzÚé‹<ÅûªP^§OŸÖÑ£G�™;�ˆ‚ €NC¡@«¡Xh÷–NŸ>½jvÊÌÌŒ†††œöþþ~g›û¶ÃÃën{ñâE khhHã®&å‡�«5���;—Ù¶ �>}ZÃÃÃ:qâ„s_î+NUºÝÄÄ„.]º¤\.§={ö”m³¹¯DÕÎ(Øèj´"Ö¬©ç̨¦ÑçÌwªB¡PVü�¤={ö(+›Í®jæ™gœ¿k¥rîÜ9iåt(÷mí2ñx¼l¡âjëÌxû’L&�¿ÿo8==íìS¡lÙlV'Nœp¶Û·3õA+Å»ˆ … …tòäÉ5×ßiuÍø�Ãø  š�Ž¿Í8†ÀzlyÊÛØHù|^ù|ÞÛ¬h4ªh4êmni[oµõ¶yj=€Íiéž°–¶™©…´}ûv>|XÅbѹrӻᆱ\.W6c``@###Ú¾}»ëÖÒ/ýÒ/) é'?ù‰r¹œÞxã�²™*ÉdRO?ýtY‘äÒ¥KÎ}¹‹.Þ¾är9ÍÌÌhffF‹‹‹ …Bú—ÿò_êŸÿóîÜF+³r>õ©OéÒ¥K*‹ÎíL}°Û …‚®\¹¢ÅÅE‹EýÂ/ü‚>ñ‰O”í×nî¹çíÚµKo¿ý¶–––¼›µ´´¤·ß~[»víÒ=÷ÜãÝ\Æ_Õldü¥P ••ͬ±,«êtæõjæÌ?úï¶µø¦¶/´ÿÔu´¯Âü-IRxǽÞM¸ËÞëŽéNèƒÞæ†ñûøv7ò³Ù¬fffÊ.·‹Åtøðá5¯ÎT(”J¥œÛÞ{ï½zøá‡ËÖ”±ÍÌ̔͂©$›Í:ÅUèG¥þke½;? ©···ê}Øì‚�VÖÀéíí­šß(ÍÈ/•J¾}èaüm¬¾ú#oÓš|à>ÅïßåmöŵgT˜¿¥ðŽ{µ÷¡ïæºdúŽÞzû¦$iïC=5�Ÿ×~œÑSß—´E_ÿÝÿ³i�ë³Þñ·ÖBM0ôýøI~u䛑oÖîùN±&“É(ŸÏ+‰¨§gc£[³Š5~õß–Éd´ÃzG ÝñnB�®ý8£¿øÁû§|úñä뛟g¿÷—Êþô…wÜ«Ï}öqïæ†«÷±¹÷ÿä'’5½ý‹¤ôÕo<£Âü-=õÅúÕO=æÝwÑõâVÍvùvüñûøF~u䛹ó£ÑhM~ê)Ø0þ6Ö[oßÔg>ÚÛ¼¦fŽ;Ÿþͯ(ûÓwôð��é�F¿ìÝ\—oþéwõÍo?+IzöOþ`ÍñY’¾üû¨¿ø«¿–$ýÖç>­ßú�ÏxwA YÏø[k¡fnn®iÇOòW#ߌ|³NÈïÒJE(ŸÏ—ýn'~÷ßέ4½µûÑ�ßÐ7¿ý¬¾ùíg�o¹üòçßAßüö³úöw¿çÝä‹z›{ÿkéŒwsEö7�Zç·¢^?|õGúá«?Rö§ïx7a–––|=þø}|#¿2òͼùÁ`°¡‹Û¹Œ¿h¦‡|LZ™ÅúéÇÿ‘ws]~øê�ô>ýýƒOAþý¼›ÑõŽ¿µj‚Á`S�Ÿä—#ߌ|³NÉïÒÊA)‰”ýn'~÷ßÎíêââY¸{~õS�iïC=ÚûPOC¾åûíá¯é·‡¿¦g¿÷—ÞMX‡®®._�?~ßȯŒ|³Jù�¼J”�ËøÛ8>pŸþ¿gÿxÕ�{ÖŒw›w{§ûÜg×ÿø³³úîŸ<]ÓLÜ]õŒ¿µjB¡PÅã[#‘oF¾ùf�’ï¼ûéééѾ}û|™ÂÓ ~÷¿§§G»wïö6Móà÷éOÏþýéÙÛÇ´{÷n_�?~ßȯŽ|³Jù�,Øô0þâ.︷¦õmp÷Õ:þÖS¨±U:¾5ùf䛑oÖ ùe_UU{SÕ.üî?ßìÝ}ÙŸ¾ãœ¾cŸT+÷mkU˜¿¥k?Î臯þH×~\ÛéJ~)ÌßRö§ïO[ª¥¿ÞŒZr±6¿�~ßÈ7#߬R~# 6~ÿÿBí ó·ôÍ?ý®~ûô¿Ó?þõSúŸþ‚þñ¯ŸÒ—ÿ«Ž;ZYKÎ{›ß>ýïꓵrJð§ó+úôo~E¿=ü5ïæ†ø‹¤œûðŽ�öãÿ�“ÿÖ9½éÿú)}õçËö}ëí›úôo~EO}ã¼Óöõ?þŽ“‹Æ©åø°žB�{›ŸÈ7#ߌ|³vÏ/»”šµÀp3l»•Õ¶ù·¼Í¨Ñ³ßûK}õì3’¤?ý²sNx-¾ýß¿§o~ûÙUš‡ÿ·½zêÿ\5Óä·Oÿ;ýðo®éÁûw鿜û7úê7žqôÕÊ7fŸû̧ªžNd¿ûóï¿XvŸ>pŸ~ësŸ^5¼ÞÇæÞ¿ÖEøê�œ7¦Þûxëí›úê7Îë‡sÍu‹÷ûû«ÿäѲÇù>ý…²}ܼ¹¨Ýíêö½qo³´ò¡4�N«PèœKG£Qõôôø>Haµl6«›7oêöíÛÞM-©T*©T*y›¦I6Æ_ÿ=õ�óΚ*ÿß³ìÝ,­Œ5_ý�Ƣ̗>ÿ䪅ýÝÙ•xoSm�á·Þ¾©ÿãÔÿ­Âü-=øÀ}ú£Ñ/¯ÿ½Ö³À°{Œvßæ­·oê·‡¿¶ª€c ï¸W4úeí}¨gÍ…œ«=ǨŸiüU …I ƒ ƒÞf´¹`0¨mÛ¶) * iÛ¶mƱh5kêÀ›Å�©· as¿Ñ ï¸W¡Ý ‡îuÞ,ºßÙÜÅšƒ>¦?ÿþ ÎtfwñåÓŸzL¿÷ÅÎßUá͘}Ÿî7gÞ«CÔûØY¬ñö7~ÿ.=øÀ}e »ûK±ÆÕÞ,Z–¥—_~Y ÞMm/‰èàÁƒÞfø¨Ú˜ÚîÖ*Ø0þú¯–b�{ŸÏ}öqýÆgWüþ]úá«?ÒS+3KÂ;îÕwÿäigÌu�wîÛ\ûqFO�=¯k?άºM¥b�{¬«µP£kÜ�ÿ·~ã3úÜg>¥ðŽ{Ë¿Ýg{¦ëµgôõo}G’ô¹Ï|JŸüDRr-bŒ�«6þj¥XüÒK/ 5Ø\+k«íÞ½[Ñh´ê¸´‚µç wÑ_ý‘ó&듟Hê»ò´žý“?pÖn ï¸W…ù[Î!¯·~úŽþüû/èK_øuý�?;ûþ‚�ßzÚ)ì<ûýV}Û÷Ío?ë¼á|ê‹'ô?þ쬞ý“?Ðw¿õ´>÷™O9ûÔ;uÛ/ßþî÷œBÍ�~YÏþÉè�F¿¬ÿñgg�"�{V’½X¤í·>÷i§�7��wãÆ�Ž,ÔHR>Ÿ×ÜÜœ·>±ghu"˲ôÆox›Ñb>–èÑ'?‘ÔoýÆgô¥Ï?é1>ð1=µòÅGaþ–þß¼ÙkIÎŒÏðŽ{Ën³÷¡ýÑè—õÉO$õ«ŸzTÅùêÇÉõjíÚ�ß�>|àcú­Ï}Ú).Ù�ÿÓŸzLŸü•_Vaþ–Â;îÕÃ>VöEÒÇú°>ð1ÆÚ&J§ÓjPƾÊÎÌÌŒ^zé%½ð š™™éØ÷jhokÐÒö>Ô£¯�ü+}î3ŸÒï}ñ¸óÆÈÞö¿â—¥•sØ«±¿ý²Ùoôœoý\Åšk?Î8Å›/}áɲ/>pŸ¾ô…_wÞdÙE¤»Í~ìÞ¿kÕÀ/}áI}éóO–M#Gs™Nÿè¼ nžv9íi½:ýÿJ'øÜg××Fþ•~ësŸön*Ÿ+±×Gs ï¸W_ùWúÒ~½jñ¥U 5n×~œYõX>ð1ýÞOèsŸ}|ÍçÍÃ…µ”J%e2½øâ‹º|ù²r¹œw஡Xƒ–Þq¯>ù‰¤¾ô…_¯øæ§X|¶ˆw-·OW8Å(¼ã^ýê§•VfïØ··×µyûêÛIÒ'eíQ3ŸOZ™Eôíÿþ½²má÷êsŸ}\øXÅçþ‹D"Þ¦ŽÂôáæéîîîèçûÁô6¡…]ûqFÏ~ï/õíÿþ=}õç«.öëƒ?ý›_Ñ—ÿõíÿþ½šf§fúNÙi¾_þWwµPcŸÂT˜¿¥ßþš¾ºrZT«¼Àj�|ÌDãåóy]¹rE/¼ðE´Š5h …ù[zö{©¯ÿñŸé«ß8¯ß8ùoõ�ý”þâ¯~>Õº’ïßUõ�ÝÞÄϧ&gß~ÿ� û ×oŸþw¾ýì÷¥*ßÞ ¿ñ™Ÿ/Êøõo}GŸùüiçÍ0o ï¾h4ÚvësÕ"hÿþýêîîön‚�>þñ�wäs�NjżÍh1…ù[úúÿ™þñ¯ŸÒoœú·úêÙgôõo}§l†ª×Ã>V¶ÆÛ_üÕ_ëëßúŽ~{øk¯¢äöÖÛ7˶ÕRàñ“{¦î[oßÔ³ßAO}ã¼~ãÔ¿Õg>ZßüÓïzo‚»,‘HplAÝJ¥’S´©åŠ…€_X`¸,p¸1õ.ÂkûæŸ~Wßþî÷WÍž {þu¯Ãb/0¼÷¡ýéÙãºÕÏUê�}»ZÙ VÊ2iäÃö6{qC¯jÓÆí…†½‹%c}L jeàï¤ó¡Ãá0W‚º‹Úi­ ™™ã›Ýx<®}ûöy›Ë0þú¯–†Ý—²~øÀÇ´7ñ!=xÿ}Š?°KÞŸ~ãÔ¿•ªŒko½}S?|õGúáß\Óµôû ïÚ|à>ý—³ÿ?g¨û~ö>Ô£Bñç_ŽüéÙS¶ÌZ¹À°í­·oêÿýÁ_ë‡sM?úñecïÞ+X¹ÇîJÏ 6n­ñW’®\¹bœ) …ÔÛÛëmF³,KwîÜÑ‚ŠÅ¢nß¾­|>ïÝ­&±XL‰D¢#¿,Ak£XSÞ,nL½ yÞd=|àcúä¯ü²âìÒÇú°â÷ïªúæÒ}5¨ïþÉ8ín•úóåßÿCýÅ_ýµsýZìÇP)ˤÑÅÛµgô£¿¡þÍ5ýðÕ9o Þ+mˆbMÃÕòfØlÖú€TK¡FŒ¿MQm<µýÅRúò™ÿ(­Ì0ñ®[ã¾Tu-ãÚ[oßÔ7¿ýìÏ׉s]¾Û.ÖØEœìÛïŸe_²Û]ØY‹Å/ï%ÍÝc4ÅÿÕ:þ6êx„ö677ç\ ¡žâM0Ô¾}û�F½›ßpZš½†Œ}ÕˆÏ}öq}òÉ5ß8ÙÞúé;«fäØÜ3hìoéâüM�F�Å=Æ[¨‘¤kéʧÝÚkÛxOazÑþ'¾_…ÛÇïߥðŽ{µ÷¡ç>ßzû¦S4j&ûRÜÏ~ï/W�büà÷•='•f¹âîÛ¿¿ñ”¨l6««W¯z›ÑaìÓÓ<¨Ç{¬æ3¥RI©Tªâ$À/kÐÒ +—òü˜k}7J¼‹îÊ5…Y+û:÷â�ÕŠßüÓïêëügN!én*Ìßrw¬ÔŸ_ý'ï/¢¬5a€F¢PÓyÜ_’xÇÞ·Þ¾©¯ÿñwÊÚl_:ó‡úêÙgôճϬ*b¸ÇÙµ¾ùÜgwf¥üðÕUÛýf¯ÓSéj�îŽû¹2=oh> 6p ƒJ$zôÑGµoß¾šŠ6étZ¯¾ú*WCSP¬Á]qíÇ™÷Ï]¯òc\¹ÒÑ_üà¯ËÞäÙ‹zßøUòÍo?[ö¦îÚ�3úòètîý@¯{ÆŒ{z¶íÛÿý{ïç}÷ûN±g£Þúé;«¥ç¢’ðŽ{õìÿó‚žýþ ú÷ßšXõ}û»?ÜÞsüíÕŸÿ?/V¼ )¬…šÎôÉG“θa_ é›ú]}õçõœú¿U\ùrÅËcíKpõçõõ?þ3ýö駯ëýσÜ·f±F’¾ô…'�âÇ׿õ�º‹Ÿþͯè|ú ULã`xǽÎâÂñƒ”>óùÓúúÿ™óXܧl»˃ÜçôùÙï¿ðþâÌ'ß_ÛwT�Çk.ÚܸqC—/_ÑšX³¦œ3¿1îsÀ×bŸ#þC×¹Þ’ôðÿ¶W…ùeWNoúä'’ÎŒ’JkÖ<|àcŠß¿Ë)º„wÜ[VüøÜg×—>ÿóiØr½¡t¯÷ÚÑ­âüBYɽhïFÖ¬Y‹�ç~.ª�/×U®ìçH’~õS�é©/žpö‘¤¯ÿñŸéÛß}ÿÊV¶ZÎÍGeµž3t2¿ 5Œ¿þ[kÍ­|Ùñ¥3¸ª¨ñà÷é÷N¯º6Ë7¿ý¬žýÞ_®º�VŠO}ñDÙØc¯Yó°g±^­ô¡žõkÜkÖ¬¥ÒE¼ãb¥±ÓöÉO$õ{_<¾ª?•ž7o.Öo½ã¯_Ç+´¿R©¤L&£Lfõé™nÁ`PÉdrÍâ°^kêÀ›Å�©§@á~óì÷þRßüö³eorÂ;îÕï}ñ¸®ý8ã¼ «V¬ùÚÈ¿Ò×ÿø;e³dÂ;îÕç>ûxÅóîUaáC[xǽúä'~Yÿú O–½»›Å­l¾þ­ï¬:�~­Çé}Óé}ƒ�Ú­÷Í"¤\.§l6+IJ&ß?Ñ/ö•‰šuå�f>¶»ÍÏ>Œ¿þ»öãŒSà7�a…ù[úá«?rÆ›½õ蓟H:kºØmÞ‚…÷vöZ4•îËž1cïãåîküþ]Î,ÜJ¼—ÿ6±ûâ¾M¥þ½õöͲ+ZÅïßU6󨚿øAJ…âûý®eÔf#㯟Ç-´¿¹¹9½öÚkÆ4Á`P�<òWÈ„/(ÖÔ�7‹w×ZoÞÖb¿ù ï¸WñÞ_´°îû­çvwƒûͲ{êµIaþ–3}½–ýQÙFÞ,nvgΜÑÅ‹%IÏ?ÿ¼wsC=zT¹\Nýýýönn¸ññq���KMxlw“ßxT³Ññ×ïãÚ[©TÒ+¯¼¢b±èÝä…B:xð 4kÖ mØç�¯§P#×9ñ•¾ñ3qßo=·»Â;îuú[ká%¼ã^ÅïßUóþàÆíŒ5l`bÏœéé©þù£X,jffÆÛ lŰ.jt 6XKoo¯ñ¬�l6«7ÞxÃÛ lÅP7 5: ¬e­eø}|kÇüññq éÒ¥K* N{*•Ò™3g444T¶¿×Ù³g5>>î| V,555¥ãÇ�+•J•íkY–²Ù¬†††4>>®ÙÙYgÛì쬦¦¦444´îsÖýx~Ü™7 5~ÿÿо}|hvÁ¦‘ÇçJÈ7[OþÞ½{ …¼Í’ë²ß¶õä׃|³vÏwŠ5™LFW¯^]ózò­Êïþg2ݸqÃÛ ’¤7nøzüñûøÖnùSSSÎU–|ðA}ñ‹_Ô·¾õ-�?^ÒJÑ¦Ú ›ééiMNNjppPçÏŸ×ùóç588(­mNŸ>í€ìþ;EšÁÁA]¸pA.\Ððð°b±˜²Ù¬†‡‡Ë GµðãùqkdþÝ(Ô0þ0ñcümVÁ¦‘ÇçJÈ7[o~ ÐÇ?þñªWJ§ÓZXXXw~­È7ë„ü.­T„òù|ÙïvâwÿíÜFWîtŽ¥¥%_�?~ßÚ-? éÈ‘#úûÿïë_ÿë­={öèöíÛJ$:uê”ó�×ôô´÷¦ÒJAæäÉ“Too¯z{{588è\λX,jrrÒé÷Ë/¿¬W^yEËËËÎíb±˜b±˜úûûõôÓOK+oૈ*ñëù±52ffÆX¨ ƒêííõ6oˆÝoÆ_Õø5þîÝ»WÛ·o÷6;6Z°iäñ¹òÍ6š �_N\½zuCùkÙhÿ×B¾Y³ò»´RŒD"e¿Û‰ßý·s»ºXâ@e]]]¾ü>¾µ[~__ŸFFFô‡ø‡úà?¸*ß.T[è/�ëØ±cÞfõ÷÷;ߦ^¼xÑÉýë¿þkmݺU>ø`ÅÛõöö*™LJ+3zjå×óckTþÜÜœñ›£`0¨žžžuçWc÷›ñ@5~Ž¿þð‡×,ØÌÍÍy›kÒ¨ãs5ä›5"÷îÝÚ½{··Y’”Ïçµ}ûö å›4¢ÿ&ä›5+Ëüüü²ÝhYVÃï(�N+�N{›×\M{=üè¿ÛÖâ›Ú¾Pý[E›×{Ý1Ý }ÐÛÜ0~ßîfþ™3gœÙ(Ï?ÿ¼wóšr¹œ^{í5ýô§?U6›Õìì¬S0I&“sö=zô¨r¹œ>ì̆ñªÔŸñ/þ…þöoÿV{öìQ__ŸçžÖìì¬âñ¸&''¥•uuìÓµL�Íôü4ÂFóMß Çãqõöön(-Œ¿ªiÆø{íÚµª3 8Põ{-6z|^ ùfÍ/•Jz饗*άˆD"ÆÓ¥a£ý_ ùf~ç—}Uåç5ƒßýç›=Õø}|ðûøÖŽù:zô¨Ž=ªßýÝßÕ¹sç499YÓÌ–p8ìmrÄãqo“æç祕ńíŒ÷ǽèp½üx~Ü6š_탈½FÍFó×â÷ÿ/íËïãC 0®aSm¡ÙZù}ü$ßl£ùöÌÒJòù|ÝëØÕk£ý_ ùf~çû{tÀããã:wîœr¹œB¡�úûû�5g.\¸àœ’´¦7V{öìÑàà ñÇ^ณ�UëÑø±˜0´ªýû÷¯úPÞÛÛ«îîî²6l>¦Ó€oÞ¼émjF±ÐvìS‹>¬ÉÉI kpp°lÍ“k×®y›ö ÷·¥öl›p8¼ª8ãý©´¦M'èééÑc�=¦(™LR¨°éØë“íß¿_}}}«Š7Øœ�@Õ×B6›­xŠP Š5€¶’Íf�?÷õõU<¥iffÆÛTƽ®�[6›-[ïÆfÿÙtE¤ééi¥R)ãÌœv µ{÷nE£Qï&آѨb±Xՙ؜ªÍ®±,‹Ù5X7Š5€¶âžñR©à2>>^õ*PngÏž-+¼ �>}Úùû‘#Gœ? ( ©X,ê+_ùʪ‚Íôô´†‡‡544T¶ 1è|�@ êo½õ–· ¨IÙÕ üÐÌ«AùmÛ­¬¶ÍóŸ Àj·w<¨Û÷®^˜ks_}i-ö•NŸ>­K—.I+³^’ɤ …‚3c&‹)—ËU½T2™tfßôöö* )•J9Ež���:uʹ�V4>wR0J&“ ‡Ãe³qâñ¸ÆÆÆœS±j½ÌTÃø‹V177WñK¤@  Ç{¬âÌÀ„™5€¶3<<윚”J¥4>>®ÉÉIÍÌÌhdd¤â�Ü좊]¤¹téRY¡fppÐ{;vLÃÃÊÅb*‹ºté’¦¦¦V]&¼–5s@g‰F£ 2–euô)Òð3kêÀ7{ªá›½õ›™™©é´%yÖ‘ÑJ¡Æ.–„B!9rDápØÉ …BeW1²÷�ÅbŠÇãάûªRÉdrÕU�*™žž.[ˆØ^tÒ+›Í:§LUÚŽÚ0þ¨†ñ­äÕW_Õ�7¼Íêéé©éýàF±¦¼YP oÿ0þ¨†ñ­$“ÉT¼ÈA$ÑÁƒ½Í€§A°AÕ®u1àF±€ r_±ÒͲ,Y–åmŒ(ÖÐÝÝÝÞ&IÒ‚· 0¢X@T›]3??ïmŒ(ÖЕ.ß ¬Å Z±†Ó P/Š54@µb P/Š5-„b @ ¡XÐBÊŠ5–e¹ÿÚvüîÿÒÒ’· ¤&ü>¾‘oF¾™ßù~ÿÿоü>>ø}|#߬ÝóýæwÿÉ7ó;ëÈÈÈS’”Édtýúu-..jçÎ�ÞýÖ-ŸÏ+ŸÏ{›�F�F½ÍëæWÿm™LF·‹7õ�{–½›@¹ü‚noûvüñûøF~uä›5#Ÿñ@5Œ¿Õ‘oæW~'}þ%¿ºfäwi¥"”ÏçË~·¿ûoçú]¹о–––|=þø}|#¿2òÍš•Ïø  ÆßÊÈ7ó;ßo~÷Ÿ|³fåwiåòb‘H¤ìw;ñ»ÿvnWKü¨¬««Ë×ã�ßÇ7ò+#߬YùŒ¿ªaü­Œ|3¿óýæwÿÉ7kVþ–ùùyg^±eY ¿£t:­t:ímV"‘P"‘ð6oˆýwÛZ|SÛrÞfÐ{Ý1Ý }ÐÛÜ0~ßÈ7#ßÌï|Æ_Õ0þš‘oæG~'}þ%ßÌïü²¯ªü¼£fð»ÿ|³ ¿�~ßÈ7#ßÌï|¿ÿh_~ü>¾‘oÖîù~ó»ÿä›ù�ïïÑ u¡XÐB(Ö´Š5-„b @ ¡X@T»BPµv Š54ÀîÝ»+fî»ï>o`D±€ƒÚ·oŸº»»%I¡PHÉdÒù;P+Š54ÈîÝ»õè£�êŸü“¢GyDÑhÔ» °&Š5-„b @ ¡XÐB(Ö´Š5-„b @ ¡XÐB(Ö´Š5-¤¬XcY–û¯mÇïþ/--y›@jÂñÁïãùfä›ù�ï÷ÿ/íËïãƒßÇ7òÍÈ7#߬Ýó·ŽŒŒ<%I™LFׯ_×ââ¢vîÜéÝoÝòù¼òù¼·YÑhTÑhÔÛ¼n~õß–Édt»xS¸gÙ» ”Ë/èfñ¶oÇ¿�oäWG¾Y3òTÃø[ùf䛑oÖŒü.­T„òù|Ùïvâwÿí\¿+÷Ú×ÒÒ’¯Ç¿�oäWF¾Y³òTÃø[ùf䛑oÖ¬ü.I ŠD"e¿Û‰ßý·s»ºXâ@e]]]¾ü>¾‘_ùfÍÊgüP ãoe䛑oF¾Y³ò·ÌÏÏ;óŠ-Ëjø¥Ói¥Óio³‰„‰„·yCüè¿ÛÖâ›Ú¾�ó6€ÞëŽéNèƒÞæ†ñûøF¾ùf~ç3þ¨†ñ׌|3òÍÈ7ó;¿ì«*?ï¨üî?ßì¨ÆïãƒßÇ7òÍÈ7ó;ßïÿ_Ú—ßÇ¿�o䛑oF¾Y»çû{t@](Ö´Š5à®K¥RJ¥RÞæM©l�a?4s�a¿m»•Õ¶ù·¼Í Û;Ôí{ãÞf Àø  šNS©”.^¼(IT,óîR—B¡ ±±1IÒ‘#G”L&½»ÀeffF“““Þæ55âߪ÷¿á¡C‡Ô××çÝå®8{ö¬æçç%ICCC ‡ÃÞ]ʸŸ[ûqLMMittT’tòäI;vÌs«Í…™5Ђ²Ù¬¦¦¦455¥l6ëÝ\·b±èäår\eo-î竞ŸFü[UãîÓìì¬wó]‡ëê×ÄÄ„³¿]Ø™™™q¶ûù¶ Š5xÄb1õ÷÷¯ú …B’¤x<¾j›{ûf➥eÏ3±OuŠÇãÎm500 �� zn±ùP¬À#�kxxxÕ�]Œ‰Åb«¶ «··×Õñ’ɤSt™žžV¡PðîâH¥RÎÌ®C‡9íápX§N�Ò©S§Ö<�j3 Xm¤P(¬Zˆ5•JibbBãããu-ÐZ(455¥ññqMOO×tzT¡PÐôô´&&&411¡ééiï.’¤\.çô³Ò‡w÷ãpŸS w¿'&&Œ�ÙÝ­ÜÖ~®ê½ßõpÿÛÔúËu»µŸ—ûß§Ú}ºŸ{ï6·™™™U¯µj>,­œªe:jjjÊùó“O>éüÙݧJ¯¹þÝ×z^Öê·½½Ú¿¿}Û‰‰ 簾a�á:°À!€j:}�CànbüPM§�¿S®WÇÆÆœ™ îö‹/jxxxÕ‡Òx<®±±±²…n³Ù¬$I###* :wîœëVï¬zŠ](‹eíñx\e‹ÂÎÌÌèĉ’¤���:uÊu i||\ããã’¤ .Ô´(¯ÝçJ§ÚTzÌ’tæÌ]¼xQñx\£££rú?22¢#GŽ”í¿–£G�*—Ë)™L:‹ýV233£sçέú·‘¤þþþª ÏÌÌèôéÓ«Š(ýýý:qâ„óoXéßÉ.^yÿ}äÙ¿P(h``@Åb±êã( ÎsÓß߯ááaï.eÜûWË”ëùÛ³g�žyæ§=•JihhHò¼Þm¦×ÞÐÐPÙbËgÏžu0¾xñbÙL÷ÿƒP(¤çž{ÎÙ¦úÑ,̬€6eöìÙ£d2霢“Ífõ•¯|Å»»#›Íêܹs …Be§°Èõ�ßk||\çÎ�S±XT(ÒáÇuøða…B!'Ï.¾HRoo¯ó¡xrrrÕ²ö¾ýýý‹^…BA'Nœp 5öš2vß³Ù¬Ž?^u¶„$�>}ZÅbQ±X¬¦û\¯l6«¡¡!§P“L&uøðaç>§¦¦444´j‰};»P‹Å”L&µgÏMMMU,®ÙΞ=ë3B¡�úûûËîÓýï‡�ÂÊÌÌ̪~HÒ¥K—œ?»OWª&;ÿÕ2ݳ|ܳjÖâ}íÙ�Í~í —Íðrn¼Å2÷ߋŢqûÝ*Ôˆb ´¯¿þë¿ÖØØ˜žyæ���éüùóÚ³g�$ivvvÕQÛøø¸Ž9¢ÉÉI���illL“““eìݶS©”S\9|ø°&''õôÓOëé§Ÿ.»ÏqÏiXîÙ#îBƒ��ÇWÍ©frrÒù ?88¨ .hxxØé{(R±X¬:$›ÍjË–-Ó… táÂ…ºgÕÔÊž½ …œç÷é§ŸÖ… œÇë.XÙFGG�™#öc´ÿ}OžÙl¶ê::£££¾O¹Ö�ñþûxÛ.^¼è²Ù¬S(°O“r;vìXÕâRoo¯.^¼¨ÑÑQçßÐ‡Ë 3• îud´2‹É.¬xûobÏvQ…L¹Š5Éd²æwwaÏôÚóˆì~{‹FÞbŒ»XSXY7ǽýn¡XmÊžUàæþ�é]ßÃVíƒhµ k}Èv_‚Ùûḯ¯ÏÙ6::ªÓ§OK+쫼Ü�þþ~ïfÉ5«Cú •BS3®ÔTít7ûô0÷i8îÂZµç¥Úc—§(ã–Ëåʲççç�?Ûk yO[rÏ€±ûZ‹p8ì,4ìÍœžžv^�¦Çáe??Õú�Ç�×äµkלv»ÙlÖyíÌÌÌ(—Ë) 93°R®�ݯyûöw ÅhSë½Äq¥"�Íþàk_Ñ'›Í:ÛLÅ;Ó½¿Í¾äµûƒ³wÁawfµ¾‡Ãa§ï•ú°Þçª^öãs¼ÜÏ£½¿û Jñxå…³«åÙR©”Ξ=«Ó§OëèÑ£zâ‰'tôèѪ§OÙE4ï¬÷)P¦óJìBŒwv–� …jZGžÇññq=z´â�ýº Qîb‹]@sÏšqÿûØÏ½½}=�»Ñ(ÖÀ&c*\˜¶U+"¨†ÛÙ3v´RpY«ðPÍZ÷s·U›ÍTM=û›ß™3g444¤ÉÉI]ºtÉ)`$W(®$éZ\Ú=#È.¬T›Íbâž�eç¸O«êëë3þVS,•Ëå*þTâ^ðØ.Ƹû WA§R1çn£X›L¥+õØìmv1Å]dqŸfâUm}­¬yãþP=;;[ñŠSµ¨4kÆfÚÖ,öófzŽÝûùu?ÏÕT{Ž'&&œY,‡ÖØØ˜.^¼¨çž{NcccO�²¹×n) 5�Ƶû4.;óÒ¥KÎc®vŠ×ZFFFôüóϼ‹K{ Qöóg·»{6›uŠ:µÎüñÅØdª�ãþÀjÏâpŸ^ä>UÇËþ ì�Å‘Íf�ÂL¿3[c||¼ê¬/÷L÷º"nîS¬¼}h&ûô÷z4^½¿û´›j $W+Ö¸O[zúé§•L&kž½â^?gvvvÍõ‰já.ò\¼x±¬õÌZqÏÈ2 «qŸæ511¡b±Xvú“{æ�ûÿD=}ô ÅØdR+Wfòr_ÚÙ=»À^‡¤Úí¦¦¦œBÉ“O>Y¶Í.Ê„B! jppP¡•ËlŸ9s¦lßjÜò'&&*ÎZq÷ÝÛ‡frÏ©4{¨P(”]áÈ~\{öìq “““«£ûvÕìØ±ÃÛ$U¹2“Í}ºÐÄÄ„S´¨g`/w¡gjjª¬T/ûù¼xñbÅâ^6›ÕñãÇuúôéU¯Í¤ë”,û¹s÷ÁýØÝÛk-tù©¬XcY–û¯mÇïþ/--y›@jÂñÁïãùfä›ù�ï÷ÿ/íËïãƒßÇ7¿ó———½MŽP(¤ÑÑQ]¼xQ333š™™ÑÙ³g�SiâñxÙìˆ��çCïéÓ§uñâE½ùæ›Êår×¹sçœÛ¹‹£Ï|æ3wN/+›•àžAâ.L;vÌù�<::ºjI¥ç'™L:ÙlVCCCÎÕ€ì¾'“I 9·©¦R~#ý³öÏ´ÿ~-..jjjJ'NœÐÑ£G�‚Vþ ¼ë·¸ÛÜ�ѾÝÓO?-­üûf³Y§ÿv!L’Î�;§C‡éСC:qâ„fffÊžûJŽ9R¶fΡC‡”Éd6ôüx'Ž»®°TÏó�ÇË®&væÌ9rDGŽ)+D�ŒŒ8Ï�;ß;›§Þ¿WROÿ×#“ÉhëÈÈÈS–eéúõë²,K‹‹‹Úµk—ººs†T>ŸW>Ÿ÷6+�*�z›×ÅÏþË• ÜÑÎíÞ­ åKÒÍÂmߎ?~ßȯŒ|³få3þ¨¦ÓÇßl6«wß}Wñx\‡Ö®]»Vµ9rDÛ·—$-ËÒôô´~á~AýèG•L&ÕÕÕå¬I�Çõøã�ëØ±cN›VfÛ|ö³ŸÕïüÎïTœ™²k×.>|X÷w§Ÿþô§ºuë––——õ¡}HO>ù¤†‡‡�>jeÝ•7ÞxCñx\'Ož,›õ •áöéQ¿ð ¿ �|ä#ÒÏO2™ÔáÇõî»ïêÝwßÕââ¢Ó~ìØ1ýÎïüΪçÃ~|½½½:|ø°1¿©TJ»víÒž={ô‰O|»ÙÉøá‡uß}÷éÖ­[NÑ, é—~é—422RuG__Ÿb±˜óﬕÇ722¢d2©þð‡Ú±c‡z{{‹Å´k×.íܹS‡VqåŠIîçå«_ýªî¹çãkfûöíúÉO~¢ÙÙY-//ëŸþÓªûï¿]Ï�mûöíÊf³ ‡ÃŠÇã:qâ„>ò‘�T}þ‹Å¢ózq¿Þ%é#ùˆ>õ©O©X,:?Zy>üq ëW~åW¤ ¯Ÿ½{÷êêÕ«N®wÑäx<®T*å“~í×~­l»—7½ÏO5vþ–ùùùe­Tnòù¼"‘ˆzzz¼û¯[:�V:�ö6+‘H(‘Hx›×ͯþÛ2™ŒvXïèC¡;ÞM ëÅ­šìòíøã÷ñ�üêÈ7kF>ã/€j«#߬Óós¹\Å‚›ÉéÓ§�S‰þý¿ÿ÷Æü�Z«ÿÕ ùN±F+œ@ P¾×5«X#Ÿúï¶µø¦¶/˜Ïõ°9½×Ó�Ð½Í ã÷ñ�|3òÍüÎgüP ã¯ùfäÿ\6›uN[êïï×ððpCó+!߬l®ŽŸwÔ ~÷¿‘S›t¿�~ßÈ7#ßÌï|¿ÿh_~ü>¾‘oF¾Y#òÇÇÇ5>>^¶Î�½¾M#òMÈ7ó÷èZN6›uŠ5î«SÕ{úüA±€M¨¿¿_‡ÖÀÀ€ÆÆÆÖ¼jš§lÍ?4sÍ¿m»•Õ¶ù·¼Í Û;Ôí{˯p 1TÃø  S1³ …P¬h!kZÅ€B± …P¬h!kZÅ€B± …P¬h!kZÅ€B±€š››S:�ÖÜÜœwPŠ54È•+W”J¥”N§•J¥tõêUï.Àš(ÖÐ7nÜP.—+kËf³Ì°AÝÊŠ5–e¹ÿÚvüîÿÒÒ’· ¤&ü>¾‘oF¾™ßù~ÿÿоü>>ø}|#߬ó‹Å¢·I’”Ïç½MæGÿÝÈ7ó;ëÈÈÈS’”Édtýúu-..jçÎ�ÞýÖ-ŸÏW|aF£QE£QoóºùÕ[&“ÑíâM}àžeï&P.¿ ›ÅÛ¾ü>¾‘_ùfÍÈgüP ãouä›ù•ßIŸɯ®ù]Z©åóù²ßíÄïþÛ¹~Wî´¯¥¥%_�?~ßȯŒ|³få3þ¨†ñ·2òÍüÎ÷›ßý'߬Yù]’‰DÊ~·¿ûoçvu±Ä€Êººº|=þø}|#¿2òÍš•Ïø  ÆßÊÈ7ó;ßo~÷Ÿ|³fåo™ŸŸwæ[–Õð;J§ÓJ§ÓÞf% % oó†øÑ·­Å7µ}¡|±(�¤÷ºcºú ·¹aü>¾‘oF¾™ßùŒ¿ªaü5#ßÌ�üNúüK¾™ßùe_UùyGÍàwÿùf@5~ü>¾‘oF¾™ßù~ÿÿоü>>ø}|#߬ÝóýæwÿÉ7ó;ßߣêB± …P¬h!kZÅ€B± …P¬h!k@K[Þ²ÕÛÇŒbM–»îñ6€$i)ÐímÐ K[ƒÞ&�t0Š5u¸³-ämIÒÒVÞ,~Yºç|{`•å­÷hi[ØÛ �bM–·n§``•¥@·–·n÷6h Û÷ƼM6¹Û;ô6@Ç XS§Û÷ƽM69ëÞ¼M̺7ÆéË[}—·:Åš:-Ýó>˜pX÷ÞÏ›E IÞûÀGµ¼•õã€Ínyë=*íÜëm€ŽB±fw|HÖö_ð6Ød¬à/hqG�·€O–·nWiç^ÝÙñn°IÜÙRiç^N?Ðñ(Ö¬Ó⺽ƒS¢€ÍhyK—CÒb8áÝÀgË[·ë½|T‹á�°Ž°‰ÜÙR)²WïE>F¡À¦°e~~~ÙÛØHétZétÚÛ¬D"¡D¢ý?èl¹óž¶.æµõ½¼º¬[Ú²¼äÝ@XÞÒ¥¥À½Zº',«û®L´ˆ-Ëw´ÅºåmÐ)¶lÕòÖ팻h�þùÍC±€àó/…Ó ZHY±Æ²,÷_ÛŽßý'ߌ|3òÍÈ7#ߌ|3òÍÈ7#ߌ|3òÍÈ7k÷|¿ùÝòÍüÎß:22ò”$e2]¿~]‹‹‹Ú¹s§w¿uËçóÊçóÞfE£QE£QoóºùÕùf䛑oF¾ùf䛑oF¾ùf䛑oF¾Y»æóù·6ä›e2™÷gÖX–¥|>_ö»�øÝòÍÈ7#ߌ|3òÍÈ7#ߌ|3òÍÈ7#ߌ|³vÏ÷›ßý'߬Yù]’‰DÊ~·¿ûO¾ùf䛑oF¾ùf䛑oÖjù–eiffF—/_Ö•+W´°°àÝ¥L½ùõ"ߌ|3òÍÚ=ßo~÷Ÿ|³få—] ʲ¬†ßQ3WÃö£ÿnä›m–üb±¨k×®)ŸÏ+ iÿþý …BÞÝV©5½È7#ߌ|3òÍÈ7#߬–|˲ôòË/—h‚Á y䑚n»Ö>A¾ùf䛵c>ŸkG¾YÙÃ~ÞQ3øÝòÍ6C~©TÒåË—•_9µX,êòå˲j˜úVKþF�oF¾ùf䛑oF¾Y-ù7nÜX5“¦T*)›Í–µURKþF�oF¾ùfížï7¿ûO¾™ßù\º¨Ã�7Vf,˪éÍ"XŸR©äm’VÆ`:Å ÕÞVk ^kZÅ€B± …P¬h!kZÅ€B± …P¬h!k€°,ËÛ|Æø  Õp\B£P¬àöíÛÞ&à3Æ_­†b …b Ð¥RÉÛ|Æø  Õ,,,x›€u¡X4oh>Æ_­æ½÷Þó6ëB±h€R©Ä”GšŒñ@+±,‹™5hŠ5@ƒ oðã/€VÁñ�D±h�b±èm>cüÐ*8¡‘(Ö rãÆ oðã/€VÁñ�TV¬i÷s~ýî?ùf›=?ŸÏ3LÛ�|3òÍÈ7#ߌ|3òÍ6šÏø»1䛑oFþÏY–¥|>ïmöU#û_ ùf~çoyJ’2™Œ®_¿®ÅÅEíܹӻߺåóùŠ/Úh4ªh4êm^7¿úo#ßl³äW{=Ûî¹çžŠ·¯5½È7#ߌ|3òÍÈ7#߬Ö|Æ_ò+!ߌ|³Fç¿ýöÛºyó¦·ÙÁçßrä›e2™÷gÖØU@÷ïvâwÿÉ7#ÿç*M}ld~%䛑oF¾ùf䛑oÖÈ|Æßú‘oF¾ù«e³Yo“oüè¿ùfÍÊï’¤@  H$Rö»�øÝòÍÈÿ¹|>¿ja±FæWB¾ùf䛑oF¾ùf�Ìgü­ùf䛑_®T*)o˜ý×h�î¿ùfÍÊß2??¿l7Z–Õð;J§ÓJ§ÓÞf% % oó†øÑ7òÍ6C~µ×³[,Óþýû½Í5åoùf䛑oF¾ùfä›Õ’ÏøK~5䛑oÖ¨ü«W¯®9³†Ï¿«‘oV¶À°ŸwÔ ~÷Ÿ|3òß—Ëå´°°àmnX~5䛑oF¾ùf䛑oÖ¨|Æßõ!ߌ|3òߟU³V¡Æ/�è¿ ùf~çsénÀk}û�ñ@³qÜ�_(Ö>Èårš››ó61þh¦»9«��b à“™™oðã/€fI¥RÞ& a(Ö>)‹¼a É4C:�®¸NÐ(ke2¦cÐdŒ¿ü477ÇZ5ðÅ º»»½MŽW_}•ª;>`üÐl¥RI¯½öš·Ù ½MÀºP¬ ‹)‰x›%I–e)•Jɲ,ï&°Œ¿š©T*)•JU-Çb1Åãqo3°.k€Ù¿ÕoøJ¥’._¾ÌFŒñ@3X–¥W^y¥j¡& *‘Hx›�u£X4H0Ô/þâ/z›ÅbQ—/_®z€õcüà7˲tùòe‹Eï&Ǿ}ûªŽ�õ X4P4Uoo¯·ÙQ,�S'@ýø¥T*éå—_6j‰„¢Ñ¨·ØŠ5@ƒõôô§@Úçºr• ‡ñ@£ÍÍÍ饗^2z‰„ñجÅÀ‰DB±XÌÛì°ß0rÉ?‡ñ@£ÌÌ̬¹Hy<§PßP¬|²ÿ~ãFIJ§Ózá…ŒÕzP;Æ_aϦÉd2ÞMeâñ¸öíÛçm†b à£ýû÷¯Ym/•JzñÅuåÊÞ4ÐŒ¿êU*•tõêU¥R)ãú4Z™ÅG¡~£Xø¬ÖóXs¹ohÆ_µ(‹ºzõª^xáe³YïæUz{{k:¶E±h‚D"¡d2YÓåüì7�—/_V.—3ž' ªcüP‰eYÊd2º|ù²^z饚Š4Á`PÉdR===ÞM€/¶ŽŒŒ<åml¤|>¯|>ïmV4åòfh;y=wwwk÷îݲ,kÍ©•Z™ŠyãÆ ýä'?ÑÜÜœ,ËÒÒÒ’¶mÛ¦®.꬀̓ñÀFX–¥Ÿýìgºyó¦þöoÿV?úÑ�ôî»ïªT*yw­(‰èÀ� ‡ÃÞM«läx¸m™ŸŸ_ö66R:�®¸â~­SS�VÒ¨×s6›Õ믿¾îéÖÝÝÝÚ¾}»‚Á ¶mÛ¦@ àÝ€Ž177WñÃO$©ëÃO.—[÷Ø+Æ_ mX–¥Û·o«T*é½÷Þ[÷ÿû@  D"Q×lšF}^ÊŠ5–e5|Ðiæ‹Õ�þ»‘o¶ò7òzöæ—J%¥Ó隦]h»H³Öç¯�|^¨—÷óE£‘oæw¾sT&“Ñõë×µ¸¸¨�;wz÷[·fMó«ÿ6òÍ6Kþz_Ï•ò�€vïÞ­x<.«Æ©Ùütÿý÷ëÀ�Ú½{÷ºN}\ïç…zUú|ÑHä›5#¿K+¡|>_ö»�øÝòÍÈ7[+? jß¾}zì±ÇÔÓÓSÓ"ˆ#°rºÓc�=¦ýû÷·üûñµ>_lùfÍÊïÒÊ‹3‰”ýn'~÷Ÿ|3òÍj̓êííÕ£�>ªd2©x<ÞòÐŽ¶nݪîîn}èCR__Ÿ‰DÕ÷é­¦ÖÏëE¾Y³òY³¦ä›m†ü�¼žkɯdnnNÅbQù|^ œ.Ô©»»[¡PH‘HD¡PHÑhtÝïÏM6òy¡^~ôß�|3¿ó¹P‡Vx=[–¥……Y–µ¡Õíh�º€Í!hÛ¶mÚºu«‚Á º»»}ýPíÖ ŸÐ(Öuàõ @ó1þh¯Ð(õ/o ßP¬h!kZÅ€B± …P¬h!kZÅ€B± …P¬ê¼M’$˲¼M Ag› Å ÕŠ5·oßö6€©V¬éîîö6Ð(Öu¨V¬)•JÞ&Ð Þ&IÒöíÛ½MtŠ5@ª}ƒG±ÿ¼÷Þ{Þ&Éð% íŽb P‡`0èm’VŠ5Õ¦h€õ³,«êÌšj_¢Ðî(ÖuUß oØ jãk(bf  cQ¬ê …¼M’¤b±èmTm|­öå �€b P§H$âm’$ݸqÃÛ6¨ÚøZm< ”kÚ}Í ¿ûO¾Ùfɯ6³&ŸÏ3LÛ�|3òÍÈ7#ߌ|3òÍLù–e)ŸÏ{›%ÃxìeÊoòÍÈ7#߬ÝóýæwÿÉ7ó;ëÈÈÈS’”Édtýúu-..jçÎ�ÞýÖ-ŸÏWd£Ñ¨¢Ñ¨·yÝüê¿�|³Í”ßÝÝ­L&£¥¥%ï&ÝsÏ=o_Oþz�oF¾ùf䛑oF¾ÙZùo¿ý¶nÞ¼émV0ÔÞ½{½Í«¬•¿Q䛑oF¾Y»æóù·6ä›e2™÷gÖX+ßZ¸·¿ûO¾ÙfÌ�ÇãÞ&©ÊTíõä׃|3òÍÈ7#ߌ|3òÍjÉÏf³Þ&©ÆS jÉßòÍÈ7#߬ÝóýæwÿÉ7kV~—V®p‰DÊ~·¿ûO¾ÙfÌ¿ï¾û¼MÒJ%Ý»âzòëA¾ùf䛑oF¾ùfkå—J%å+|;-×&nkåoùf䛑oÖîù~ó»ÿä›5+Ëüüü²ÝhYVÃï(�N+�N{›•H$”H$¼ÍâGÿÝÈ7ÛlùÓÓÓ«¨±XLû÷ï÷6×�_/òÍÈ7#ߌ|3òÍÈ7«–õêÕŠ3k‚Á {ì1osUÕò…|3òÍÈ7kÇ|>ÿÖŽ|³²†ý¼£fð»ÿä›m¶üžžo“$)—ËiaaÁÛ\w~½È7#ߌ|3òÍÈ7#߬R~©TªX¨‘¤Ý»w{›Œ*å7ùf䛑oÖîù~ó»ÿä›ù�Ï¥»�uêéé©ú´R5ÔÆ4Ž~èCò6Ðq(Öëª~»—Ëå477çmk0ͪ‰Åbêîîö6Ðq(Ö`:ïtffÆÛÖ�J¥¼MÓ¸ @'¡Xl@0¬úƱX,R° étºâºobV `“¡Xl�iíšL&ÃéPÔ`nn®êZ5¦/GèDk€ Æ7�¯¾újÕo ÀûëÔ¼öÚkÞfÇC=ĬÀ¦B±h€žžE"o³$ɲ,¥R)Y–åÝÀ¦W*•”J¥ª~±‹Å‹Å¼Ít4Š5@ƒìß¿¿ê·~¥RI—/_¦`€‹eYzå•Wªj8ý °YQ¬$ êñ½ÍŽb±¨Ë—/W}C ÀfbY–._¾¬b±èÝ䨷o_Õ/Bèdk€ŠF£êííõ6;ŠÅ¢qª7›A©TÒË/¿l,Ô$ E£Qo3›Å ÁzzzŒS¶ísó¹J`3š››ÓK/½düâ"‘HÇR:ÅÀ‰D¸¢]°©v‰R:ÑÌÌÌš‹îÇãq 5€M�b à“ýû÷ 6’”N§õ /¿] ÝÙ³i2™ŒwS™x<®}ûöy›Øt(Ö>Ú¿ÿšß–J%½øâ‹ºrå E@G)•JºzõªR©”q}­ÌJ¥PÀû(Ö>«õ¼û\.GÑЊŢ®^½ª^xAÙlÖ»y•ÞÞÞšÆJ6 Š5@$ %“Éš.?jm._¾¬\.g<¯€VaY–2™Œ._¾¬—^z©¦"M0T2™TOO�w›Ú–ùùùeoc#¥Ó銋¨Ö:Ûè$¥RIétº¦7°n‘HD»wïV(R8V ðî@SY–¥B¡ b±¨7n(ŸÏ{w1ŠD"Ú·o_M_d@»àó/…b pd³Y½þúëë>Ý©»»[Û·oW0Ô¶mÛ(Þ ­ƒAçµ 7Õëײ,•J%-,,Ȳ,çh–eéöíÛ*•Jzï½÷Ö=†% fÓèH|þE£”k,Ëjø›æf¾Xýè¿ùfä›yó×;Ëè4¡PHÝÝÝŠD" …BŠF£Þ]ÖäýÿÕhëÍŸ››S±XT>ŸW±X\÷‡[ SØE÷ÿ§õþÿªùf䛑oFþj|þ­ùf[GFFž’¤L&£ëׯkqqQ;wîôî·nù|¾â´Øh4º®7äÕøÕùfä›UÊÚ½{·âñ¸,ËZó*@§Z\\Ô­[·ôî»ï*—Ë)›ÍªP((ÔtzD¥ÿ_�ToþÜÜœ®_¿®ÿõ¿þ—Þzë-½ûuë–,fÐ`“ ºÿþûuàÀíÞ½[]]?_2±Þÿ_õ"ߌ|3òÍȯŒÏ¿µ!ß,“ɼ¿À°eYÊçóe¿Û‰ßý'ߌ|³µòƒÁ öíÛ§Ç{L===5}8:Y©TR.—S*•Ò /¼ ÙÙÙª3RÖúÿµQµæ[–¥t:­ééi¥R)e2™ªû›E`åt§Ç{Lû÷ï_5¾Õúÿk½È7#ߌ|3òï.¿ûO¾Y³ò»´2˜F"‘²ßíÄïþ“oF¾Y­ùÁ`P½½½zôÑG•L&�ÇW½±6›R©¤7Þx£êeíkýÿµ^kå—J%çòÄétºáƒ5Ðn�€zzz”L&Õ××§D"±êÿ�m­ÿ_E¾ùf䛑wùÝòÍš•Ïš5u ߌ|³õæ»×¼XXXàt)lz±XL‰D¢¬˜¹Þÿ_µòæ[+—(®4¾›Iww·B¡�"¸æT­È7#ߌ|³vÌçóoíÈ7ãjP@›±,˹’ÌF®ÆÜ Vƒ®& õÐC)‹y7ùÎ.ÒXëœEÃÕÜЮ�€¶mÛ¦­[·* ª»»›×/xðù�B±p×X–¥B¡ b±¨7n(_aA>“J³lüR*•tåÊ•ºû‰D´{÷n…B!…Ãa>ÜÐÁøü‹F¡Xh–eéÆ�Êf³5EìEº×súE­æææôÚk¯Õ<È.ÐÄãqŠ3l"|þE£üüÚ‰Üe�@@ñx\Ôc�=¦x<îÝe•R©¤T*Uñ�Q#d2¥R©š 5±XL�<òˆ<¨žž 5XŠ5€–侬}-E›jßdmD:�ÖÌÌŒ·y•X,¦G}Tû÷ïW(ònêB±ÐÒÜE›µÖ¦I§Óºzõª·y]®\¹²fñ' )™Ljÿþýkö ¨Å@[ƒzôÑG×<ß;›Ín¸`såÊår9os™žž=òÈ#¾®•€Í‰b  ­$ %“IãL–l6»æ¬˜jÒé´±P”L&ÕÛÛëÝ4Å@Û‰F£klÒé´Þxã o³ÑZëÞƒAýÃø™M_Q¬´¥`0¨d2i\ÐwvvVsssÞæŠæææŒ…šP(¤GyÄX �b  mƒAŸ¯º~M6›U6›õ6K®S­ª‚?P¬t{L5¯¿þº,Ë*k+•Jzýõ×ËÚÜöíÛG¡MG±Ð1¢Ñ¨zzz¼Í’$˲”ÉdÊÚL§?% ®ú€»‚b  £ôööV]pØ]œ)•JÆÓŸ‰„·h Š5€ŽÓÛÛëmrØ—ç6]¦;™Lz›€¦¡Xè8ÑhTñxÜÛ,Iºyó¦ŠÅbÕY5±XŒujpWQ¬t¤j§1Y–¥W^yÅÛì¨v; YÊŠ5Þ«d´¿ûO¾ùf䛑oF¾Y¥ü`0XuvM©Tò6I†Y5•ò‰|3òÍÈ7#ߌ|3òÍÈ¿»üî?ùf~çoyJ’2™Œ®_¿®ÅÅEíܹӻߺåóyåóyo³¢ÑhC¯²áWÿm䛑oF¾ùfä›™ò»»»õæ›o–µ™8p@Û¶m+k3å7ùf䛑oF¾ùf䛑_ŸkC¾Y&“yf�eYÊçóe¿Û‰ßý'ߌ|3òÍÈ7#ßl­üP(¤H$RÖVM$Y5«f­ü�"ߌ|3òÍÈ7#ߌ|3òï.¿ûO¾Y³ò»$)(‰”ýn'~÷Ÿ|3òÍÈ7#ߌ|³ZòwïÞímªèÁô6Õ”¿䛑oF¾ùf䛑oFþÝåwÿÉ7kVþ–ùùùe»Ñ²¬†ßQ:�®xyÔD"ÑðEýè¿ùf䛑oF¾ùf¦|˲4==ím^¥¯¯Ï˜Qm[#�oF¾ùf䛑oF¾ù«ñù·v䛕-0ìç5ƒßý'ߌ|3òÍÈ7#ßÌ”XùvÂd­oELÛ�|3òÍÈ7#ߌ|3òÍÈ¿»üî?ùf~çsén@Ç[ëT¨µ¶ÍD±ÐñB¡�·©ÌZÛ€f¢XèxápØÛTf­í@3Q¬t¼@ °ê²Ü¶`0èû9Ç@=(Ö6…íÛ·{›¤•b ÐJ(Ö6ÓÌ •P¬l ÕNuÚ¶m›· ¸«(Ö6…jÅšjíÀÝB± …P¬h!kZÅ€B±°)D"o“dhîŠ5€M!�*‘H”µ% E£Ñ²6àn£XØ4‰„{ì1%“Iõõõ­*Þ­€b `S ƒŠF£ ÞM@K XÐB(Ö´�²b�eYî¿¶¿ûO¾ùf䛑oF¾ùf䛑oF¾ùf䛑oÖîù~ó»ÿä›ù�¿uddä)IÊd2º~ýºµsçNï~ë–Ïç•Ïç½ÍŠF£ ½‡_ý·‘oF¾ùf䛑oF¾ùf䛑oF¾ùf䛵k>ŸkC¾Y&“yf�eYÊçóe¿Û‰ßý'ߌ|3òÍÈ7#ߌ|3òÍÈ7#ߌ|3òÍÈ7k÷|¿ùÝòÍš•ß%I�@@‘H¤ìw;ñ»ÿ䛑oF¾ùf䛑oF¾ùf䛑oF¾ùfížï7¿ûO¾Y³ò·ÌÏÏ/Û�–e5üŽÒé´Òé´·Y‰DB‰DÂÛ¼!~ôß�|3òÍÈ7#ߌ|3òÍÈ7#ߌ|3òÍÈ7#߬óùü[;òÍÊöóŽšÁïþ“oF¾ùf䛑oF¾ùf䛑oF¾ùf䛵{¾ßüî?ùf~çsén€B±ÿÿöî?¶ÎúNðýÇ? ?°{€ÓÉ]™!Pf·Òxºw—vH‡ªÜ+‚¦T+¦T÷�ÂÌ´«½JYmùãk÷2Û%iÚ« ™©�Nà�ÝvKÐJC;¡+Ý^è¶�® Ý¥‚-�ñΞ›ÊéØN‚sbß?È9=ç‰Ï'¶ãÇyœ¼^’åú{Îyûñqú�óÉó<¨Ã€ 1¬¨Ã€ 1¬¨Ã€ 1¬¨Ã¸HLOOÇôôtq€u¦gvvv¡¸¸š&&&bbb¢¸£££1::Z\ Íôôt<ûì³qäÈ‘˜���ˆˆë¯¿>>ô¡ÅÖ­[‹w_±C‡EDÄöíÛcûöíÅ›×Üääd>|8""~ó7ó¼ÖöÞŽ;bpp°x—U÷Ì3ÏÄÌÌLŒŒŒÄØØXñæÍû ć>ô¡âÍgiÿyš¿³gžy&öîÝû÷ï¯Äï.5^ÿ²ZúÆÇÇ*.®¦z½õz½¸ÃÃÃ1<<\\àŒÇ<öìÙO?ýt¼øâ‹qäÈ‘8räHüõ_ÿu<þøã1==ÿïÿýذaCñ¡Ëvï½÷ƳÏ>W^yå9 ká•W^‰={öijÏ>»*¤öÞÍ7ß###Å»¬ºÏ~ö³ñÔSOEOOOìØ±£xs‡/|á qðàÁxúé§cÇŽqå•WïÒá‘G‰G}4ž}öÙ¸í¶Ûbdd$þÝ¿ûwñâ‹/ÆÜÜ\e~�p©ñú—Õâ4(€ :pà@<òÈ#­£-ÆÆÆâŽ;±±ˆˆˆƒÆž={Šeºï¾ûZÿûÙgŸí¸m1Í£jÚ�Ú¹ûî»ãúë¯�믿>î¸ãŽÂ#XO k*frr28qæ”§Ç{,öïß{öì‰ýû÷Ç£�>Ú:RãðáÃñÌ3Ï ¬7íC¸§žzªxs‡Ã‡ÇÔÔTÄ™Ç5mß¾={ì±xì±ÇÎû´1.,ÀŠi±>>>~Ö ï‘‘‘سgOëÅýw¿ûÝŽÛÛMOOÇ‘#GâðáÃ˾ðìÔÔT>|8Ž9R¼©«•<¦¹�ËyLYÚ·e9ÏWóç^ÎcŠvîÜQ¸Íbš×Šˆ¸ë®»:n[Š*=ß,ΰ bÚ_ð5MƒƒƒñØc�ÅO<Ñq MÓäädìÞ½;vîÜ÷Þ{oëïÞ½;DD9r$vïÞ»víŠÝ»wǽ÷ÞwÝuWúâþñÇ�]»v�õ˜æB‹™œœŒ|°µ�ÍÇdG–>|8n¹å–¸å–[ºþÍÛ›Û]ŠæÏܾ-;w{÷¶ŽbYÌ�âöÛooýÜ;wîŒ}ûöï¶$íîö³Eá¨ökù:t(}n>|ÖÏØ|žŠ?ãƒ>·ÜrKÜ~ûíëqæ÷Öü>‹ ‹ÚGÙï€î k*¦ýâ·Ù°cëÖ­­�v“““qï½÷v¼`o…Ó|ÁÞíEts€R|±ßþ,6°i^_§ù‚¿¹=ÍÓ¹>ùÉOžuÄI³W¼>Ëääd<üðÃg}ÿ2=õÔSÏ×ÀÀ@ëù:tèPìÞ½û¬aFDľ}ûâÀ�133Ó±~ðàÁ lÆÆÆZÏÝã�?^¼9¢p Ôbƒ’n8Ð1¨Ûºukú36O¯š™™9ëwÑþg`rrò¬ßmûí.r °2†5³sçÎŽ‹7‡+ÅÅÝìÞ½»uaâÏ|æ3ñÔSOÅ·¾õ­xôÑG[À}ûö-Ú{ê©§b`` öïßßýîwãàÁƒ­¡ÀÌÌÌYãC‡µÖšGÅ<ñÄñÝï~·uÄÏ+¯¼ìxÜ�:†O=õTëûíØ±£ë°bµMNN¶+×_}ìß¿?¾õ­oÅ·¾õ­Ø»wolݺµ5XjwèСÖÏÔ|Üw¿ûÝxê©§â¾û.:à9—æ…�’Dᨥ¼Åw,r ¤G}4žxâ‰øÖ·¾Õ:�®9$kjž’…áK,räâixÍÛ¯¿þú³‰,�a @Å Æþýû[/t>?üpìܹ3>ùÉOƾ}ûº:Ôºíþûï�»ï¾;#Î\€v||<âÌ0`±£kFFFbÿþý­#"FFFâþûïo}] 4‡wÜqGÜÿý­ïgÞá¨9èi¾Õxœ4¿wñq###ñùÏ~Í^ä7�Œ‰?ú£?ê8äCúPëù*^G¦9L*>npp°ãç^®ö!ÉbŽnnCûQ8çÒü5·í§NÝqÇñùÏ>âL»ÙlýLÅáLó>Í#ÀÚŸ—éééŽm`e:†5�F£ýËu§ìí×Ïéçôsú�¶oß�>úhìÙ³'®¿þúXXXˆh;Je×®]‹^k¤9éxáß466O<ñD<ñÄ·7ûccc—¦ë¯¿>âÌ�§©ý”œÅ¾Wœy;é8ó"þ•W^‰(¼¸ïö¸å¾õôJŸÿs ?šë ­áIûÏÒíq‹]G(ÓÜþö·â.ÓÚŸïåûl,,,Ä]wݵèïv¬í�¨;…©ýbËGŽimCóh£gžy¦µýÍç%–qäÏR¬ô÷»Tú9ýœ~N?§Ÿ[ïý²•½ýú¹²û­aM­V‹—^z)jµZç=Ö‰²·_?§ŸÓÏé/npp0î¸ãŽøÜç>ŸûÜçâSŸúTë-»£ËµF&''#Ú†+‹i^ç¦ù½V«ÅÉ“'cnnnÑÁCœÙ–¢æ÷Š3GšìÝ»÷¬�Gy$æææâäÉ“ñãÿ8¢0è¶�Ë9*c¥Ïÿôôtë¹›œœ÷¹8xð`ëÈ�ÉÉÉøú׿޺sø°Øpe1ÍþÂÂBœ>}:æçç‹wY’gŸ}6:tÖÇ3Ï<§OŸŽ………˜™™‰F£ÑqtN·íléq.çóü�*nû¡C‡â¯þê¯bjj*âç?ÿùYýnÛ¿T‹m·S¡šƒ›;v,yô‹_ü¢õüÿ·ÿößâ¯þê¯Îú:tÖE’£pÄMs;š§DíØ±#ã×~í×âôéÓñâ‹/F½^�矾õØÕ°Øó³šôsú9ýœ~N?·Þûe+{ûõskÕï�ˆèïï�¡¡¡ŽÏëIÙÛ¯ŸÓÏéçôs‹õGFFâ¾ûîk½ n¿ÀëR_Ä75»===Ñ××½½+»”Ùž={bÿþýg}üéŸþi<üðÃñàƒƇ?üáèïïïÄ,v‘ãh:�ËbÏÏJÜu×]gm{qûÿé?ý§gõ³í\lR´Øö·_/¦y*Ô3Ï<Óú^Ë9½è=ïyOôõõEOOO|ìc‹?ýÓ?=ëglÿ¸÷Þ{;ß5EÅëÑüöoÿvôõõÅ�~ô£˜››‹W_}µãöóµØó³šôsú9ýœ~N?·Þûe+{ûõskÕoý­|Û¶mqÓM7ŶmÛ:ï¹N”½ýú9ýœ~N¿ÓîÝ»c÷îÝ­ Ãvë7‡í�Å.úZ455SSS­ÇmÛ¶-6nÜ—_~yñ®©ö·ožö²ØÇí·ßÿäŸü“xï{ß{ÖãÚO»i×~ŠU7íÛß|~º 322Ò18*nwqû›§'µÄ^~ùåÖÿn799¹¤aMtùý6‡$ÍS¡šG´t»Q7qùå—ÇÆ�ãWõWÏúÙŠí¿›hº¼òÊ+ñÌ3Ï´.ÆÜ¼HñŽ;âòË/�7ß|3^ýõÖãº�¶‹=?«I?§ŸÓÏéçôsë½_¶²·_?·ýŽB]í‰ÐZ+{ûõsú9ýœþ/5ßyèñÇoMQìONN¶®Òþî>Í×Åw/jšœœŒ]»vÅ®]»:ŽÈéééé¸ßR\ýõ­aG··Ú>räHìÛ·/¾÷½ïµ)í×Ý)¾xS·õöAIûö7ŸŸâ[„ŸKs[²·Fß·o_üÇÿø[¿‹‘‘‘Övt{\ñâÀçRüýîØ±£õÜ>õÔS­aMó÷»TÍ£tzzzºnkóíËÛÿ¼5�µ� Õ¼¶Mû64Ÿ‹™™™ÖŸ�±.©>Åçgµéçôsú9ýœ~n½÷ËVööëçÊî¯ìxwJÓ|¥™™™Ø½{wÇ‹ìéééxæ™g:.,ÜþÎ@wÝuWëÅõƒ>ØqÍ“ÉÉÉÖ;øÄ ^ø ¶¶õÙgŸ=kÀräÈ‘xðÁãàÁƒ±ÿþÖzûÅg>Üñ¸éééô­ÉÛ�†9tèP8p õEûöí‹,ùz7ÑöÜ5Ÿëöï;==?üpÿùÏGœyq½gÏž¸ýöÛc×®]q×]wµwß}÷-ûú6‹i¿vÎ�âöÛo�Ý»wÇ®]»âÞ{ïm}¿Ý»wwm±gÏžÖ÷?pà@ÜrË-±k׮عsgÇ”Ó~Û�âÞ{ï�]»vµ·œaÍØØX«÷Ê+¯Ä®]»â“Ÿüd|ò“ŸŒ»îº«u„Ì]wÝÕq­˜»ï¾»ã¡æÑJ·ß~{<òÈ#qÇwœ÷ó[¼6ÍJßa©ýg|öÙg;~Æ�;w¶ŽÀêög¢8|)nù¾`ù k*h||¼c Q´uëÖøÌg>ãããÅ›bll,<Øz[ì™™™ÖÐd`` öîÝ›C–kÿþý­úÍk¬4¿ßØØXìß¿ÑÁÃþýû;^ØOMMÅÀÀ@|æ3ŸI� ¹ûî»Ï,4·’Ÿë¾ûîëx®_yå•xå•Wbff¦Õ½ÿþû‹‹½{÷Æ]wÝÕúzjj*fffbÇŽG0­Tû)H±È-ËÑígŒ%>þPœ¹0âÑ£GcnnnUÿe°^¯G½^/.Çððp —W¬¬íoÒÏéçôsú¹K½ßßßW_}u;v¬ëñ‹_ÄßýÝßÅÖ­[‹7µ¬ô¿Gÿõ¿þטœœ,.·œï æ|ŸŸsÑÏéçôsú9ýœ~n½öWú÷�å*kû›ôskÑï�3¡z½Þñy=){ûõsú9ýœ~NÿKˆ¼ù曫~„Í«¯¾o¾ùfq¹e)Û•Y­ç§ýœ~N?§ŸÓÏéçÖ{¿leo¿~n­ú½qæ_-‡††:>¯'eo¿~N?§ŸÓÏéÿÒR#û·›ž®´ñ·û·Åå–¥lϹ¬æó³ýœ~N?§ŸÓÏéçÖ{¿leo¿~n­ú=³³³ ÍÅF£±êߨÛGGGctt´¸|^ÊØþvú9ýœ~N?§ÿK'OžŒÃ‡lj'Š7µ,öߘåü÷¨Û}›VcPÓn5ŸŸÅèçôsú9ýœ~N?·ûÝþ±Øß7ÎWÛßN?Wv¿ãÃe~£µPööëçôsú9ýœþ/-ePÒí/JKq®Ç.åû/×j>?‹ÑÏéçôsú9ýœ~n½÷ËVööëçÊî{ënÖ�¥ LÎ5tY̹³”ï ç˰€ui)ƒ“s _Ú�ë¾Kù~° kX·–2@9×&–pŸ¥|X-†5¬kK¤LLLÄäädq9""¦¦¦ j¨ÃÖ½¥ TNžz'"æc¡oòöçK?§ŸÓÏéçôseö½þ=7ý\³ß3;;»g&7õz=†††bÛ¶mÅû¯ØÄÄDLLL—ctt4FGG‹Ë+VÖö7éçôsú¹ ÑïY8ýÇ_�þ?‹ž…ÓŇ¡…ž¾8½a(Nmi nÛ?¬&ýœ~N?§ŸÓÏ•Õ÷úwiôsµZí—Ú83Áéïïï¼×yZ«?¬QÒö·ÓÏéçôskÙïm� ÷7ÑsúíâÝ€KÀB߆xû]×Å|ÿæˆ5Þÿ”A?§ŸÓÏéçôÏæõïÒéç:ŽÕ)ó­…²·_?§ŸÓÏ­U¿·q<6Ô_6¨�KXÏé·cCýåèm�XÃýOYôsú9ýœ~NÿÂ*{ûõse÷WïÄ*€Šë9ýö;GÔ8í .y= §í€Ê2¬.—ŸtD ÐÒsúíè?ñ³â2ÀgX\2úÞ>ûÊüÀ¥­ÿøëŽ®*ǰ¸$ôÎM{Aœ¥gátôœš-.\P†5À%¡÷ô‰â@DDôž>Y\¸  k€K‚£j€n쀪1¬¨Ã€ 1¬¨Ã€ 1¬¨Ã€ 1¬¨Ã€ 1¬¨Ã€ 1¬¨Ã€ éÖ4�ö/×�²·_?§ŸÓϕݟŸŸ/.D¬Áþ¡ìý›~N?§ŸÓÏé_Xeo¿~®ì~ßøøøCµZ-Ž=sss±eË–âýV¬^¯G½^/.Çððp —W¬¬íoÒÏéçôskÑ?5s,ÞuùBñ&€˜ªŸˆc3§JÛÿ”½ÓïN?§ŸÓÏé/ÎëߥÑÏÕjµwެi4Q¯×;>¯'eo¿~N?§Ÿ[«~Ùÿr¬_óóó¥îÊÞ¿é/N?§ŸÓÏé_Xeo¿~n­ú½ýýý144Ôñy=){ûõsú9ýÜZõ{{]¢ X\ooo©ûŸ²÷oú‹ÓÏéçôsúVÙÛ¯Ÿ[«~Ïììlë¼€F£±êßhbb"&&&ŠË1::£££ÅåóRÆö·ÓÏéçôse÷ûf~NL—âíM[ãôÀ{ŠË«¦ìý›~N?§ŸÓÏéŸÍëߥÓÏuüSs™ßh-”½ýú9ýœ~®ì¾#k€nÊÞ?”½ÓÏéçôsú9ý «ìí×Ï•Ý/÷o',‹a @…ÖTˆa @…ÖTˆa @…ÖTˆa @…ÖTˆa @…ÖTˆa @…ÖTˆa @…ÖTˆa @…ÖTˆa @…t k�Fû—ëNÙÛ¯ŸÓÏéçÊîÏÏÏ—"Ö`ÿPöþM?§ŸÓÏéçô/¬²·_?Wv¿o||ü¡ˆˆZ­G��¹¹¹Ø²eKñ~+V¯×£^¯—cxx8†‡‡‹Ë+VÖö7éçôsú¹µèŸš9ïº|¡x@LÕOı™S¥íÊÞ¿éw§ŸÓÏéçôçõïÒèçjµÚ;GÖ4�¨×ëŸ×“²·_?§ŸÓÏ­U¿ì9Ö¯ùùùR÷?eïßô§ŸÓÏéçô/¬²·_?·VýÞˆˆþþþêø¼ž”½ýú9ýœ~n­ú½½.Ñ,®···ÔýOÙû7ýÅéçôsú9ý «ìí×Ï­U¿gvv¶u^@£ÑXõo411Åå�ÑÑÑâòy)cûÛéçôsú¹²û}3?� '¦ŠËñö¦­qzà=ÅåUSöþM?§ŸÓÏéçôÏæõïÒéç:þ©¹Ìo´ÊÞ~ýœ~N?Wvß‘5@7eïÊÞ¿éçôsú9ýœþ…UööëçÊî—û·–Ű B k*İ B k*İ B k*İ B k*İ B k*İ B k*İ B k*İ B k*İ B:†5�F£ýËu§ìí×Ïéçôse÷ççç‹Kk°({ÿ¦ŸÓÏéçôsúVÙÛ¯Ÿ+»ß7>>þPDD­V‹£G�ÆÜÜ\lÙ²¥x¿«×ëQ¯×‹Ë1<<ÃÃÃÅå+kû›ôsú9ýÜZôOÍ‹w]¾P¼ ¦ê'âØÌ©Òö?eïßô»ÓÏéçôsú‹óúwiôsµZí�#k�FÔëõŽÏëIÙÛ¯ŸÓÏéçÖª_ö¿œë×üü|©ûŸ²÷oú‹ÓÏéçôsúVÙÛ¯Ÿ[«~oDD u|^OÊÞ~ýœ~N?·VýÞ^—è×ÛÛ[êþ§ìý›þâôsú9ýœþ…UööëçÖªß3;;Û:/ Ñh¬ú7š˜˜ˆ‰‰‰ârŒŽŽÆèèhqù¼”±ýíôsú9ý\Ùý¾™ŸÆ†SÅe€x{ÓÖ8=ðžâòª){ÿ¦ŸÓÏéçôsúgóúwéôsÿÔ\æ7Z eo¿~N?§Ÿ+»ïÈ ›²÷eïßôsú9ýœ~NÿÂ*{ûõse÷ËýÛ ËbXP!†5bXP!†5bXP!†5bXP!†5bXP!†5bXP!†5bXP!†5bXP!†5bXP!ÚF£ÑþåºSööëçôsú¹²ûóóóÅ%€ˆ5Ø?”½ÓÏéçôsú9ý «ìí×Ï•Ýï("¢V«ÅÑ£Gcnn.¶lÙR¼ßŠÕëõ¨×ëÅåŽáááâòŠ•µýMú9ýœ~n-ú§fŽÅ»._(ÞSõqlæTiûŸ²÷oúÝéçôsú9ýÅyý»4ú¹Z­öΑ5�F#êõzÇçõ¤ìí×ÏéçôskÕ/û_Î�õk~~¾ÔýOÙû7ýÅéçôsú9ý «ìí×Ï­U¿7"¢¿¿?†††:>¯'eo¿~N?§Ÿ[«~o¯Kt‹ëíí-uÿSöþMqú9ýœ~NÿÂ*{ûõskÕï™��m�Ðh4VýÕjµ8räHq9¶mÛÛ·o/.Ÿ—2¶¿�~N?§Ÿ+»ß7óÓØpbª¸ ooÚ§ÞS\^5eïßôsú9ýœ~NÿlGމZ­V\ŽÑÑÑ-.Ÿ—2¶¿�~®ì~Ç?5—ñ�º5O�:U\:oݾ×jÑÏéçôse÷YtSöþ¡ìý›~N?§ŸÓÏ韭Ñ唘M›6—Î[ÛßN?Wv¿Ü¿�$?ÀÉ“'‹K°n�8q¢¸6l(.AªôaM· ¢a “·ß~»¸‘ÄÝ”>¬Ù¸qcq)â̰¦Û!b°ž4�®GÖt;ˆº)}XÓßßßõæôôtq Ö�n¯oYò•>¬‰38333S\€u§ÛëÛn/@fM†5CCCÅ¥ˆˆxã�7ŠK°ît{}Ûíõ0dÖdXÓíÈšz½îº5¬k�F#êõzq9"y= ™5Ö w=Gorr²¸ëF·£j6nÜÃÃÃÅe8§5ÖDDŒŒŒ—"’?Ô°t;Á)P¬Ôš k®ºêªâRÄ™S¡º]ˆ ªìäÉ“]O�êvМ˚ k²S¡þçÿüŸÅ%¨¼‰‰‰âR„S 8Ok6¬‰ˆØ¶m[q)""¦¦¦âĉÅe¨¬“'Ov=êꫯ..Á’­ù°¦ÛÑ5ݦ‘PEÙëØ_ýÕ_-.Á’­é°¦¿¿¿ëtqjj*Þzë­â2TNvTÍÖ­[cÓ¦MÅeX²5ÖDDŒŽŽ—ZŽ9R\€Ê9|øpq©%{Ý K±æÃš�7výƒ;33c`@¥MLLt½îª£jX k>¬‰s\»¦V«9 €Jzë­·º^«&;8–ã‚ kúûûÓ?À/¼ðB×)%\'OžŒÿþßÿ{q¹åºë®sT «¢cXÓh4Ú¿\uíýmÛ¶ÅÐÐPÇíM�F#>¼ìíYîý—K?§ŸÓϕݟŸŸ/.D¬Áþ¡ìý›~N?§ŸÓÏ]jý“'OÆáÇ»X°uëÖØºukëëåö—K?·Þû}ãããÅ™Ó�Ž=sss±eË–âýÎÛbýááá8vìØ¢?d£Ñˆ7ß|3®¹æšèí=÷@‹õW“~N?§Ÿ[‹þ©™cñ®ËŠ7ÄTýD›9UÚþ§ìý›~wú9ýœ~îRë7�øÑ�~Ç�/Þqæô§›nº).»ì²ˆô—K?w1ô{ã̼z½Þñy5uëoܸ1ÞûÞ÷ïÞ233Ï?ÿ|×ÉeS·þjÑÏéçôskÕ/û_Î�õk~~¾ÔýOÙû7ýÅéçôsú¹K­ßh4âùçŸ�™™™âM-7ÝtSëô§åö—K?w±ô{ãÌ5d†††:>¯¦¬?<<Û·o︻™™™ôP³8G5èçôsú¹µê/å=àÒÔÛÛ[êþ§ìý›þâôsú9ýÜ¥Ô?yòdü—ÿò_ÒAÍèèh ·¾^N%ôsK¿gvv¶u^@£ÑXõoÔ.ëOLLt½¢v´VÖþ‚¢¬¿ôsú9ý\Ùý¾™ŸÆ†SÅe€x{ÓÖ8=ðžâòª){ÿ¦ŸÓÏéçôs{ÿ­·ÞŠ^x!É‘£££]ß<ç\ýó¥Ÿ[ïýŽaÍ…öâ‹/ÆÔTþb*û?@7—ŸŒËf_+.êøÚ_~;^ûÙ±øÄÇþ·y÷•Å›©¸SW\§6�—¸„9r$jµZq¹ÃÈÈHÜtÓMÅeX•ÖÄ67nŒ±±1o‰,™aMù¾üÕ'ãË_ûFq9""FÞ}e\ûî+㣷ýV¼ÿ}7Vv ñÚëÇâÎß0"">uÏGãSŸ¸³x—³|ç‡ã�‡ÿ,""Þÿ¾ãK{(Þ…Š3¬ é­·ÞŠ#Gޤ§=…A k rqøõ_ÿõs9sòäÉøþ÷¿/¾øbz-ªaògoÆs?~9ú“GãÓ{¾ß|ú{Å»¬[ƒWlnýïkWaõ‡òh|úÁ?Ž/õÉâM@INž</½ôR>|øœƒšÑÑQƒJ×zëî*i^—¦^¯oê033G��'NÄÀÀ@ëmÒŠúNÍDß©éâ2«è¹~Ïýøåˆˆøìïÿnüï;þ׸õæßˆ[oþ�ø‡ï»1æN5bògoÆôìñøÎ~ƒWlŽ÷½÷ºb悚ž=_{òéˆ3Gɼÿ}7ïr–k¯¹*n½y,þÁ�£qÏÇn‹ —Ÿß‹¾øç_�—'޶º”oþòÁ˜¿l°¸ À%`ff&^}õÕx饗Î9¤‰ˆØ¾}{ü½¿÷÷ŠË°ê*wdMÓèèè’OušššŠïÿûñüóÏÇÔÔTz(ÊwëÆâ£·ýVëãž�Ý_Úû@<ù•Ï·N�úâW¾/ÿM~.øzqÃuÛ⣷ýVÇQ6@55�¨ÕjñüóÏÇøÃ˜œœ,Þå,ÍKqlÛ¶­x”¢r׬):yòdLLL,éÿ@톆†âꫯŽ���,õ*Í@õ¹fMùÚ¯Yó�¿ø£®×¥yùojñ‰ûÿuDr�—×^?ß|ú{ñòßÔbzöx ^±9Þÿ¾ãÖŒut¿ö—ߎ—'ÞøüßÿüÞ¶Â/=÷ÂOZ§]ÝsçmqÃuÝÿ’µ’kÖLÏ�ÿçÏ¿¿}óoœu4Ìôìñw¶óÌÏg~î�Þö[?Ë—¿údLþìÍøÎ~Ó³ÇãÚk®Š÷ÿƒ""âw>òÁ%åÃʸf ÀÅ­ÑhÄôôtÌÌÌÄo¼qÎ38І††â¦›nZÒ�°Z*?¬išœœŒÿñ?þÇŠ¯Q³iӦذaClܸ1.»ì2Ã¸È ÄÕW_]\n1¬)ßR‡5ü›ßùëEDÄÿûöu‘òµ¿üv|ñ+ï ?óÐ?¿7~ç#Œ(Ü÷K{Xt ñП<ÚÖœk»V2¬Éóͧ¿_üó¯·†4í¯Ø_Úû@kxôéÿ¸uYQûÏÌê;×°æ­·ÞZö_ì¸p�Fœ:u*Nž<o¿ýöŠ_Cö÷÷Çè訣i¸ ÖͰ&Îã(àÒ�]•ß°¦|ËÖ|ãÛÿ9þpßcñ…ñÖ:¥}ýÚk®Š{>ú‘¹æÊ˜|ýÍøê“ߎɟ½ƒWlŽ'ÿâó1xÅæ˜ž=wþÞƒ1={<î¹ó#ñÙ?øxÇ÷‰ˆøðÇï�éÙãñÑ�|°ëÑ7MÙज़n�i_oþ,7\·-^{ýX|ùkß8ëgùÆ·ÿsLþìÍøÚ“OÇôìñ¸áºmqë?þ�ˆˆ¸õæ±ôˆ ÎO6¬YÊ»Tpñiiü#?Je¯Y³˜�7ÆM7Ýüàcddñ¿T—®ÉÉÉxë­·ŠËTPû0“¯¿Ùúß/OÔÞy›ïk®Š¿ï_Æ=»-n½y,îùØmñЙAËôìñøæ·ß9RfðŠÍ­!Æ7Ÿþ~«Óô�nÕòÛ7¿3øX+íïxõ¥½Ä=»­uúÓ—ö>#ï¾2F®¹²uÝž�Þö[ñ©OÜW¼sˆõ�£ÛâSŸ¸3>õ‰; j.�7ÞxààÒßß[·n�|à1::jPõ®†5MíC›mÛ¶9whqªÂúÓ~ŠÐgÿàãñ�¿ø£xò+ïmÒ®}ÀóÚÏŽµþ÷§îùhÄ™Îs/ü¤µñ�¼sªUÕÞYéÚk®ŠoüÅÅW÷ý«EOÝ¢–ò® ¬ÍÓ�>øÁƯÿú¯{}I%¬ËaMÓÆ�cûöíñ�| ÆÆÆbddÄÿ±à700P\b›ž=/ÿM-¾óƒÃñÅ?ÿ­õ™Ù_ž{~ÃuÛZƒ�ïüàpk="âÿ;3¬i^¨w-µa>½ç ñµ¿üöYÃ$ªmhh¨¸ÀE¢¿¿?¶mÛcccñ¡}È‘4TκÖ´Ž›nº©5¸Ù¾}{ëÝ €KÃÈÈHz‘aªcòg¿<õéÚk®ê¸í¹~ü›þøýñá�ߟ¸ÿ_ÇÿY|íɧ;î×4xÅæø��| ¢p*Ôs/ü¤uÔÎ…¸8ïûßwcÇõk¾ø•¯Ç§÷|!>üñûãÓþqÇiRTÓððplݺµ¸ À:´iÓ¦¸úê«cûöí­ÍöíÛcxx¸xW¨„uu�á•j4qâĉh4çu5p º†††ÒÿغÀpù–s�áöwqúê¾Õº&K{#"bäÝWÆ�×ý/1òî_‰÷¿ïÆxàá?‹ˆ8ëbÁϽð“øôž/D´½+Tó] ®½æªxò+ŸoÝ7ÓíbÁ™s=æ¹~ßxú{ñòD­u}š¦®Û_Úû@Ç)_ý½ÿ+&öæY?#åÉ.0g®]ã”(€õ£¿¿?.»ì²èëë‹�7ƦM›5úsI k kÊ·œaMs Ñ>HizÜpݶøâøÿyVã~ôÞyü"ƒŒæ»>5ߪù=>ûû¿÷|ì¶Žûvs®ÁËb–ó˜æuu¾üµo´7ÅÇÖ¬½s kÖÚEsë׿údë4¨æÅ�£pjÔgÿwÏÔ¼öú//*¼˜{îüHÄ™S¡ž{á'­Þ­¸pžž=ÞqåÁ+6Ç­7�uMóòÄѶG€a kä¹~Ÿ~ð�[Gß\{ÍU×’i?¨}ÀÑt®k¼4[Ó³Ç[§X½ÿ}7ž5ôY+ŸøÌƇ?~ëÔ­vÓ3¿â žy«î¢ŸLtž2À¥ÃiPÀ%ÁiPåk? ªýÝ—¦gOÄäÏÞìÀ\{ÍUñ¥½t R¦g�Ç�¿÷`LÏ�k¯¹*îùèGâ†ë¶Åk¯‹o>ý½xîÇ/Çà›czöx×S„>½ç ï¸ôÐ?¿wYn?¥éÚk®Š‘«¥x—–{>v[ÜzóX×Ó Ú¯ËsÃuÛâwÞWlŠÉ×ߌ¯>ùíÖ‘?í×쉈xàßüÛøÎ_ÿò]¬®½æª¸çÎÛ:îÃêrP5ެ`Õ=÷ã—[/OÔÚŽ"ÙŸúÄ�ñï÷ý˳Žx¼bsü‹?øÝˆÂ»'ýá¾Ç⹿ŸúÄ�1Ðå(”¦[ÿñot|ÝþöÙËõÚëÇ:~ŽâGûÛ‡/æž�ÝÖ:5ëå¿©ÅCòh<ððŸÅ¿òõ˜üÙ›1xÅæøì|ü¬!Ì¿øƒ_žöÜ�_Žo<ý=où p‰qd pIpdMùž{á']‡ ƒWlŽ®Û7\·­ãt§Å¼öú±øÚ“ßn]ËåÚw_¿ó‘Æûßwc|í/¿Ó³Çã†ë¶Å­7Ÿ}-šéÙãñá�ßÑå"Äç2={<¾ö—ß../êÖ›Çâ†ë¶u<æýï»ñ¬Ñs/ü$¾óƒÃ­ŸgðŠÍñþpCüÎmìú\¼öú±xî…ŸÄó?~9""~ûæßXôçeu8²¨šŽaM£Ñ(õ-Íôsú9ýœ~®oæ§±áÄTq™‹Ìw~p¸u�˜/Œÿ3–äíM[ãôÀ{ŠË«¦ìý›~N?§ŸÓÏéçôsú¹¾ñññ‡""jµZ=z4æææbË–-Åû�7ýœ~N?§Ÿ«ÕjqjæX¼ër^̦g�ÇÿYÌÌžˆk¯¹*ügÿGñ.°¨©ú‰86sª´ýOÙû7ýîôsú9ýœ~N?§Ÿ«Õjï\³¦ÑhD½^ïø¼šôsú9ýœ~®Ù�ŸŸ/ÞÄEâßþÏñ‰Ïüë¸ó÷\ô-Áá\æççKÝÿ”½Ó_œ~N?§ŸÓÏéçôsÍnoDD u|^Mú9ýœ~N?×ìööºžúÅê›O¯ã"ÆŸúÄ�Ëz(èíí-uÿSöþMqú9ýœ~N?§ŸÓÏ5»®Y³ ú9ýœ~®ì¾kÖ\¼ž{á'ñÚëÇ""âÖŒu½h/tãš59ýœ~N?§ŸÓÏéçÖ{ß»A—ïtãÝ €ªq^@…ÖTˆa @…ÖTˆa @…ÖTˆa @…ÖTˆa @…ÖTˆa @…ÖTˆa @…ÖTˆa @…ÖTˆa @…ÖTHǰ¦Ñh´¹êôsú9ýœ~n~~¾¸±û‡²÷oú9ýœ~N?§ŸÓÏéçúÆÇÇŠˆ¨Õjqôèј››‹-[¶ïwÞôsú9ýœ~®V«Å©™cñ®ËŠ7ÄTýD›9UÚþ§ìý›~wú9ýœ~N?§ŸÓÏÕjµwެi4Q¯×;>¯&ýœ~N?§ŸkvËþ—s`ýšŸŸ/uÿSöþMqú9ýœ~N?§ŸÓÏ5»½ýýý144Ôñy5éçôsú9ý\³ÛÛë]Àâz{{KÝÿ”½Ó_œ~N?§ŸÓÏéçôsÍnÏììlë¼€F£±êߨ�~N?§ŸÓÏõÍü46œ˜*.ÄÛ›¶Æé�÷—WMÙû7ýœ~N?§ŸÓÏéçôsÀ‹ÕeÇ'ã²Ù׊ËqêŠkãÔæ‘â2Àã¼€ 1¬¨Ã€ 1¬¨Ã€ 1¬¨Ã€ 1¬¨Ã€ 1¬¨Ã€ 1¬¨Ã€ 1¬¨Ã€ 1¬¨Ã€ 1¬¨�ŽaM£ÑhÿrÕéçôsú9ýÜüü|q b öeïßôsú9ýœ~N?§ŸÓÏõ���?Q«ÕâèÑ£177[¶l)Þï¼éçôsú9ý\­V‹S3Çâ]—/oˆ©ú‰86sª´ýOÙû7ýîôsú9ýœ~N?§Ÿ«ÕjïYÓh4¢^¯w|^Mú9ýœ~N?×ì–ý/çÀú5??_êþ§ìý›þâôsú9ýœ~N?§Ÿkv{#"úûûchh¨ãójÒÏéçôsú¹f··×%º€Åõöö–ºÿ){ÿ¦¿8ýœ~N?§ŸÓÏéçšÝžÙÙÙÖy�FcÕ¿Q;ýœ~N?§Ÿë›ùil81U\ˆ·7m�Óï).¯š²÷oú9ýœ~N?§ŸÓÏéç:†5«ËŽOÆe³¯—âÔׯ©Í#Åe€ ÆybXP!†5bXP!†5bXP!†5bXP!†5bXP!†5bXP!†5bXP!†5bXP!†5bXP!ÚF£ÑþåªÓÏéçôsú¹ùùùâ@ÄìÊÞ¿éçôsú9ýœ~N?§Ÿë("¢V«ÅÑ£Gcnn.¶lÙR¼ßyÓÏéçôsú¹Z­§fŽÅ»._(ÞSõqlæTiûŸ²÷oúÝéçôsú9ýœ~N?W«ÕÞ9²¦ÑhD½^ïø¼šôsú9ýœ~®Ù-û_Î�õk~~¾ÔýOÙû7ýÅéçôsú9ýœ~N?×ìöFDô÷÷ÇÐÐPÇçÕ¤ŸÓÏéçôsÍno¯Kt‹ëíí-uÿSöþMqú9ýœ~N?§ŸÓÏ5»=³³³­ó�ƪ£vú9ýœ~N?×7óÓØpbª¸ ooÚ§ÞS\^5eïßôsú9ýœ~N?§ŸÓÏu k.V—ŸŒËf_+.Ä©+®�S›GŠËŒó*İ B k*İ B k*İ B k*İ B k*İ B k*İ B k*İ B k*İ B k*İ B:†5�F£ýËU§ŸÓÏéçôsóóóÅ%€ˆ5Ø?”½ÓÏéçôsú9ýœ~N?×7>>þPDD­V‹£G�ÆÜÜ\lÙ²¥x¿ó¦ŸÓÏéçôsµZ-NÍ‹w]¾P¼ ¦ê'âØÌ©Òö?eïßô»ÓÏéçôsú9ýœ~®V«½sdM£Ñˆz½Þñy5éçôsú9ý\³[ö¿œë×üü|©ûŸ²÷oú‹ÓÏéçôsú9ýœ~®Ùí�ˆèïï�¡¡¡ŽÏ«I?§ŸÓÏéçšÝÞ^—è×ÛÛ[êþ§ìý›þâôsú9ýœ~N?§Ÿkv{fgg[ç4�UÿFíôsú9ýœ~®oæ§±áÄTq ÞÞ´5N¼§¸¼jÊÞ¿éçôsú9ýœ~N?§ŸëÖ\¬.;>—;V\ˆSW\§6�—.çTˆa @…ÖTˆa @…ÖTˆa @…ÖTˆa @…ÖTˆa @…ÖTˆa @…Ö—„…ž¾â@„ýPA†5À%a¾ocq ""æû7—.(Ãà’°pÙþõ8ËBO_Ì_6X\¸  k€KÂBO_46_S\.q§7 —.8Ãà’ÑØôîX軼¸ \¢ú.�S›GŠËœa pÉXèé‹·ßõkN‡b¡§÷�ýA߆âM\ǰ¦Ñh´¹êôsú9ýœ~®ÙŸïßoÝค-ô]oÝóý›#ÖpÿSýœ~N?§ŸÓÏéçôs}ãããEDÔjµ8zôhÌÍÍÅ–-[Š÷;oú9ýœ~N?Wì/ô^§/Šž…ÓÑsúí艅âC€‹ÐBOo4®Øsƒ£­#jŠû‡Õ¦ŸÓÏéçôsú9ýœ~n-ú=³³³ �F#^zé¥h4Ñßß7ÝtSô÷÷ï¿bú9ýœ~N?·”~ï©éèm�ž…ùŽõ¥˜ŸŸ�7Þx#æç磷·7®¾úêèí]½3Lõsú9ýw,ôôÆ|ÿæXèßÜqäRöçC?§ŸÓÏéçôsú9ýÜZõûÆÇÇêíí�¹¹¹˜››‹¡¡¡.Þÿ¼èçôsú9ýÜRú }bþ²�˜¿lpÙ —¿+ŽÍœŠcÓ§¢oó¯ÄàÕ¿zÖ}ÎçC?ÿÐÏ?ô›ïIÓÓ9èYÊþá|èçôsú9ýœ~N?§Ÿ[«~Ïììlëøÿæd¨,ú9ýœ~N?§ŸÓÏéçôsú9ýœ~N?§ŸÓÏéçÊîw k¸°–â7¥1¬¨Ã€ 1¬¨Ã€ 1¬¨Ã€ 1¬¨Ã€ 1¬¨Ã€ 1¬¨Ã€ 1¬¨Ã€ 1¬¨Ã€ 1¬¨�ÿ¡}v�v<IEND®B`‚alainm23-planify-69962f8/docs/image8.png000066400000000000000000001561631517337276100177170ustar00rootroot00000000000000‰PNG  IHDR' øbï5sRGB®Îé?]tEXtmxfile%3Cmxfile%20host%3D%22app.diagrams.net%22%20agent%3D%22Mozilla%2F5.0%20(Windows%20NT%2010.0%3B%20Win64%3B%20x64)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F133.0.0.0%20Safari%2F537.36%22%20version%3D%2226.0.15%22%20scale%3D%221%22%20border%3D%220%22%3E%0A%20%20%3Cdiagram%20name%3D%22Page-1%22%20id%3D%22UfHQk0D8fi5ehtbW8tuV%22%3E%0A%20%20%20%20%3CmxGraphModel%20dx%3D%221313%22%20dy%3D%22653%22%20grid%3D%221%22%20gridSize%3D%2210%22%20guides%3D%221%22%20tooltips%3D%221%22%20connect%3D%221%22%20arrows%3D%221%22%20fold%3D%221%22%20page%3D%221%22%20pageScale%3D%221%22%20pageWidth%3D%22850%22%20pageHeight%3D%221100%22%20math%3D%220%22%20shadow%3D%220%22%3E%0A%20%20%20%20%20%20%3Croot%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%220%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%221%22%20parent%3D%220%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-9%22%20style%3D%22edgeStyle%3DorthogonalEdgeStyle%3Bcurved%3D1%3Brounded%3D0%3BorthogonalLoop%3D1%3BjettySize%3Dauto%3Bhtml%3D1%3BexitX%3D0.5%3BexitY%3D1%3BexitDx%3D0%3BexitDy%3D0%3BentryX%3D0.5%3BentryY%3D0%3BentryDx%3D0%3BentryDy%3D0%3B%22%20edge%3D%221%22%20parent%3D%221%22%20source%3D%22aPgKyl5dASliad1Hv4nE-1%22%20target%3D%22aPgKyl5dASliad1Hv4nE-8%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20relative%3D%221%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-10%22%20style%3D%22edgeStyle%3DorthogonalEdgeStyle%3Bcurved%3D1%3Brounded%3D0%3BorthogonalLoop%3D1%3BjettySize%3Dauto%3Bhtml%3D1%3BexitX%3D0.5%3BexitY%3D1%3BexitDx%3D0%3BexitDy%3D0%3BentryX%3D0.5%3BentryY%3D0%3BentryDx%3D0%3BentryDy%3D0%3B%22%20edge%3D%221%22%20parent%3D%221%22%20source%3D%22aPgKyl5dASliad1Hv4nE-1%22%20target%3D%22aPgKyl5dASliad1Hv4nE-7%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20relative%3D%221%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-1%22%20value%3D%22%26lt%3Bdiv%26gt%3BRequest%20periodic%20sync%26lt%3B%2Fdiv%26gt%3B(MainWindow.vala%3A196)%22%20style%3D%22rounded%3D0%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20x%3D%22360%22%20y%3D%22240%22%20width%3D%22120%22%20height%3D%2260%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-5%22%20style%3D%22edgeStyle%3DorthogonalEdgeStyle%3Bcurved%3D1%3Brounded%3D0%3BorthogonalLoop%3D1%3BjettySize%3Dauto%3Bhtml%3D1%3BexitX%3D0.5%3BexitY%3D1%3BexitDx%3D0%3BexitDy%3D0%3BentryX%3D0.5%3BentryY%3D0%3BentryDx%3D0%3BentryDy%3D0%3B%22%20edge%3D%221%22%20parent%3D%221%22%20source%3D%22aPgKyl5dASliad1Hv4nE-2%22%20target%3D%22aPgKyl5dASliad1Hv4nE-1%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20relative%3D%221%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-2%22%20value%3D%22User%20launches%20app%22%20style%3D%22rounded%3D0%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20x%3D%22360%22%20y%3D%22150%22%20width%3D%22120%22%20height%3D%2260%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-11%22%20style%3D%22edgeStyle%3DorthogonalEdgeStyle%3Bcurved%3D1%3Brounded%3D0%3BorthogonalLoop%3D1%3BjettySize%3Dauto%3Bhtml%3D1%3BexitX%3D0%3BexitY%3D0.5%3BexitDx%3D0%3BexitDy%3D0%3BentryX%3D0%3BentryY%3D0.5%3BentryDx%3D0%3BentryDy%3D0%3B%22%20edge%3D%221%22%20parent%3D%221%22%20source%3D%22aPgKyl5dASliad1Hv4nE-6%22%20target%3D%22aPgKyl5dASliad1Hv4nE-1%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20relative%3D%221%22%20as%3D%22geometry%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3CArray%20as%3D%22points%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3CmxPoint%20x%3D%22230%22%20y%3D%22640%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3CmxPoint%20x%3D%22230%22%20y%3D%22270%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2FArray%3E%0A%20%20%20%20%20%20%20%20%20%20%3C%2FmxGeometry%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-36%22%20style%3D%22edgeStyle%3DorthogonalEdgeStyle%3Bcurved%3D1%3Brounded%3D0%3BorthogonalLoop%3D1%3BjettySize%3Dauto%3Bhtml%3D1%3BexitX%3D1%3BexitY%3D0.5%3BexitDx%3D0%3BexitDy%3D0%3BentryX%3D0.5%3BentryY%3D1%3BentryDx%3D0%3BentryDy%3D0%3B%22%20edge%3D%221%22%20parent%3D%221%22%20source%3D%22aPgKyl5dASliad1Hv4nE-6%22%20target%3D%22aPgKyl5dASliad1Hv4nE-12%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20relative%3D%221%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-37%22%20value%3D%22Sync%20complete%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%22aPgKyl5dASliad1Hv4nE-36%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20x%3D%220.7556%22%20y%3D%224%22%20relative%3D%221%22%20as%3D%22geometry%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3CmxPoint%20as%3D%22offset%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%3C%2FmxGeometry%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-6%22%20value%3D%22Wait%2015%20minutes%22%20style%3D%22rounded%3D0%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20x%3D%22340%22%20y%3D%22610%22%20width%3D%22120%22%20height%3D%2260%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-23%22%20style%3D%22edgeStyle%3DorthogonalEdgeStyle%3Bcurved%3D1%3Brounded%3D0%3BorthogonalLoop%3D1%3BjettySize%3Dauto%3Bhtml%3D1%3BexitX%3D0.5%3BexitY%3D1%3BexitDx%3D0%3BexitDy%3D0%3BentryX%3D0.5%3BentryY%3D0%3BentryDx%3D0%3BentryDy%3D0%3B%22%20edge%3D%221%22%20parent%3D%221%22%20source%3D%22aPgKyl5dASliad1Hv4nE-7%22%20target%3D%22aPgKyl5dASliad1Hv4nE-22%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20relative%3D%221%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-28%22%20style%3D%22edgeStyle%3DorthogonalEdgeStyle%3Bcurved%3D1%3Brounded%3D0%3BorthogonalLoop%3D1%3BjettySize%3Dauto%3Bhtml%3D1%3BexitX%3D0.5%3BexitY%3D1%3BexitDx%3D0%3BexitDy%3D0%3BentryX%3D0%3BentryY%3D0.5%3BentryDx%3D0%3BentryDy%3D0%3B%22%20edge%3D%221%22%20parent%3D%221%22%20source%3D%22aPgKyl5dASliad1Hv4nE-7%22%20target%3D%22aPgKyl5dASliad1Hv4nE-12%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20relative%3D%221%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-32%22%20value%3D%22Sync%20start%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%22aPgKyl5dASliad1Hv4nE-28%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20x%3D%22-0.6378%22%20y%3D%2212%22%20relative%3D%221%22%20as%3D%22geometry%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3CmxPoint%20x%3D%2220%22%20as%3D%22offset%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%3C%2FmxGeometry%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-7%22%20value%3D%22Begin%20CalDAV%20sync%26lt%3Bdiv%26gt%3B(Source.vala%3A144)%26lt%3B%2Fdiv%26gt%3B%22%20style%3D%22rounded%3D0%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20x%3D%22425%22%20y%3D%22340%22%20width%3D%22120%22%20height%3D%2260%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-19%22%20style%3D%22edgeStyle%3DorthogonalEdgeStyle%3Bcurved%3D1%3Brounded%3D0%3BorthogonalLoop%3D1%3BjettySize%3Dauto%3Bhtml%3D1%3BexitX%3D0.5%3BexitY%3D1%3BexitDx%3D0%3BexitDy%3D0%3BentryX%3D0.5%3BentryY%3D0%3BentryDx%3D0%3BentryDy%3D0%3B%22%20edge%3D%221%22%20parent%3D%221%22%20source%3D%22aPgKyl5dASliad1Hv4nE-8%22%20target%3D%22aPgKyl5dASliad1Hv4nE-18%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20relative%3D%221%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-26%22%20style%3D%22edgeStyle%3DorthogonalEdgeStyle%3Bcurved%3D1%3Brounded%3D0%3BorthogonalLoop%3D1%3BjettySize%3Dauto%3Bhtml%3D1%3BexitX%3D0.5%3BexitY%3D1%3BexitDx%3D0%3BexitDy%3D0%3BentryX%3D0%3BentryY%3D0.5%3BentryDx%3D0%3BentryDy%3D0%3B%22%20edge%3D%221%22%20parent%3D%221%22%20source%3D%22aPgKyl5dASliad1Hv4nE-8%22%20target%3D%22aPgKyl5dASliad1Hv4nE-12%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20relative%3D%221%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-31%22%20value%3D%22Sync%20start%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%22aPgKyl5dASliad1Hv4nE-26%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20x%3D%22-0.2743%22%20y%3D%226%22%20relative%3D%221%22%20as%3D%22geometry%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3CmxPoint%20as%3D%22offset%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%3C%2FmxGeometry%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-8%22%20value%3D%22Begin%20Todoist%20sync%26lt%3Bdiv%26gt%3B(Source.vala%3A144)%26lt%3B%2Fdiv%26gt%3B%22%20style%3D%22rounded%3D0%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20x%3D%22290%22%20y%3D%22340%22%20width%3D%22120%22%20height%3D%2260%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-13%22%20style%3D%22edgeStyle%3DorthogonalEdgeStyle%3Bcurved%3D1%3Brounded%3D0%3BorthogonalLoop%3D1%3BjettySize%3Dauto%3Bhtml%3D1%3BexitX%3D0.5%3BexitY%3D0%3BexitDx%3D0%3BexitDy%3D0%3BentryX%3D1%3BentryY%3D0.5%3BentryDx%3D0%3BentryDy%3D0%3B%22%20edge%3D%221%22%20parent%3D%221%22%20source%3D%22aPgKyl5dASliad1Hv4nE-12%22%20target%3D%22aPgKyl5dASliad1Hv4nE-1%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20relative%3D%221%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-14%22%20value%3D%22Start%20(SyncButton.vala%3A73)%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%22aPgKyl5dASliad1Hv4nE-13%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20x%3D%22-0.4059%22%20y%3D%2247%22%20relative%3D%221%22%20as%3D%22geometry%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3CmxPoint%20as%3D%22offset%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%3C%2FmxGeometry%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-12%22%20value%3D%22Update%20SyncButton.vala%22%20style%3D%22rounded%3D0%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20x%3D%22660%22%20y%3D%22390%22%20width%3D%22120%22%20height%3D%2260%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-29%22%20style%3D%22edgeStyle%3DorthogonalEdgeStyle%3Bcurved%3D1%3Brounded%3D0%3BorthogonalLoop%3D1%3BjettySize%3Dauto%3Bhtml%3D1%3BexitX%3D1%3BexitY%3D0.25%3BexitDx%3D0%3BexitDy%3D0%3BentryX%3D0%3BentryY%3D0.75%3BentryDx%3D0%3BentryDy%3D0%3B%22%20edge%3D%221%22%20parent%3D%221%22%20source%3D%22aPgKyl5dASliad1Hv4nE-18%22%20target%3D%22aPgKyl5dASliad1Hv4nE-12%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20relative%3D%221%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-30%22%20value%3D%22Sync%20fail%22%20style%3D%22edgeLabel%3Bhtml%3D1%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3Bresizable%3D0%3Bpoints%3D%5B%5D%3B%22%20vertex%3D%221%22%20connectable%3D%220%22%20parent%3D%22aPgKyl5dASliad1Hv4nE-29%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20x%3D%220.1923%22%20y%3D%22-1%22%20relative%3D%221%22%20as%3D%22geometry%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3CmxPoint%20as%3D%22offset%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%3C%2FmxGeometry%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-34%22%20style%3D%22edgeStyle%3DorthogonalEdgeStyle%3Bcurved%3D1%3Brounded%3D0%3BorthogonalLoop%3D1%3BjettySize%3Dauto%3Bhtml%3D1%3BexitX%3D0.5%3BexitY%3D1%3BexitDx%3D0%3BexitDy%3D0%3BentryX%3D0.5%3BentryY%3D0%3BentryDx%3D0%3BentryDy%3D0%3B%22%20edge%3D%221%22%20parent%3D%221%22%20source%3D%22aPgKyl5dASliad1Hv4nE-18%22%20target%3D%22aPgKyl5dASliad1Hv4nE-33%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20relative%3D%221%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-18%22%20value%3D%22Authenticate%2C%20get%20session%20token%22%20style%3D%22rounded%3D0%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20x%3D%22290%22%20y%3D%22430%22%20width%3D%22120%22%20height%3D%2260%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-38%22%20style%3D%22edgeStyle%3DorthogonalEdgeStyle%3Bcurved%3D1%3Brounded%3D0%3BorthogonalLoop%3D1%3BjettySize%3Dauto%3Bhtml%3D1%3BexitX%3D0.5%3BexitY%3D1%3BexitDx%3D0%3BexitDy%3D0%3BentryX%3D0.5%3BentryY%3D0%3BentryDx%3D0%3BentryDy%3D0%3B%22%20edge%3D%221%22%20parent%3D%221%22%20source%3D%22aPgKyl5dASliad1Hv4nE-22%22%20target%3D%22aPgKyl5dASliad1Hv4nE-6%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20relative%3D%221%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-22%22%20value%3D%22login%2C%20get%20XML%22%20style%3D%22rounded%3D0%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20x%3D%22425%22%20y%3D%22470%22%20width%3D%22120%22%20height%3D%2260%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-35%22%20style%3D%22edgeStyle%3DorthogonalEdgeStyle%3Bcurved%3D1%3Brounded%3D0%3BorthogonalLoop%3D1%3BjettySize%3Dauto%3Bhtml%3D1%3BexitX%3D0.5%3BexitY%3D1%3BexitDx%3D0%3BexitDy%3D0%3BentryX%3D0.5%3BentryY%3D0%3BentryDx%3D0%3BentryDy%3D0%3B%22%20edge%3D%221%22%20parent%3D%221%22%20source%3D%22aPgKyl5dASliad1Hv4nE-33%22%20target%3D%22aPgKyl5dASliad1Hv4nE-6%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20relative%3D%221%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%20%20%3CmxCell%20id%3D%22aPgKyl5dASliad1Hv4nE-33%22%20value%3D%22Fetch%2C%20merge%20calendar%2Ftasks%22%20style%3D%22rounded%3D0%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3CmxGeometry%20x%3D%22290%22%20y%3D%22520%22%20width%3D%22120%22%20height%3D%2260%22%20as%3D%22geometry%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%3C%2FmxCell%3E%0A%20%20%20%20%20%20%3C%2Froot%3E%0A%20%20%20%20%3C%2FmxGraphModel%3E%0A%20%20%3C%2Fdiagram%3E%0A%3C%2Fmxfile%3E%0A›È¾ IDATx^ì} ÜUSúÿzE’®D å^r !L‘K$cøO¡ SƒŠHRQHfb¢r+SDåÉ0’tQ¡(~EnI¤rI.!tþŸïjž3ëÝísÞ}ξœ½×þ®ÏgÎyÏ»÷Zëù>kïõÝÏzÖó”e2™ŒbI=eee©ÇÀvx«Û®aÊGìA ŒäÄeú‘ä„“—ã}-õoý°wD€”G€ä„#B#ÀÉËî�@ýÚ­_JGlC€äÄ6�)'¯"�KÈeÔoBÅn"°å…™Ë: ´œØ?HNì×1%$6!@rb“6}ÈÂÉËx ¸”úM€’ØE"@²�œp0l1¡Ñ!Öê‘@ýZ­^ G¬C€äÄ:•''¯âpKÊUÔoR4Å~" _˜ésÂ�@ˉýc€äÄ~SB"`$'6iÓ‡,œ¼|€—€K©ß(‰]$D ‹É ƒF€“—Ý�úµ[¿”Ž؆ɉm-RN^E—�˨߄(ŠÝ$D`Ë 3}N8h9± �œØ¯cJHlB€äÄ&mú�…“—ðp)õ›%±‹D€d 9á`ØbBcœ«Gõkµz)°’ëTZœ@œ¼ŠÃ-)WQ¿IÑûIˆ€~a¦Ï -'ö�’ûuL ‰€M�œØ¤M²pòò^.¥~ $v‘�,$' N^vê×nýR:"`$'¶i´Hy8y \B.£~¢(v“�-/Ìô9áH åÄþ1@rb¿Ž)!° ’›´éCN^>ÀKÀ¥Ôo”Ä."�E€ä„ƒa‹ �qN¬ Ô¯Õê¥pDÀ:HN¬Siqqò*·¤\Eý&ESì' ú…™>'´œØ?HNì×1%$6!@rb“6}Èâuòúâ‹/Ô1Ç£FŽ©Î8ãŒl‹Ã† SË–-SãÇ�÷Ñ ÷KŸ}öY5|øp5mÚ4U­ZµÀëwVøÃ?¨öíÛ«>}ú”“1ô†ClÀ«~Cì«&D€xF€äÄ3TvŸèuò"9Iæ8ðªßdJÇ^"`$'¶i´Hy¼N^^ȉXfÍš¥{sÛm·©~ýúéï°‚tèÐAoݺµ¶† ÀR±~ýzõöÛo«©S§–³X˜–“ï¿ÿ^[n>ýôS}]—.]´µfÑ¢Eªk×®êùçŸWõêÕÓ툵eæÌ™jÀ€úü%K–¨ªU«ªÙ³g«fÍšéß.¸àõÐCéïh»M›6º?-Z´PwÞy§Ú¸qc9ÐV«V­ôï 4P ,Ðmæ“ÛT‹‰�´ +”ô¹V­Zê™gžÉÖ]½zõ¼ýñ¢r¯úõRÏ!D€„�ÉIØ'¤~¯“—rb.ñàüsÏ=WMœ8Q­^½Z�uÖYjÊ”)ªQ£FzÂmذ¡5jTö»Û²�LÚ“'OV;vTíÚµÓd$AêÌùÈ ‘I<Ð.Ú2û*ç‰'žPݺuÓšy¹éÔ©“&4õë×/·¬b³råJ}ä�¥-Sn)fŸAŽÐ>•´ƒ~ ™CÝ(‚ÏŠ+42q‚UÑ0óªßŠêáÿ‰ Q @rÊ hÃëäU(91E7'bøŽä"N¸rùœ / *cÇŽÕ—ä#'—]vYÖÂ!„D&}§o‰X@„™í€˜u™X_ õ»qZxÜê²$ý�¬ .Mš4ÉZ¤*b^õ[Q=ü? D HN¢@9mx�¼¼�™<Í¥,[€\{íµåÐÀ²ÈŒ3´¥"—ªs—e!T$K4‘Ó¡VÈ ,nνN‡X'91Û7û+†s‰ÈtÁÍsð›,oÁBcöÓiÉ1ñ!9IÀMÅ."P4$'ECg×…^ÉI®�,²á\–1'ö—^zÉÕ²PÑî!'cÆŒQ'žxbv§P>ˉs¹Ä�œTd92à$'^v™×˜K/�Å´Žä³œÈ¹BÞÄrâ´ìx‰^õë¥.žCˆ’“°NHý…L^¦Ÿ–gÄAtÒ¤IÚ‘Õ|«Ïås"Vøkˆ/IE–'9Œ=Z/Á*$K-¹|NLr"Ž®f?Å7FpÄÿ„DÉyË—/ÏúÚÐç$!7»Iˆ@A�œ—½'BN€‚siÂÜa#K?²£ÆüŸ¹SEvºÈ$]9§SYêß¿¿š;wn–DȲ–zz÷î­ÿW9qî°1�fÝÈ È€¹[ÇÜù“On9f{¸¤éÞ{ïÕN± .,·«È¹› N¼Î¥2¯#²Pýz­—ç"@Â@€ä$ TX''¯Ò+-—ãoEË^^zNýzA‰ç"HN⢉÷ƒ“W‰ðß0nþ,$'¥× {@ˆ@´�œD‹wl[#9‰­jéõŒ¬„�ˆ 9‰è¸7ÃÉ+îò×?ê×~¼š�h 9‰ïضÆÉ+¶ª ¤cÔo 0²"@"B€ä$" ãÞ '¯¸kÈ_ÿ¨_øñj"@¢E€ä$Z¼cÛ'¯Øª&�ŽQ¿�ÀÈJˆˆ’“ˆ€Ž{3œ¼â®!ý£~ýáÇ«‰ˆ’“hñŽmkœ¼b«š@:Fý#+!D "HN":îÍpòŠ»†üõ�úõ‡¯&D ZHN¢Å;¶­qòŠ­jéõŒ¬„�ˆ 9‰è¸7ÃÉ+îò×?ê×~¼š�h 9‰ïضÆÉ+¶ª ¤cÔo 0²"@"B€ä$" ãÞ '¯¸kÈ_ÿ¨_øñj"@¢E€ä$Z¼cÛ'¯Øª&�ŽQ¿�ÀÈJˆˆ’“ˆ€Ž{3œ¼â®!ý£~ýáÇ«‰ˆ’“hñŽmkœ¼b«š@:Fý#+!D "HN":îÍpòŠ»†üõ�úõ‡¯&D ZHN¢Å;¶­qòŠ­jéõŒ¬„�ˆ 9‰è¸7ÃÉ+îò×?ê×~¼š�h 9‰ïضÆÉ+¶ª ¤cÔo 0²"@"B€ä$" ãÞ '¯¸kÈ_ÿ¨_øñj"@¢E€ä$Z¼cÛ'¯Øª&�ŽQ¿�ÀÈJˆˆ’“ˆ€Ž{3œ¼â®!ý£~ýáÇ«‰ˆ’“hñŽmkœ¼b«š@:Fý#+!D "HN":îÍpòŠ»†üõ�úõ‡¯&D ZHN¢Å;¶­aòb±�L&c·€”Žk 9±F•¤hI(-žKˆˆ’“hñfk1A€ä$&Š`7ˆ .�œpX¤’“Tª�B"�HN¢(v3XHN‚Å“µ"@‚D€ä$H4YWb 9IŒªØQ"@RˆÉI •N‘•"9á( D€Ä’“øê†= ’“ÁeÕD€Ÿ�œø�—'’“dê�½&D �œ¤CÏ”Ò�É ‡ D ¾�œÄW7ìYˆ�œ„.«&D€øD€äÄ'€¼<™�œ$Soì5 é@€ä$z¦”\Öá D€$’“ĨŠ ZN‚D“u"@‚E€ä$XäåÉD€ä$™zc¯‰H$'éÐ3¥t @rÂ!Aˆˆ/$'ñÕ {"$'!‚˪‰ > 9ñ /O&$'ÉÔ{Mˆ@: 9I‡ž)%—u8ˆ ‰A€ä$1ªbGý 0|øpÕ¿5lØ0uÅW(±œŒ1B]sÍ5êÖ[oU}úôñÓ¯%D€�€ 9 HVo¾ÿþ{U§NU©R%U¹reµaÃU³fMµiÓ&µyófõå—_ªêÕ«Ç[öŽ"�HNR¢hŠ©TïÞ½ÕØ±cˆŠYn¼ñF5hÐ BDˆ 1A€ä$&Š`7ÂG¤¤nݺ꧟~Ê6V¥JµnÝ:ZM‡Ÿ-"@<#@râ*žhNë ­&6h•2"`$'¶i”òäEÀ´žì°ÃjíÚµ´špÌ"@b†ÉIÌÂî„�¬'£F�Ò»wèk>Þl�"P($'…"Æó�¬'—]v™9r$­&‰×& DÀFHNlÔj2!î‹Ýd2»¤tD€XƒÉ‰5ªô'ùûÃ/îWS¿q×ûGˆ€‰É ǃF€“—Ý�úµ[¿”Ž؆ɉm-RN^E—�˨߄(ŠÝ$D`Ë s† Ñ ´œX?HN¬W1$V!@rb•:‹†“WñØ%áJê7 Zb‰HN8¶˜ÐÊÊ�höê×^ÝR2"`#$'6jµ™8yZ‚.¡~¤,v•úœp lA€“—Ý#�úµ[¿”Ž؆-'¶i´Hy8y \B.£~¢(v“�-/ÌܭÑ@ˉýc€äÄ~SB"`$'6iÓ‡,œ¼|€—€K©ß(‰]$D ‹É ÃwëX=¨_«ÕKሀu�œX§ÒââäUnI¹ŠúMЦØO"@ô 3}N8h9± �œØ¯cJHlB€äÄ&mú�…“—ðp)õ›%±‹D€d 9á`Ðpò²{ P¿vë—ÒÛ 9±M£EÊÃÉ«Hàrõ›E±›D€lya¦Ï G‚XNV¯^­Ž9æõé§Ÿ–¥uëÖjÚ´iªZµj±ë‚ .PMš4Qýúõ ¼??üðƒjß¾½êÓ§�:ãŒ3<×?lØ0õüóϫɓ'«Ž;|½ç†Š<‘ä¤Hàx %A€ä¤$°Ç¯QL^BNFŽ™�˜e²n×®](d $Â$'Åô×9‰‰3e!9)V³¼Ž�R @rR ÔcØf.r"ï²eËÔøñãuÏŸ}öYÕ¡CýÝ´ª|ñÅYËË™gž©¾ýö[mA¨_¿¾êÚµ«¶,Ô«WO_?|øð¬5&W}æï 4P ,P=ô�ºöÚkuÛ·Ýv[9´hÑ"ÝNË–-VÕªUÕìÙ³U³fÍröÿ€¥dýúõêí·ßV�=ö˜5jTÖò�:[µj¥6nܨ¤�ÁÄíœtÒIZ^§åÄÄÄy½ 79.\X#ôcÈ�!ê¾ûîÓ–™† j,Pºté’ÕM®öHNbxÓ±KD€äD€ä„ƒC#àÕr‚Iò¬³ÎRS¦LQ�5Ò;&JX4Pð]&Ü©S§æ%'Ë—/w­ÄÖš±cÇjrË –rrYN„HœsÎ9º¦5#W; "¦ æ²Î‘G©ÉV�=²í®\¹R“*ÔÒ2iÒ$Õ¦M]ŠINäwY"BL’‡óA&Üäápû½gÏžÙ¶Ð�™3gªN�:i&úpk�ä„7: IB€ä$IÚ ±¯&9qúœ˜oæÎå ±‚Œ3F�xâ‰Úb_ s’Ïg99€EE–CÌú@2„œ˜¢ç#'Bœ@h̉ÿ¥—^rmGÈ„,[åë·Ḭæ´þào“œ8åvSŸ“œ8å 9�;wV Èé¯y=®5-Tf]$'!Þ<¬š�À 9 ÒdVèf91'cY9‘e‘ËÏ<óŒºð ³d¢râV–p@dIÅ\>ÊGNÌÉÙINÜÚ™1c†êÖ­[vÇì7ä»ì²Ëôr–r !;°^8¯Ï52Ì¥#SNµ'žxBõêÕK/éL˜0AWa:ìš}^fIN’y/²×D€p·ÇÀȵ¬22zôèìí¶4�*Ä×Á‹åÄ´¾Àrâ\êpSŠÙ®WˉI®`9qkǹ;'jˉSVSN`zî¹çªC9Dí±ÇziÉÙ_ZNx "`#´œØ¨Õ"d*ÆçÖñÀ?„|‡/œfÅçÄÍ?C|7Ì¥©–‚Ë/¿<ëD[ˆÏÉÀ�õDžËçÄì·Ó�Õ«ÏÉ÷߯ýQ@ÆrùœˆÏŠ6·=âÄ+ΦœP#ð€õD{ó‘,#IŸ°´f¶W½zu•Édм„"=$'Ñc^’áqñÅ+LRn%ßn,/ˆÓ%&v·Ý%Xö�‰sÖ¬YªiÓ¦º� ™(±¬‚�-½{÷VsçÎuÝ­cîh1—�Ìåù=×n�Zµj)ô!×îôKþ<Ìeçäïe·êëß¿¿ú¿ÿû¿ìnqJÍw½è!—œø¿sgS>rÝäj/ŸÏ ˆÖý÷߯—¶Xˆ q@€ä$Zˆ UªTÑ­tïÞ] Rï¾û®Ž@úÁ(ü½bÅ ½ f×]wU»ï¾»Ž¸ºÛn»é¿ëÔ©£vÞyg«Þ€a‘½L ˜80¡ì´ÓNYË ÄÆÄ€]-W]u-'1Aw'Ÿåãâ믿ÖM‚ ‚ÄÊ'¾ã¹•7|éÅw|ʱiÓ&…¤X>…$ãó§Ÿ~Ò¤Ÿ IæR-–µpÀºƒcc[Œu÷rÔ®][á€<øÄ}!߃Ɠõ".$'áâ›·v8pâxë­·Ô’%Ktn—]vÙExà�:è öÝw_µ÷Þ{«½öÚK¿•[Äç“‚IJd÷NÐ>'Åö“×…ƒ€›Ï v;aL�`\}õÕꦛn §ñjQË >±<‰¥(ù„åÐ<`MáÂÂ/î1 ÷8êÖ­›=@úã’};ØXH,$'©HĪÀÚyóæé f ØþyÄGè­·‡z¨~ £À¬Žrýõ×kK‰sK1&/Ä$AA|3d=~“ kø.SÝúée—ŽÛ9f.l=FÁoˆxŠm®°ðH,/ø8ƒÂy¹&Œsœ[� iÃm÷Q®$‰¨×m1ôŒÐ÷ˆàë\¶ÇX8ÃbÙ$×rO!}Žã¹ _XþÄñå—_f,‹âX»v­>°TŠ„ [ãqÀJ‰K†'GeeŸˆ€-�œ„¨I��éÓ§+„HÇwÄêhÑ¢…úÃþ ƒeÁDUÉçD&ú¨:ì°Ã²vsE£õÒfÒɉ ¼í ”ß�lÎL´è”×Ä×! Ȉ›U€qNÊ�(Xc€'ÒÈ_/ø|É2³çž{êx9H|),œ8`íÄR*  Å!@rRn®Wá ÖlýÄÄñÉ'Ÿ¬â!ЍŸe™»Y®*X1Ì7kyÓÇ:>òÔˆ!Æ"Þ*ÍàapftfÆ•Äw ÔiZð;úpê©§ª{ï½7KŠÐ&ß™ ô.\¨à¡`)LÚ…Ê "_‰ÎêfU@ÎÌ¿’„ÿ3ƒ³áo7B%!ñM‹F.9%ª¬$Vë”3ùŸ½¡4ñpZaLË p�³+²1»±Œ‰>ÃOi©÷:ô(|Â>ùä“ìññÇk‚²Ï>ûè¥Yûí·_öÀ¸e!D 7$'ŒŽ§žzJ=ùä“jÊ”)ªeË–zR;ýôÓõƒ)ŠÙ_&@XxV­Z¥';Éñ‚¢ ˜À1šIæä-¹rdR©@Øz 'o†ºÇD�]B'NÔáû< }Юâ€ÿKB?´+añ%l<ÞZÑO³~3|¾„‘ïÑ£‡^r†Ü¤�pùï¼óN¹>¡ b(NBeÊi†à7ÃÆ£f¶bÉ&ì–TÑ9VœË:näDÚEî ¼ÕƒüaÂtFÇ•Ý:¹ÈKÜÇiÒú+$ 8µãøðõ“;Œ),ë· GãÆ�õ�%#"@˜ø¯è1€e,CÀÄ~øá‡«³Ï>[ýéOÒvI*’ùV¶Ëxã�7ª+¯¼2KD$;®™õ×”S–œäÄœ´sMî¨GÞú%·LÛ¶m³™x±sÉ$'&)rkDÃk?Iˆ~ÃA¥yóæúÓi‰0 …I˜„¼¦œBNœ�Ԝַ1ã$'ÎeÈŽ5°XAù.¹ƒP§��“3Ïø`}À ËBÒ„-'h;]|ðAýÀÇäwþùçë7þ$XHr‰)“»“œÀb€P÷°bÜu×]úA  $ArÒ ‡�,S8ɉIfœoþBDp=ê—å�X3„8—/`‰�É^úba&½3É ê7 �3“/,G b°~aK5R`i‘bÖ‰sÌ,ǰÆC)’ È$'bÍ‘sÌ%)/äç˜Ki XJ€% m›ýgbñW!9)àF/á©pÚ•±µtéR�¯ –„á0�Îó8@ZXˆ€­�œxÐ,Þhî»ï>½ì€ ô /T§œrЇ+ãJ.Ë & ,Ì™3G�;V #d“¡øgàM<—å$9éñ�"HÞøA� þ-°`o/äÄ$E…XN`R‡ð±Ç«ûæì“©E‘¿Ér�“¸YNÆŒ£}�Ħˉs4å³Ð�œÄÿÞ+¤‡XbE¨ðµZ¼x±^¾ƒÕ»ýpàþy©¨ˆó´ø>™K€Åä§Ê縎úÆ�§î¾ûîìŽ?·v+ê³—ÿ;ý¾p�sס[=¦/YP¹¬¼ôWÎñò,0ës¾á’ÕüŸüfê �~•ú\’“<xõÕWõdòâ‹/ê\4Èê ÿ›J.Ÿ�yÓ+€¹¼b’qô<þøã ²œˆ/ fe¹Ö �¹á°dâ…œÀšåôõß”|>' Vð5�Ï üXÐ>ˆŠÛˆÛ.“ˆE ý aéq’sI“Š[q[ÖqZ®Ä‡Å|À�pÁF|qP7}Nlºk·È‚ûîÍ7ßÔq’$f&þ£Ž:JG}´>@>œ“þ–%?§¯–ieô‚š¹kÌ<_îeL’¸��ç™í±Ôè$ä^&}±†â>Â}�ûFî)/²qŽ—~æjGžßxV™VZ<«�~pb�¢ÏQÔArâ‚ò+¯¼¢s�À¬Š‰ ƒ6Ž;m‚ ¹vë`bÒ!ޤæd‰¶±Œ"ΗH*ÿ›É“'«Ž;*8Ïš»lðpr‹ùáö`3IZ^ɉs·Ž¹ãÈm·ŽéèêtîÅ�Œ%'A�6̉ßlK5æ.8ðÊ2ȬB(ýû÷×1o€È“¹kHôêök.ë8ß M…PÊCŸ»u‚¸[â_Ó½ñÆúxíµ×Ô믿®Óà^…uð¯ýkÎ Ø´¨˜K´²t+c ãVSøÍ€Ì É‘�x‚îw,Qá>2I€¹TŠs�ã\¬¸Í�yæ˜6­$rä#'Ø.÷¸¼@àÞCÿpOâ¾ñ‡…G–[ñü2ŸqX"•kqÿË2®Sn§<æó s‰\'+``:ÿc�Ä2­X~6_˜òÅ”röA,ÒÐ]D0Š;�äÄ@yþüùÙå \$ÅKC1㜤AÞ´ÉXQœ“´á‘6yßÿ}…glMÏGbÍ “Êþûﯗdd…óõèÑ£³ñwrYN$€l_ÏÕ®¼ 9wé�PtêÔI;| Q€%[,¡ø.;öð¼F�µÔ,fè7r"×;-'N+Š yù’—ç‹Úv’ÁýŽX‚3Ï1_NðBˆ¿A Ü^æLÙdIÞ¹O–v„ØHŸ®A–Ï“p�œ(¥·öÝrË-zÇX4qÚ ß¬íÔ¸Ó2f§””ªXd"Ëe}pZeg˜éoæFNLÂá¶lél×m—–)Ü…Ó"kZjœŽïâ$�s !'ÀôfŠ%NúݺuË.ýä""ê‘� b©5ýB@žœ–Ó|äÑÔ³“ü™ÿs³Tå;¿Øñæu©&'H^6hÐ m-£DhwdZMcan»µNýÚ­_?Ò9—Me7c ™(^âü’ô×lV,[`–N°ôãæËå¶\œ‹œàws‰(Jr"¾ þóŸÕþó½ô%¤qŸÄ2ã\Ö…3>Ü °„d. ;—bÄ_ÏŒÃän>>âÄïg¼DumjÉ b”Üpà Nœˆéát‹Jqi‡“W\4N?¨ßppMZ­âW"~dBÄŸÁ´V˜“#~—%/äDˆ�L†µ+Žé°Ì \¬-¹È‰Û²¬èGy9 IDATðQÉe9�µEDÑ7øuÀG®ØeqšÍe9Ë–áçáÜu2&}0‰Ÿ„mp‹t’·%ó7g:‹Š,YqÇ©#'ˆÔÅÑK9'�tRõyŸ8yEy¤ R¿‘ÂëÆÌetÔ¹•“&H…ij1uàl+N¤Î0Xwsˆ5ækýpNô¹È‰Lôâ8jÆrúœÈr•¹<…1( d’£ ý19�ïùbÝÈ HŠ8ü:tÝöá¤l.!�´ˆ pš—t!bY‡XY6r:»m%vP:ÄÆðö„'vß¾}õR–pXþ‡'/»Gõk·~ã(�s+qE},EŒ‘ŠúdËÿAf¸•8†ÚÄ–·+®¸Býøã�z‹°0çvµd]âäU2è#i˜ú�f6â@ ׎ó4±(à9-� dp˜±P’b5�ôÖ/ë`O9Ö!av¤µ$÷€çäÜà Ž5Q¿qÔ ûDˆ@.¬&'ðˆFèuìÉG–]’“´Ž’“´j¾4rc‡ rU=þøã:Z-3âHÒ›{i�c«‚€•䉲þö·¿é56äÄIëöàB†9'¯BÐJÞ¹ÔoòtfK�á`ŠàeO?ý´ŽùqÞyç©SO=Õñ(GHXGN{ì1¢yèС:ô<‹78yyÃ)©gQ¿IÕœ=ýFÆeÄåxä‘GÔ×_­±;UöÞ{o{„¤$�!`9¹õÖ[uxfdÁ<á„) qò²[ËÔ¯ÝúMštÈýóðÃë<3ˆ5‚LïØ®ÌB¬[ÖAÆ`ä�À€ßsÏ=©áàäU ` ;�úM˜ÂRÒ]DéÆË$ŽuëÖéä{¿ÓN;¥Š™ �Ä[N° ‘ 1˜%Û#Õ]8œ¼ Ç,IWP¿IÒV:û:oÞ<5vìXê>ƒH¼zØa‡¥ J�ì­Äˆ\øÿþßÿSˆxûí·S�>àäå¼\Jý&@Iì¢F`íÚµz#ìôéÞ½»:å”SˆNÊH¬ådéÒ¥:Wœ_ÄÅœ¼üá÷«©ß¸kˆýsCà�С °ñª°™%$’œ !ÕÿøGT ¬Xü#ÀÉË?†q®�ú�³vØ·ŠÀvd¤ùî»ït´o8вØ�@âÈÉk¯½¦“5!)¬&,Á ÀÉ+ãZ õWͰ_… €„ƒwÞy§BÖÝ«®ºJ]tÑE…\Îs„@¢È ¶Ÿ�vÚijøðáz~dåµD@#€´ìmÛ¶U¯¼ò bDÀ"FŒ¡n¾ùf½«gРAj—]v±Hºt‰{r‚Iä˜cŽÑŽ…�â'À˜;sâ7Nß#äcÂ2Î’%KÔ!‡’•K< Ãpž«T©Râå¤D€xCàÅ_T½zõR'�t’ÎÛÃ/bCN°å ȳÏ>/„Ø›Ä#°zõj+æÜ®]»n%’GbMzܸq‰—•"à�_~ùEg;^´h‘ºçž{TóæÍ½_Ì3CE äÉœ�ÀéÍ7ßTõë×U`Vž.>þøcuöÙg«sÎ9Gõïß?§ðÈÙ„%$c!D ]<øàƒêÒK/Õ÷Ïž=Ó%|L¥-99A ìÃ;L'q:묳b »•DàìŠÌÕ½{÷ÖV“|eÓ¦Mz«a½zõT,D€¤ „®¸øâ‹µkvŒ²”�’“DèDˆáüã¥E‚­[ƒ²ï"N–iF�­þô§?y– §Å‹«»îºK;g³"�.�¿ ‰fÿõ¯©Æ�§KøI[Rr‚ÉcäÈ‘Úׄ…�BÓ:TGƒDÀ¥bû�3F'™ÄR#–‚vÚi§ ºÆ:ˆHØÅ3xð`5~üxv€%zJFN>ÿüsm>ƒl‹-¢—œ-Zƒ^ñAšŒ)$ˆ<þøã}ɇmíC† ÑæÝË/¿\›{÷Ûo?_uòb"@’ƒÀ¿ÿýo…Tˆ‹„gK´”Œœœ{î¹jÿý÷×ì”…ŠÀÊ•+©ŸyæIøüóÏ×–Ž ½í?úè#¬ &Þ£Ž:J;ÖâMª‹L¡2ò|"@J‹À»ï¾«Î;ï<Ezذa¥íLÊZ/ 9™0a‚~Ã圔�¶"Åýõ×_už%ìæzíµ×4ùöÛoõãôÓOWˆ�S¹rå"k÷vüX{ì1þoTX‹nݺµ:öØcÕ‘G©öÜsOoñ,"@…²#((|#n :ÕENN~øáý`GŽø°Ø�ÀæÍ›Žm·ÝV ‹‰»c~þùgõã�?*Üü _ýµZ»v­úâ‹/ÔªU«Ô'Ÿ|¢>üðCý‰åìê!(ujƒW^yE“¤×_]“¦Ÿ~úI�kX÷Úk/µÇ{¨ÝvÛM?Ð�h°F�jÇwTUªTQÛm·�Æ™‘ËÊÊüÍþ[€Z€À…^¨¾ùæõÄO„þ2d\¾Eˆœœ "&'Fäó­»È+€ˆˆü<Ö¬Y£ðHÅúõëÕ† È'&k8‚Õ“0È ô.“1,˜¨«V­ªªW¯®<Âñ“9¶óbroذ¡ÚgŸ}Ôû X,_¾\!® –œàS¢…tíÀ[æè „ ˜üþûïZÛl³�– xl¿ýöj‡vÐYS“�wÞYc¢ƒ@ 4P{ï½·Æ……�h¸òÊ+õn>äãÂKKxDJNæÌ™£þüç?«÷ß_?|Yâ‹Â¹cÙ áÞÿïÿþO½÷Þ{šp`RÄ òQ·n]U§N}£‚`@¯°`’Åd‹I0Kn@Ú@X@\€1ˆ¬I 7ëÖ­ÓÖ¤Ï>ûL“CøÁàMš4QM›6ÕV$øÚ”ÚšD�4 €|/½ô’š:uª~þ±„ƒ@¤ä¤M›6Úq±[·náHÃZ‹FÖøR 12Cƒp  ²øzè¡ê ƒÒoð,ñ@$~8 ‘XZzõÕW5¡AžñÃ9d!D x°‘ädÚ´iÚªÉ<‘‘“±cÇê,�/¿ürðR°Æ¢xôÑGµ^@HàXÚ®];Õ¶m[¾�hé.‚ §Ýyóæém�ûÛß´u……�`@¨ìÄËK°DBNàs€åìÒiÕªU°°¶¢ÀöXä‘À B¼ck7‹=ÀçÁää°}ûöjÀ€ôS±G½”$& 4H/ñ Ã1–³Y‚C r‚ 6pD¬–Ò"0þ|uõÕWkß�믿^µlÙ²´bë¡"Ç[¼á!FÈ(’›±"ˆ& ß<äòb �ÐÉ œø°»•ûî»op=gM#€h§È¸‰Ôà]»v-øz^�\à›‚%X.ï¸ãŽä ž�"€|<ðùš4iR {—Ì.…NN.»ì2mîbt½Ò�Q£FéI {ô?üðÒv†­—ɼ çf&Ú,‰ بÅ z4¶û#i(‹B%'Ë–-Ó™]±¤Ã=áþ•Ul XÅn ÃöS–ô"€]>¸'±´×¹sçôAɉ@ÀÀ·Q£;tè úõëpíé«.Tr‚\'Xʹá†Ò‡lŒ$FTÕ¾}ûêÌ,D;æ°¬·bÅ ‚Aˆ@€ üø†®_YŠG 4r!lIÅöFDe) �?þ¸ö1áîÒà×VÏ<óLuÖYg)„äf!D 8fΜ©N;í4…ÍH¹ÁR¡‘<ô5j¤®»îºâzÆ«A5O<ñD:À‚¦=•`[?â¡À‰…�`@¨l@@¢RÉ)l ö× 9Yºt©Þ€X ´šD;ˆ`NDxe8 _qÅzYí…^ÐÑ_±åíÖ[oU}úô‰¶Sl-˜cãŒ3ÎЉ7a†1bÇF,4ÄNØ„6ƒ ÏCh§ÕPÈ ¶Uí¾ûîjàÀ�ÅõŠW�2ü"Z¡$“ÃßH$‡Ü-H¾‡D}ÌkT4¼‰¾Ðml`,`ÇF¢UËÎÇ�ãŽ;N;ž÷èÑ#¦=Œo·''Ø™ƒå$*ã�Ò(¾wïÞ é0™ÁðÑ�%½pl¤W÷”ø@í±Ç±íg:9AÐ5„ªÇöá¸L@|@Å]KÅ÷Ï�~ý\[|�yeTP¿Q!Ívò!€eö5kÖèp,¹„œ`û0‚~ :4öXó{ùê ýú¹ÖW§yq$P¿‘ÀÌF*@1¹)$I�Å�@È bjÀ×±q/|@Å]CþúçG¿~®õ×k^Ôo(³ / ïòZýç?ÿñrz*ÏñMN&Mš¤Æ�§ó·$¡ð•-ßG?úõsmñ=æ•Q!@ýF…4Ûñ‚ÀQG¥®¿þz�œek|“xÃù’Pø€J‚–Šï£ýú¹¶øóʨ ~£BšíxA–$ãœ?¾—ÓSwŽ/r‚<:M›6UëׯWIÙéÀ”ÝcÜ�~ý\k7ªvHGýÚ¡G›¤hÙ²¥ºüòË"Ȳ”GÀ96l˜Z±b…º÷Þ{ƒ+P‰QUQõ£_?×ÕY^)Ôo¤p³1 >òÐÍ›7ÏÃÙé:Å99âˆ#BÖüñ‰A�¨Ä¨ª¨ŽúѯŸk‹ê,/Šê7R¸Ù˜G÷dÀ€ .,ÿC hr²páBuÞyç©÷ß?Qxò•(uÜY?úõsmÁå‘#@ýF9ô€BÚcc òî°@N®½öZÛä–[nIž|@%J]wÖ�~ý\[pGyAäP¿‘CÎ="°×^{é­ÅGy¤Ç+ì?­hËÉþûï¯&Ož¬°´“¤ÂT’´Ux_ýè×ϵ…÷”WD�õ5âlÏ+xÉ_µjU¢ü7½ÊVìyE‘“W_}UõèÑC-Y²¤ØvKvP%ƒ>’†ýè×ϵ‘ÇF|!@ýú‚�‡ˆÂÙ7hÐ@}õÕWªF�!¶”œª‹"'W_}µªZµªºé¦›’#é{ÊTâTVP‡ýè×ϵu’'—ê·$°³Q�œþùêØc�Õ™äY”*ŠœpÀzIçðÃO†|@%NeuØ�~ý\[P'yrI ~K;õˆ¢¬ã…ŸAÙ¶V09yã�7Ô\ –-[æòx�ÆT¼ôtoüè×ϵAËÁú‚G€ú SÖ,HÇØ$¾ø‹DädРAêçŸVÀ–ÄÂTµæ½Ï~ôëçZï=䙥B€ú-òl×+×]w�>uèС^/±ö¼‚-'Øê„ÀkIMõÌ”µcy‹)°¬Le2™¢„ôsmQ ò¢H ~#…›��À¢E‹Ô¹çž›¸øaEˆZá%‘“�?þXwÜq žÅI-^P_|ñ…:æ˜cÔ§Ÿ~šNÀ³gÏVÍš5+Z|,‰5iÒDõë×ÏS8ÿ¡‡Úê\xv/X°@Õ«W/o=?üðƒjß¾½j×®]Þ6qStíÚUÊU'¬eXÎCР¸¯úuëEׯeLHߟ}öYÕ¡C‡¬(·Ýv›§q%c°K—.[�qT6uêÔ­¢UÊ8jذaVÿ/Ó¦MSÕªUËö#×ï¥3é·ÔýcûD|ðÁj̘1úÞLs)ˆœŒ5J!2ì¿þõ¯Äbæõ%ÑÈ‘#³êR>tÝúãE ^ɉ—ºHN¶Ö8Œ “N�:eÉr!zv’S�TXE±Ò §�ö�AeâĉšÀâ\¤{Ÿ2eJ–°Ò/c.Ès¼ÞûA¶Éºˆ@¡ôïß__’´§…ÊYÑù‘¼¥a»SÇŽ+ª7¶ÿ÷ú€r#Në‚<È7nܨ÷¨›– L䈢 kËI'�¤jÖ¬©ß8ebhÛ¶­¶TÔªUKÍš5KãåöÆ*@æê&·öÅ€Ñ(0ÂZ#“‡³MS¶Õ«Wë õе¿É[:Þ¸�Öó-^°‘Å„&oÖhcÈ�!ê¾ûîÓcoáb2ë4-^-D‚“Wýº Њ®�˘ÈEœãSÆ d5­~ùÈ Îu#á¸æœsÎÑÎzbùsë‡a¬K=F*ÒolZìXª@@Ä[¼xqªäv 뙜üþûïjÇwÔK:˜P“Z¼> rYNdYÃù<¼W®\©'âåË—gß(ëׯ¯ß¶‘ÑIN@¨Iƒy½i"ÏEN¤} bçõ°p�=Z“%!níÌœ93ûö�v@–0ùtëÖMõéÓG¿9cBÁoè{.Ë ú‚e£±cÇê7hq–ápû½gÏžz© x™ýhÔ¨‘þŸ´_¨µÆ«~ƒ"'fÿ¢ù€I/A3ÆŠ9eYÇ´œà'É�\ ·°˜`<�`N˜0A/å8‰LœÇˆŸ±‘Ôçû�L0oÌ™3Ga÷NZ‹gr‚=ØXÓ~å•W�•×”›�ù�IÛ|ø›tXLß ó�mZNL“¸˜Í�ë÷¹È‰›Gê»ë®»ÊùµH›B dâ7ß|Å’ã$'¦²½N<æ5òÆÝ¦MÕ¹sg�}SˆøÁ˜äFHR>ß—|Ы~ý�Ó©c‹�S>·1蕜˜cFô"jö¥zõê別Ù'�-Åñ36ýÐcç‡À…^¨_j/½ôÒÄõ=¨{&'}ûöÕ“n¸!¨¶KR�×T.¾s™CÓ9È�¼¥â391P %'Nr$ÿ»ï¾[Ó6Ÿß¹Ì$™1ÅØœ|óY1Ì%®Ö­[g—rdbëÕ«Wö�˜˜Ösâ®&é+t�xÕ¯râôшzLx±œ8—ï ¯,�U´¬ã[nNÙâ|+í€ð¢äÓ]©ÇˆŸ±Qè8äùDÀxÁÅ‹êc�=æ§šD_뙜 ( – ^7ÉÅëÊ�œ8Ħ?…‰‰sƒœ„e9qZ,LÒ„å"/»uœKX8ä�CÔ{ìQÎïE,8I³œ˜ä¤c"—ω¹ü‚‡›¹“¦ˉ¹Tc.QÊ.5çØ“%#Ü^w¢•bŒx½÷“ü|cßí@Iq¿­[·Î�Š�Â9ÁÛ,¶7}óÍ7E4¯K¼> *²œˆ/‰LTxØš~ò6�ÏçÄ�å$ŸÏ |8ä ¶PŸ“qãÆ)˜Åċω›#&´.Û¥1ya¹H¶a›:üZLr↫ÛvÕ\£Ê«~ðœD9&ríÖ‘­¾&Áøþûï]ýžÜ–uœ»uÜœc�÷†8ºæÛj‡1âglÄë)ÆÞ¤�©�¤¯(7ŸÈnî¨1ÍÔγì”À²v¹|÷Ýw®»uÄRQè²ú’o·�˜â¥}§Õ"ßn첑�9NŸ üî¶[ÇÜb.ë ŸNÙò‘ñcȵ ©¢ñçU¿~ȉésRÊ1áŒs’oÇ"OâAS1|�`á¨(ÎI¾mÁ¦·�Ÿ½÷Þ{«˜'N‹"v°¡”bŒø�;þŸ�^^ô´{÷îAW�ˆú<‘“K.¹D[N.¿üòD•¯“Q? â÷!*exÎO¿üè×ϵ…ô™cbk´¢#Qé·�±Às‰@.ˆmîܹ Öì4Oä¤qãÆ: ± æ¥(PùÞhÓ4Èd†Ì¹v!�‡ýú¹¶"98&ÜŠrŒ„©ßŠôÏÿ�BX²d‰:ï¼óÔÒ¥K ½ÔŠó+$'0auÔQjíÚµvì#÷ŠX.„Ÿ Èϵ–Ãj…xÔ¯jL•p@l±5j¤Jn[!9Aà%83Úào¢&9±z�ûѯŸk­Õá¨_K™"1�Ëþ|-[¶L‘Ô[D­�œ`×¢ÔõîÝÛ pø€²B�9…ð£_?×Ú�ªÒQ¿vè1MRÀß¶R!99âˆ#Ô=÷Ü£š7on6|@Y¡F’»ÕŠt¼÷C�••†ˆz"ÖbL¥­ä%'6lP»í¶›úé§Ÿ¬ÁÅÏJB±#6‡¹�à8·F&°Š¶3ç“)_Hõ|•Íh§ko†F/C?úõs­96ÌmÕ�A¢©#O\®Iû؈‹Ø�t!0}útýü˜1cFº¯hYç?ÿù�A½l)ÅN@f02·´ò%îK~ÅN@‚G�:uÊef™%æŠ3ë²ìÔxã�7²Ú$s±$–+·bõ‹vнÖ¨N‚ñÕ«WO˜C*IÐX¨ ÄÃóáìÓTò’ø› ”9BŸÛRŠ™¼rM–¦o�¾ÞiK Ö »uë¦r%¼3IC.§Õ&×y&¡€îÌ<>¦.; 9qLË—î^êrëðAqËá"Ö'YÂù~–vŠÑ¯râ66œ��YšÍ„‘]Ê‘mè"ŽcÖçåH§œrŠºêª«>ÓTr’“�>úHá­ß¶µ®b&/g–a·b’gFX™¸/&9q&tK?ï\’A_Ü®™–d6³ ‹ˆÈ!“§INð]òëäjÃi-2ûo Y"ˉÓÇ$eI#'^Ɔ¹Ôã\âáØØ’”0îc#M“e�x®"Þ >ÓTr’“Ç{L/1<õÔSVáQ 9q¾‹E@²î Óº€LÀ^ÞŽóY7òYN̺ó)G&NœsÎ9çèå"§åÅÍr‚œ'žxbvÂ(Ærâܱ"ý„ HœYL‚•TˉÓÿDäËg�Êe9áØøßèˆÃذê!Ha…À 7Ü ªT©¢ð™¦’“œ ‹éŽ;îh Å�çdéæƒ�ÉXvi€œˆÿˆ›Ï‰™ÖNdzgÏÖcδ<8·ßÊ·“8˜íšŽ¨b�@?Ì]4&9©^½ºö�AÁRŽXNÜÚ�~ŠÓªó& b+±Ô�dŸ§eD,X¢óŠ|N86þ7²Üî³R��4M ”5^ÀªˆX'wß}w¼:ror’¬oõêÕK�~úé!w!Úê‹!'noÄÎ8' 4(·�ÖmGFµjÕÊÅGÁ²Íœ9sÔØ±c·"'&¹Ø¸q£2ë7Ûv¾UšÇ91¢NÓך»là_$V8ïJzûþýûëì˜t%o IDATð•A ïvíÚé>›D%Hr’äÝ:ÀØi5’�N¦%E–ÌLS¯[ï€~¥Ñ>¥ØøØ ‡X¬d¤©ä$'uëÖUo½õ–‚âM¥rùý¼±Ù„_زøYÒAߊկŸk96Â[ê/åØˆFB¶B¶F�Øn¿ýv…Ï4Wr'X8©ay¶âgòòóÖfŽaÈ“Ëg£�¶üè×ϵ…h©ðsK=6 ï1¯ Á ‹v÷îÝ‚U¦©¸’ø`�ë…^° ?�u`X(�ýú¹ÖB(­‰úµN¥©èý÷ß×›àw’¦âJNvýúõÚ”d[áÊ6�–—Ç�~ý\k7ªvHGýÚ¡Ç´I�Œ£Ž:J}þùç©Ý•œœþùêÔSOUùË_¬ƒ(ëTZN ?úõs­Ý¨Ú!õk‡Ó& ûúæ›oR%º+9iÚ´©7nœ:üðíƒ(ëTJrb·J“Ž÷~`P²¢@~»�wÞYa×fšÊVä$“ɨí¶ÛNQ¹reë°àÊ:•’œØ­ÒÀ¤ã½”¬(B~ûí7�ôï×_�°ÕÒ7µ9Yºt©:ûì³Õ{ï½WúÞ…Ð> B5FUúѯŸkc»’ê—C#‰À`P©R%µyóæ$v¿è>oENž|òI5aÂôÅÆÂ”�ZýŸL~ôëçZ»QµC:ê×=B è’Ån¶"'·Ür‹Ž"Š;6> lÔ*ɉÝZ F:ÞûÁà‡Z¨Ë8h!¼>@¿[‘ìÐiÛ¶­mcá ¶Q«$'vk5éxïƒcj¡.ã …ðúàJNš7o®FŒ¡#ÄÚX8¨mÔ*ɉÝZ F:ÞûÁà‡Z¨Ë8h!¼>¸’“Úµk«�>úHí´ÓNáµ\š9¨K~MûѯŸk#�MøD€úõ `Œ.§.c¤Œº²9Y³f�:ôÐCÕºuëBh.UrPÇCaõÂ�~ý\–<¬78¨ßà°,uMÔe©5nû[‘“¹sçªk®¹FÍ›7/Ü–KX;u Á� i?úõsm¢± ŸP¿>ŒÑåÔeŒ”BW¶"'ãÇ�W3fÌP=ôPÍÅ£Jêxè!¬^øÑ¯ŸkÃ’‡õ‡õ–¥®‰º,µÂm+r2hÐ ½üÆo ·åÖÎA]Bð#hÚ�~ý\�hlÂ'Ô¯Oct9u#e„Е­È ¶ŸtÒIªK—.!4�*9¨ã¡‡°záG¿~® KÖÔopX–º&ê²Ô·ý­ÈI‹-tðµ–-[†Ûr k‡Ð,v#€pÏÅŽ�bPKÖ5ÅŽ�dIioINìÖñVäd�=öP ,Pød±(ùå—_VmÚ´±C J°Ï>ûV'+"Q @rÊ¥k£9ùå—_TõêÕÕ¦M›J×#¶8Pr£F�ÔìÙ³Õ®»îxý¬0¹ˆ|ÍXˆ@’ 9I’¶ ïk9ròÁ¨víÚ©?ü°ðšxEl€’±T÷ÏþSÝÿýªC‡±í+;-•+WV³fͲ6"t´ˆ²µ¨ 9‰ éÒ´SŽœ` 1’þa €Åä&~úé§ÕM7ݤ—ì®»î:uÜqÇÙ#$%) Œ „¸úê«Õ3Ïûl9ëvö�àDU¾øâ má;v¬jÖ¬™§f‹¹ÆSÅ<©d�œ” úH.GN† ¢àwróÍ7GÒ8‰�\71,)O<ñ„zòÉ'ÕñǯþøÇ?êI§^½zÑtŒ­”sl,\¸P]{íµ »Y`aÃÎ=gÁ$�„ #GŽTgœq†’¿Ahúõë‰<‹-Rg�u–š2eŠgrRÌ5‘ÃFŠF€ä¤hèqa9rrÉ%—¨Ã?\]z饉è<;é �Šn⯿þZ½øâ‹ú˜>}ºvŠ>á„ôî�–:uêxkˆg%·±«ÚðáÃÕþûï¯.¿üruÊ)§dåÊ7Éã]»vUÏ?ÿ¼&¸°È5iÒD Ðu,Y²DµnÝZM›6MU«VMŸ#Ѩ§N�ª �Y† ¦  ®›Í›7×ÇQG¥�í·ßžÀZ€@¾±ñÀ襓ï¾ûNeìܹ³žäMÂpÛm·e-&?üðƒ>D¤~ýúÙ¥—Õ«W«N�:éÝbø],/€ï²Ë.Ódç˜Äÿ3—b°Û ϧ>}úè:Är‚ï8ïˆ#ŽPh_Î9òÈ#u;bÑ¡åÄ‚Áê¡ÐçZ)È5bmÄrªÜ/ù¬ÛÅÔ] l*j³9Á >fÌ}£³Øƒ€ß›øí·ßÖoŸo½õ–>/^¬vÙeÕ´iS�Áú�CQ|°Þ®Ì’,¼Œ ø¡=öØcz ÐÌV.K:Ÿ~ú©«ˆ JÛ¶m–‰'L˜ fΜ™}¨Â*'bÙ²e G>±¬˜Ö·¾Ó#äD–ŸHN’5.½ôÖËØõRO˜ç�œ�n9r²Ûn»é‰Ÿ,ö ôM §Ú¥K—ê‰EŽwß}W½÷Þ{j¿ýöÓ$Ç ,à —%~266oÞ¬¶Ùf›­„!’�‡1H È*ˆÞ Í7¾BÉ ‹–r`©ñË þߪU+5pà@…å§å„ä$~c.¨2vƒj³Ðz*"'2fáßuç�wª�7ê1.\�ñ�ßa½Ä‹,�°œ˜̪U«jËäK/½”]•zLv“ä*KÔçgÉ &Ä;À'‹]Duÿøã�:FŽy úèǬ>ûì3…tï½÷Îðhذ¡ö ˆ#!Nî”BÇ0‘%Ù)#Öy ÂOÊ|P;¬æ"'¸ËÌe§“+,3çž{®š8qb9'9‘å , áA>iÒ$Eˉ]Ï07i »¥@Ä+9Y±bEvyÓ\²4—&arçus‰ÿC�Ò\Ö1Û—¥QŸþy±uñº˜"‡›~ +W®ÌX À±jÕªì±ûî»kŸ9ð·°¼àÀB%-»RŠætáÜJ 2‡ZqzÍENàÛ–ËEtìöÖ÷ý÷ßk]§ƒl­ZµÔ±Ç«ûä¶«×H¿¢Gl#<Š»áõƽf¯äÎÛBî…\€„›~XN‡s³EÓzi’üuó^4ïͨñ(¤½,9�à_|±Â'‹]$á&þé§Ÿ41ÆÛ¯y€$ȱfͽÕV–ºuëf?ñBóË'|bvÚi§¢™–])aŒ [òŠ<¼0»AwÜ+9�£·lD1w¹™Ö“œÈò(–:¥ÈK‚“œÈn79Ov´Å=dD–œüûßÿÖ± ðÉbI¸‰½"þí·ßªµk×jÇLçñå—_*9¾úê+ýoÒØ �cç�wÎ~â;ùÄwb�Iî” džø†ˆ‰:î?¯cŽçÅ� ÇnXºÿ“ûÖñ9ˉù¿|–l¿7-"ù,'9�‡%»ßz³ä„ÑaýBßë“p‡�Þ¯¿þªÃEŽo¾ùFǧy¬_¿^áÀoøÄœ?¥Ø¼+%­c#ŒñÆ:£E cWȆéçaúm‰�ÃÒËòå˳ÎÞò?!.¦Ï‰INd™1©òùœÀÿ u`y= K›Yrrûí·+¼mâ“Å.’pÇ ñŸþÙ5œ¿�»R’26ਿ89œK€²ô‡è¶Î%?,÷É�å>bMsÛ}§±˜æ¾ Zõ}÷Ý—3buRÆ®¹Û ú”�5 &yq FhîÖÁÏ;ï¼£ÄQàS¿=,Ó WÁA:F�¥wì¸íÖIÊ’äË’$þ ŒO»HÊM'ÔmØ•‚¸$x"‡R®[ ÇÿG°=ò½R¥JqR‰§¾Àò…e?séϹ܇—0°¢!˜ sY¯víÚzyK‚øŽO9jÖ¬©ä`>*O*)ú$<·Pµü¹çžÛФØð\32øiù¡’%']t‘Þ†‡O»°á&.…F’¾+é`q€³1X„œß±5ñ°ÃÓÿ“ÿãŽÇbAÂ$ŒIÜù‰ßrK ÿÃwù[¾Wô¹ÝvÛékÌOçwü-X±ãÃmy¾Mæ±aÃeXúCì‰5jèŠr ,?¾ãÇŽ;î˜ýÄw9@�‡�HZt”úÓŸþ¤ó'Éó $–‰™dÃs�ä$÷�›%'`mØ­CöVìc.¾×ÙpÇ]v¥äðÙ’‚ÏŠŽM›6eÏÁwù[¾çûD[òùŽOçwùÍüIÙvÛm5‘1¿Ëoæ'¾{9`5’óä»ù)V%�¿ß~û-{ _øÛìŸS.ü-rS'.ø >O wNb'¿9ÿ¹ñ›8ù¿“ä á¬äÿ¹ð“ßsá!¿ƒLá»ø[ü¦'š²2ý›|—Ï|÷6ÎÇR�˜ùñ]H  Èÿâø|`Ÿü!�%'ÇwœúÇ?þ¡ðÉb$'ÁêÓ¦])IBÜ>ÍßL‘ë»I4ä»Û'~3—¿�Ÿ æoæßòŸæwœ�¿Ýúh¶ë¬ËYþÆÄíüÄonîù]¾»}Ê�”‹DEöÝw_…�Qµì„µyA KN7n¬žyææGñ‚ZÂÎIú”0¸Õ]Ž�D©+u�5-'"x ³Ø�@ïÞ½ÕØ±cˆŠYn¼ñF5hÐ ;„¤¾ 9ñ !+ �(âœ1AŒ3||�ÊÌä|€,_Š ÒT““•+Wf�²]Xì@¤Á¨` “‚­ ùN«‰:B ’“ Pd¥@ ˆ±k&¥”t Bà×2`À½n—sÎ9G‹‹ÿ¡,Y²¤\`5üfZI¦N�ª¯w’s1¶ý·oß>Û–’»ï¾[·ƒ:ØvŽD€ø Å-ÈšX}ðԇȴÜÍ™ ç8“tšVü_½á»\ï´œ˜!Ìs~Ç„¶œ¼ýöÛ™óÎ;OGŸc±§õ„V{t”$A<àƒê ë!… ÄØ•ÔÊ7{öl…¨­f1£BãÜsÏ=WGh]¸p¡‚eÄCˆ…„¨wF’–ÌÂ’€!æQÜù 2­%ð±A{XÂ%}“&MtcÓòcöQbANPfæÌ™ªS§N[Éè´ÊHßåz �oZyP§ÈÌä„NVˆ>�çjr2gΜ €›;w®ŸºxmÌ0­'™´šÄLI%îNø‹ÀæSŠ@�c7×Û?&å!C†¨ &è Q—A.œç¤nZ[D=n>'bUqcóJNœ–é׌3T·nÝ4©‰qK@ˆ~¹%!të»y½INœÉ=MbæwXjròÜsÏeÀ”"˜Å.`=�n±{‡¾&vé6i‚|ÀÑÖA¼"ÖØ5‰^æ:wVîºë.…%,Ñ8I�LÊXjÁRÈÈ‘#· hškYÇÌN\¨åíšÙ‰ÅrâV_.ëP¯^½²�Èë�Y²1É ð�…ËNRÜ–�¼êÔ"~|N¼�3k²,39É 0‘þ˜–“œàEV#lý6 X±Z×–“;î¸#³jÕ*uÇw[O¢® bP'Jà”u–úõ®pbå+ž-°L ß[.‹oPc×ç¤AƒYb‰Ý’óå#'æd�ëÍÝ:²sF�4—@Ì~ÀÚ=gÎíÛ¨Q#½tòÆoh²òÒK/)øˆzÙ­ãe™H,8&!“ßĉnðIE} Kâ‹ódGp»îºëô ŒX”üŒMNœA"*0£4” u°J¢ŒÔ¯w­+ïXñÌh@è”îÝ»ë¹ÉIR¢»Q‹Ýø·¦ÉÉ5×\“Ùi§�Ê­»Å¿ëÅ÷0ªA]|y¥¨_ïèÙ†•¹ë(x‰Àé­ògŠÃ óM[Î2߸—-[¦paî.¶¿I»é6ð&ލåxy†O„IR¢»¢c±~$ Ã$÷W““Ë.»,ÓLIi(Q ê4àW©_ïš± +§ÿ€[ôOïÈT|f!aăt¬¸gÑŸQl¶côÔÍ?L~Cr?‰\Ë ²5_rÉ%š¤Ô¨Qƒ‰ÿ¢Wud-jrrÑEeZ¶l©.ºè¢È.eC6=�K‰c\Û¦~½kÆ&¬Ü¢} &‘pn·4£h:ãNHdNg€.ÓBƒkPÌm—fp.¬Ó‹å>Èqå<`Àoøt;0)ãw|šßÿý÷ìoø]þƧó;þFn-ùŸ|7?ñ=×€ÿ¹}æ"'ÎßM2"ÄIN*rfG8CƒÿFEçz¿xfÜÐä¤S§N™3Ï6ÅçùÁLR"ޱ¶Ž]ïÙ}¦&''Ÿ|r7ÐÉ'Ÿl·´ÿ•ŽƒÚn5S¿Þõk VXÒ€…ÀYL�ïÇ{¬Þêˆü(ÝÒ/9‘1󘀔ÀRBrâ}º� Êõ×_¯-%¥Ú­ãO ^],šœ´jÕ*sóÍ7+ø�¤¡Øò@Nƒ®Š‘‘úõŽš-XÁR»vírÁ³€‰„‡5/a²ŒcÁÂR�i9q.ë˜ÉÍ]!>BNP·[ò5ZN¼�Gǫ́âœ×;^6šœ}ôѤa>úè£Ãn/õÛò@Ž˜1ìõë])6`§È_~ùE!.†3¹š¹•ØL+9A(î\þ+Nrb#²È?‚|VX5yòdÕ±cGMˆ¸•Øû˜ôz¦ c׫¬i…ÞêÐ!.iÔ¯wøã†rz¬^½Z!ÑŽO?ýTŸ|ò‰úøã�ÕÆ�Õ~ûí§8àÖϬƒ:H|ðÁzçI®"ΪaeóŽ:Ï �¸�Ý dbÿC@““}öÙ'3}útµÏ>û¤j»ÕLýzׯ¬wãÇÌX&Á�`ò‰Zæ�m¡°tȱ~ýz…µ¥zç�wÖG�:uô±Ë.»¨]wÝUuëÖÕ’±‰³¤wIy¦mø»¶aa£<šœì¹çž™yóæ©=öØÃF·’‰ƒÚn5G¥ß\A©Ì@U΀VËË +W0- Âåö)Aºrò’ _f°GyD!Æ|6ð;>ÍãçŸÖãê†o¶vÊ'ü,ð·|î¸ãŽú;|ÇùÄwì¼0�Ð ð‚@T÷¹—¾ðœàÐäd·ÝvË,^¼X¿•¤¡pPÛ­e· Îù›üíöiþ¦o�<‡£Â9f`*ç÷\­°!ÿ“@Yfp,ùÍütÕ’¿Í\ Ë¬K‚xÉ'¢BÃqS|¹ƒ•¿;ƒ‡¹mݵ{dQº8!Àçxœ´|_ôswç�wÎ,_¾\›SÓP8¨íÖ2õë]¿ÄÊ;V<3^pìÆKA÷F““š5kfV®\©jÖ¬tý±¬�ƒ:–j ¬SÔ¯w(‰•w¬xf¼àØ�—>‚î�&'ÕªUˬY³F¯ §¡5¨¤Û±Ž^Q1·2bGR üüìr@¤Ë±cÇê] ˆX‰ø ’ï£�úKµå2¨vƒÒo!˜%õ\b•Tͱß»v�MNªT©’�Ç<ÜÒP‚Ômx!’a³fÍ*„.*râ¥/ù:I¨Ç Aµ„~ í{RÏ'VIÕûͱk÷Ðä¤råÊlýƒ“\Jƒ!¥ ú£$ôrN°{̘1êÄOÔ14h î¿ÿ~�])FŽ©w6˜iÙÍ$b­[·ÖÖXDÌïf‚1Iïþ /¨d-'°ªsÌ1Ù¶,X ­5f¨iÞ�<òÈ­Î…•§U«V:Æú.×ç+f›è?¶ŽÂªâ$IÙÌúP—[‹�Aè·˜v“x ±J¢ÖØg àtr'*ö!P¶í¶Ûf°M0_#›Äöû@‘ëܹ³&õë×W’í~.rr§cYÊ‘ àÀ�š¤˜KD8דּÎRŒ'K4 $’H º@}HåÞ©S§lÖU·eÉõ!K<’νW¯^Ù6@𻤈7û)¤ KD^—²p HêP§Ÿ~ºzÿý÷ »0ág—Õ¯_?ƒoÅFäLšüaN^ÎŒ¼˜üQ0é›ÑeÍÉX%ß Îíܹ³Bp³\¿ã }/Ñ[Ípù $Hh†¤Ÿ9sf–L ß�YLˉD“ÍUŸì«7óãä’ m ”ÿÀ�³ò¯\¹² <=ÅŒ­0õ[Lâx�ÓzB«IµÄ>�-,Y²DÏ‹/N$e 6ÌÌž=[!LzJ˜“—“œžÎ„�¦ÎqK†ç i/u™–�JóZ‰Æ*Œ‘µÄ(W¿P§INÜÂè#ü¼Ô×¢E M.$ì~>¹�)ÙÌ”Kž Ç\˜ú º¯¥ª/Í™NK…9Û%Å"0þ|í¨>oÞ¼b«Häueûí·_“Í~ûí—H ítØ“—™ËF–E$¯ŽsÍP–RÜ–W —Ûï&9Á’ t'YƒåO<ñ„êÖ­›ÐÎ$�ù,'feäøqÖ‡>a™–©ù‚ÜäBÄ\É QwX%lý†Õï¨ë…õ6D¡LK–Ó¨1f{D ¦OŸ®£Â¾øâ‹AT—˜:Êš4i’Ádvà�&¦Ó~:åä…É~Ù²e $V 8":É�)K®]1æï°HȤ_‘å¤PrR‘åõ™í£ï¹äró�q³ùÑ¥ÛµQê7è¾GY3¬bÈXM_“(‘g[D 0¦L™¢~øaõÔSOvaÂÏ.;ì°Ã2ÿú׿Ôa‡–pQ¼u?ÌÉË9!çò91};@^pŒ?^;ÍŠÏÉK/½äú;¤ôêsR(9ñâs‹‰¹dúœ˜×›$þLIXÖIK~)owŠ�g!® H˜à78nܸ$uÛw_Ëš7ožA¦æÍ›û®, „IN ¿¹#Ë:XÆpîÖ‘%�B/d·Žr"ý-d·ŽéÃâÜ­#õ$ÑröØHÂýas©_›µk¯lwÝu—úðÃ>ÓTÊZµj•A†Cì¬HCáÊn-ûѯŸkíFÕé¨_;ô˜6)¬“þá3M¥ìä“OÎà ûä“ON…Ü|@Ù­f?úõs­Ý¨Ú!õk‡Ó&œ×±›Ÿi*e:tÈÀ‡AyÙ.<PvkØ�~ý\k7ªvHGýÚ¡Ç´I¿¾N8!++-ò—uìØ1ƒx;vL…Ì|@Ù­f?úõs­Ý¨Ú!õk‡Ó&j^zé¥ÙÀši‘¿ì /ÌÀqó /L…Ì|@Ù­f?úõs­Ý¨Ú!õk‡Ó&bIýóŸÿTøLS)ëÞ½{»wïž ¹ù€²[Í~ôëçZ»QµC:ê×=¦MŠ}öÙG!´>ÓTÊúö훩[·®êÛ·o*äæÊn5ûѯŸkíFÕé¨_;ô˜6)vÜqGµvíZfdí8bZ6pàÀL¥J•t‚¶4> ìÖ²ýú¹ÖnTí�ŽúµC�i’â»ï¾S{î¹§Ú°aCšÄÖ²– 6,óõ×_ëàai(|@Ù­e?úõs­Ý¨Ú!õk‡Ó$Å{ï½§Î<óLµ|ùò4‰½…œŒ5*³téR�, …(»µìG¿~®µU;¤£~íÐcš¤xùå—ÕÍ7߬ð™¶R6~üøÌŒ3tn—4> ìÖ²ýú¹ÖnTí�ŽúµC�i’ ÿ��Ÿi+eO=õT&Mù€²{ˆûѯŸkíFÕé¨_;ô˜&)n½õV�— Ÿi+eÓ§OÏÀßdúôé©��(»ÕìG¿~®µU;¤£~íÐcš¤@ðµ¦M›¦&Ô‡©Û² dzõê¥^{íµTèœ(»ÕìG¿~®µU;¤£~íÐcš¤h×®�ºüòËÕi§�–&±µ¬eï¾û®_ÿî»ï¦Bx> ìV³ýú¹ÖnTí�ŽúµC�i’¢qãÆê©§žRMš4I“Ø[ÈÉ矞9òÈ#ÕêÕ«S!<Pv«Ù�~ý\k7ªvHGýÚ¡Ç4I±ýöÛë'UªTI“Ø[ÈÉ�?þ˜©S§ŽÚ¸qc*„çÊn5ûѯŸkíFÕé¨_;ô˜)V®\©Z¶l©>ýôÓ´ˆ\NβL&“+C$ºÊ•+[Pv«Ø�~ý\k7ªvHGýÚ¡Ç´H�|:Ø¥“Æ'Úrr²Ûn»©%K–(䨱½àÅb7™L¦(9y[b.¢~£*vT)uÏ=÷¨Å‹«ûî»/•xhrrà�ª)S¦(8ß°Ø…ÈÞõI¬¼c•Ä3©ß$j-½}¾òÊ+Uƒ ÔUW]•J49ùÃþ þþ÷¿«ãŽ;.• Ø,4ÈÞµK¬¼c•Ä3©ß$j-½}>õÔSÂ|¤qqvYçŒ3ÎP—\r‰jß¾}zG‚¥’ó�ì]±ÄÊ;VI<“úM¢ÖÒÛç† ªW^yEí½÷Þ©A[N.¸àu '(|²Ø…ÈÞõI¬¼c•Ä3©ß$j-�}þöÛoõ’6ª¤µhrÒ§Oµûî»§vmËfåó�ì]»aaõì³ÏªáÇ«iÓ¦©jÕªyïÐÏô{}Á *¥¾øâ …è”cÇŽUÍš5+WÒ]Œ=Z-X°@Õ«WOÿ}ìÔ©“š={¶Ž™Ô¡CÕ¥K—r EQç1Ç£Ïǵ8 áïæl£˜>WtMXú­¨]þŸŠÀœ9sT¿~ýÔ¼yó ½Ôšó59Isr!k4™C>�½k8,¬JA.¼Kí~f>r‚+ÄÊŠlæB:FŽ©°D y{öì©vÚi'õüóÏ—#0æï$'~µÄëmEä;hÓºSzÕää�P¯¿þºÂ'‹]„5áÚ…ÒiÂÂÊ$'h¾]³fÍÒmN�:UOèb}€ÅVa‚µeæÌ™Úò2yòdÕ±cG…µè‡z({BEÖŽk¯½VU­ZU�tÒIªfÍšÚª�Œ§Îþ´iÓ&û·5ÄiÙ0 ÉO<¡›—~ˆ¼µjÕR]»vÍÊB³çž{j™@ZHN*ÒÿŸVàz衇j’ŸÖ¢ÉÉÓO?­Æ�§ðÉbaM¸v¡9ÁÃÆ$²R¿~}½äëƒ�ôÊ�œ˜¿Ëõù–E-Z”]>‘vŽ?þxM&L ˆ¹4ƒór-ëˆîq>ÈÖÆ�K< S-Z´P«V­Òí€Ìœ{î¹ KÈ 9±ñ¢L�!мysuÇw(ì¤MkÑääÕW_U×\s�Â'‹]�œx×gXX‰%A,˜ a-«H{™~)¦µÅi9ÁùX�®héE$‡ÕdÙ²eYˆü}Ûm·e ‘Ùôù¶*"'b=¢c’Èrã�7*Äj€•dáÂ… l�„5…–ïã’g¦Dk‡S,,—i-šœ|ðÁúAôᇦkåkµ°°°¢1fÌuâ‰'jëˆ,åÀr!G1a‹Ól>r"äÆ+91­#Л“œ8sw€´`Y©"r‚zaZ±bE9™¤ï'NTÝ»w×–’»îºKËÙ¶m[’oÊDF@“lWÂn�ï¿ÿ>àêY]©kÂ-µ\a´VA[N %'ù,'¹HEÄ2]vÙez9VùŽÝ;&±5j”úì³Ïv`ç -'aŒ^ÖIìB@“ˆ„-ŽkÖ¬)j«£]�Ø%MX®](m‘&,¬ÌÉ:Ÿ“BɉWŸœ×ªU+5iÒ¤¼Ë:æy¦¿Äiõ�_JëÖ­µUhùòå$'6Þ<–ÈätÏåž4q�/(ný÷rN”rgÉÉ~ûí§^xá…O{kµ¡ÿIV…îÖÁ±wïÞjîܹ®±nä¤"VÙ­çU�XKÝvë`Iþ,ò�~ã�7ÊíÖÉåg"¿÷èÑ£œÿ ¬±pôÅï¨ÄÆ´œ€ mܸ1«„0'ƒ°ôkã½�V™pŸ˜Ë«n1}’ˆ�âá\þ-µœYrÒ²eK�žŸ,ö À²w]Æ «b÷Þ{¯:ꨣò43�pAÒTâ¤ß4áž$YsÝwrßÈ‹�éGvÎ9稽öÚK=óÌ3Ú�U¶Þ‹…ä[,‡Î ŒhOÂHXÓz#õ5jÔHoïǸ;ï¼SúGyDÝÿý:,�< ™?¾v¦uþ.Nñf¿d§–f%Œú‡x¼TÀ-̆|c#KN?áì³ÏVþóŸ“4–Ø× àÙû)%Væ=Îõ0Ë% h°z –‰ó([~åZgäVï%ûÌRê7ÙÈ¥§÷bĤìÜ"�‰¤^Ùq/™–A!7ðµ™��ur¾ùB`úm!æ�Xq£È)ü¹f̘¡ºuë¦Çò(ê�½ë’XyÇ*‰gR¿IÔZéú,K¡¦¿Ô�!CÔ=÷ܓ݅fø_™;á*Úíæ¶Ôâ´ÐˆcúÝwß­w½ Ù1—ŠM?.�3l€¹¿c+¿s)UH˜�" 1`îâ+…õ$KNþþ÷¿«uëÖ)|²ØƒÈÞuI¬¼c•Ä3©ß$j­´}6w­ai¥sçÎêÔSOÕþ™&LÐ;\%xbRȉXh$/– ,–§u¥TÈ’“G}T{Ù#6‹=ð�ì]—ÄÊ;VI<“úM¢Ö¢ë³X-°‚ ©$²1æEÙ&à 7¨óÎ;/Ñ�œ¸-ëÈR�Hä\Ö‘$˜ˆ $çÊ9²¬ãÅr"I9Q‡ôÍ\Ö1—¡L` •/}Ì~: M˜ÚÉ’8ñôïß_Ç#`±>�½ë’XyÇ*‰gR¿IÔZ´}6}Nвs9ÃÿÇ™ôÒ\ªÉç¿"RÉÒþvC«Ó!Ö 9¹øú믵Ӭé(›Ï!¤Cú;‡XDyDN�O>ù$ÚÑÀÖBE€dïð+ïX%ñLê7‰Z‹WŸãžaܹ:^èÖ›¬åä·ß~SÛo¿½úý÷ß «�gÇ>�½«‡XyÇ*‰gR¿IÔZ|úlZ$ø`|z·¥'V’†tæHþï]–d"€„kXžÃ ½âŠ+²QOGŒ¡“;"– ¶ˆ±l�'/»Gõk·~)�]d-' ^†Ê@l Ö1¼ÇëÔ©£*Uª¤�ÙrÆ ªfÍšjÓ¦MjóæÍêË/¿TÕ«WO°„áu�“WxØÆ¡fê7Z`Üxà�tÐ4ìbÙ‚@9r"Û¤ðÉ’\«IÖœ‰‘Â~РAÉ,äžsò àWOý–Xl>'ˆ2{æ™gª¿üå/Dé¿”#'Ø"¿{aI. %uëÖU?ýôSVˆ*Uªè86´šäÖ+'¯äŽy/=§~½ ÄsJ�¢:cSÊ.»ìRŠæcÙf9r2fÌ5oÞ<õàƒƲ³ì”wœÖZM*ÆŽ“WÅ%ù ê7ÉÚ³·ïÏ=÷œúÇ?þ¡fΜi¯�EHVŽœ¼üòË áy RHÆìÓz²Ã;¨µk×ÒjR�Ž8yÅlÜê7`@Y] tïÞ]í»ï¾ªoß¾�ÔgK%åÈ bœ î¾SßAÓ(¬'ȃÝ;ô5©xpòª£$ŸAý&Y{öö}�=öЉýŸå”#'ø>'Øá–d#ë ²UŽ9’Vªää够Bý&Xy–vý•W^QW_}µzã�7,•°x±¶"'t�šXtn»í6µlÙ2õÐCeÛƒµFÎÅú( ÆÀgœ¡D&ü Ñg˜*Ū«öïO›6MU«VM§—ÿµnÝ:û{Øã( ý†-Cõcü 2D!É'  á °Ï>ûèg,ž½,…!�—œ¬Y³F;ð b¬-%ŠÉ+9ùâ‹/4 ±À¤�h�2©/_¾<»¬S½zuM(úôé£Ï6l˜&½zõÒKF°jõëׯÜõ nEþò0sæLM@Pzöì©Ûi×®]¶>œ‡å'ŒN�:iòƒ‚važDL9Ú´i£ë�ú!‡XŽ5j¤ÿ‡|ù–´‚_Qè7¨¾–²žÚµk«÷ߟÛK©¶m5wÝu—v‚}òÉ'­–3,áò’4zÀèå [¼Œ£˜¼Ü|NÄzb€lϰ<ÀRa.ÓˆU–*ó»éâ$> ÇÏk™r"Ĺ4‚„,Ô°~˜ÄI®Aª_¿~¹¥*g»æßØ.L+JE} j€G¡ß úZªz@JN=õTõñÇ—ª l—X�ÀæÍ›õ Ùã�?N_“"5]!9Á„…‰K 6”(&¯|–s¹Cð”¥ü-±X21IŒœë$…�±ÂTDNœ�¹`aiÛ¶m9g]Xrr�“k¯½¶Üp‘¥ª\޾A�­(ôT_KUÌÌÐÝĉKÕ¶K¬FŽæK—.ån8Z®�œŒ=Zo'3fŒ�fâsi“WEä$—!—Åi91wôMN`];vìV>,‘"§åKPQ,ã8GVú�Ïh.®'ûÛßTÓ¦M5ùe!D X¾ùæ�bþüùÖ¬8‹�·Ú*$'‹/Ö1ÙØP¢˜¼ ñ9�Ë<æR°6—XÄR'ÆË/¿<»Ý8Hr">,hÄB–§àg‚e“ýÿö®Ú¦jý—ˆJ^u(Ü׳tê*Jn©ä&onèID!EDzßB¢d(‘J’ô�{!é¸^½*E¡èáVHDŠÿø}ÿ;ÏXmû°ÎÞkíµæÜ¿9Æç8Öšó›¿oí=ë›ßÃ¯Ï ¢•¼~5ùÅõleB¿AÉÕ8pÒÃsãÊQmT8r^"� X¨ûí73f J�C’Œ]¾|y5QU¬X1�©âqk&6¯ÂDëx£m̆¤ Y1ùṞH¢/Š—œxj½Ö¯ïˆ‰¼ñ ãsr’­ƒ#ü=Y³9¢Âúõë'yyyI£u2u¤Ü2¡ßx<É©I+(^6Ö¬Y“Ú¼‹�X½zµ¾TŸ+''‡H¥�€/rÒ²eKéܹ³´k×.�©âq«ë›×СCå†n(0‰[XZÁ1—°æð3®ëúõƒÁÁ®A”×îÝ»eøðáéÅû‰H@ }ûöR¿~}0`±I_ädĈZc¡Q¶7—7/X^pD„£Ÿ°[bDR&s™lm.ë7�ÖªUK�ì4hÄpƒ�ÿ!€œPƒXOØÒGÀ9Y¶l™\ýõÿÛ7/Û5xpù©ß‚ñ™3gŽÀ²¶|ùr·®ŽD€@nn®~¾Ú´iÁìîM鋜`ÙHÚôÉ'ŸXïwÂÍ˽‡Ø»"ê·`ý¶mÛVCÂQ/‹��à@è0ü¹�ׄ-|““Ö­[«ÏI§N�‚™9¢Q¸yE|†¦¥~“�/ÎK/½T3û²"HjˆLØH@ÒR¶`ðMN}ôQYµj•<ñÄÁÌÑ(ܼ">CÓR¿É�F„ÌÎtÔËЃÈi²ãÀ vРAY³æL,Ô79A(1ê±|þùç™�+´9â²y]]a½É2Êú÷Θ1CëöxCŒýÜë½ÆOŎYØëã¢ßÂÊæõóçÏ$^cºú0QæØÙˆÀäÉ“eüøñùÅ[³ƒ°Ö웜@€jÕªi•Z›“7ÅeóŠ9A0ü­ö¡#9),b™¹þì³Ï–ž={jí$6"@‚A`Ë–-º¢°òQ±‹@¡È "vj×®-}ûö VŠ Ž&9Á&�º%h qÞ꽦^ 6“}51 =,Sh&,¿›Š¾f\s?þÏ΋¿/\¸0¿  2Êšú6&Ñ›©¼uëVY¹r¥ÊˆŠÂÈaƒÍ«{÷î9MÒ4Ô÷12y×TP¢6/9ñÊŽZ;X*t¢™Äna¨=Lý†!oØc"¬Qv¬Œ6Ò?ÛÀwn¥J•ΰlÁ#P(r‚/8Ô]yýõ׃—$C#†µy� ˜z2Æ*‚£’ë®»N¼Õ€[µj¥UžÑ 9AÖWówC PÑÒlê¸~QѸcÇŽ²hÑ"µr !®™´ó†œ$ 4 ÒÌxÛÔ½�¬ØÀ¦L™¢]ÉdB zo¡?ŒcÖ K8I£ˆæEÝ üŽ¿™Bƒ^l¼×‡Q0,ýfèñ tš7ß|SŸ—>ø@ ' Á €—E¤§Ç÷'[8ŠœìØ±CÊ”)#;wî”%J„#QÈ£†±y%¦‡/h ؘMa=/91UbA@P{ÆX ^xáéСC>¹)è~lò;&2äÀ�C– þ­ õf-~ û™kðŒà(cš92U0 ý†üH†2<’&6lØPF�¥GvlD€ƒÀ¦M›¤^½zòꫯò8'H“ŽR(r‚.ºè"Í“€7}[›—·Žr¼ÍÔŸ13G,‰äÄÁ˜ëð¦ GFX^ŒÂKN`mñ:ÀzÉI©R¥þpŒ‚1a‚4äÄŒ‡¿“‚jî˜ã$\ëÍ›ìˬõöÛo×,‰°Æ˜BÉ®ãù C¿aÈæ˜HO�|&fA˜HsìlD{"߆ –�ËÏØš MN`ÊÂÆ3a„Œ äDal^YNIËÁ,'É, ‰ãúµœ$Zb-'^²cŽd­/‰GC9»&&ëÀÔ«W/©S§N¾õÄèÐ{=Ž‹‚naè7hÃoïÞ½êëìa5a#D 8ðý6{öl™7o^pƒr¤¤šœ¬]»Vß ñænc kóò¾3U‰Aààd:vìXÝ0@î¾ûnõñZN¼>'ذ1ÖÆ�Åë$³œßsDƒ{ŒÏ‰—œà(¾)Mš49ÀrbBˆ½þ'ÆçÄKNŒ%2'�d>'¸Æë¿«�!*ô9 ïSóÃ?h¢ÄSN9…åÚÙ#g)‹/–fÍši&X|ÿ²…‹@¡É ÄA¼•Ù>9IŒ`1Ñ:Þ¨wäååé1MbØ®÷øÇDËR�Œœ€Äx£upă$ypFE!1‘70íO›6í²ãõ7Á=ÆÒƒßÍ‘"lp…7Äóã­Á;>~7kM´®‹ ¢sŒ<ÞëÃx´ÃÒo˜ÚJç”IDAT²9&È$*29g¢ðc�²s,"wöìÙ£ûÞ­·ÞÊ�ü )+%rr×]w ÞÈGŽ™!1ƒ›&[7¯àŒ÷HÙ¨_Xèàöøã�«� Á"pÕUWÉÑG-�<òH°s´H‰œ 4±}ûö‚#ÛZ6n^¶é(y³I¿8úÑÙúõëå%Î8ãŒt ã½D€$Aàᇖ—_~YÞyçâ“AR"'�çÚ¨³ƒ�Q›Z6m^6é%(Y³E¿÷ß¿À‚‰#»;ï¼3(ø8 æÎ�«/âË–-£ŸI†ŸŒ”ÉÉwÜ!Y>|x†ENoºlÙ¼ÒCÉÞ»]Ö/>o=z´:¥Ã‡ ›Ùˆøì�sÎ9z”_.¶Ì"�29AJlTc´­ Ë›Wf�xÎæ¢~áøüì³ÏʤI“´œÀ�7Þ( 4ˆ§(p”ö¸ð eðàÁŽ¬È®e¤LN°LDŒ Šaª¶47/[°Ï„œ®èÑ7(1sæLÙ¾}»\qÅ�sÒI'eFÎA²8–ïÛ·O_Ø¢A -r‚Q˜¾Æ��ô)ÌêÊæ•ÂÒ³âõ‹ã8™¯X±B–,Y¢Ë–-«e �G8lD€d„⣎ق 23!gIŠ@Zää‹/¾Ð$²¥Ù¸yÙ‚mäŒZ¿xÛ*R¤ˆ¾uýúë¯òË/¿ràlÛ¶M?'ß}÷�lÞ¼Y“ìáóƒduøýÔSOUK$òÁ4nܘ’8Qr‹‡Ÿ êÍ™3GÓõW¬XQCqTyÚi§iYtX?؈p�Ï>ûL«x£î2Á²Å�´É –qà 7HåÊ•­¹*ÌæQŠÂ àG¿Ï=÷œ¾!¡²(Bs›7o®!ƒ8na#D {À1-ŠùÁ5¡oß¾Ù³p V9A„'ÎçãÞül^q_å+�‚ô + ˜!«1¬"ÍÅù2Žb؈È>¢ŸÉK/½T†š}Ä|Å��¬±aÆšJ;îçu$'1"Ó/Q¿;wî¤z1b„tëÖMzöì)'Ÿ|rš³ðv"@lFQtÕÇ1.¾Øâ‡@`ä•QgÏž­’âÜHNâ¬�ôeóê÷É'Ÿ”!C†Èå—_®òàÜÊFˆ@v#€åæææÊÈ‘#³Œ¯>0r‚ÊœœM"…ðȸ6’“¸j&¹ _„ü"Åû÷߯9 `Õc#D€ äÖ}XOQm˜-¾FN°Ä�jò)˜ÐãÚHN⪙`ä‚~uÓ£G6lX0ƒr"@¬GÉ[¶l© G�eýz\_@ ädݺušåY0‘÷!Ž�ä$ŽZ N&è÷µ×^Ó´ïlD€ €¤‰8Þ=ûì³eøðáÅ%'X/¢ �'"®aYL’eÁS™¦ˆ~óœ¤9 o'DÀP¢uëÖ•ƒ\&lv 89ÉËË“k®¹F�؆-z*‹sVÔ{qµ!DøÑGÕ*¾¬Ú몖¹."PxV­Z%mÚ´Ñ<&p;`³�ÀÉ –ŽØqXPºvíjŽJŠì½ëׯ—Ò¥K;¹B”MèÞ½»V­[·®“k䢈(<¨îÝ®];µ–À�Í.B!'³fÍÒ%àÙ¢E V­Z2sæL©Y³f´‚„0;ªú¢@×óÏ?¯„˜�"^|ñEéСƒf‚¶¥(-5÷GB!'˜¢Q£FêwÒ¶m[b!Ø´ûõë'_|q„R„35Î�7n¬9L؈ @G¼÷Þ{¯“óÏ?Ÿ XŠ@hädÆŒG¾xñbK¡qClÔŒ¹õÖ[ÝXÐÿV1nÜ8Mø‡ú8lD€ ¿’¹sçÊÔ©S¥víÚÅbB#'À©�o¾ùfZO"|@ð!Å&²èJC¾‚ªU«jEá ¸²,®ƒ�@Ö×.]ºÒÒ£°g©R¥R‰·Å�PÉÉK/½¤ Ù–.]—õf�_ýµÔ©SG¶mÛæÌÚï¸ãÍ¥óøã�;³&.„�Ôøøã�åÊ+¯Ô—á1cƤ6’¬¶I“&ÆVË M›6•›nºI“ÙÞðf„ °Ë—/wÒÉ×výP~"�I`¾úê«ÕÇ%+ØÜA tròÆoHÿþýå£�>r5ËV2iÒ$AÈ-2§ÚÞàì†úM8®b#D {!?~¼àû­Y³fÙ „£+�œ·V­Z©¥OŸ>ŽÂÿe!9ÙSO=%ç�w^ü…=ˆ„ð1¹çž{øedµ)<H�íÛ·K·nÝä§Ÿ~T¯\¹rêƒñÎØ"�ròî»ïÊ%—\"ÈKAG¥hž…‰'ʳÏ>+ .ŒF€fE¶GÔÌÙ°aC£q"@lC`Á‚rýõ×k:ú|Ð6ñ)o!È9�<½zõ’#Ž8"Ö‹ �›•—Âç$77Wî¼óN+åà�¾�<òˆ•òSh"@RGdß8ÊA‚56·È9Ù²e‹T¯^]-Z¤$[æøöÛoÕ£}È�!ZÿȶvÁhB9$_c#D ;Ø´i“ôîÝ[vïÞ-ÈoÄúYÙ¡÷Œ‘À‰¤l¨�â‚c¦­�ŽØš7o®Þí¨IcKC¥á%Jhéó£Ž:ʱ)' i €ÒˆÂA6lX#ñVÛÈ(98g�u–²àÎ�;Û†•3ò~øá‡ò�üC-ÈCcCCè0Κ?øàÄ¥ŒD€¤�R ü 2Œãéز �Œ““ùóçËUW]%kÖ¬‘#�<2»ÐŽÑjáñ? $0B‘Æ-ZÄHºE�W>¾¨qÄFˆ€»À²ŽÌâ°ðŽ=ZŠ)âîb¹²È89�$0ÑÁL?vìXª&b¦OŸ®GÈ 2 ƒÐ°"`/óæÍS«9^Jî»ï>ý¬³�D"%'fΜ9½óþûïë›3�5ÒèdF⸷ß~[É 2C¾òÊ+z6Í|9|Vˆ€=à¹JðYF„ ÓIØ£»($�œœ`Ñx`W®\©›°¦üñãOú“Fy¡áx‰d–Ï °ë!¹í¶Ûô‡~†vè-J)cANbÚMjõ(áÜñAàôÓO$Œ3„ÄH† ×È4ÌFˆ@¼@^"Ïâ(§F�ñ˜ÒÅ�Ø�øœyæ™òÄO¨Éž�$³žÐjÂç‚ÄDüÁ—Nð·ß~;3¼Æ_e±“06äÈüûßÿVÿ“%K–h‘@6"�h=¡Õ„ψ/ð'AH0Ž]q„Ó±cÇø KÉb�@¬È �z衇Ô÷$///ÖÀQ¸Ì €/¹J•*åO¶yóæ|Q2# g!D  –-[¦ÉÓØ€djHÁFÒA vä‹éÙ³§üüóÏ‚¬¥lDÖü£Õ„ψ+V¬ÐTóï¼óަžG±>6"±$'Xdsssåþûïb�Ãb`=9÷Üs5cmb�ÅË¢èDÀZþóŸÿhÆf„û÷ë×Oú÷ïoíZ(x<ˆ-9Ù¶m›¾)_}õÕÒ§OŸx¢¡T«es�Ä(%·WËÕÙ€ÊZ £÷êÕ«õ{™ßÍ6hÍNcKN'R¦#;è< ]ºt±á�¤öæüi !Ôo„àsêxñÅå±ÇÓÌν{÷–îÝ»%"*±&'X9"w.¼ðB™2eŠ\~ùå¡‚aÓàܼlÒVáe¥~ �ï�ß~ûMÆ�¯½|ùòÒ«W/iß¾}°“p4"P±''�¦DT«D¨ñ%—\BeŠ7/·ê×mýÆyuŸþ¹L˜0AsNáŰG�rþùçÇYdÊæ V�àþ¯ýK-' (,«MrâàgñK"9q]Ãñ[êœMœ8QæÎ�+×]w�Ý0£küô”-YCN zkÕª•Ìœ9SZ´h‘-:JºNn^n«Ÿúu[¿qYÝÖ­[eòäÉÚ‹/.×\s�\{íµú;ˆ«È €zýõ×Õ‚òÜsÏI»ví¢Ä.Ò¹¹yE è“S¿¡CœÕ,X°@žyæí6@fnÝdõ#»Å[GN€àÂ… ¥M›6ÅÓ­[·Ø�š �¸yeåèæ ~£ÃÞÕ™7nÜ(S§NÕ;XF@JºvíªÎ®lD nXIN"2†ÂsŒ…¥²­qór[ãÔ¯ÛúÍÔêöîÝ+/¼ð‚L›6MK‚têÔI®¸â iÔ¨Q¦Dà]þö·¿i>ô"EŠ2"`V“ Œ,š�;wÖä@O?ý´äääX|ºBróJÁxßOýÆ[?q”î­·Þ’—_~Y^zé%©V­š´mÛV­ËÇw\Å¥LDà XONÌê† ¦… — Ž]ܼÜþdS¿në7¨ÕÁ±Ñ‹¯¾úª¾˜µnÝZ{Íš5ƒš‚ã�Hp†œ=œ­">ÿî»ïÖbT.7n^.k—ylÜÖnz«CΧY³fi¯R¥Š´lÙR{ݺuÓ˜w�!à9®k֬ь†0eŽ;ÖYOt’“}ŠB…ú TK‡Ü²e‹Ìž=[Ó( ågœ!ÿûßµÿå/±tU›çȉYî Aƒô˜e½vìZãæåšFÿ¸ê×mýju+V¬ÐL­ÈÚŠÈD”í@oÞ¼¹T¨PáP·óÿ‰€õ8KN ¼màx§I“&2bÄ)Uª”õ 3 àæåŒ*“.„úu[¿‰«ûæ›odþüù2oÞ<­%V¶lYiÖ¬™–ê`¹Žìz¸ÚÿGÀir‚¢²æ-·Ü"3fÌФmˆìq¡qórA‹¯�úu[¿;wîÔd’èpjýâ‹/4ä÷‚ .Ð^½zu·àêˆÀ!pžœ˜õã `ðàÁj½ë®»$77×ꇃ›—Õê;¤ðÔï!!²ê�$A[´h‘ö%K–¨EÑ… 6´j=–„�@Ö�äÃ?,;FTÏ�!C¤\¹racÊøÜ¼B�56ƒR¿±QEJ‚|ûí·J@/^¬ýÝwßÕ¬¬çž{®4nÜXÎ;ï<)V¬XJcó&"� d9�Rÿûßÿʽ÷Þ+O=õ”ÜvÛm2`À9ì°Ã¬Ò77/«ÔUha©ßBCé pZ]¶l™v�DØœsÎ9ÚaA·í;&R@9yÖ#�•äÄhý£�>’|PÐn¾ùféÓ§�5¥Â¹y¹ýÙ¥~ã«ßuëÖÉ{ï½§ÖDÕ ŸtÒIræ™gJƒ 䬳ΒzõêÅw”ŒX€@V“£|Ñà¸ç�7Þ�Þ½{KÏž=c®ÇÍË‚OW"R¿i€à­Ÿ|ò‰|øá‡Úayÿý÷5êïôÓO—úõëkGÞ‘2eÊ8+‡"D€äÄó À’òØc�ÉøñãÕ'åÚk¯Õ7¡86n^qÔJp2Q¿Áaég¤ï¿ÿ^V¯^­}ÕªU²råJí•*URçyôÓN;M{ÅŠý ÉkˆH’“$àÁ'e„ 2iÒ$Í4Û¥K-3~ä‘G¦u°·ró ϸ�Fý†£‘ï¾ûN³H£Ã*òñÇ ^J~ùåMÿ~òÉ'k•sË }ôÑáÂQ‰8($'‡x@^{í5™2eŠÖêСƒVúD‹¨7¯¨5îüÔoêøþüóÏ¿ôµk×ÊgŸ}–ß1j­Zµ´×®][êÔ©£ýÏþsêòN"@G€äÄ'¤0ûNŸ>]“¹áìù²Ë.“-ZhJ风:Êç(Á]Äæ…Âa=ô� �Ö€/u¬ -ñoXçÀ�“.À;ŽÅð6úôÓO¸X8!'^så•WÊ3Ï<“æ4ß¡PL\ס®Oüø áH†£*7„~ »n›®ÿòË/eÆ ²~ýzý‰$f¦oÛ¶MªU«¦ug�̬F�ù�©ßmÒ2eÍfHNRÐþ¦M›á‚mÓ¦M5»#’)eÊG%ˆÍ+qF m��ýû÷ë‘Ö_ÿúW1›8q¢þûP-ñðÞƒÿGøv×®]ó Œ!Eýû÷×bfQ7’“h5€0ÜÍ›7kÇgí«¯¾ÒBbúñÇ/'œp‚T­ZUN<ñD�–1½råÊÑ.€³"�6$'iB¸{÷n EF] ¤¢Æ›r œ¡…ðæ?æ˜cÒœåÀÛƒ '‰¤X†Ð`ê†åõ=÷Ü£G[o½õ–ZŒLA™0–Š^½zIûöíõ¿½äÃ\ëÈÆ�56c]ñK€Ì<ˆŒ˜9s¦šâQyºcÇŽ²k×.-O™½–È´}ûvÕ®Aò+X…>ýôÓ?XGÌ=O>ù¤Ml‚éÒ¥òõ×_kò,Üoþ‹ŠÁïí·ßÖ%¦cíIÔpú ü¡Kc@`Òa:|?�¨Ìt<èÀºtéÒꈊ¢�^¥JÅÞt&0KC¼•X€ÉIÀJ‚3-2B"ÓòåËusGZ8×ÁáçÜ5kÖTs3Š{¥Ú‚Ú¼`É@æn~1Iy0–�›nºIZµj%¯¼òŠZPðw{`£i1ÇC©ë#³ùCC �Ë@ @Ž@Š`¥ÂÈ rN Üünä9iô’ŒiÓ¦ Þ¼½G7^Bã%.�D$DÌ,¬Û»Vl¬�:u’çŸ>�£  ô›êó•ì>XÔ~úé'%{8:1}ëÖ­‚þã�?jÿá‡ò;ŽCñ™(Z´¨{ì±’““£aúø‰¨ÓAöС—Ã?¡sñÅK�=”Œ$½@ä |N¼>ƺ‘,t9hË ü\àbüWÌzæsYÇ�§>,8ò2V™lð9)ä#Êˉ )#@r’2tÑÞ$9�…×Ù+ÃfëuõF¦à– ¤ù‡S¬×º`"z’EëÄ•礠{ƒ$' a&¬ëéׯŸäåå)ÙÂQÖŽ–­ã=Ò1!²-èc� |Š¢}J9; D 5HNRÃ-ò»‚$'‘/†€õˇ‚�lF€äÄRísó²Tq>Ŧ~}Åˈp’KÕÊÍËRÅù›úõ /#DÀIHN,U+7/KçSlê×'P¼Œ' 9±T­Ü¼,UœO±©_Ÿ@ñ2"@œD€äÄRµró²Tq>Ŧ~}Åˈp’KÕÊÍËRÅù›úõ /#DÀIHN,U+7/KçSlê×'P¼Œ' 9±T­Ü¼,UœO±©_Ÿ@ñ2"@œD€äÄRµró²Tq>Ŧ~}Åˈp’KÕÊÍËRÅù›úõ /#DÀIHN,U+7/KçSlê×'P¼Œ' 9±T­Ü¼,UœO±©_Ÿ@ñ2"@œD€äÄRµró²Tq>Ŧ~}Åˈp’KÕÊÍËRÅù›úõ /#DÀIHN,U+7/KçSlê×'P¼Œ' 9±T­Ü¼,UœO±©_Ÿ@ñ2"@œD€äÄRµró²Tq>Ŧ~}Åˈp’KÕÊÍËRÅù›úõ /#DÀIHN,U+7/KçSlê×'P¼Œ' 9±T­Ü¼,UœO±©_Ÿ@ñ2"@œD€äÄRµró²Tq>Ŧ~}Åˈp’KÕÊÍËRÅù›úõ /#DÀIHN,U+7/KçSlê×'P¼Œ' 9±T­Ü¼,UœO±©_Ÿ@ñ2"@œD€äÄRµró²Tq>Ŧ~}Åˈp’KÕŠÍ‹Ímöïßïö¹:"@ˆ@�œðÑ D€"@b…Àÿa¶¨*éÒÞÒIEND®B`‚alainm23-planify-69962f8/meson.build000066400000000000000000000110711517337276100172350ustar00rootroot00000000000000project( 'io.github.alainm23.planify', 'vala', 'c', version: '4.19.1' ) ########### # Profile # ########### profile = get_option('profile') if profile == 'development' find_program('git') rev_txt = run_command('git','rev-parse','--short','HEAD').stdout().strip() rev = '-@0@'.format(rev_txt) application_id = 'io.github.alainm23.planify.Devel' application_path = '/io/github/alainm23/planify/Devel' add_project_arguments(['--define=DEVELOPMENT'], language: 'vala') else rev = '' application_id = 'io.github.alainm23.planify' application_path = '/io/github/alainm23/planify' endif ################ # Dependencies # ################ cc = meson.get_compiler('c') gnome = import('gnome') i18n = import('i18n') pkgconfig = import('pkgconfig') add_global_arguments('-DGETTEXT_PACKAGE="@0@"'.format (application_id), language:'c') add_project_arguments('-DLIBICAL_GLIB_UNSTABLE_API=1', language: 'c') gio_dep = dependency('gio-2.0') glib_dep = dependency('glib-2.0') gee_dep = dependency('gee-0.8') gtk_dep = dependency('gtk4') libsoup_dep = dependency('libsoup-3.0') sqlite3_dep = dependency('sqlite3') libadwaita_dep = dependency('libadwaita-1', version: '>= 1.7.0') json_dep = dependency('json-glib-1.0') libical_dep = dependency('libical-glib') libgxml_dep = dependency('gxml-0.20') libsecret_dep = dependency('libsecret-1') libspelling = dependency('libspelling-1', required: get_option('spelling')) gtksourceview_dep = dependency('gtksourceview-5') m_dep = meson.get_compiler('c').find_library('m', required : false) icu_uc_dep = dependency('icu-uc') if icu_uc_dep.found () add_project_arguments(['--vapidir=' + meson.project_source_root() / 'vapi'], language: 'vala') endif if libspelling.found () add_project_arguments(['--define=WITH_LIBSPELLING'], language: 'vala') endif if get_option('portal') libportal_dep = dependency('libportal', required: true) libportal_gtk4_dep = dependency('libportal-gtk4', required: true) add_project_arguments('-D', 'WITH_LIBPORTAL', language: 'vala') if not libportal_dep.found() error('libportal requested but not found') endif if not libportal_gtk4_dep.found() error('libportal-gtk4 requested but not found') endif endif if get_option('evolution') libecal_dep = dependency('libecal-2.0', version: '>= 3.45.1') libedataserver_dep = dependency('libedataserver-1.2', version: '>= 3.45.1') add_project_arguments('-D', 'WITH_EVOLUTION', language: 'vala') if not libecal_dep.found() error('libecal-2.0 requested but not found') endif if not libedataserver_dep.found() error('libedataserver-1.2 requested but not found') endif endif ############ # Resources # ############ asresources = gnome.compile_resources ( 'as-resources', 'data/io.github.alainm23.planify.gresource.xml', source_dir: 'data', c_name: 'as' ) ############ # Config # ############ prefix = get_option('prefix') bindir = prefix / get_option('bindir') datadir = prefix / get_option('datadir') localedir = prefix / get_option ('localedir') libexecdir = prefix / get_option('libexecdir') grep = find_program('grep') total_strings_res = run_command(grep, '-c', 'msgid', meson.project_source_root() + '/po/io.github.alainm23.planify.pot', check : true) total_strings = total_strings_res.stdout().strip().to_int() - 1 # _NL_TIME_FIRST_WEEKDAY is a glibc-ism nl_time_first_weekday_src = ''' #include int main() { nl_langinfo(_NL_TIME_FIRST_WEEKDAY); }; ''' if cc.compiles(nl_time_first_weekday_src) add_project_arguments('-D', 'HAVE__NL_TIME_FIRST_WEEKDAY', language: 'vala') endif conf_data = configuration_data() conf_data.set('TOTAL_STRINGS', total_strings) conf_data.set_quoted('APPLICATION_ID', application_id) conf_data.set_quoted('GETTEXT_PACKAGE', application_id) conf_data.set_quoted('GNOMELOCALEDIR', localedir) conf_data.set_quoted('VERSION', meson.project_version()) conf_data.set_quoted('LOCALEDIR', localedir) conf_data.set_quoted('PACKAGE_VERSION', meson.project_version()) conf_data.set_quoted('PREFIX', prefix) conf_data.set_quoted('DATADIR', datadir) conf_data.set_quoted('PROFILE', profile) config_file = configure_file( configuration : conf_data, input : 'config.vala.in', output : 'config.vala' ) subdir('core') subdir('src') subdir('quick-add') subdir('cli') subdir('data') subdir('search-provider') subdir('po') # Testing subdir('test') summary({ 'Tracing': get_option('tracing'), 'Profile': get_option('profile'), }, section: 'Development') gnome.post_install( glib_compile_schemas: true, gtk_update_icon_cache: true, update_desktop_database: true, ) alainm23-planify-69962f8/meson_options.txt000066400000000000000000000006471517337276100205370ustar00rootroot00000000000000option('tracing', type: 'boolean', value: false, description: 'add extra debugging information') option('profile', type: 'combo', choices: ['default', 'development'], value: 'default') option('spelling', type: 'feature') option('portal', type : 'boolean', description: 'build with xdg-portal support for ') option('evolution', type : 'boolean', description: 'build with evolution for integration with evolution calendars') alainm23-planify-69962f8/planify.doap000066400000000000000000000021121517337276100173760ustar00rootroot00000000000000 Planify Forget about forgetting things Vala GTK 4 Libadwaita Alain alainm23 alainm23-planify-69962f8/po/000077500000000000000000000000001517337276100155115ustar00rootroot00000000000000alainm23-planify-69962f8/po/LINGUAS000066400000000000000000000004171517337276100165400ustar00rootroot00000000000000af ak ar az be bg bn bs ca ckb cs cv da de el eo es et eu fa fi fr ga gl he hi hr hu hy id is it ja jv ka kn ko ku lb lg lt lv mg mk mn mr ms my nb nl nn pa pl pt_PT pt_BR ro ru sa si sk sl sma sq sr sv szl ta te th tl tr ug uk ur uz vi zh zu zh_Hant en_GB kk kab kw dum alainm23-planify-69962f8/po/POTFILES000066400000000000000000000212371517337276100166660ustar00rootroot00000000000000# List of source files containing translatable strings. # Please keep this file sorted alphabetically. core/Constants.vala core/Enum.vala core/Layouts/HeaderItem.vala core/Objects/Attachment.vala core/Objects/BaseObject.vala core/Objects/Color.vala core/Objects/DueDate.vala core/Objects/Filters/AllItems.vala core/Objects/Filters/Anytime.vala core/Objects/Filters/Completed.vala core/Objects/Filters/FilterItem.vala core/Objects/Filters/Inbox.vala core/Objects/Filters/Labels.vala core/Objects/Filters/Pinboard.vala core/Objects/Filters/Priority.vala core/Objects/Filters/Repeating.vala core/Objects/Filters/Scheduled.vala core/Objects/Filters/Today.vala core/Objects/Filters/Tomorrow.vala core/Objects/Filters/Unlabeled.vala core/Objects/Item.vala core/Objects/Label.vala core/Objects/ObjectEvent.vala core/Objects/Project.vala core/Objects/Promise.vala core/Objects/Queue.vala core/Objects/Release.vala core/Objects/Reminder.vala core/Objects/Section.vala core/Objects/Source.vala core/Objects/TranslationMetric.vala core/QuickAddCore.vala core/Services/CalDAV/CalDAVClient.vala core/Services/CalDAV/Core.vala core/Services/CalDAV/Providers/Nextcloud.vala core/Services/CalDAV/WebDAVClient.vala core/Services/CalendarEvents/CalendarEvents.vala core/Services/CalendarEvents/DateIterator.vala core/Services/CalendarEvents/DateRange.vala core/Services/CalendarEvents/Util.vala core/Services/Chrono/Chrono.vala core/Services/Chrono/Common/ISOParser.vala core/Services/Chrono/Common/SlashParser.vala core/Services/Chrono/Common/TimeParser.vala core/Services/Chrono/LanguageParser.vala core/Services/Chrono/Locales/en/ENCasualDateParser.vala core/Services/Chrono/Locales/en/ENCasualTimeParser.vala core/Services/Chrono/Locales/en/ENConstants.vala core/Services/Chrono/Locales/en/ENDateTimeComboParser.vala core/Services/Chrono/Locales/en/ENMonthNameParser.vala core/Services/Chrono/Locales/en/ENRecurrenceParser.vala core/Services/Chrono/Locales/en/ENRelativeDateFormatParser.vala core/Services/Chrono/Locales/en/ENTimeExpressionParser.vala core/Services/Chrono/Locales/en/EnglishParser.vala core/Services/Chrono/Locales/es/ESCasualDateParser.vala core/Services/Chrono/Locales/es/ESCasualTimeParser.vala core/Services/Chrono/Locales/es/ESConstants.vala core/Services/Chrono/Locales/es/ESDateTimeComboParser.vala core/Services/Chrono/Locales/es/ESMonthNameParser.vala core/Services/Chrono/Locales/es/ESRelativeDateFormatParser.vala core/Services/Chrono/Locales/es/ESTimeExpressionParser.vala core/Services/Chrono/Locales/es/SpanishParser.vala core/Services/Chrono/Locales/template/TEMPLATECasualDateParser.vala core/Services/Chrono/Locales/template/TEMPLATEConstants.vala core/Services/Chrono/Locales/template/TEMPLATERelativeDateFormatParser.vala core/Services/Chrono/Locales/template/TemplateParser.vala core/Services/Chrono/ParseResult.vala core/Services/Chrono/Parser.vala core/Services/Chrono/RecurrenceRule.vala core/Services/ColorSchemeSettings.vala core/Services/Database.vala core/Services/EventBus.vala core/Services/LogService.vala core/Services/Settings.vala core/Services/Store.vala core/Services/Todoist.vala core/Utils/Datetime.vala core/Utils/MarkdownProcessor.vala core/Utils/Util.vala core/Widgets/Calendar/Calendar.vala core/Widgets/Calendar/CalendarDay.vala core/Widgets/Calendar/CalendarHeader.vala core/Widgets/Calendar/CalendarMonth.vala core/Widgets/Calendar/CalendarScroll.vala core/Widgets/Calendar/CalendarView.vala core/Widgets/Calendar/CalendarWeek.vala core/Widgets/CircularProgressBar.vala core/Widgets/ContextMenu/MenuCheckPicker.vala core/Widgets/ContextMenu/MenuItem.vala core/Widgets/ContextMenu/MenuPicker.vala core/Widgets/ContextMenu/MenuSeparator.vala core/Widgets/ContextMenu/MenuSwitch.vala core/Widgets/DateTimePicker/DateTimePicker.vala core/Widgets/DateTimePicker/RepeatConfig.vala core/Widgets/DateTimePicker/ScheduleButton.vala core/Widgets/DateTimePicker/TimePicker.vala core/Widgets/DeadlineButton.vala core/Widgets/IconColorProject.vala core/Widgets/ItemLabelChild.vala core/Widgets/ItemLabels.vala core/Widgets/LabelPicker/LabelButton.vala core/Widgets/LabelPicker/LabelPicker.vala core/Widgets/LabelPicker/LabelQuickPicker.vala core/Widgets/LabelPicker/LabelRow.vala core/Widgets/LabelPicker/LabelsPickerCore.vala core/Widgets/LoadingButton.vala core/Widgets/MarkdownEditor.vala core/Widgets/PinButton.vala core/Widgets/PriorityButton.vala core/Widgets/ProjectPicker/ProjectPickerButton.vala core/Widgets/ProjectPicker/ProjectPickerCore.vala core/Widgets/ProjectPicker/ProjectPickerPopover.vala core/Widgets/ProjectPicker/ProjectPickerRow.vala core/Widgets/ReminderPicker/ReminderButton.vala core/Widgets/ReminderPicker/ReminderPicker.vala core/Widgets/ReminderPicker/ReminderRow.vala core/Widgets/SectionPicker/SectionButton.vala core/Widgets/SectionPicker/SectionPicker.vala core/Widgets/SectionPicker/SectionPickerRow.vala core/Widgets/StatusButton.vala core/Widgets/TextView.vala src/App.vala src/Dialogs/CalendarSync.vala src/Dialogs/CompletedTasks.vala src/Dialogs/DatePicker.vala src/Dialogs/ErrorDialog.vala src/Dialogs/ItemChangeHistory.vala src/Dialogs/Label.vala src/Dialogs/LabelPicker.vala src/Dialogs/ManageProjects.vala src/Dialogs/ManageSectionOrder.vala src/Dialogs/Preferences/Pages/Accounts/Accounts.vala src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala src/Dialogs/Preferences/Pages/Accounts/SourceView.vala src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala src/Dialogs/Preferences/Pages/Appearance.vala src/Dialogs/Preferences/Pages/Backup.vala src/Dialogs/Preferences/Pages/BasePage.vala src/Dialogs/Preferences/Pages/Donate.vala src/Dialogs/Preferences/Pages/General.vala src/Dialogs/Preferences/Pages/HomeView.vala src/Dialogs/Preferences/Pages/QuickAdd.vala src/Dialogs/Preferences/Pages/Sidebar.vala src/Dialogs/Preferences/Pages/TaskSetting.vala src/Dialogs/Preferences/PreferencesWindow.vala src/Dialogs/ProductivityReport/ProductivityReport.vala src/Dialogs/ProductivityReport/ProductivitySection.vala src/Dialogs/ProductivityReport/StatCard.vala src/Dialogs/ProductivityReport/SummarySection.vala src/Dialogs/Project.vala src/Dialogs/ProjectPicker.vala src/Dialogs/QuickAdd.vala src/Dialogs/QuickFind/QuickFind.vala src/Dialogs/QuickFind/QuickFindFactory.vala src/Dialogs/QuickFind/QuickFindItem.vala src/Dialogs/QuickFind/QuickFindSectionSorter.vala src/Dialogs/QuickFind/Synapse.vala src/Dialogs/Section.vala src/Layouts/FilterPaneChild.vala src/Layouts/FilterPaneRow.vala src/Layouts/HeaderBar.vala src/Layouts/ItemBase.vala src/Layouts/ItemBoard.vala src/Layouts/ItemRow.vala src/Layouts/ItemSidebarView.vala src/Layouts/LabelRow.vala src/Layouts/ProjectContainerRow.vala src/Layouts/ProjectRow.vala src/Layouts/SectionBoard.vala src/Layouts/SectionRow.vala src/Layouts/Sidebar.vala src/Layouts/SidebarSourceRow.vala src/MainWindow.vala src/Objects/Backup.vala src/Services/ActionManager.vala src/Services/Api.vala src/Services/Backups.vala src/Services/DBusServer.vala src/Services/ExportService.vala src/Services/MigrateFromPlanner.vala src/Services/Notification.vala src/Services/TimeMonitor.vala src/Utils/TaskUtils.vala src/Views/Filter.vala src/Views/Label/Label.vala src/Views/Label/LabelSourceRow.vala src/Views/Label/Labels.vala src/Views/Project/Board.vala src/Views/Project/List.vala src/Views/Project/Project.vala src/Views/Scheduled/Scheduled.vala src/Views/Scheduled/ScheduledDay.vala src/Views/Scheduled/ScheduledMonth.vala src/Views/Scheduled/ScheduledOverdue.vala src/Views/Scheduled/ScheduledRange.vala src/Views/Scheduled/ScheduledSection.vala src/Views/Today.vala src/Widgets/AttachmentRow.vala src/Widgets/Attachments.vala src/Widgets/BypassResolveSwitchRow.vala src/Widgets/ColorPickerRow.vala src/Widgets/ComboWrapRow.vala src/Widgets/CompletedTaskRow.vala src/Widgets/EditableTextView.vala src/Widgets/ErrorView.vala src/Widgets/EventRow.vala src/Widgets/EventsList.vala src/Widgets/FilterFlowBox.vala src/Widgets/FilterFlowBoxChild.vala src/Widgets/IgnoreSSLSwitchRow.vala src/Widgets/ItemChangeHistoryRow.vala src/Widgets/ItemDetailCompleted.vala src/Widgets/LabelsSummary.vala src/Widgets/MagicButton.vala src/Widgets/MultiSelectToolbar.vala src/Widgets/NewVersionPopup.vala src/Widgets/PinnedItemsBox.vala src/Widgets/ProjectItemRow.vala src/Widgets/ReorderChild.vala src/Widgets/ScrolledWindow.vala src/Widgets/SectionItemRow.vala src/Widgets/SectionsOrderPopover.vala src/Widgets/SubItems.vala src/Widgets/SyncButton.vala src/Widgets/TranslationRow.vala quick-add/App.vala quick-add/MainWindow.vala quick-add/Services/DBusClient.vala quick-add/cli/ArgumentParser.vala quick-add/cli/Main.vala quick-add/cli/OutputFormatter.vala quick-add/cli/TaskCreator.vala quick-add/cli/TaskValidator.vala data/resources/ui/shortcuts.ui alainm23-planify-69962f8/po/README.md000066400000000000000000001021001517337276100167620ustar00rootroot00000000000000# Translation Guide Help make Planify available in your language! This guide will walk you through creating a new translation. ## Getting Started ### Prerequisites - A text editor or translation tool (recommended: [Poedit](https://poedit.net/)) - Basic understanding of your target language - Familiarity with Git (for contributing back) ### Step 1: Choose Your Language Code Find your language code from the table below. Use the format `language_COUNTRY` (e.g., `es_ES` for Spanish from Spain, `pt_BR` for Portuguese from Brazil). ### Step 2: Create Your Translation File 1. Copy an existing `.po` file (e.g., `es.po`) as a template 2. Rename it to your language code (e.g., `fr.po` for French) 3. Open the file in your preferred editor ### Step 3: Update File Headers Modify the header information in your `.po` file: ``` "Language: YOUR_LANGUAGE_CODE\n" "Language-Team: YOUR_LANGUAGE_NAME\n" "Last-Translator: Your Name \n" ``` ### Step 4: Translate Strings Translate each `msgstr` entry: ``` msgid "Hello" msgstr "Hola" # Replace with your translation ``` **Translation Tips:** - Keep UI elements concise - Maintain consistent terminology - Test special characters and accents - Consider context (buttons vs. descriptions) - Preserve placeholders like `%s`, `%d` ### Step 5: Add to LINGUAS File Add your language code to the [LINGUAS](https://github.com/alainm23/planify/blob/main/po/LINGUAS) file. ### Step 6: Test Your Translation 1. Build Planify with your translation 2. Check for text overflow or layout issues 3. Verify all strings are translated ### Step 7: Submit Your Translation 1. Fork the repository 2. Add your `.po` file and update LINGUAS 3. Create a pull request ## Translation Tools - **[Poedit](https://poedit.net/)**: User-friendly GUI editor - **[Lokalize](https://apps.kde.org/lokalize/)**: KDE translation tool - **Text editors**: VS Code, Vim, etc. with gettext plugins ## Need Help? - Check existing translations for reference - Ask questions in GitHub issues - Join our community discussions ## Language Codes Reference |Code |Language | |----------|------------------------------------------| |af |Afrikaans | |af_NA |Afrikaans (Namibia) | |af_ZA |Afrikaans (South Africa) | |ak |Akan | |ak_GH |Akan (Ghana) | |sq |Albanian | |sq_AL |Albanian (Albania) | |sq_XK |Albanian (Kosovo) | |sq_MK |Albanian (Macedonia) | |am |Amharic | |am_ET |Amharic (Ethiopia) | |ar |Arabic | |ar_DZ |Arabic (Algeria) | |ar_BH |Arabic (Bahrain) | |ar_TD |Arabic (Chad) | |ar_KM |Arabic (Comoros) | |ar_DJ |Arabic (Djibouti) | |ar_EG |Arabic (Egypt) | |ar_ER |Arabic (Eritrea) | |ar_IQ |Arabic (Iraq) | |ar_IL |Arabic (Israel) | |ar_JO |Arabic (Jordan) | |ar_KW |Arabic (Kuwait) | |ar_LB |Arabic (Lebanon) | |ar_LY |Arabic (Libya) | |ar_MR |Arabic (Mauritania) | |ar_MA |Arabic (Morocco) | |ar_OM |Arabic (Oman) | |ar_PS |Arabic (Palestinian Territories) | |ar_QA |Arabic (Qatar) | |ar_SA |Arabic (Saudi Arabia) | |ar_SO |Arabic (Somalia) | |ar_SS |Arabic (South Sudan) | |ar_SD |Arabic (Sudan) | |ar_SY |Arabic (Syria) | |ar_TN |Arabic (Tunisia) | |ar_AE |Arabic (United Arab Emirates) | |ar_EH |Arabic (Western Sahara) | |ar_YE |Arabic (Yemen) | |hy |Armenian | |hy_AM |Armenian (Armenia) | |as |Assamese | |as_IN |Assamese (India) | |az |Azerbaijani | |az_AZ |Azerbaijani (Azerbaijan) | |az_Cyrl_AZ|Azerbaijani (Cyrillic, Azerbaijan) | |az_Cyrl |Azerbaijani (Cyrillic) | |az_Latn_AZ|Azerbaijani (Latin, Azerbaijan) | |az_Latn |Azerbaijani (Latin) | |bm |Bambara | |bm_Latn_ML|Bambara (Latin, Mali) | |bm_Latn |Bambara (Latin) | |eu |Basque | |eu_ES |Basque (Spain) | |be |Belarusian | |be_BY |Belarusian (Belarus) | |bn |Bengali | |bn_BD |Bengali (Bangladesh) | |bn_IN |Bengali (India) | |bs |Bosnian | |bs_BA |Bosnian (Bosnia & Herzegovina) | |bs_Cyrl_BA|Bosnian (Cyrillic, Bosnia & Herzegovina) | |bs_Cyrl |Bosnian (Cyrillic) | |bs_Latn_BA|Bosnian (Latin, Bosnia & Herzegovina) | |bs_Latn |Bosnian (Latin) | |br |Breton | |br_FR |Breton (France) | |bg |Bulgarian | |bg_BG |Bulgarian (Bulgaria) | |my |Burmese | |my_MM |Burmese (Myanmar (Burma)) | |ca |Catalan | |ca_AD |Catalan (Andorra) | |ca_FR |Catalan (France) | |ca_IT |Catalan (Italy) | |ca_ES |Catalan (Spain) | |zh |Chinese | |zh_CN |Chinese (China) | |zh_HK |Chinese (Hong Kong SAR China) | |zh_MO |Chinese (Macau SAR China) | |zh_Hans_CN|Chinese (Simplified, China) | |zh_Hans_HK|Chinese (Simplified, Hong Kong SAR China) | |zh_Hans_MO|Chinese (Simplified, Macau SAR China) | |zh_Hans_SG|Chinese (Simplified, Singapore) | |zh_Hans |Chinese (Simplified) | |zh_SG |Chinese (Singapore) | |zh_TW |Chinese (Taiwan) | |zh_Hant_HK|Chinese (Traditional, Hong Kong SAR China)| |zh_Hant_MO|Chinese (Traditional, Macau SAR China) | |zh_Hant_TW|Chinese (Traditional, Taiwan) | |zh_Hant |Chinese (Traditional) | |kw |Cornish | |kw_GB |Cornish (United Kingdom) | |hr |Croatian | |hr_BA |Croatian (Bosnia & Herzegovina) | |hr_HR |Croatian (Croatia) | |cs |Czech | |cs_CZ |Czech (Czech Republic) | |da |Danish | |da_DK |Danish (Denmark) | |da_GL |Danish (Greenland) | |nl |Dutch | |nl_AW |Dutch (Aruba) | |nl_BE |Dutch (Belgium) | |nl_BQ |Dutch (Caribbean Netherlands) | |nl_CW |Dutch (Curaçao) | |nl_NL |Dutch (Netherlands) | |nl_SX |Dutch (Sint Maarten) | |nl_SR |Dutch (Suriname) | |dz |Dzongkha | |dz_BT |Dzongkha (Bhutan) | |en |English | |en_AS |English (American Samoa) | |en_AI |English (Anguilla) | |en_AG |English (Antigua & Barbuda) | |en_AU |English (Australia) | |en_BS |English (Bahamas) | |en_BB |English (Barbados) | |en_BE |English (Belgium) | |en_BZ |English (Belize) | |en_BM |English (Bermuda) | |en_BW |English (Botswana) | |en_IO |English (British Indian Ocean Territory) | |en_VG |English (British Virgin Islands) | |en_CM |English (Cameroon) | |en_CA |English (Canada) | |en_KY |English (Cayman Islands) | |en_CX |English (Christmas Island) | |en_CC |English (Cocos (Keeling) Islands) | |en_CK |English (Cook Islands) | |en_DG |English (Diego Garcia) | |en_DM |English (Dominica) | |en_ER |English (Eritrea) | |en_FK |English (Falkland Islands) | |en_FJ |English (Fiji) | |en_GM |English (Gambia) | |en_GH |English (Ghana) | |en_GI |English (Gibraltar) | |en_GD |English (Grenada) | |en_GU |English (Guam) | |en_GG |English (Guernsey) | |en_GY |English (Guyana) | |en_HK |English (Hong Kong SAR China) | |en_IN |English (India) | |en_IE |English (Ireland) | |en_IM |English (Isle of Man) | |en_JM |English (Jamaica) | |en_JE |English (Jersey) | |en_KE |English (Kenya) | |en_KI |English (Kiribati) | |en_LS |English (Lesotho) | |en_LR |English (Liberia) | |en_MO |English (Macau SAR China) | |en_MG |English (Madagascar) | |en_MW |English (Malawi) | |en_MY |English (Malaysia) | |en_MT |English (Malta) | |en_MH |English (Marshall Islands) | |en_MU |English (Mauritius) | |en_FM |English (Micronesia) | |en_MS |English (Montserrat) | |en_NA |English (Namibia) | |en_NR |English (Nauru) | |en_NZ |English (New Zealand) | |en_NG |English (Nigeria) | |en_NU |English (Niue) | |en_NF |English (Norfolk Island) | |en_MP |English (Northern Mariana Islands) | |en_PK |English (Pakistan) | |en_PW |English (Palau) | |en_PG |English (Papua New Guinea) | |en_PH |English (Philippines) | |en_PN |English (Pitcairn Islands) | |en_PR |English (Puerto Rico) | |en_RW |English (Rwanda) | |en_WS |English (Samoa) | |en_SC |English (Seychelles) | |en_SL |English (Sierra Leone) | |en_SG |English (Singapore) | |en_SX |English (Sint Maarten) | |en_SB |English (Solomon Islands) | |en_ZA |English (South Africa) | |en_SS |English (South Sudan) | |en_SH |English (St. Helena) | |en_KN |English (St. Kitts & Nevis) | |en_LC |English (St. Lucia) | |en_VC |English (St. Vincent & Grenadines) | |en_SD |English (Sudan) | |en_SZ |English (Swaziland) | |en_TZ |English (Tanzania) | |en_TK |English (Tokelau) | |en_TO |English (Tonga) | |en_TT |English (Trinidad & Tobago) | |en_TC |English (Turks & Caicos Islands) | |en_TV |English (Tuvalu) | |en_UG |English (Uganda) | |en_GB |English (United Kingdom) | |en_US |English (United States) | |en_UM |English (U.S. Outlying Islands) | |en_VI |English (U.S. Virgin Islands) | |en_VU |English (Vanuatu) | |en_ZM |English (Zambia) | |en_ZW |English (Zimbabwe) | |eo |Esperanto | |et |Estonian | |et_EE |Estonian (Estonia) | |ee |Ewe | |ee_GH |Ewe (Ghana) | |ee_TG |Ewe (Togo) | |fo |Faroese | |fo_FO |Faroese (Faroe Islands) | |fi |Finnish | |fi_FI |Finnish (Finland) | |fr |French | |fr_DZ |French (Algeria) | |fr_BE |French (Belgium) | |fr_BJ |French (Benin) | |fr_BF |French (Burkina Faso) | |fr_BI |French (Burundi) | |fr_CM |French (Cameroon) | |fr_CA |French (Canada) | |fr_CF |French (Central African Republic) | |fr_TD |French (Chad) | |fr_KM |French (Comoros) | |fr_CG |French (Congo - Brazzaville) | |fr_CD |French (Congo - Kinshasa) | |fr_CI |French (Côte d'Ivoire) | |fr_DJ |French (Djibouti) | |fr_GQ |French (Equatorial Guinea) | |fr_FR |French (France) | |fr_GF |French (French Guiana) | |fr_PF |French (French Polynesia) | |fr_GA |French (Gabon) | |fr_GP |French (Guadeloupe) | |fr_GN |French (Guinea) | |fr_HT |French (Haiti) | |fr_LU |French (Luxembourg) | |fr_MG |French (Madagascar) | |fr_ML |French (Mali) | |fr_MQ |French (Martinique) | |fr_MR |French (Mauritania) | |fr_MU |French (Mauritius) | |fr_YT |French (Mayotte) | |fr_MC |French (Monaco) | |fr_MA |French (Morocco) | |fr_NC |French (New Caledonia) | |fr_NE |French (Niger) | |fr_RE |French (Réunion) | |fr_RW |French (Rwanda) | |fr_BL |French (St. Barthélemy) | |fr_MF |French (St. Martin) | |fr_PM |French (St. Pierre & Miquelon) | |fr_SN |French (Senegal) | |fr_SC |French (Seychelles) | |fr_CH |French (Switzerland) | |fr_SY |French (Syria) | |fr_TG |French (Togo) | |fr_TN |French (Tunisia) | |fr_VU |French (Vanuatu) | |fr_WF |French (Wallis & Futuna) | |ff |Fulah | |ff_CM |Fulah (Cameroon) | |ff_GN |Fulah (Guinea) | |ff_MR |Fulah (Mauritania) | |ff_SN |Fulah (Senegal) | |gl |Galician | |gl_ES |Galician (Spain) | |lg |Ganda | |lg_UG |Ganda (Uganda) | |ka |Georgian | |ka_GE |Georgian (Georgia) | |de |German | |de_AT |German (Austria) | |de_BE |German (Belgium) | |de_DE |German (Germany) | |de_LI |German (Liechtenstein) | |de_LU |German (Luxembourg) | |de_CH |German (Switzerland) | |el |Greek | |el_CY |Greek (Cyprus) | |el_GR |Greek (Greece) | |gu |Gujarati | |gu_IN |Gujarati (India) | |guz |Gusii | |guz_KE |Gusii (Kenya) | |ha |Hausa | |ha_Latn_GH|Hausa (Latin, Ghana) | |ha_Latn_NE|Hausa (Latin, Niger) | |ha_Latn_NG|Hausa (Latin, Nigeria) | |ha_Latn |Hausa (Latin) | |haw |Hawaiian | |haw_US |Hawaiian (United States) | |he |Hebrew | |he_IL |Hebrew (Israel) | |hi |Hindi | |hi_IN |Hindi (India) | |hu |Hungarian | |hu_HU |Hungarian (Hungary) | |is |Icelandic | |is_IS |Icelandic (Iceland) | |ig |Igbo | |ig_NG |Igbo (Nigeria) | |id |Indonesian | |id_ID |Indonesian (Indonesia) | |ga |Irish | |ga_IE |Irish (Ireland) | |it |Italian | |it_IT |Italian (Italy) | |it_SM |Italian (San Marino) | |it_CH |Italian (Switzerland) | |it_VA |Italian (Vatican City) | |ja |Japanese | |ja_JP |Japanese (Japan) | |kea |Kabuverdianu | |kea_CV |Kabuverdianu (Cape Verde) | |kab |Kabyle | |kab_DZ |Kabyle (Algeria) | |kl |Kalaallisut | |kl_GL |Kalaallisut (Greenland) | |kln |Kalenjin | |kln_KE |Kalenjin (Kenya) | |kam |Kamba | |kam_KE |Kamba (Kenya) | |kn |Kannada | |kn_IN |Kannada (India) | |kk |Kazakh | |kk_Cyrl_KZ|Kazakh (Cyrillic, Kazakhstan) | |kk_Cyrl |Kazakh (Cyrillic) | |km |Khmer | |km_KH |Khmer (Cambodia) | |ki |Kikuyu | |ki_KE |Kikuyu (Kenya) | |rw |Kinyarwanda | |rw_RW |Kinyarwanda (Rwanda) | |kok |Konkani | |kok_IN |Konkani (India) | |ko |Korean | |ko_KP |Korean (North Korea) | |ko_KR |Korean (South Korea) | |khq |Koyra Chiini | |khq_ML |Koyra Chiini (Mali) | |ses |Koyraboro Senni | |ses_ML |Koyraboro Senni (Mali) | |lag |Langi | |lag_TZ |Langi (Tanzania) | |lv |Latvian | |lv_LV |Latvian (Latvia) | |ln |Lingala | |ln_AO |Lingala (Angola) | |ln_CF |Lingala (Central African Republic) | |ln_CG |Lingala (Congo - Brazzaville) | |ln_CD |Lingala (Congo - Kinshasa) | |lt |Lithuanian | |lt_LT |Lithuanian (Lithuania) | |luo |Luo | |luo_KE |Luo (Kenya) | |luy |Luyia | |luy_KE |Luyia (Kenya) | |mk |Macedonian | |mk_MK |Macedonian (Macedonia) | |jmc |Machame | |jmc_TZ |Machame (Tanzania) | |kde |Makonde | |kde_TZ |Makonde (Tanzania) | |mg |Malagasy | |mg_MG |Malagasy (Madagascar) | |ms |Malay | |ms_BN |Malay (Brunei) | |ms_MY |Malay (Malaysia) | |ms_SG |Malay (Singapore) | |ml |Malayalam | |ml_IN |Malayalam (India) | |mt |Maltese | |mt_MT |Maltese (Malta) | |gv |Manx | |gv_IM |Manx (Isle of Man) | |mr |Marathi | |mr_IN |Marathi (India) | |mas |Masai | |mas_KE |Masai (Kenya) | |mas_TZ |Masai (Tanzania) | |mer |Meru | |mer_KE |Meru (Kenya) | |mfe |Morisyen | |mfe_MU |Morisyen (Mauritius) | |naq |Nama | |naq_NA |Nama (Namibia) | |ne |Nepali | |ne_IN |Nepali (India) | |ne_NP |Nepali (Nepal) | |nd |North Ndebele | |nd_ZW |North Ndebele (Zimbabwe) | |nb |Norwegian BokmÃ¥l | |nb_NO |Norwegian BokmÃ¥l (Norway) | |nb_SJ |Norwegian BokmÃ¥l (Svalbard & Jan Mayen) | |nn |Norwegian Nynorsk | |nn_NO |Norwegian Nynorsk (Norway) | |nyn |Nyankole | |nyn_UG |Nyankole (Uganda) | |or |Oriya | |or_IN |Oriya (India) | |om |Oromo | |om_ET |Oromo (Ethiopia) | |om_KE |Oromo (Kenya) | |ps |Pashto | |ps_AF |Pashto (Afghanistan) | |fa |Persian | |fa_AF |Persian (Afghanistan) | |fa_IR |Persian (Iran) | |pl |Polish | |pl_PL |Polish (Poland) | |pt |Portuguese | |pt_AO |Portuguese (Angola) | |pt_BR |Portuguese (Brazil) | |pt_CV |Portuguese (Cape Verde) | |pt_GW |Portuguese (Guinea-Bissau) | |pt_MO |Portuguese (Macau SAR China) | |pt_MZ |Portuguese (Mozambique) | |pt_PT |Portuguese (Portugal) | |pt_ST |Portuguese (São Tomé & Príncipe) | |pt_TL |Portuguese (Timor-Leste) | |pa |Punjabi | |pa_Arab_PK|Punjabi (Arabic, Pakistan) | |pa_Arab |Punjabi (Arabic) | |pa_Guru_IN|Punjabi (Gurmukhi, India) | |pa_Guru |Punjabi (Gurmukhi) | |ro |Romanian | |ro_MD |Romanian (Moldova) | |ro_RO |Romanian (Romania) | |rm |Romansh | |rm_CH |Romansh (Switzerland) | |rof |Rombo | |rof_TZ |Rombo (Tanzania) | |ru |Russian | |ru_BY |Russian (Belarus) | |ru_KZ |Russian (Kazakhstan) | |ru_KG |Russian (Kyrgyzstan) | |ru_MD |Russian (Moldova) | |ru_RU |Russian (Russia) | |ru_UA |Russian (Ukraine) | |rwk |Rwa | |rwk_TZ |Rwa (Tanzania) | |saq |Samburu | |saq_KE |Samburu (Kenya) | |sg |Sango | |sg_CF |Sango (Central African Republic) | |seh |Sena | |seh_MZ |Sena (Mozambique) | |sr |Serbian | |sr_BA |Serbian (Bosnia & Herzegovina) | |sr_Cyrl_BA|Serbian (Cyrillic, Bosnia & Herzegovina) | |sr_Cyrl_ME|Serbian (Cyrillic, Montenegro) | |sr_Cyrl_RS|Serbian (Cyrillic, Serbia) | |sr_Cyrl |Serbian (Cyrillic) | |sr_Latn_BA|Serbian (Latin, Bosnia & Herzegovina) | |sr_Latn_ME|Serbian (Latin, Montenegro) | |sr_Latn_RS|Serbian (Latin, Serbia) | |sr_Latn |Serbian (Latin) | |sr_ME |Serbian (Montenegro) | |sr_RS |Serbian (Serbia) | |sn |Shona | |sn_ZW |Shona (Zimbabwe) | |ii |Sichuan Yi | |ii_CN |Sichuan Yi (China) | |si |Sinhala | |si_LK |Sinhala (Sri Lanka) | |sk |Slovak | |sk_SK |Slovak (Slovakia) | |sl |Slovenian | |sl_SI |Slovenian (Slovenia) | |xog |Soga | |xog_UG |Soga (Uganda) | |so |Somali | |so_DJ |Somali (Djibouti) | |so_ET |Somali (Ethiopia) | |so_KE |Somali (Kenya) | |so_SO |Somali (Somalia) | |es |Spanish | |es_AR |Spanish (Argentina) | |es_BO |Spanish (Bolivia) | |es_CL |Spanish (Chile) | |es_CO |Spanish (Colombia) | |es_CR |Spanish (Costa Rica) | |es_CU |Spanish (Cuba) | |es_DO |Spanish (Dominican Republic) | |es_EC |Spanish (Ecuador) | |es_SV |Spanish (El Salvador) | |es_GQ |Spanish (Equatorial Guinea) | |es_GT |Spanish (Guatemala) | |es_HN |Spanish (Honduras) | |es_419 |Spanish (Latin America) | |es_MX |Spanish (Mexico) | |es_NI |Spanish (Nicaragua) | |es_PA |Spanish (Panama) | |es_PY |Spanish (Paraguay) | |es_PE |Spanish (Peru) | |es_PR |Spanish (Puerto Rico) | |es_ES |Spanish (Spain) | |es_US |Spanish (United States) | |es_UY |Spanish (Uruguay) | |es_VE |Spanish (Venezuela) | |sw |Swahili | |sw_KE |Swahili (Kenya) | |sw_TZ |Swahili (Tanzania) | |sw_UG |Swahili (Uganda) | |sv |Swedish | |sv_AX |Swedish (Ã…land Islands) | |sv_FI |Swedish (Finland) | |sv_SE |Swedish (Sweden) | |gsw |Swiss German | |gsw_CH |Swiss German (Switzerland) | |gsw_LI |Swiss German (Liechtenstein) | |shi |Tachelhit | |shi_Latn_MA|Tachelhit (Latin, Morocco) | |shi_Latn |Tachelhit (Latin) | |shi_Tfng_MA|Tachelhit (Tifinagh, Morocco) | |shi_Tfng |Tachelhit (Tifinagh) | |dav |Taita | |dav_KE |Taita (Kenya) | |ta |Tamil | |ta_IN |Tamil (India) | |ta_MY |Tamil (Malaysia) | |ta_SG |Tamil (Singapore) | |ta_LK |Tamil (Sri Lanka) | |te |Telugu | |te_IN |Telugu (India) | |teo |Teso | |teo_KE |Teso (Kenya) | |teo_UG |Teso (Uganda) | |th |Thai | |th_TH |Thai (Thailand) | |bo |Tibetan | |bo_CN |Tibetan (China) | |bo_IN |Tibetan (India) | |ti |Tigrinya | |ti_ER |Tigrinya (Eritrea) | |ti_ET |Tigrinya (Ethiopia) | |to |Tongan | |to_TO |Tongan (Tonga) | |tr |Turkish | |tr_CY |Turkish (Cyprus) | |tr_TR |Turkish (Turkey) | |uk |Ukrainian | |uk_UA |Ukrainian (Ukraine) | |ur |Urdu | |ur_IN |Urdu (India) | |ur_PK |Urdu (Pakistan) | |uz |Uzbek | |uz_Arab_AF|Uzbek (Arabic, Afghanistan) | |uz_Arab |Uzbek (Arabic) | |uz_Cyrl_UZ|Uzbek (Cyrillic, Uzbekistan) | |uz_Cyrl |Uzbek (Cyrillic) | |uz_Latn_UZ|Uzbek (Latin, Uzbekistan) | |uz_Latn |Uzbek (Latin) | |vi |Vietnamese | |vi_VN |Vietnamese (Vietnam) | |vun |Vunjo | |vun_TZ |Vunjo (Tanzania) | |cy |Welsh | |cy_GB |Welsh (United Kingdom) | |yo |Yoruba | |yo_BJ |Yoruba (Benin) | |yo_NG |Yoruba (Nigeria) | |zu |Zulu | |zu_ZA |Zulu (South Africa) | alainm23-planify-69962f8/po/af.po000066400000000000000000002510701517337276100164440ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:06+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Afrikaans \n" "Language: af\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼ï¸�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒ï¸�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉ï¸�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "ðŸ�¡ï¸�Home" msgstr "" #: core/Utils/Util.vala:724 msgid "ðŸ�ƒâ€�♀ï¸�ï¸�Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! ðŸ™�" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/ak.po000066400000000000000000002510621517337276100164520ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:56+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Akan \n" "Language: ak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼ï¸�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒ï¸�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉ï¸�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "ðŸ�¡ï¸�Home" msgstr "" #: core/Utils/Util.vala:724 msgid "ðŸ�ƒâ€�♀ï¸�ï¸�Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! ðŸ™�" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/ar.po000066400000000000000000002624071517337276100164660ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2026-02-04 22:01+0000\n" "Last-Translator: Ali Basheer \n" "Language-Team: Arabic \n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" "X-Generator: Weblate 5.16-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "مشاريع" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "أقسام" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "مهام" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "ملصقات" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Ù�لاتر" #: core/Enum.vala:186 msgid "Lists" msgstr "قوائم" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "لا تكرر" #: core/Enum.vala:216 #, fuzzy, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "كل دقيقة" msgstr[1] "كل دقيقة" msgstr[2] "كل دقيقة" msgstr[3] "كل دقيقة" msgstr[4] "كل دقيقة" msgstr[5] "كل دقيقة" #: core/Enum.vala:218 #, fuzzy, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "كل ساعة" msgstr[1] "كل ساعة" msgstr[2] "كل ساعة" msgstr[3] "كل ساعة" msgstr[4] "كل ساعة" msgstr[5] "كل ساعة" #: core/Enum.vala:220 #, fuzzy, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "كل يوم" msgstr[1] "كل يوم" msgstr[2] "كل يوم" msgstr[3] "كل يوم" msgstr[4] "كل يوم" msgstr[5] "كل يوم" #: core/Enum.vala:222 #, fuzzy, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "كل أسبوع" msgstr[1] "كل أسبوع" msgstr[2] "كل أسبوع" msgstr[3] "كل أسبوع" msgstr[4] "كل أسبوع" msgstr[5] "كل أسبوع" #: core/Enum.vala:224 #, fuzzy, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "كل شهر" msgstr[1] "كل شهر" msgstr[2] "كل شهر" msgstr[3] "كل شهر" msgstr[4] "كل شهر" msgstr[5] "كل شهر" #: core/Enum.vala:226 #, fuzzy, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "كل سنة" msgstr[1] "كل سنة" msgstr[2] "كل سنة" msgstr[3] "كل سنة" msgstr[4] "كل سنة" msgstr[5] "كل سنة" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "الأولوية" #: core/Enum.vala:348 msgid "Label" msgstr "ملصق" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "تاريخ الاستحقاق" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "قسم" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "تم انشاء المهمة" #: core/Enum.vala:472 msgid "Task Updated" msgstr "تم تحديث المهمة" #: core/Enum.vala:528 msgid "Content" msgstr "المحتوى" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "الوصÙ�" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "مجدول" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "تثبيت" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "كل المهام" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "كل المهام" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "كل" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "أي وقت" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "أي وقت" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "Ù�لاتر" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "لا تاريخ" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "مكتمل" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "مكتمل" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "سجل" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "البريد الوارد" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "البريد الوارد" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "ملصقات" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "لوحة إعلانات" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "الأولوية 1: مرتÙ�عة" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "الأولوية 2: متوسطة" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "الأولوية 3: منخÙ�ضة" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "الأولوية 4: لا شيء" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "مرتÙ�ع" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "متوسط" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "منخÙ�ض" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "لا شيء" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "تكرار" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "تكرار" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "مجدول" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "قادم" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "اليوم" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "اليوم" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "غداً" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "غداً" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "تاريخ" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "غير مسمى" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "لا اسم" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "غير مسمى" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "تم نسخ المهمة الى الحاÙ�ظة" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "تم نسخ المهمة الى%s" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "حذÙ� الاسم %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "هذا لا يمكن الرجوع عنه" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "الغاء" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "حذÙ�" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "تم نسخ المشروع للحاÙ�ظة." #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "حذÙ� المشروع %sØŸ" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "أرشÙ�ة؟" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "هذا سيأرشÙ� %s وكل مهامه." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "أرشيÙ�" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "حذÙ� القسم %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "تم اضاÙ�Ø© المهمة بنجاح!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "اسم العمل" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "هذا الحقل مطلوب" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "أضÙ� وصÙ�اً…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "أضÙ� أسماء" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "حدد الأولوية" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "أضÙ� التذكيرات" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "أضÙ� مهمة" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "واصل الإضاÙ�Ø©" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "اختر مشروعاً" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "عذراً, لم تتمكن الإضاÙ�Ø© السريعة من العثور على أي مشروع متاح, حاول إنشاء مشروع " "من Planify." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "اختصارات لوحة المÙ�اتيح" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "سرّع من عملية إنشاء المهام من خلال هذه الإختصارات" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "حدد أولوية" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = الأعلى, p4 = الأخÙ�ض" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "أضÙ� أسماء" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "عيّن المشروع" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "حدد تذكير" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "نصيحة" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "اجمع الاختصارات Ù�ÙŠ العنوان لإنشاء أسرع" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "جاري تحميل المهام Ù„ %s…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "المصدر موجود بالÙ�عل" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "Ù�شل Ù�ÙŠ حل عنوان URL الرئيسي" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "جاري تÙ�عيل المزامنة…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "جاري مزامنة %s…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "تمت المزامنة" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "الطلب غير صحيح." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "التصديق مطلوب, Ùˆ Ù�شل, أو لم يتم تقديمه حتى الآن." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "الطلب صالح, لكن لشيء محظور." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "المورد المطلوب غير موجود." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "لقد أرسل المستخدم طلبات Ù�ÙŠ وقت محدد أكثر مما يجب." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "Ù�شل الطلب بسبب خطأ Ù�ÙŠ المخدم." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "المخدم غير قادر حالياً على معالجة الطلب." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "خطأ غير معروÙ�" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "البارحة" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "أيام" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "يوم" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "منذ %s %s" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "%s %s باقي" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼ï¸�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒ï¸�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉ï¸�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "ðŸ�¡ï¸�Home" msgstr "" #: core/Utils/Util.vala:724 msgid "ðŸ�ƒâ€�♀ï¸�ï¸�Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! ðŸ™�" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, fuzzy, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "تم نسخ المهمة الى%s" msgstr[1] "تم نسخ المهمة الى%s" msgstr[2] "تم نسخ المهمة الى%s" msgstr[3] "تم نسخ المهمة الى%s" msgstr[4] "تم نسخ المهمة الى%s" msgstr[5] "تم نسخ المهمة الى%s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" #, c-format #~ msgid "Processing task %d of %d" #~ msgstr "جاري معالجة المهمة %d ل %d" #, c-format #~ msgid "Every %d minutes" #~ msgstr "كل %d دقائق" #, c-format #~ msgid "Every %d hours" #~ msgstr "كل%d ساعات" #, c-format #~ msgid "Every %d days" #~ msgstr "كل%d أيام" #, c-format #~ msgid "Every %d weeks" #~ msgstr "كل%d أسابيع" #, c-format #~ msgid "Every %d months" #~ msgstr "كل%d أشهر" #, c-format #~ msgid "Every %d years" #~ msgstr "كل%d سنين" #~ msgid "Stay open after creating task" #~ msgstr "ابق م�توح بعد إنشاء المهمة" alainm23-planify-69962f8/po/az.po000066400000000000000000002510721517337276100164720ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:04+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Azerbaijani \n" "Language: az\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/be.po000066400000000000000000002515621517337276100164520ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:11+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Belarusian \n" "Language: be\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/bg.po000066400000000000000000003770701517337276100164570ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:08+0000\n" "Last-Translator: Fraxinus Acer \n" "Language-Team: Bulgarian \n" "Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Проекти" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Раздели" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Задачи" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Етикети" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Филтри" #: core/Enum.vala:186 msgid "Lists" msgstr "Спи�ъци" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "�е повтар�й" #: core/Enum.vala:216 #, fuzzy, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "В��ка минута" msgstr[1] "В��ка минута" #: core/Enum.vala:218 #, fuzzy, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "В�еки ча�" msgstr[1] "В�еки ча�" #: core/Enum.vala:220 #, fuzzy, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "В�еки ден" msgstr[1] "В�еки ден" #: core/Enum.vala:222 #, fuzzy, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "В��ка �едмица" msgstr[1] "В��ка �едмица" #: core/Enum.vala:224 #, fuzzy, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "В�еки ме�ец" msgstr[1] "В�еки ме�ец" #: core/Enum.vala:226 #, fuzzy, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "В��ка година" msgstr[1] "В��ка година" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Приоритет" #: core/Enum.vala:348 msgid "Label" msgstr "Етикет" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Краен �рок" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Раздел" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "Задачата е �ъздадена" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Задачата е обновена" #: core/Enum.vala:528 msgid "Content" msgstr "Съдържание" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Опи�ание" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "�а�рочени" # This word is being used as a verb but also as an indicator that a task is pinned, they should be two different fields like "Pin" and "Pinned". #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Закачване" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Задачи" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "в�ички задачи" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "��ички" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "По в��ко време" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "по в��ко време" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "филтри" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "без дата" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Завършени" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "завършено" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "журнал" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Вход�щи" #: core/Objects/Filters/Inbox.vala:36 #, fuzzy msgid "inbox" msgstr "Вход�щи" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "етикети" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Закачени" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Приоритет 1: ви�око" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Приоритет 2: �редно" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Приоритет 3: ни�ко" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Priority 4: без" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "ви�око" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "�редно" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "ни�ко" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "без" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Повтар�щ" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "повтар�щ" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "на�рочени" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "пред�то�щи" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Дне�" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "дне�" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Утре" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "утре" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "Дата" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Без етикет" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "без етикет" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "без етикет" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Задачата е копирана в буфера за обмен" # c-format # c-format #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "Задачата е преме�тена в %s" # # c-format #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Премахване на етикета %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Това не може да бъде върнато" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Отказване" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Изтриване" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "Проектът е копиран в буфера за обмен." # # c-format #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "Да �е премахне ли проекта %s?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "�рхивиране?" # # c-format #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "Това ще архивира %s и в�ички негови задачи." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "�рхив" # # c-format #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Премахване на раздела %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 #, fuzzy msgid "Task added successfully!" msgstr "Проектът е добавен у�пешно!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Име на задачата" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "Това поле е задължително" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Добавете опи�ание…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Добав�не на етикети" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Задаване на приоритета" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Добав�не на напомн�ни�" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Добав�не на задача" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Изберете проект" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "„Бързо добав�не“ не може да намери наличен проект, опитайте да �ъздадете " "проект от „Planify“." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Клавишни комбинации" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 #, fuzzy msgid "Set priority" msgstr "Задаване на приоритета" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 #, fuzzy msgid "Add labels" msgstr "Добав�не на етикети" #: core/QuickAddCore.vala:1427 #, fuzzy msgid "Opens label selector" msgstr "Отвар�не на „Етикети“" #: core/QuickAddCore.vala:1428 #, fuzzy msgid "Assign project" msgstr "Добав�не на проект" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 #, fuzzy msgid "Set reminder" msgstr "Задавайте напомн�ни�!" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 #, fuzzy msgid "Tip" msgstr "Горе" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, fuzzy, c-format msgid "Loading tasks for %s…" msgstr "Зареждане…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, fuzzy, c-format msgid "Syncing %s…" msgstr "Синхронизиране…" #: core/Services/CalDAV/Core.vala:260 #, fuzzy msgid "Sync completed" msgstr "завършено" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "�а този компютър" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "За�вката е неправилна." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" "Упълномощаване е задължително, но е неу�пешно или в�е още не е предо�тавено." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "За�вката е правилна, но за нещо, което е забранено." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "За�вени�т ре�ур� не може да бъде намерен." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" "Потребител�т е изпратил твърде много за�вки за определен период от време." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "За�вката е неу�пешна поради грешка на �ървъра." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "В момента �ървърът не може да обработи за�вката." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "�епозната грешка" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "Вчера" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "дена" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "ден" # # c-format #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "преди %s %s" # # c-format #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "о�тава %s %s" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Пн," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Вт," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "Ср," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Чт," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Пт," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "Сб," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "�д," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Ягодово червено" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Червено" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Оранжево" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Жълто" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Ма�линено зелено" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Лайм�ко зелен" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Зелено" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "Ментово зелено" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Тил" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "�ебе�но �иньо" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Светло �иньо" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Синьо" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Грозде" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Лилаво" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Лавандула" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "Маджента" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "Сьомга" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "Въглен" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Сиво" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "Тъмно каф�во" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Светла" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Тъмна" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Тъмно �иньо" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Без" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Дне� + Вход�щи" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Изтриване на в�ички файлове" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "Проце�ът е завършен, тр�бва да �тартирате „Planify“ наново." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "Добре" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "�а този компютър" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Запознайте �е � „Planify“" #: core/Utils/Util.vala:590 #, fuzzy msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "Този проект ви показва в�ичко, което тр�бва да знаете, за да започнете " "работа. �е �е колебайте да �и поиграете � него - винаги може да �ъздадете " "нов проект от на�тройките." #: core/Utils/Util.vala:597 #, fuzzy msgid "Tap this task" msgstr "�ати�нете тази задача" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" "Гледате към една задача! Завършете �, като нати�нете полето за избор вл�во. " "Завършените задачи �е �ъбират най-отдоло на ваши� проект. " #: core/Utils/Util.vala:603 #, fuzzy msgid "Create a new task" msgstr "Създаване на нова задача" #: core/Utils/Util.vala:604 #, fuzzy msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Сега е ваш ред, нати�нете бутона „+“ в долната ча�т на проекта, въведете " "в�ички неизпълнени и доко�нете �ини� бутон „Запазване“." #: core/Utils/Util.vala:609 #, fuzzy msgid "Plan this to-do for today or later" msgstr "Планирайте тази задача до дне� или по-къ�но" #: core/Utils/Util.vala:610 #, fuzzy msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" "�ати�нете бутона на календара в долната ча�т, за да решите кога да направите " "тази задача." #: core/Utils/Util.vala:615 #, fuzzy msgid "Reorder your to-dos" msgstr "Пренаредете вашите задачи" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "За да пренаредите �пи�ъка, нати�нете и задръжте дадена задача, �лед което � " "изтеглете до м��тото, където тр�бва да бъде." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Създайте проект" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "Организирайте задачите �и по-добре! Отидете в леви� панел, нати�нете бутона " "„+“ в раздела „�а този компютър“ и добавете �вой проект." #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "Готови �те!" #: core/Utils/Util.vala:628 #, fuzzy msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "Това е в�ичко, което тр�бва да знаете. Чув�твайте �е �вободни да добав�те " "�вои �об�твени проекти и задачи.\n" "\n" "Можете да �е върнете към този проект по-къ�но, за да �е запознаете � " "допълнителните функции по-долу.\n" "\n" "�ад�ваме �е, че ще ви харе�а да използвате „Planify“!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "Пер�онализирайте по �вой вку�" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Покажете �ъбити�та от календара �и" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "Може да показвате �ъбити�та от календара на �и�темата �и в „Planify“. " "Отидете в „�а�тройки“ 🡒 „Календарни �ъбити�“, за да го включите." #: core/Utils/Util.vala:657 #, fuzzy msgid "Enable synchronization with third-party services" msgstr "�ктивирайте �инхронизаци�та � у�луга на трето лице." #: core/Utils/Util.vala:658 #, fuzzy msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "„Planify“ не �амо �ъздава задачи локално, но и може да �инхронизира профила " "ви в „Todoist“. Отидете в „�а�тройки“ 🡒 „Профили“." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "Увеличете производително�тта �и" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "Изтеглете „плю�“ бутона!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "Сини�т бутон, който виждате в долната ча�т на в�еки екран, е по-мощен, " "отколкото изглежда: той е �ъздаден да �е движи! Изтеглете го нагоре, за да " "�ъздадете задача, където пожелаете." #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 #, fuzzy msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "Етикетите ви позвол�ват да подобрите работни� �и проце� в „Planify“. За да " "добавите етикет, нати�нете върху бутона за етикет в долната ча�т." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "Задавайте напомн�ни�!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼�Работа" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒�Училище" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉�Делегирано" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "��Вкъщи" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀��Следващо" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Задачата е дублирана" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Име на раздела" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Дей�тви� по проекта" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "�авреме" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 минути преди крайни� �рок" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 минути преди крайни� �рок" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 минути преди крайни� �рок" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 ча� преди крайни� �рок" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 ча�а преди крайни� �рок" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 ча�а преди крайни� �рок" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%OB" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "�азад" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Избиране на дата" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "�д" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Пн" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Вт" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "Ср" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Чт" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Пт" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "Сб" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Време" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "до" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "за" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "времена" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "време" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Повтар�не" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "Следващата �едмица" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Ежедневно" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 #, fuzzy msgid "Weekdays" msgstr "Еже�едмично" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 #, fuzzy msgid "Weekends" msgstr "Седмица/и" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Еже�едмично" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Ежеме�ечно" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Годишно" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "По поръчка, Поръчан (заб.: произлиза от израза Custom-made)" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "Минута/и" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "Ча�(ове)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "Ден(дни)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 #, fuzzy msgid "Week(s)" msgstr "Еже�едмично" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "Ме�ец(и)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "Година/и" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "�икога" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "�а дата" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "След" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "Повтар�йте в�еки" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "Край" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "Избиране на етикети" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" "Спи�ъкът � филтри ще бъде показан тук. Създайте такъв, като въведете името " "му и нати�нете „Enter“ клавиша." # # c-format #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "Създаване на „%s“" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" "Спи�ъкът � напомн�ни� ще �е по�ви тук. Добавете ново, като нати�нете върху " "„+“ бутона." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "Тър�ене" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "Тър�ене или Създаване" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 #, fuzzy msgid "Remove link" msgstr "Премахване" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "Priority 4: без" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "Приоритет 1: Ви�око" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "Приоритет 2: Средно" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "Приоритет 3: �и�ко" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "Приоритет 1: Средно" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "Приоритет 1: �и�ко" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "Ваши�т �пи�ък � раздели ще �е покаже тук." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "Без раздел" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "Въведете термин за тър�ене" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "�апомн�ние" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" "Спи�ъкът � напомн�ни� ще �е по�ви тук. Добавете ново, като нати�нете върху " "„+“ бутона." #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "Добав�не на напомн�не" # # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "След 5 минути" # # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "След 15 минути" # # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "След 30 минути" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "След 1 ча�" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "След 3 ча�а" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "След 6 ча�а" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "Задаване на раздел" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "Избиране на раздел" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "Задаване на �ъ�то�нието" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "Съ�то�ние" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "Задача" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "Завършено" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "„Planify“ ще �е �тартира автоматично, когато това у�трой�тво �е включи, и ще " "работи във фонов режим, когато прозорецът му бъде затворен, за да може да " "изпраща изве�ти� за задачи." #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "Завършени задачи" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "Показване на менюто � филтри" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "В�е още н�ма завършени задачи." #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "Премахване на в�ички завършени задачи" # # c-format #: src/Dialogs/CompletedTasks.vala:165 #, fuzzy, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" "Това ще премахне %d завършени задачи и техните подзадачи от проект %s" msgstr[1] "" "Това ще премахне %d завършени задачи и техните подзадачи от проект %s" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "Филтриране по" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "Следващата �едмица" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "Без дата" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Приключили, Готово" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "Промен�не на и�тори�та" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "Добавено в" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "�е е до�тъпен" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "Обновено в" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" "Вашата и�тори� на промените ще �е покаже тук, �лед като започнете да правите " "промени." # # c-format #: src/Dialogs/ItemChangeHistory.vala:138 #, fuzzy, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "Зареждане на още и�тори� от преди %d �едмици…" msgstr[1] "Зареждане на още и�тори� от преди %d �едмици…" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "�ов етикет" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "Редактиране на етикета" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "Дайте име на етикета �и" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "Добав�не на етикет" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "Обнов�ване на етикет" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "Филтър" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "�рхивирани проекти" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "Управление на разделите" #: src/Dialogs/ManageSectionOrder.vala:54 #, fuzzy msgid "You can sort your sections by dragging and dropping" msgstr "Може да �ортирате изгледите �и чрез изтегл�не и пу�кане" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "�рхивиран" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(Без раздел)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "Реги�трации" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "Източник" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 #, fuzzy msgid "Inbox Page" msgstr "Вход�щи" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 #, fuzzy msgid "You can sort your accounts by dragging and dropping" msgstr "Може да �ортирате изгледите �и чрез изтегл�не и пу�кане" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 #, fuzzy msgid "Change Inbox" msgstr "Отвар�не на „Вход�щи“" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 #, fuzzy msgid "Syncing…" msgstr "Синхронизиране…" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "�дре� на �ървъра" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 #, fuzzy msgid "Username" msgstr "Потребител�ко име" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "Парола" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 #, fuzzy msgid "Calendar Home URL" msgstr "Календар" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "Впи�ване" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 #, fuzzy msgid "Inbox Project" msgstr "Проект „Вход�щи“ по подразбиране" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "Източник" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "Име за показване" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "Сървър за �инхронизаци�" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" "�ктивирайте тази на�тройка, за да може „Planify“ автоматично да �е " "�инхронизира � профила ви в „Todoist“ на в�еки 15 минути" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "По�ледна �инхронизаци�" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 #, fuzzy msgid "Delete Source" msgstr "Премахване на източника?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "Премахване на източника?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "Синхронизиране…" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "Изглед" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "Използване на �тандартните на�тройки" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 #, fuzzy msgid "Select theme" msgstr "Избор" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "Светъл �тил" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "Тъмен �тил" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "Тъмно �ин �тил" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "Резерви" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" "�икога не �е прите�н�вайте, че ще загубите данните �и. Може да �ъздавате " "резервни копи� на текущите �и проекти, задачи и коментари и да ги вне�ете по-" "къ�но." #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "Създаване на резервен файл" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "Вна��не на резервен файл" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "Резервни Файлове" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" "��ма наличен профил. Синхронизирайте такъв, като нати�нете върху „+“ бутона." #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "Мигриране" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "Мигриране от „Planner“" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "Задачите �а мигрирани у�пешно." #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "Задачите �а мигрирани у�пешно" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "�е �ъще�твува базата от данни." #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "Избрани�т файл е невалиден" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "Създаване на резервен файл" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "Свал�м, Изтегл�м, Източвам" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "Преглед на вна��не" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "Източник" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "Добав�не на задача" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "Потвърждаване" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "Въз�танов�ване от резервно копие" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" "Сигурни ли �те, че и�кате да продължите? Тази операци� ще премахне текущите " "ви данни и ще ги заме�ти � резервните данни." #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "Въз�танов�ване от резервно копие" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "Общи" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "Друг ред на подредба" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "�збучен ред" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "Подреждане по" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "Възход�що" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "�изход�що" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "Подредени" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "Интеграци� � работната �реда" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "Пу�кане при �тартиране" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "Фонов режим" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "Календарни �ъбити�" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "Дата и време" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24-ча�ов" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12-ча�ов" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "Формат на ча�овника" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "�едел�" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "Понеделник" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "Вторник" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "Ср�да" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "Четвъртък" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "Петък" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "Събота" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "�ачало на �едмицата" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 #, fuzzy msgid "Home View" msgstr "�ачална �траница" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "Бързо добав�не" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" "Използвайте „Бързо добав�не“, за да �ъздавате задачи по в��ко време от " "работни� плот �амо � н�колко нати�кани� на клавиши. Дори не е необходимо да " "напу�кате приложението, в което �е намирате в момента." #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" "Отидете в „Стандартни на�тройки“ → „Клавиатура“ → „Клавишни комбинации“ → " "„Друг“, �лед което добавете нова комбинаци� �ъ� �ледното:" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "�а�тройки" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "Запазване на по�ледно избрани� проект" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" "�ко е премахната отметката, по подразбиране �е избира проекта „Вход�щи“" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "Командата е копирана в буфера за обмен" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "Странична лента" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "Показване в �траничната лента" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "Показване на бро� задачи" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "Широчина на �траничната лента" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 #, fuzzy msgid "List View for Filters" msgstr "�ови филтри" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "Може да �ортирате изгледите �и чрез изтегл�не и пу�кане" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "�а�тройки на задачата" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 #, fuzzy msgid "Complete Instantly" msgstr "Мигновено" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 #, fuzzy msgid "Complete with Undo" msgstr "Завършени" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 #, fuzzy msgid "Task Completion" msgstr "Завършване на задачата" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "Приоритет 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "Приоритет 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "Приоритет 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "Стандартен приоритет" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "Показване на завършените задачи" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "�ова позици� на задачата" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "Винаги показване на завършените подзадачи" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "Завършване на задачата" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "Възпроизвеждане на звук при завършване на задача" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 #, fuzzy msgid "Open Tasks in Sidebar View" msgstr "Отвар�не на задачата в �транични� изглед" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "Включване на Markdown форматиране" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "Превключване на поддръжката на Markdown за задачи" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "Винаги да �е показва �траничната лента � подробно�ти" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 #, fuzzy msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" "Дръжте панела � подробно�ти винаги видим, за да �е уле�ни навигирането �ъ� " "задачите и да не �е налага по�то�нно да отвар�те и затвар�те панела." #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "Включено" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "�втоматични напомн�ни�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" "Когато е включено, по подразбиране ще бъде добавено напомн�не преди крайни� " "�рок на задачата." #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "�а�тройки" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "Синхронизирайте вашите любими у�луги за задачи" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "Пер�онализирайте по �вой вку�" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "Пер�онализирайте �траничната лента" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "Добав�не на задачи отв��къде" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "�аправете резерва или мигрирайте от „Planner“." #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "Създаване на проект за обучение" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "�аучете приложението �тъпка по �тъпка � кратък проект за обучение" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "И�каш ли да ми купиш напитка?" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "Потър�ете ни" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "Свържете �е � на�" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "�аправете за�вка за нова функци�, или ни попитайте нещо" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "Пишете ни в Twitter" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "Споделете малко любов" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "Об�ъждайте и �подел�йте отзивите �и" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodon" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "Ди�кретно�т" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "�а�тройки за лични данни" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "�е запазваме нищо общо � ва�" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "Премахване на данните на приложението" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "Проект за обучение е �ъздаден" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "И�кате ли да премахнете в�ички данни?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "Премахва в�ички ваши �пи�ъци, задачи, и напомн�ни� завинаги" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "Обобщение" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "Създаване на повече" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "Тази �едмица" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "Този ме�ец" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "Про�рочено" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "�ов проект" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "Редактиране на проекта" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "Дайте име на проекта �и" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "Използване на емотикона" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "Добав�не на проект" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "Обнов�ване на проекта" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "Проектът е добавен у�пешно!" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "Преме�тване" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "Бързо тър�ене" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" "Бързо �мен�не на проекти и изгледи, намиране на задачи, тър�ене по етикети" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "�ов раздел" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "Редактиране на раздела" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "Име на раздела" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "Добав�не на раздел" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "Обнов�ване на раздела" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 #, fuzzy msgid "Section added" msgstr "Име на раздела" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "Превключване на �траничната лента" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "Откачване" # # c-format #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "Завършено. Следващо �ъвпадение: %s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "Добав�не на подзадача" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "Редактиране" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "Дублиране" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "Премахване на задачата" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "Редът е променен на „Друг ред на подредба“" # # c-format #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s е премахнато" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "Отм�на" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "Добав�не на подзадачи" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "Скриване на подзадачите" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "Показване на подзадачите" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "Избиране на дата" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "Копиране в буфера за обмен" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "Добав�не на прикрепени файлове" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "Затвар�не на подробно�тите" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "Заглавие" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "Свой�тва" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "Сигурни ли �те, че и�кате да премахнете?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "Премахване на етикета" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "Сортирането на проектите е променено на „Друг ред на подредба“" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "Премахване от „Любими“" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "Добав�не в „Любими“" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "Презареждане" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "Премахване на проект" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "Сподел�не" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "Изпращане като пи�мо" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 #, fuzzy msgid "Add tasks" msgstr "Добав�не на задача" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 #, fuzzy msgid "completed tasks" msgstr "Завършени задачи" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "Преме�тване на раздела" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "Управл�ване на реда на разделите" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "Показване на завършените задачи" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "Премахване на раздела" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "Любими" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "��ма налични любими. Създайте такъв, като нати�нете върху „+“ бутона" #: src/Layouts/Sidebar.vala:122 #, fuzzy msgid "Add Account" msgstr "Реги�трации" #: src/Layouts/Sidebar.vala:123 #, fuzzy msgid "Customize Sidebar" msgstr "Пер�онализирайте �траничната лента" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "Към „Дне�“" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "Към „�а�рочени“" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "Към „Етикети“" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "Към „Закачени“" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "��ма наличен проект. Създайте такъв, като нати�нете върху „+“ бутона" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "О�новно меню" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "Отвар�не на „Бързо Тър�ене“" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "Отно�но „Planify“" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "Опа! �ещо �е �лучи" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "Задачата е завършена" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "Цело�тта на базата от данни не може да бъде проверена" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" "У�тановихме проблеми �ъ� �труктурата на базата от данни, които могат да " "попречат на нормалното функциониране на програмата. Това може да �е дължи на " "лип�ващи таблици или колони, веро�тно причинени от повреда на данните или " "непълно обнов�ване. Базата от данни ще бъде нулирана, за да �е въз�танови " "нормалната функционално�т, а в�ички �ъще�твуващи данни ще бъдат премахнати. " "След нулирането ще може да въз�тановите в�ички резервни копи�, които �те " "�ъздали по-рано. Благодарим Ви за търпението" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "Връщане на базата от данни" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "Създаване на резервен файл" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "Резервата е вне�ена у�пешно" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "Резервни „Planify“ файлове" # # c-format #: src/Services/Notification.vala:99 #, fuzzy msgid "Snooze for 10 minutes" msgstr "След 30 минути" # # c-format #: src/Services/Notification.vala:100 #, fuzzy msgid "Snooze for 30 minutes" msgstr "След 30 минути" #: src/Services/Notification.vala:101 #, fuzzy msgid "Snooze for 1 hour" msgstr "След 1 ча�" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "Показване на менюто � опции" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "Добав�не на н�колко задачи" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "�ати�нете „а“, за да �ъздадете нова задача" #: src/Views/Filter.vala:129 #, fuzzy msgid "All tasks completed!" msgstr "Задачата е завършена" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 #, fuzzy msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "Премахване на в�ички завършени задачи" msgstr[1] "Премахване на в�ички завършени задачи" # c-format # c-format #: src/Views/Filter.vala:627 #, fuzzy, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "Това ще премахне %d завършени задачи и техните подзадачи" msgstr[1] "Това ще премахне %d завършени задачи и техните подзадачи" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "��ма налични любими. Създайте такъв, като нати�нете върху „+“ бутона" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "Бележка" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "�а�рочване" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "Кога?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "Дей�тви� по проекта" #: src/Views/Project/Project.vala:259 #, fuzzy msgid "New Task" msgstr "�ова позици� на задачата" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "Избор" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "По�тав�не" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "Разшир�ване на в�ички" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "�ово" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "Свиване на в�ички" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "Спи�ък" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "Табло" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "Подредба" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "Друг ред на подредба" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "Дата на добав�не" #: src/Views/Project/Project.vala:547 #, fuzzy msgid "Ascending Order" msgstr "Възход�що" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "Краен �рок" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "В�ички (�тандартно)" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "Следващите 7 дни" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "Следващите 30 дни" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "П1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "П2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "П3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "П4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "Тър�ене по „Етикети“" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 #, fuzzy msgid "Search completed tasks" msgstr "Показване на завършените задачи" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "Подреждане по" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "Изме�тване" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "Прикрепени файлове" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "Отвар�не" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "��ма намерени прикрепени файлове. Добавете файлове тук." #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "Подзадачи" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 #, fuzzy msgid "Show less" msgstr "Показване на завършените задачи" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "Докладване на проблем" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Календар" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "Задачата не е завършена" # c-format # c-format #: src/Widgets/ItemChangeHistoryRow.vala:51 #, fuzzy msgid "Task moved to project" msgstr "Задачата е преме�тена в проекта: %s" # c-format # c-format #: src/Widgets/ItemChangeHistoryRow.vala:61 #, fuzzy msgid "Task moved to" msgstr "Задачата е преме�тена в %s" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "Предишно" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "Закачен елемент: активен" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "Закачен елемент: некативен" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "Завършено на" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "Маркиране като завършено" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "Премахване на задачата" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "Сигурни ли �те, че и�кате да премахнете задачата?" # # c-format #: src/Widgets/MultiSelectToolbar.vala:299 #, fuzzy, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "Премахване на %d задачи" msgstr[1] "Премахване на %d задачи" #: src/Widgets/MultiSelectToolbar.vala:305 #, fuzzy, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "Сигурни ли �те, че и�кате да премахнете задачата?" msgstr[1] "Сигурни ли �те, че и�кате да премахнете задачата?" # c-format # c-format #: src/Widgets/MultiSelectToolbar.vala:402 #, fuzzy, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "Задачата е преме�тена в %s" msgstr[1] "Задачата е преме�тена в %s" #: src/Widgets/NewVersionPopup.vala:42 #, fuzzy msgid "New version available!" msgstr "�е е до�тъпен" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 #, fuzzy msgid "Update Now" msgstr "Обновено в" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "Деархивиране" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "В�е още н�ма добавени подзадачи. Започнете!" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 #, fuzzy msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" "Изглежда, че не �те �вързани � Интернет мрежата.\n" "Промените, които правите в режим „Изключен“ ще бъдат\n" "�инхронизирани, когато въз�тановите връзката" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "„Planify“ - Бързо добав�не" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "�ав��къде" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "Създаване на нова задача" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "По�тав�не на обикновен тек�т за �ъздаване на нова задача" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "Създаване на нов проект" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "Създаване на нов раздел в проект" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "Тър�ене" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "Отвар�не на „Бързо Тър�ене“" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "Управление на прозорци" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "Спиране на програмата" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Отвар�не на на�тройките" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "Превключване на �траничната лента" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "Отвар�не на клавишните комбинации" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "�авигаци�" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "Отвар�не на началната �траница" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "Отвар�не на „Вход�щи“" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "Отвар�не на „Дне�“" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "Отвар�не на „�а�рочени“" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "Отвар�не на „Етикети“" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "Отвар�не на „Закачени“" #, fuzzy #~ msgid "Server URL examples:" #~ msgstr "�дре� на �ървъра" #~ msgid "" #~ "Planify is being developed with love and passion for open source. " #~ "However, if you like Planify and want to support its development, please " #~ "consider supporting us." #~ msgstr "" #~ "„Planify“ �е разработва � любов и �тра�т към отворени� код. Въпреки това, " #~ "ако харе�вате „Planify“ и и�кате да подкрепите развитието му, мол�, " #~ "поми�лете дали да не ни подкрепите." #~ msgid "Please Enter Your Credentials" #~ msgstr "Въведете данни за идентификаци�" #~ msgid "Loading…" #~ msgstr "Зареждане…" #~ msgid "Network Is Not Available" #~ msgstr "Мрежата не е до�тъпна" #~ msgid "Set a Due Date" #~ msgstr "Задаване на краен �рок" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "" #~ "Позволете на „Planify“ да работи във фонов режим и да изпраща изве�ти�" #~ msgid "Whether Planify should run on startup" #~ msgstr "Дали „Planify“ да �е пу�не при �тартиране" #~ msgid "Clear" #~ msgstr "Изчи�тване" #~ msgid "Menu" #~ msgstr "Меню" #~ msgid "Add Time" #~ msgstr "Добав�не на време" #, fuzzy #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "И�кате „Planify“ да ви изпрати изве�тие, което да ви напомни за важно " #~ "�ъбитие или нещо �пециално. �ати�нете звънец бутона по-долу, за да " #~ "добавите напомн�не." #~ msgid "Todoist Sync" #~ msgstr "Todoist Синхронизаци�" #~ msgid "Loading" #~ msgstr "Зареждане" #~ msgid "Planner is sync your tasks, this may take a few minutes" #~ msgstr "" #~ "„Planner“ �инхронизира задачите ви, което може да отнеме н�колко минути" #~ msgid "Please enter your credentials" #~ msgstr "Въведете данни за идентификаци�" #, fuzzy #~ msgid "Planify is syncing your tasks, this may take a few minutes" #~ msgstr "" #~ "Planify �инхронизира задачите ви, което може да отнеме н�колко минути" # # c-format #, c-format #~ msgid "Every %d minutes" #~ msgstr "В�еки %d минути" # # c-format #, c-format #~ msgid "Every %d hours" #~ msgstr "В�еки %d ча�а" # # c-format #, c-format #~ msgid "Every %d days" #~ msgstr "В�еки %d дни" # # c-format #, c-format #~ msgid "Every %d weeks" #~ msgstr "В�еки %d �едмици" # # c-format #, c-format #~ msgid "Every %d months" #~ msgstr "В�еки %d ме�еца" # # c-format #, c-format #~ msgid "Every %d years" #~ msgstr "В�еки %d години" # # c-format #, c-format #~ msgid "" #~ "This will delete %d completed tasks and their subtasks from project %s" #~ msgstr "" #~ "Това ще премахне %d завършени задачи и техните подзадачи от проект %s" # # c-format #, c-format #~ msgid "Load more history from %d weeks ago…" #~ msgstr "Зареждане на още и�тори� от преди %d �едмици…" #, fuzzy #~ msgid "Delete Completed Tasks" #~ msgstr "Премахване на в�ички завършени задачи" # c-format # c-format #, c-format #~ msgid "This will delete %d completed tasks and their subtasks" #~ msgstr "Това ще премахне %d завършени задачи и техните подзадачи" # # c-format #, c-format #~ msgid "Delete %d To-Dos" #~ msgstr "Премахване на %d задачи" # # c-format #, c-format #~ msgid "Are you sure you want to delete these %d to-dos?" #~ msgstr "Сигурни ли �те, че и�кате да премахнете %d задачи?" #, fuzzy #~ msgid "Backup" #~ msgstr "Резерви" #~ msgid "Task Setting" #~ msgstr "�а�тройки на задачата" #~ msgid "Personal Data" #~ msgstr "Лична информаци�" #~ msgid "" #~ "We collect absolutely nothing and all your data is stored in a database " #~ "on your computer." #~ msgstr "" #~ "�е �ъбираме аб�олютно нищо и в�ички ваши данни �е �ъхран�ват в база данни " #~ "на ваши� компютър." #~ msgid "" #~ "If you choose to integrate Todoist, which is optional and not selected by " #~ "default, your data will be stored on their private servers, we only " #~ "display your configured tasks and manage them for you." #~ msgstr "" #~ "�ко изберете да интегрирате Todoist, което не е задължително и не е " #~ "избрано по подразбиране, данните ви ще �е �ъхран�ват на техните ча�тни " #~ "�ървъри, а ние �амо ще показваме конфигурираните от ва� задачи и ще ги " #~ "управл�ваме за ва�." #~ msgid "Do you have any questions?" #~ msgstr "Имате ли въпро�и?" #~ msgid "" #~ "If you have any questions about your data or any other issue, please " #~ "contact us. We will be happy to answer you." #~ msgstr "" #~ "�ко имате въпро�и отно�но вашите данните или друг проблем, мол�, �вържете " #~ "�е � на�. Ще �е радваме да ви отговорим." #~ msgid "Supporting Us" #~ msgstr "Подкрепете ни" #~ msgid "" #~ "Our mission is to provide the best open source task management " #~ "application for users all over the world. Your donations support this " #~ "work. Want to donate today?" #~ msgstr "" #~ "�ашата ми�и� е да предо�тавим най-доброто приложение � отворен код за " #~ "управление на задачи за потребители от ц�л �в�т. Вашите дарени� " #~ "подпомагат тази дейно�т. И�кате ли да дарите дне�?" #~ msgid "Support Planify" #~ msgstr "Подкрепете Planify" #, fuzzy #~ msgid "Clear Schedule" #~ msgstr "�а�рочване" #~ msgid "Process completed, you need to start Planify again" #~ msgstr "Проце�ът е завършен, тр�бва да �тартирате „Planify“ наново" #~ msgid "Task Detail" #~ msgstr "Подробно�ти за задачата" #~ msgid "Create a new to-do" #~ msgstr "Създайте нова задача" #~ msgid "Tag your to-dos!" #~ msgstr "Етикирайте вашите задачи!" #~ msgid "What’s new in Planify" #~ msgstr "Какво ново има в „Planify“" #~ msgid "Inbox as Independent Project" #~ msgstr "Вход�ща папка е като незави�им проект" #~ msgid "" #~ "The Inbox is the default place to add new tasks, allowing you to quickly " #~ "get your ideas out of your head and then plan them when you’re ready." #~ msgstr "" #~ "Вход�щата папка е �тандартното м��тото, където може да добав�те нови " #~ "задачи, което ви позвол�ва бързо да извадите идеите от главата �и и да ги " #~ "планирате, когато �те готови." #~ msgid "Enhanced Task Duplication" #~ msgstr "Подобрено дублиране на задачи" #~ msgid "" #~ "When you duplicate a task now, all subtasks and labels are automatically " #~ "duplicated, saving you time and effort in managing your projects." #~ msgstr "" #~ "Когато дублирате задача, в�ички подзадачи и етикети �е дублират " #~ "автоматично, което ви �пе�т�ва време и у�или� при управлението на вашите " #~ "проекти." #~ msgid "Duplication of Sections and Projects" #~ msgstr "Създаване на нов раздел в проект" #~ msgid "" #~ "You can now easily duplicate entire sections and projects, making it " #~ "easier to create new projects based on existing structures." #~ msgstr "" #~ "Вече можете ле�но да дублирате цели �екции и проекти, което уле�н�ва " #~ "�ъздаването на нови проекти въз о�нова на �ъще�твуващи �труктури." #~ msgid "Project Expiry Date" #~ msgstr "Краен �рок на проекта" #~ msgid "" #~ "Your project’s expiry date now clearly shows the remaining days, helping " #~ "you keep track of your deadlines more effectively." #~ msgstr "" #~ "Крайната дата на ваши� проект вече ��но показва о�таващите дни, което ви " #~ "помага да �ледите по-ефективно крайните �рокове." #~ msgid "Archiving of Projects and Sections" #~ msgstr "�рхивиране на проекти и раздели" #~ msgid "" #~ "You can now archive entire projects and sections! This feature helps you " #~ "keep your workspace organized and clutter-free." #~ msgstr "" #~ "Вече може да архивирате цели проекти и раздели! Тази функци� ви помага да " #~ "поддържате работното �и про�тран�тво организирано и подредено." #~ msgid "What's New" #~ msgstr "Какво ново има" #~ msgid "Are you sure you want to reset all? (y/n): " #~ msgstr "Сигурни ли �те, че и�кате да върнете в�ичко? (y/n): " #~ msgid "y" #~ msgstr "y" #~ msgid "yes" #~ msgstr "да" #~ msgid "Couldn't find an app to handle file URIs" #~ msgstr "" #~ "Програма за обработване на адре�и на файлове не може да бъде намерена" #, fuzzy #~ msgid "Planify" #~ msgstr "Запознайте �е � „Planify“" #~ msgid "" #~ "Up to 3 tasks can be pinned and they will appear at the top of the " #~ "project page" #~ msgstr "" #~ "Могат да бъдат закачени до 3 задачи, които ще �е по�в�ват в горната ча�т " #~ "на �траницата на проекта." #~ msgid "No Provider Available" #~ msgstr "�е е до�тъпен" #~ msgid "Go to Inbox" #~ msgstr "Към „Вход�щи“" #~ msgid "Order by" #~ msgstr "Подреждане по" #~ msgid "Integrations" #~ msgstr "Интеграции" #~ msgid "Wait 2500 Milliseconds" #~ msgstr "Изчакайте 2500 мили�екунди" #~ msgid "Complete Task" #~ msgstr "Завършване на задачата" #~ msgid "" #~ "Complete your to-do instantly or wait 2500 milliseconds with the undo " #~ "option" #~ msgstr "" #~ "Завършете задачата �и веднага или изчакайте 2500 мили�екунди � опци�та за " #~ "отм�на" #~ msgid "Top" #~ msgstr "Горе" #~ msgid "Bottom" #~ msgstr "Долу" #~ msgid "Create More" #~ msgstr "Създаване на повече" #~ msgid "App Theme" #~ msgstr "Тема" # c-format # c-format #, c-format #~ msgid "Task moved to: %s" #~ msgstr "Задачата е преме�тена в: %s" #~ msgid "Telegram" #~ msgstr "Telegram" #~ msgid "Matrix Room" #~ msgstr "Matrix �та�" # �е мога да разбера контек�та на този низ. #~ msgid "Attention at One" #~ msgstr "Изве�т�ване навреме" #~ msgid "Add To-Do" #~ msgstr "Добав�не на задача" #~ msgid "Nextcloud Setup" #~ msgstr "Nextcloud" #~ msgid "Offline Mode Is On" #~ msgstr "Режим „Изключен“ е включен" #~ msgid "Provider" #~ msgstr "У�луга" # This word is being used as a verb but also as an indicator that a task is pinned, they should be two different fields like "Pin" and "Pinned". #~ msgid "Pinned" #~ msgstr "Закачване" #~ msgid "View Details" #~ msgstr "Показване на подробно�тите" #~ msgid "All" #~ msgstr "В�ички" #~ msgid "Attach File" #~ msgstr "Резервни Файлове" #~ msgid "Hide Completed Tasks" #~ msgstr "Скриване на завършените задачи" #~ msgid "CalDAV - " #~ msgstr "CalDAV" #~ msgid "On this Computer" #~ msgstr "�а този компютър" #~ msgid "Labels: On This Computer" #~ msgstr "Етикети: на този компютър" #~ msgid "Labels: Todoist" #~ msgstr "Етикети: Todoist" #~ msgid "Labels: Nextcloud" #~ msgstr "Етикети: Nextcloud" #~ msgid "Synchronize with your Todoist Account" #~ msgstr "Синхронизиране � профила ви в „Todoist“" #~ msgid "Synchronization based on open Internet standards" #~ msgstr "Синхронизаци� �поред отворени Интернет �тандарти" #~ msgid "" #~ "Activate this setting so that Planify automatically synchronizes with " #~ "your CalDAV account every 15 minutes" #~ msgstr "" #~ "�ктивирайте тази на�тройка, за да може „Planify“ автоматично да �е " #~ "�инхронизира � ваши� CalDAV профил на в�еки 15 минути." #~ msgid "Failed to login" #~ msgstr "�еу�пешно впи�ване" #~ msgid "" #~ "Are you sure you want to remove the Todoist sync? This action will delete " #~ "all your tasks and settings." #~ msgstr "" #~ "Сигурни ли �те, че и�кате да премахнете Todoist �инхронизаци�та? Това " #~ "дей�твие ще премахне в�ички ваши задачи и на�тройки." #~ msgid "" #~ "Are you sure you want to remove the CalDAV sync? This action will delete " #~ "all your tasks and settings." #~ msgstr "" #~ "Сигурни ли �те, че и�кате да премахнете CalDAV �инхронизаци�та? Това " #~ "дей�твие ще премахне в�ички ваши задачи и на�тройки." #~ msgid "Sign Off" #~ msgstr "Изход" #~ msgid "CalDAV Setup" #~ msgstr "�а�тройване на CalDAV" #~ msgid "Underline Completed Tasks" #~ msgstr "Подчертаване на завършените задачи" #~ msgid "Items" #~ msgstr "Елементи" #~ msgid "Tasks Synced Successfully" #~ msgstr "Задачите �а �инхронизирани у�пешно" #~ msgid "Do you want to use Todoist as your default Inbox Project?" #~ msgstr "" #~ "И�кате ли да използвате „Todoist“ като проект „Вход�щи“ по подразбиране?" # # c-format #~ msgid "Are you sure you want to delete %s?" #~ msgstr "Сигурни ли �те, че и�кате да премахнете %s?" #~ msgid "Custom Sorting in Today View" #~ msgstr "Друг ред на подредба" #~ msgid "Efficient Management of Completed Tasks" #~ msgstr "Премахване на в�ички завършени задачи" #~ msgid "New filters available in Quick Add." #~ msgstr "�алични �а нови филтри в „Бързо добав�не“." #~ msgid "All your repeating to-dos in one, convenient place (finally!)." #~ msgstr "В�ички ваши повтар�щи �е задачи на едно удобно м��то (най-накра�!)." #~ msgid "A nice focused list to plan tomorrow, today." #~ msgstr "Хубав целена�очен �пи�ък за планиране на утрешни� ден, дне�." #~ msgid "All your unlabel to-dos in one place." #~ msgstr "В�ички задачи без етикет на едно м��то." #~ msgid "Search by Sections" #~ msgstr "Тър�ене по раздели" #~ msgid "Quick Find now supports section searching." #~ msgstr "„Бързо тър�ене“ вече поддържа тър�ене в раздели." alainm23-planify-69962f8/po/bn.po000066400000000000000000002510651517337276100164610ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:03+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Bengali \n" "Language: bn\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/bs.po000066400000000000000000002515571517337276100164740ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:53+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Bosnian \n" "Language: bs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/ca.po000066400000000000000000002767201517337276100164520ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2026-01-03 13:01+0000\n" "Last-Translator: Guillem Servera \n" "Language-Team: Catalan \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15.1\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Projectes" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Seccions" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Tasques" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Etiquetes" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Filtres" #: core/Enum.vala:186 msgid "Lists" msgstr "Llistes" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "No repetir" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Cada minut" msgstr[1] "Cada %d minuts" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Cada hora" msgstr[1] "Cada %d hores" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Cada dia" msgstr[1] "Cada %d dies" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Cada setmana" msgstr[1] "Cada %d setmanes" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Cada mes" msgstr[1] "Cada %d mesos" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Cada any" msgstr[1] "Cada %d anys" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Prioritat" #: core/Enum.vala:348 msgid "Label" msgstr "Etiqueta" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Data de venciment" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Secció" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "Tasca creada" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Tasca actualitzada" #: core/Enum.vala:528 msgid "Content" msgstr "Contingut" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Descripció" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Planificat" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Fixar" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Totes les tasques" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "totes les tasques" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "En qualsevol moment" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "a qualsevol moment" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "filtres" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "sense data" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Completat" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "completat" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "bitàcora" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Safata d'entrada" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "safata d'entrada" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "etiquetes" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Importants" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Prioritat 1: alta" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Prioritat 2: mitja" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Prioritat 3: baixa" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Prioritat 4: cap" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "alta" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "mitja" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "baixa" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "cap" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Repetint" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "repetint" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "planificat" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "proper" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Avui" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "avui" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Demà" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "demà" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "data" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Sense etiquetar" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "sense etiqueta" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "sense etiquetar" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Tasca copiada al porta-retalls" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "Tasca moguda a %s" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Elimina l'etiqueta %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Aquesta acció no es pot desfer" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Cancel·la" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Esborra" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "El projecte s'ha copiat al portaretalls." #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "Vols eliminar el projecte %s?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "Això arxivarà %s i totes les seves tasques." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "Arxiva" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Elimina la secció %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "Tasca afegida amb èxit!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Nom de la tasca" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "Aquest camp és obligatori" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Afegeix una descripció…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "Defineix data" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Afegeix etiquetes" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Estableix la prioritat" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Afegeix recordatoris" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Afegeix una tasca" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "Continua afegint" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Selecciona un projecte" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Dreceres de teclat" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "Accelera la creació de tasques amb aquestes dreceres" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "Estableix prioritat" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = més alta, p4 = més baixa" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "Afegeix etiquetes" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "Obre el selector d'etiquetes" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "Assigna un projecte" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "Obre el selector de projectes" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "Defineix recordatori" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "Obre les opcions de recordatori" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "Consell" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "Combina dreceres al camp de títol per a una creació més ràpida" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "Carregant tasques per %s…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "No s'ha pogut resoldre l'URL principal" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "Iniciant sincronització…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "Sincronitzant %s…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "Sincronització completada" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "En aquest ordinador" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "Sol·licitud incorrecta." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "Es requereix autenticació i o bé ha fallat o no s'ha subministrat." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "La sol·licitud és vàlida, però per quelcom que és prohibit." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "El recurs sol·licitat no s'ha pogut trobar." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" "L'usuari ha enviat massa sol·licituds en un determinat interval de temps." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "La sol·licitud ha fallat per un error del servidor." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "El servidor no ha pogut processar la sol·licitud en aquest moment." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "Error desconegut" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "Ahir" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "dies" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "dia" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "fa %s %s" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "d'aquí a %s %s" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "%H:%M:%S" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "%H:%M" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Dl," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Dm," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "Dx," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Dj," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Dv," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "Ds," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "Dg," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "d'aquí %d dia" msgstr[1] "d'aquí %d dies" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "fa %d dia" msgstr[1] "fa %d dies" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Vermell" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Taronja" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Groc" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Verd oliva" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Verd llima" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Verd" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "Verd menta" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Turquesa" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "Blau cel" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Blau clar" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Blau" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Raïm" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Violeta" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Espígol" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "Salmó" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "Carbó" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Gris" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Clar" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Fosc" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Blau fosc" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Cap" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Avui + Entrada" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "Procés completat, torna a iniciar el Planify." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "D'acord" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "En aquest ordinador" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Coneix Planify" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "Aquest projecte et mostra tot el que necessites saber per començar. No " "dubtis a experimentar-hi el que vulguis – sempre pots tornar-lo a crear des " "de Preferències." #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "Toca aquesta tasca" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" "Estàs veient una tasca! Enllesteix-la tocant la casella de verificació de " "l'esquerra. " #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "Crea una nova tasca" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Ara és el teu torn! Toca el botó '+' a baix del teu projecte, introdueix una " "descripció per a la tasca i toca el botó 'Afegeix tasca'." #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "Programa aquesta tasca per avui o més endavant" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" "Prem el botó del calendari a baix per decidir quan completar aquesta tasca." #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "Reordena les teves tasques" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "Per reordenar la llista, mantén premuda una tasca, llavors arrosega-la a on " "correspongui." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Crea un projecte" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Mostra els esdeveniments del teu calendari" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "Activa la sincronització amb serveis de tercers" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "El Planify no només crea tasques locals, també pot sincronitzar-se amb el " "vostre compte de Todoist. Ves a 'Preferències' 🡒 'Comptes'." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "Arrossega el botó més!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "Afegeix etiquetes a les teves tasques!" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "Les etiquetes t'ajuden a organitzar i categoritzar les tasques. Per afegir-" "ne una, fes clic al botó de l'etiqueta abaix." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "Defineix recordatoris oportuns!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼Feina" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒Escola" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉Delegades" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "�Casa" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀��Seguiment" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Tasca duplicada" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Secció duplicada" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Projecte duplicat" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "En vèncer" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 minuts abans" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 minuts abans" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 minuts abans" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 hora abans" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 hores abans" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 hores abans" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "Enrere" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "Mes anterior" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "Endavant" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "Mes següent" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "Mes següent, %s" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Tria una data" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "Dg" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Dl" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Dm" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "Dx" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Dj" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Dv" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "Ds" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Hora" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "fins" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Repeteix" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "Escriu una data…" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "Setmana que ve" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Cada dia" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "Entre setmana" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "Caps de setmana" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Cada setmana" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Cada mes" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Cada any" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "Personalitzat" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "Minut(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "Hora(es)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "Dia(es)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "Setmana(es)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "Mes(os)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "Any(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "Mai" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "A la data" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "Aplica" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "Repeteix cada" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "Fi" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "Data" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "Defineix un termini" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "Termini" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "Selecciona etiquetes" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "Etiqueta inexistent: Crea '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" "La teva llista de filtres apareixerà aquí. Crea'n un introduint-ne el nom i " "prement la tecla Enter." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "Crea '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "La vostra llista de filtres apareixerà aquí." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "Cerca" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "Cerca o crea" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "Elimina enllaç" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "Prioritat 4: Cap" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "Prioritat 1: Alta" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "Prioritat 2: Mitja" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "Prioritat 3: Baixa" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "Prioritat 1: Mitja" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "Prioritat 1: Baixa" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "La vostra llista de seccions apareixerà aquí." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "Sense secció" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "Recordatoris" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" "La teva llista de recordatoris apareixerà aquí. Afegeix-ne un clicant el " "botó '+'." #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "Afegeix recordatori" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "En 5 minuts" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "En 15 minuts" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "En 30 minuts" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "En 1 hora" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "En 3 hores" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "En 6 hores" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "Defineix una secció" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "Tria una secció" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "Defineix-ne l'estat" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "Estat" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "Tasca" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "Enllesteix" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "El Planify s'iniciarà automàticament quan s'encengui aquest dispositiu i " "s'executarà en segon pla per poder enviar notificacions de les tasques." #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "Sincronització amb el calendari" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" "Requisit: Necessites un compte de calendari configurat al GNOME Calendar " "(Google, Nextcloud, etc.)" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "Tria calendari" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "Selecciona un calendari de la llista" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "Activa la sincronització" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "Sincronització amb calendari desactivada amb èxit" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "Sincronització amb calendari activada" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" "Les teves tasques estan sincronitzades amb el calendari. Qualsevol tasca amb " "data hi apareixerà automàticament com un esdeveniment." #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "Desactiva la sincronització" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "Sincronitzat amb: %s" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "Sincronització activada!" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" "Les teves tasques ara es sincronitzen amb el teu calendari. Qualsevol tasca " "amb data apareixerà automàticament com un esdeveniment al calendari." #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "D'acord" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "Tasques enllestides" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "No hi ha tasques enllestides encara." #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "Esborra totes les tasques enllestides" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" "Això esborrarà %d tasca enllestida i les seves subtasques del projecte %s" msgstr[1] "" "Això esborrarà %d tasques enllestides i les seves subtasques del projecte %s" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "Filtra per" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "Setmana que ve" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "Sense data" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Fet" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "Actualitzada el" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "Carrega més historial de fa %d setmana…" msgstr[1] "Carrega més historial de fa %d setmanes…" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "Nova etiqueta" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "Edita l'etiqueta" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "Dóna un nom a l'etiqueta" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "Afegeix etiqueta" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "Actualitza l'etiqueta" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "Filtra" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "Projectes arxivats" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "Administra les seccions" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "Pots ordenar les teves seccions arrossegant i amollant" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "Arxivades" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(Sense secció)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "Comptes" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "Pàgina Entrada" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "La verificació SSL està desactivada" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "No es pot amagar aquest compte" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "Sincronitzant…" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "URL del servidor" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "Nom d'usuari" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "Contrasenya" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "Nom per mostrar" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "Sincronitzant…" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "Aparença" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "Fes servir la configuració del sistema" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "Aspecte clar" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "Aspecte fosc" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "Còpia de seguretat creada amb èxit." #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "L'arxiu de base de dades no existeix." #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "L'arxiu seleccionat no és vàlid" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "Baixa" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "Donació puntual" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "Donació recurrent setmanal" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "Compra'm un cafè ☕" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "Tria la teva plataforma preferida" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "Gràcies pel teu suport! �" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "La teva contribució ajuda a mantenir viu i fer créixer el Planify." #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "General" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "Ordre personalitzat" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "Alfabèticament" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "Ordena per" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "Ascendent" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "Descendent" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "Executa a l'inici" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "Executa en segon pla" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "Esdeveniments del calendari" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "Data i hora" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24h" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12h" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "Format d'hora" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "Diumenge" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "Dilluns" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "Dimarts" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "Dimecres" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "Dijous" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "Divendres" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "Dissabte" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "Inici de setmana" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "Reconeixement intel·ligent de dates" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "Detecta automàticament dates com \"demà\" o \"setmana que ve\"" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "Preferències" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "Barra lateral" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "Mostra a la barra lateral" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "Mostra el recompte de tasques" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "Amplada de la barra lateral" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "Mostra els filtres en una llista en lloc d'una graella" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "Paràmetres de la tasca" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "Defineix com es comporten les tasques quan es marquen com enllestides" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "Prioritat 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "Prioritat 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "Prioritat 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "Prioritat per defecte" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "Mostra sempre les subtasques enllestides" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "Reprodueix un so en completar tasques" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "Obre les tasques a la barra lateral" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "Activa el format Markdown" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "Activa la comprovació ortogràfica" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "Activada" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "Recordatoris automàtics" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "Participa" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "Contacta'ns" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "Tuita'ns" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "Discord" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodon" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "Privadesa" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "Política de privadesa" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "No recollim res sobre tu" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "Esborra les dades de l'app" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "S'ha creat un projecte tutorial" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "Resum" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "Nou projecte" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "Edita el projecte" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "Dóna un nom al projecte" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "Fes servir Emoji" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "Afegeix un projecte" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "Actualitza el projecte" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "Projecte afegit amb èxit!" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "Mou" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "Cerca ràpida" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "Desenganxa" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "Desfés" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "Afegeix subtasques" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "Amaga les subtasques" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "Mostra les subtasques" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "Copia al portaretalls" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "Afegeix adjunts" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "Títol" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "Segur que ho vols eliminar?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "Elimina de Preferides" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "Afegeix a Preferides" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "Actualitza" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "Esborra el projecte" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "Comparteix" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "Envia per e-mail" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "Afegeix tasques" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "Carrega més" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "tasques enllestides" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "Mostra les tasques enllestides" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "Elimina la secció" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "Preferides" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "Cap preferida disponible. Crea'n una clicant el botó '+'" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "Afegeix compte" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "Personalitza la barra lateral" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "Ves a Avui" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "Ves a Programades" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "Ves a Etiquetes" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "Cap projecte disponible. Crea'n un clicant el botó '+'" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "Menú principal" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "Quant al Planify" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "Tasca enllestida" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "El Planify es reiniciarà per aplicar els canvis" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "Reinicia ara" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "Això eliminarà %d tasca completada i les seves subtasques" msgstr[1] "Això eliminarà %d tasques completades i les seves subtasques" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "Cap etiqueta disponible. Crea'n una clicant el botó '+'" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "Nota" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "Termini del projecte" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "Ordre personalitzat" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "Ordre ascendent" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "P1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "P2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "P3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "P4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "Filtra per etiquetes" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "Cerca tasques completades" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "Ordena per" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "Mostra més" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "Mostra menys" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "D'aquí %d hora" msgstr[1] "D'aquí %d hores" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "Ubicació" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "URL" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Calendari" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "Desactiva la validació del certificat SSL" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "No recomanat – t'exposa a riscs de seguretat" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "Tasca moguda a" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "Anterior" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "Enllestida el" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "Mou al projecte" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "Marca com enllestida" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "Esborra la tasca" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "Segur que vols esborrar aquesta tasca?" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "Elimina %d tasca" msgstr[1] "Elimina %d tasques" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "Segur que vols eliminar aquesta %d tasca?" msgstr[1] "Segur que vols eliminar aquestes %d tasques?" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "Tasca moguda a %s" msgstr[1] "%d tasques mogudes a %s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "Nova versió disponible!" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "Actualitza ara" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "Desarxiva" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "Encara no s'han afegit subtasques. Som-hi!" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "No s'ha pogut connectar al servidor" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "Traduccions" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "Ajuda a fer el Planify disponible per tot el món" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "Ajuda a millorar les traduccions" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "Comença una nova traducció" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" "%s no es troba disponible encara. Sigues el primer en traduir-hi!" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "Crea una nova tasca" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "Enganxa text sense format per crear una tasca nova" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "Crea un projecte nou" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "Crea una nova secció dins un projecte" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "Cerca" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "Obre la cerca ràpida" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "Surt" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Obre les preferències" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "Mostra/amaga la barra lateral" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "Obre les dreceres de teclat" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "Navega" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "Obre la pàgina d'inici" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "Obre la safata d'entrada" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "Obre Avui" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "Obre Programades" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "Obre Etiquetes" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" #~ msgid "Advanced Options" #~ msgstr "Opcions avançades" #~ msgid "Loading…" #~ msgstr "Carregant…" #~ msgid "Network Is Not Available" #~ msgstr "Xarxa no disponible" #~ msgid "Set a Due Date" #~ msgstr "Defineix una data de venciment" #~ msgid "Set a Deadline" #~ msgstr "Estableix un termini" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "Permet al Planify executar-se en segon pla i enviar notificacions" #~ msgid "Clear" #~ msgstr "Esborra" #~ msgid "Menu" #~ msgstr "Menú" #~ msgid "Add Time" #~ msgstr "Afegeix hora" #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "Rep notificacions sobre tasques o esdeveniments importants. Toca el botó " #~ "de la campana a baix per afegir un recordatori." #, c-format #~ msgid "Processing task %d of %d" #~ msgstr "Processant tasca %d de %d" #~ msgid "Todoist Sync" #~ msgstr "Sincronització amb Todoist" #~ msgid "Loading" #~ msgstr "Carregant" #~ msgid "Planify is syncing your tasks, this may take a few minutes" #~ msgstr "" #~ "El Planify està sincronitzant les vostres tasques, això pot trigar uns " #~ "minuts" alainm23-planify-69962f8/po/ckb.po000066400000000000000000002511021517337276100166110ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:57+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Kurdish (Central) \n" "Language: ckb\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/cs.po000066400000000000000000002600001517337276100164540ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: alainmh23@gmail.com\n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2026-03-28 15:09+0000\n" "Last-Translator: Pavel Borecki \n" "Language-Team: Czech \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n" "X-Generator: Weblate 5.17-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Projekty" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Sekce" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Úkoly" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Zna�ky" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Filtry" #: core/Enum.vala:186 msgid "Lists" msgstr "Seznamy" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "Neopakovat" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Každou minutu" msgstr[1] "Každé %d minuty" msgstr[2] "Každých %d minut" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Každou hodinu" msgstr[1] "Každé %d hodiny" msgstr[2] "Každých %d hodin" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Každý den" msgstr[1] "Každé %d dny" msgstr[2] "Každých %d dní" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Každý týden" msgstr[1] "Každé %d týdny" msgstr[2] "Každých %d týdnů" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Každý měsíc" msgstr[1] "Každé %d měsíce" msgstr[2] "Každých %d měsíců" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Každý rok" msgstr[1] "Každé %d roky" msgstr[2] "Každých %d dní" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Priorita" #: core/Enum.vala:348 msgid "Label" msgstr "Štítek" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Datum do" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Sekce" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "Úkol vytvořen" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Úkol změněn" #: core/Enum.vala:528 msgid "Content" msgstr "Obsah" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Popis" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Naplánované" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Připnout" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Všechny úkoly" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "všechny úkoly" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "všechny" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "Kdykoliv" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "kdykoliv" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "filtry" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "bez data" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Dokon�ené" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "dokon�ené" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Schránka" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "schránka" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "štítky" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Nástěnka" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Priorita 1: vysoká" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Priorita 2: střední" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Priorita 3: nízká" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Priorita 4: žádná" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "vysoká" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "střední" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "nízká" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "žádná" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Opakující se" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "opakující se" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "naplánované" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "nadcházející" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Dnes" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "dnes" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Zítra" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "zítra" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "datum" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Bez štítku" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "bez štítku" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "neoštítkované" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Úkol zkopírován do schránky" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "Úkol přesunut do %s" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Smazat štítek %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Tato akce nelze vzít zpět" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Zrušit" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Smazat" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "Projekt zkopírován do schránky." #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "Smazat projekt %s?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "Archivovat?" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "Toto archivuje %s a všechny související úkoly." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "Archiv" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Smazat sekci %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "Úkol úspěšně přidán!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Název úkolu" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "Toto pole je povinné" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Přidejte popis…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "Nastavit datum" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Přidat štítky" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Nastavit prioritu" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Přidat připomenutí" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Přidat úkol" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "Přidat další" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Vyberte Projekt" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Klávesové Zkratky" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "Zrychlete vytváření úkolů s těmito klávesovými zkratkami" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "Nastavit prioritu" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = nejvyšší, p4 = nejnižší" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "Přidat štítky" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "Otevřít výběr štítků" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "Přiřadit projekt" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "Otevřít výběr projektů" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "Nastavit připomenutí" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "Otevřít možnosti připomenutí" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "Tip" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "Na�ítání úkolů pro %s…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "Zdroj už existuje" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "Za�ínám synchronizaci…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "Synchronizuji %s…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "Synchronizace dokon�ena" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "Na tomto po�íta�i" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "Neznámá chyba" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "V�era" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "dny" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "den" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "%s %s zbývá" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Po," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Út," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "Stř," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Čt," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Pá," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "So," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "Ne," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "v %d dni" msgstr[1] "ve %d dnech" msgstr[2] "v %d dnech" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Bobulově �ervená" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Červená" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Oranžová" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Žlutá" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Olivově Zelená" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Limetkově zelená" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Zelená" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "Obla�ně modrá" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Světle Modrá" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Modrá" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Šedá" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Tmavě Modrá" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Žádná" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Dnes + Schránka" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Smazat Vše" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "Ok" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "Na Tomto Po�íta�i" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Poznejte Planify" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "Klikněte na tento úkol" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "Vytvořte nový úkol" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "Naplánujte tento úkol na zítra nebo na později" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "Změňte pořadí svých úkolů" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Vytvořte projekt" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼�Práce" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒�Škola" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "��Domov" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Úkol zduplikován" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Sekce zduplikovaná" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Projekt zduplikovaný" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "Zpět" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "Předchozí měsíc" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "Dopředu" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "Následující měsíc" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "Předchozí měsíc, %s" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "Následující měsíc, %s" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Vyberte datum" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "Ne" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Po" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Út" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "Stř" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Čt" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Pá" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "So" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Čas" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "dokud" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "�as" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Opakovat" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "Následující týden" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Denně" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "Dny v týdnu" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "Víkendy" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Týdně" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Měsí�ně" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Ro�ně" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "Vlastní" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "Minuty" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "Hodiny" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "Dny" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "Týdny" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "Měsíce" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "Roky" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "Nikdy" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "Po" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "Použít" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "Opakovat každý" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "Konec" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "Datum" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "Odstranit datum" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "Nastavit termín" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "Vybrat Štítky" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "Štítek nenalezen: Vytvořit '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "Vytvořit '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "Vyhledat" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "Vyhledat nebo Vytvořit" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "Odstranit odkaz" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "Priorita 4: Žádná" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "Priorita 1: Vysoká" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "Priorita 2: Střední" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "Priorita 3: Nízká" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "Priorita 1: Střední" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "Priorita 1: Nízká" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "Váš seznam sekcí se zobrazí zde." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "Žádná Sekce" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "Připomenutí" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "Přidat Připomenutí" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "V 5 minutách" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "V 15 minutách" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "V 30 minutách" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "V 1 hodině" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "V 3 hodinách" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "V 6 hodinách" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Dokon�it" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "Shrnutí" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Kalendář" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "Úkol přesunut do %s" msgstr[1] "%d úkoly přesunuty do %s" msgstr[2] "%d úkolů přesunuto do %s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" #~ msgid "Clear" #~ msgstr "Vy�istit" #~ msgid "Menu" #~ msgstr "Menu" #~ msgid "Add Time" #~ msgstr "Přidat Čas" #, c-format #~ msgid "Every %d minutes" #~ msgstr "Každých %d minut" alainm23-planify-69962f8/po/cv.po000066400000000000000000002510661517337276100164730ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:58+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Chuvash \n" "Language: cv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/da.po000066400000000000000000002510651517337276100164460ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:11+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Danish \n" "Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/de.po000066400000000000000000003731311517337276100164510ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: alainmh23@gmail.com\n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2026-04-17 04:09+0000\n" "Last-Translator: elea11 \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.17.1-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Projekte" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Abschnitte" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Aufgaben" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Labels" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Filter" #: core/Enum.vala:186 msgid "Lists" msgstr "Listen" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "Nicht wiederholen" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Jede Minute" msgstr[1] "Alle %d Minuten" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Jede Stunde" msgstr[1] "Alle %d Stunden" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Jeden Tag" msgstr[1] "Alle %d Tage" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Jede Woche" msgstr[1] "Alle %d Wochen" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Jeden Monat" msgstr[1] "Alle %d Monate" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Jedes Jahr" msgstr[1] "Alle %d Jahre" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Priorität" #: core/Enum.vala:348 msgid "Label" msgstr "Label" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Fälligkeitsdatum" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Abschnitt" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "Zuweisung" #: core/Enum.vala:469 msgid "Task Created" msgstr "Aufgabe erstellt" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Aufgabe aktualisiert" #: core/Enum.vala:528 msgid "Content" msgstr "Inhalt" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Beschreibung" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Geplant" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Anheften" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Alle Aufgaben" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "alle Aufgaben" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "Alle" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "Jederzeit" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "jederzeit" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "filter" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "kein Datum" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Abgeschlossen" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "abgeschlossen" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "Logbuch" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Posteingang" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "Posteingang" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "Labels" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Pinnwand" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Priorität 1: hoch" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Priorität 2: mittel" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Priorität 3: niedrig" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Priorität 4: keine" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "hoch" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "mittel" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "niedrig" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "keine" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Wiederholend" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "wiederholend" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "geplant" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "anstehende" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Heute" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "heute" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Morgen" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "morgen" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "Datum" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Nicht gelabelt" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "kein Label" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "nicht gelabelt" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "Frist:" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Aufgabe in die Zwischenablage kopiert" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "Verschoben nach: %s" # # c-format #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Label %s löschen" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Dies kann nicht rückgängig gemacht werden" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Abbrechen" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Löschen" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "Das Projekt wurde in die Zwischenablage kopiert." # # c-format #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "Projekt %s löschen?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "Archivieren?" # # c-format #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "Dies wird %s und alle seine Aufgaben archivieren." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "Archivieren" # # c-format #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Abschnitt %s löschen" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "Aufgabe erfolgreich hinzugefügt!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Aufgabenname" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "Dieses Feld ist notwendig" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Beschreibung hinzufügen…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "Datum festlegen" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Labels hinzufügen" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Priorität setzen" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Erinnerungen hinzufügen" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Aufgabe hinzufügen" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "Weitere hinzufügen" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Projekt auswählen" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "Es tut uns leid, 'Schnell hinzufügen' kann kein verfügbares Projekt finden. " "Versuche ein Projekt in Planify zu erstellen." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Tastenkombinationen" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "Beschleunige die Aufgabenerstellung mit diesen Tastenkürzel" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "Priorität setzen" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = höchste, p4 = niedrigste" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "Label(s) hinzufügen" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "Labels öffnen" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "Projekt zuweisen" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "Öffnet Projektauswahl" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "Erinnerungen einstellen" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "Erinnerungseinstellungen öffnen" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "Weiterhin geöffnet bleiben, nachdem Aufgabe erstellt wurde" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "Tipp" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "Kombiniere Tastenkürzel im Titelfeld für eine schnellere Erstellung" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "Lade Aufgabe für %s…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "Aufgaben für %s wurden geladen…" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "Aufgabe %d von %d wird synchronisiert" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "Quelle existiert bereits" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "URL-Auflösung fehlgeschlagen" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "Starte Synchronisation…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "%s wird synchronisiert…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "Synchronisierung ist abgeschlossen" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "Authentifizierung abgelaufen" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" "Deine Sitzung ist abgelaufen. Bitte entferne dein Konto unter Einstellungen " "und füge es neu hinzu." #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "Zu viele Anfragen" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" "Der Server begrenzt die Zugriffsrate. Bitte warte ein paar Minuten und " "versuche es noch einmal." #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "Auf diesem Computer" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" "Todoist hat seine API aktualisiert. Bitte verbinden Sie Ihr Konto in den " "Einstellungen erneut, um die Synchronisierung fortzusetzen." #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "Ungültiges API-Token" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "Die Anfrage war fehlerhaft." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" "Authentifizierung ist erforderlich und fehlgeschlagen oder wurde noch nicht " "übermittelt." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "Die Anfrage war gültig, aber für etwas, das verboten ist." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "Die angeforderte Ressource konnte nicht gefunden werden." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" "Der Nutzer hat zu viele Anfragen in einer bestimmten Zeitspanne gesendet." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "Die Anfrage ist aufgrund eines Serverfehlers fehlgeschlagen." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "Der Server ist derzeit nicht in der Lage, die Anfrage zu bearbeiten." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "Unbekannter Fehler" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "Gestern" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "Tage" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "Tag" # # c-format #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "vor %s %s" # # c-format #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "%s %s verbleibend" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "%-H:%M:%S" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "%-H:%M" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "%H:%M:%S" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "%H:%M" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Mo," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Di," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "Mi," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Do," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Fr," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "Sa," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "So," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "in einem Tag" msgstr[1] "in %d Tagen" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "vor einem Tag" msgstr[1] "vor %d Tagen" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "%a, %d. %b %Y" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "%d. %b %Y" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "%-e. %b" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "%a %Y" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "%a" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "%a, %-e. %b" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "%b" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Beerenrot" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Rot" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Orange" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Gelb" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Olivgrün" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Limettengrün" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Grün" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "Minzgrün" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Türkisblau" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "Himmelblau" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Hellblau" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Blau" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Traube" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Violett" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Lavendel" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "Magenta" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "Lachs" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "Holzkohle" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Grau" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "Braungrau" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Hell" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Dunkel" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Dunkelblau" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Keine" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Heute + Posteingang" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Alles löschen" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "Aufgabe abgeschlossen, bitte Planify erneut starten." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "Ok" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "Auf diesem Computer" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Lerne Planify kennen" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "Dieses Projekt zeigt dir alles, was du wissen musst, um sofort loslegen zu " "können. Zögere nicht, es zu probieren – Du kannst es jederzeit wieder in den " "Einstellungen zurücksetzen." #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "Klicke auf diese Aufgabe" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" "Dies ist eine Aufgabe! Erledige sie, indem du auf das Kästchen auf der " "linken Seite klickst. Erledigte Aufgaben werden am unteren Ende des Projekts " "gesammelt. " #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "Neue Aufgabe erstellen" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Jetzt bist du an der Reihe: Tippe auf die Schaltfläche \"+\" am unteren Rand " "deines Projekts, gib eine Beschreibung ein und tippe auf die blaue " "Schaltfläche \"Speichern\"." #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "Plane diese Aufgabe für heute oder später" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" "Tippe auf die Kalender-Schaltfläche unten, um zu entscheiden, wann du diese " "Aufgabe erledigen möchtest." #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "Ordne deine Aufgaben neu an" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "Um deine Liste neu anzuordnen, tippe und halte eine Aufgabe gedrückt und " "ziehe sie dann an die gewünschte Stelle." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Erstelle ein Projekt" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "Organisiere deine Aufgaben besser! Klicke im linken Bereich auf die " "Schaltfläche '+' im Abschnitt 'Auf diesem Computer' und füge ein eigenes " "Projekt hinzu." #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "Du bist fertig!" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "Das ist alles, was du wissen musst. Jetzt kannst du loslegen und deine " "eigenen Projekte und Aufgaben hinzufügen.\n" "Später kannst du immer wieder hierher kommen, um die fortgeschritteneren " "Features kennenzulernen..\n" "Viel Spaß beim Nutzen von Planify!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "Richte deine Umgebung ein" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Ereignisse deines Kalenders anzeigen" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "Du kannst die Ereignisse deines Systemkalenders in Planify anzeigen. Gehe zu " "'Einstellungen' 🡒 Allgemein 🡒Kalenderereignisse, um dies zu aktivieren." #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "Aktiviere die Synchronisation mit einem Drittanbieterdienst" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "Planify erstellt nicht nur lokal Aufgaben, sondern kann sich auch mit deinem " "Todoist-Konto synchronisieren. Gehe zu 'Einstellungen' 🡒 'Konten'." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "Steigere deine Produktivität" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "Ziehe den Plus-Knopf!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "Der blaue Knopf, den du am unteren Rand jedes Bildschirms siehst, ist " "mächtiger, als er aussieht: Er kann sich zu bewegen! Ziehe ihn nach oben, um " "eine Aufgabe dort zu erstellen, wo du willst." #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "Füge deinen Aufgaben Labels hinzu!" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "Labels ermöglichen es dir, deine Aufgaben zu kategorisieren. Klicke auf die " "Label-Schaltfläche unten, um ein Label hinzuzufügen." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "Lege zeitliche Erinnerungen fest!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" "Erhalte Benachrichtigungen zu wichtigen Aufgaben oder Ereignissen. Klicke " "den Uhr-Knopf unten, um eine Erinnerung hinzuzufügen." #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼�Arbeit" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒�Schule" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉�Aufträge" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "��Zuhause" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀��Nochmal aufgreifen" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Dupliziert" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Abschnitt dupliziert" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Projekt dupliziert" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "Wenn fällig" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 Minuten davor" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 Minuten davor" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 Minuten davor" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 Stunde davor" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 Stunden davor" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 Stunden davor" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "%A, %e. %B %Y" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%OB" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "Zurück" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "Vorheriger Monat" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "Vorwärts" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "Nächster Monat" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "Vorheriger Monat, %s" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "%B %Y" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "Nächster Monat, %s" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Datum auswählen" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "So" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Mo" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Di" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "Mi" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Do" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Fr" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "Sa" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Zeit" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "bis" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "für" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "mal" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "mal" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Wiederholen" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "Gib ein Datum ein…" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "Nächste Woche" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "Speichern" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Täglich" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "Wochentags" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "Wochenenden" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Wöchentlich" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Monatlich" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Jährlich" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "Benutzerdefiniert" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "Kein Datum" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "Minute(n)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "Stunde(n)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "Tag(e)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "Woche(n)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "Monat(e)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "Jahr(e)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "Nie" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "An Datum" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "Nach" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "Anwenden" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "Wiederholungszyklus" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "Ende" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "Datum" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "Datum, an dem du an dieser Aufgabe arbeiten willst" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "Datum entfernen" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "Wann hast du vor, an dieser Aufgabe zu arbeiten?" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "Frist setzen" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "Der späteste Termin zum Erledigen dieser Aufgabe" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "Bis wann sollte das spätestens erledigt sein?" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "Frist" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "Labels auswählen" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "Label nicht gefunden: Erstelle „%s“" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" "Hier wird deine Filterliste angezeigt. Erstelle einen Filter, indem du den " "Namen eingibst und die Eingabetaste drückst." # # c-format #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "Erstelle '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "Die Liste an Filtern wird hier angezeigt." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "Suchen" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "Suchen oder erstellen" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "Nicht verwendete Labels ausblenden" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "Keine Labels vorhanden" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "Alle ausgeblendet" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" "Durch deine Filtereinstellungen sind alle Labels ausgeblendet. Deaktiviere " "den Filter, um sie anzuzeigen." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "Drücke Enter, um das Label zu erstellen und zuzuweisen" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "Link entfernen" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "Priorität 4: Keine" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "Priorität 1: Hoch" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "Priorität 2: Mittel" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "Priorität 3: Niedrig" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "Priorität 1: Mittel" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "Priorität 1: Niedrig" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "Die Liste an Abschnitten wird hier angezeigt." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "Ohne Abschnitt" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "Suche eingeben" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "Erinnerungen" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" "Die Liste deiner Erinnerungen wird hier angezeigt. Füge eine mit '+' hinzu." #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "Erinnerung hinzufügen" # # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "In 5 Minuten" # # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "In 15 Minuten" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "in 30 Minuten" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "In 1 Stunde" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "In 3 Stunden" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "In 6 Stunden" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "Abschnitt setzen" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "Abschnitt auswählen" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "Status setzen" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "Status" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "Zu tun" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "Erledigt" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "Planify wird automatisch gestartet, wenn das Gerät eingeschaltet wird und " "wird ausgeführt, wenn das Fenster geschlossen wird, so dass es " "Aufgabenbenachrichtigungen senden kann." #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "Kalender-Synchronisierung" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" "Aufgaben automatisch in Kalender-Einträge umwandeln. Jede Aufgabe mit einem " "Datum erscheint in deinem Kalender, um deine Tagesplanung zu erleichtern." #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" "Voraussetzung: In GNOME Calendar muss ein Kalender-Account konfiguriert sein " "(Google, Nextcloud, etc.)" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" "Erhalte Benachrichtigungen für deine Aufgaben durch Google Calendar, Outlook " "oder eine beliebige Kalender-App" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" "Deine Aufgaben werden überall synchronisiert: Smartphone, Tablet, Browser " "und alle anderen Geräte mit deinem Kalender" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "Kalender auswählen" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "Wähle einen Kalender von der Liste" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "Synchronisation aktivieren" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "Kalender-Synchronisierung erfolgreich deaktiviert" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "Kalender-Synchronisierung aktiv" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" "Deine Aufgaben werden aktuell mit deinem Kalender synchronisiert. Jede " "Aufgabe mit einem Datum erscheint automatisch als Kalender-Eintrag." #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "Sychronisation deaktivieren" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "Synchronisiert mit: %s" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "Synchronisierung aktiviert!" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" "Deine Aufgaben werden nun mit deinem Kalender synchronisiert. Für jede " "Aufgabe mit einem Datum wird automatisch ein Kalender-Eintrag erscheinen." #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "Ok" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "Abgeschlossene Aufgaben" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "Menü Filter anzeigen" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "Noch keine Aufgaben abgeschlossen." #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "Alle abgeschlossenen Aufgaben löschen" # # c-format #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" "Dies wird %d abgeschlossene Aufgabe und deren Unteraufgaben aus dem Projekt " "%s löschen" msgstr[1] "" "Dies wird %d abgeschlossene Aufgaben und deren Unteraufgaben aus dem Projekt " "%s löschen" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "Filtern nach" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "Nächste Woche" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "Kein Datum" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Fertig" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "Änderungsverlauf" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "Hinzugefügt am" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "Nicht verfügbar" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "Aktualisiert am" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "Wenn Änderungen vorgenommen wurden, wird hier der Verlauf angezeigt." # # c-format #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "Mehr Verlauf von vor einer Woche laden…" msgstr[1] "Mehr Verlauf von vor %d Wochen laden…" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "Neues Label" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "Label bearbeiten" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "Gib dem Label einen Namen" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "Label hinzufügen" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "Label aktualisieren" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "Filter" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "Archivierte Projekte" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "Abschnitte verwalten" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "Du kannst deine Abschnitte per Drag & Drop sortieren" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "Archiviert" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(Ohne Abschnitt)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "Konten" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "Quelle hinzufügen" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "Posteingang-Seite" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "Du kannst deine Konten per Drag & Drop sortieren" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "Planify synchronisiert deine Aufgaben, dies kann einige Momente dauern" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "SSL-Überprüfung ist deaktiviert" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "Authentifizierung abgelaufen" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "Kontoübertragung erforderlich" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "Erneut verbinden" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "Dieses Konto kann nicht verborgen werden" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "Dieses Konto enthält Ihr aktuelles Posteingangsprojekt. Bitte ändern Sie Ihr " "Posteingangsprojekt zuerst." #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "Posteingang ändern" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "Synchronisieren…" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "Mit CalDAV verbinden" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" "Zu jeglichem CalDAV-kompatiblen Server verbinden, um Deine Aufgaben zu " "synchronisieren" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "Server-URL" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "Nutzername" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "Passwort" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "URL der Kalender-Startseite" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "Fortgeschritten" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "Zeige fortgeschrittene Optionen an" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "Verstecke fortgeschrittene Optionen" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "Anmelden" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "Posteingangsprojekt" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" "Neue Aufgaben landen standardmäßig in deinem Posteingang. Dies basiert auf " "David Allens \"Getting Things Done\"-Methodik, und ist dein Ausgangspunkt " "für schnelle Ideen und Aufgaben, die du später organisieren kannst" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "Mit Nextcloud verbinden" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" "Mit Deinem Nextcloud-Konto anmelden, um Aufgaben über CalDAV zu " "synchronisieren" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "https://cloud.example.com" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "https://example.com/nextcloud" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "URL-Beispiele" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "Quelle" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "Anzeigename" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "Mit Server synchronisieren" # Assumed error "Planner" -> "Planify" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" "Aktiviere diese Einstellung, damit Planify alle 15 Minuten automatisch mit " "deinem Todoist-Konto synchronisiert wird" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "Letzte Synchronisation" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "Quelle löschen" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "Quelle löschen?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "Kann diese Quelle nicht löschen" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "Diese Quelle enthält dein aktuelles Posteingangsprojekt. Bitte ändere erst " "dein Posteingangsprojekt." #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "Mit Todoist verbinden" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "Bei Todoist-Konto anmelden, um Deine Aufgaben zu synchronisieren" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "Über den Browser einloggen" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "Stattdessen API-Token verwenden" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "API-Token" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "Mit Hilfe Deines persönlichen Todoist API-Tokens verbinden" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "Füge Dein API-Token ein" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "Verbinden" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "1. Gehe zu Todoist → Einstellungen → Integrationen → Entwickler" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "2. Kopiere Dein API-Token" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "3. Fügen den Token in das obige Feld ein" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "Wie Du Dein Token erhältst" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "Auf Login warten…" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "Synchronisieren…" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "Erscheinungsbild" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "Systemeinstellungen verwenden" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "Design auswählen" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "Heller Stil" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "Klares helles Design" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "Dunkler Stil" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "Elegantes dunkles Design" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "Dunkelblauer Stil" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "Professionelles blaues Design" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" "Benutzerdefinierte Designs sind nicht verfügbar, wenn das helle Systemdesign " "benutzt wird" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "Schriftgröße" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "Wiederherstellungskopien" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" "Mach dir keine Sorgen mehr über Datenverlust. Du kannst Sicherungen deiner " "aktiven Projekte, Aufgaben und Kommentare erstellen und sie später " "importieren." #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "Sicherung erstellen" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "Sicherung importieren" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "Sicherungsdateien" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "Kein Backup gefunden, erstelle eins mit den Optionen oben." #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "Die Sicherungsdateien werden in folgendem Verzeichnis gespeichert: %s" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "Migrieren" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "Von Planner migrieren" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "Sicherung erfolgreich erstellt." #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "Aufgaben erfolgreich migriert" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "Die Datenbankdatei ist nicht vorhanden." #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "Ausgewählte Datei ist ungültig" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "Sicherung anzeigen" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "Herunterladen" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "Importübersicht" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "Quellen" # Maybe just "Hinzufügen" because of space issues!? #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "Aufgaben" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "Bestätigen" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "Sicherung wiederherstellen" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" "Bist du sicher, dass du fortfahren möchtest? Diese Aktion wird deine " "aktuellen Daten löschen und durch die Sicherungsdaten ersetzen." #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "Sicherung wiederherstellen" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "Spenden" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "Unterstütze die Entwicklung von Planify" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" "Hilf dabei, Planify kostenlos und als Open Source verfügbar zu halten! Deine " "Spende unterstützt direkt die Entwicklung, neue Funktionen und " "Wartungsarbeiten. Jeder Beitrag, egal in welcher Höhe, macht einen " "Unterschied." #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "Monatliche Unterstützung" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "Einmalige Spende" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "Wöchentliche Spende" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "Kauf mir einen Kaffee ☕" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "Wähle deine bevorzugte Plattform" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "Danke für deine Unterstützung! �" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "Dein Beitrag hilft dabei, dass Planify weiter wächst und gedeiht." #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "Allgemein" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "Benutzerdefinierte Reihenfolge" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "Alphabetisch" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "Sortieren nach" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "Aufsteigend" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "Absteigend" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "Ordnung" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "Desktop-Umgebung Integration" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "Beim Starten ausführen" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "Planify automatisch öffnen, sobald du deinen Computer startest" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "Im Hintergrund ausführen" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" "Planify soll nach dem Schließen des Fensters im Hintergrund weiterlaufen" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "Kalender Ereignisse" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "GNOME Shell Suche" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" "Durchsuche Aufgaben und Projekte direkt über die GNOME Shell. In " "Einstellungen → Suche aktivieren" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "Daum und Uhrzeit" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24-Stunden" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12-Stunden" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "Format der Uhrzeit" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "Sonntag" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "Montag" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "Dienstag" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "Mittwoch" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "Donnerstag" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "Freitag" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "Samstag" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "Start der Woche" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "Intelligente Datumserkennung" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" "Erkenne automatisch Datumsangaben wie \"morgen\" oder \"nächste Woche\"" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "Startseite" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "Schnell hinzufügen" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" "Verwende 'Schnell hinzufügen', um Aufgaben von überall auf deinem Desktop " "mit nur wenigen Tastenanschlägen zu erstellen. Du musst nicht einmal die App " "verlassen, in der du dich gerade befindest." #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" "Gehe zu Systemeinstellungen → Tastatur → Tastenkombinationen → Eigene " "Tastenkombinationen und füge dann eine neue Kombination mit folgendem hinzu:" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "Einstellungen" # Assumed task is saved to the last selected project #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "Im zuletzt ausgewählten Projekt speichern" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" "Wenn nicht aktiviert, is das standardmäßig ausgewählte Projekt der " "Posteingang" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "Aufgabeneigenschaften beibehalten" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" "Behält Datum, Labels und Status des Anheftens bei, wenn \"Weitere " "hinzufügen\" aktiviert ist" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "Der Befehl wurde in die Zwischenablage kopiert" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "Seitenleiste" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "In der Seitenleiste anzeigen" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "Anzahl der Aufgaben anzeigen" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "Breite der Seitenleiste" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "Listenansicht für Filter" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "Filter in einer einfachen Liste anzeigen, anstatt in einem Raster" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "Du kannst deine Ansichten per Drag & Drop sortieren" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "Einstellungen für Aufgaben" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "Sofort abschließen" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "Abschließen mit rückgängich machen" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "Aufgabenabschluss" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" "Wähle wie sich Aufgaben verhalten sollen, wenn sie als abgeschlossen " "markiert sind" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "Priorität 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "Priorität 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "Priorität 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "Standard-Priorität" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "Abgeschlossene Aufgaben durchstreichen" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "Starten" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "Position für neue Aufgaben" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "Abgeschlossene Unteraufgaben immer anzeigen" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" "Abgeschlossene Unteraufgaben immer angezeigt lassen, ohne sie einzuklappen" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "Aufgabe abschließen" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "Spiele einen Ton ab, wenn Aufgaben abgeschlossen werden" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "Aufgaben in Seitenleistenansicht öffnen" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" "Zeige die Aufgabendetails immer in der Seitenleiste an, anstatt in der " "Listenansicht." #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "Einzelaufgabenmodus" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" "Erlaube, dass immer nur eine Aufgabe in der Listenansicht aufgeklappt ist" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "Aktivieren der Markdown-Formatierung" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "Markdown-Unterstützung für Aufgaben ein- oder ausschalten" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "Detail-Seitenleiste immer anzeigen" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" "Behalte die Seitenleiste immer sichtbar zur schnelleren Navigation zwischen " "den Aufgaben, ohne sie ständig öffnen und schließen zu müssen" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "Rechtschreibüberprüfung aktivieren" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "Rechtschreibung in Aufgabenbeschreibungen und Notizen überprüfen" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "Aktiv" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "Automatische Erinnnerungen" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "Wenn aktiv wird eine Erinnerung zur Fälligkeit hinzugefügt." #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "Einstellungen" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "Synchronisiere mit deinen Lieblings-ToDo-Anbietern" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "Ansicht anlegen die beim ersten Start angezeigt wird" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "An deinen Geschmack anpassen" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "Passe deine Seitenleiste an" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "Aufgaben von überall hinzufügen" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "Sichern oder von Planner migrieren." #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "Tutorial-Projekt erstellen" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" "Entdecke die Funktionen der App Schritt für Schritt mit einem kurzen " "Tutorial-Projekt" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "Willst du mir einen Drink ausgeben?" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "Berichte Problem oder schlage Funktionen vor" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "Teile Bugs oder Ideen auf GitHub" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "Beteilige dich" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "Kontakt aufnehmen" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "Kontaktiere uns" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "Schlage eine Funktion vor oder frage uns etwas" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "Tweete uns" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "Teile etwas Liebe" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "Discord" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "Diskutiere und teile dein Feedback" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodon" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "Datenschutz" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "Datenschutzerklärung" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "Wir besitzen keine Daten über dich" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "App-Daten löschen" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "Es wurde ein Tutorial-Projekt erstellt" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "Alle Daten löschen?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "Löscht alle Listen, Aufgaben und Erinnerungen unwiderruflich" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "Zusammenfassung & Produktivität" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "Ziele Festlegen" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" "Lege fest, wieviele Aufgaben du pro Tag und pro Woche erledigen möchtest" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "Details" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "Details werden hier erscheinen" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "Zusmamenfassung" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "Produktivitätsdetails" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "Detaillierte Produktivitäts-Statistiken werden hier erscheinen" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "Produktivität" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "Weitere erstellen" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "Alle Ziele erfüllt – du bist unaufhaltsam!" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "Tagesziel erreicht! Bleib am Ball" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "Wochenziel erreicht! Genieße den Rest der Woche" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "Starte in den Tag – die erste Aufgabe wartet" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "Fast geschafft! Nur noch ein paar Aufgaben für heute" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "Tolles Tempo diese Woche, du bist fast am Ziel" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "Auf halbem Weg zu deinem Tagesziel, toller Fortschritt" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "Prima Woche bislang, weiter so" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "Jede erledigte Aufgabe ist ein Schritt nach vorn" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "Setze Tages- und Wochenziele, um deine Produktivität zu tracken" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "Diese Woche" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "Diesen Monat" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "Tagesziel" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "Wochenziel" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "Ziele bearbeiten" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "Gesamt" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "Ausstehend" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "Überfällig" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "Fortschritt" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "Neues Projekt" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "Projekt bearbeiten" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "Gib deinem Projekt einen Namen" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "Emoji nutzen" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "Projekt hinzufügen" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "Projekt aktualisieren" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "Übergreifender Standard" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "Deaktiviert" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "Markdown-Formatierung" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "Überschreibe für dieses Projekt die Markdown-Standardeinstellungen" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "Projekt erfolgreich hinzugefügt!" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "Verschieben" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "Schnelle Suche" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" "Wechsle schnell zwischen Projekten und Ansichten, finde Aufgaben, suche nach " "Labels" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "Neuer Abschnitt" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "Abschnitt bearbeiten" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "Abschnittsname" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "Abschnitt hinzufügen" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "Abschnitt aktualisieren" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "Abschnitt hinzufügt" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "Seitenleiste öffnen/schließen" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "Lösen" # # c-format #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "Erledigt. Nächstes vorkommen: %s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "Unteraufgabe hinzufügen" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "Bearbeiten" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "Duplizieren" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "Aufgabe löschen" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "Reihenfolge wurde in 'Benutzerdefinierte Sortierreihenfolge' geändert" # # c-format #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s wurde gelöscht" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "Rückgängig machen" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "Unteraufgaben hinzufügen" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "Unteraufgaben verbergen" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "Unteraufgaben anzeigen" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "Als Notiz verwenden" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "In die Zwischenablage kopieren" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "Anhang hinzufügen" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "Details schließen" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "Titel" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "Eigenschaften" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "Bist du sicher, dass du löschen möchtest?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "Label löschen" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" "Projektsortierung wurde in 'Benutzerdefinierte Sortierreihenfolge' geändert" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "Aus Favoriten entfernen" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "Zu Favoriten hinzufügen" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "Neu laden" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "Projekt löschen" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "Teilen" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "Per E-Mail senden" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "Als PDF exportieren" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "Projekt als PDF exportiert" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "Füge Aufgaben hinzu" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "Mehr laden" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "abgeschlossene Aufgaben" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "Abschnitt verschieben" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "Reihenfolge der Abschnitte verändern" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "Abgeschlossene Aufgaben anzeigen" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "Abschnitt löschen" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "Favoriten" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" "Keine Favoriten verfügbar. Erstelle einen, indem du auf den '+' Knopf klickst" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "Konto hinzufügen" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "Seitenleiste anpassen" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "Nach 'Heute'" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "Gehe zu 'Geplant'" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "Zu den 'Labels'" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "Zur 'Pinnwand'" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" "Kein Projekt vorhanden. Erstelle eins, indem du auf den \"+\" Knopf klickst" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "Kontomigration erforderlich" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "Hauptmenü" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "Schnelle Suche öffnen" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "Über Planify" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "Hoppla! Etwas ist passiert" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "Aufgabe erledigt" #: src/MainWindow.vala:825 msgid "View" msgstr "Ansicht" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "Integritätsprüfung der Datenbank fehlgeschlagen" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" "Es wurden Probleme mit der Datenbankstruktur festgestellt, die das " "ordnungsgemäße Funktionieren der Anwendung verhindern könnte. Dies kann auf " "fehlende Tabellen oder Spalten zurückzuführen sein, die wahrscheinlich durch " "eine Datenbeschädigung oder eine unvollständige Aktualisierung verursacht " "wurden.\n" "\n" "Die Datenbank wird nun zurückgesetzt, um die normale Funktionalität " "wiederherzustellen, und alle vorhandenen Daten werden entfernt. \n" "\n" "Nach dem Zurücksetzen können alle zuvor erstellten Sicherungen " "wiederherstellen. Danke für dein Verständnis" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "Datenbank zurücksetzen" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "Sicherung löschen" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "Sicherung erfolgreich importiert" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "Planify wird neu gestartet um die Änderungen anzuwenden" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "Jetzt neustarten" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "Planify Sicherungsdateien" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "Für 10 Minuten schlummern" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "Für 30 Minuten schlummern" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "Für 1 Stunde schlummern" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "Optionenmenü anzeigen" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "Aufgaben hinzufügen" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "Drücke a, um eine neue Aufgabe zu erstellen" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "Alle Aufgaben erledigt!" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "Tolle Arbeit, nichts mehr zu tun 🎉" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "Aufgaben" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "Erledigte Aufgabe löschen" msgstr[1] "Erledigte Aufgaben löschen" # # c-format #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "Dies wird %d erledigte Aufgabe und ihre Unteraufgaben löschen" msgstr[1] "Dies wird %d erledigte Aufgaben und ihre Unteraufgaben löschen" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" "Keine Labels verfügbar. Erstelle einen, indem du auf den '+' Knopf klickst" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "Durch deine Filtereinstellungen sind alle Labels ausgeblendet" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "Nur aktive Projekte" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" "Zeige nur Labels an, die von Aufgaben in aktiven (nicht archivierten) " "Projekten verwendet werden" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "Notiz" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "Terminplan" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "Wann?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "Füge Aufgaben hinzu. Drücke 'a' um eine Aufgabe zu erstellen" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "Projektmaßnahmen" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "Neue Aufgabe" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "Projektfrist" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "Auswählen" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "Einfügen" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "Alle ausklappen" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "Neu" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "Alle einklappen" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "Liste" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "Tafel" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "Sortieren" # "Benutzerdefinierte Sortierreihenfolge" was cut off #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "Benutzerdefinierte Sortierreihenfolge" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "Erstellungsdatum" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "Aufsteigende Reihenfolge" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "Fälligkeit" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "Alle (standard)" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "Nächste 7 Tage" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "Nächste 30 Tage" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "P1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "P2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "P3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "P4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "Nach Labels filtern" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "Abgeschlossene anzeigen" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "Zeige abschgeschlossene Aufgaben in der Liste an" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "Durchsuche abgeschlossene Aufgaben" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "Sortieren nach" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "Neu planen" #: src/Views/Today.vala:761 msgid "Me" msgstr "Ich" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "Anlagen" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "Öffnen" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "Keine Anhänge gefunden. Füge Dateien hier hinzu." #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "Standortauflösung umgehen" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" "Workaround für CalDAV-Verbindungsprobleme bei Verbindungen mit nicht-" "Standard-Ports" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "Warnung" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" "Hierdurch wird der CalDAV-Auflösungsprozess deaktiviert.\n" "Handle auf eigene Gefahr" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "Trotzdem fortfahren" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "Unteraufgaben" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "Zeige mehr" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "Weniger anzeigen" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "Fehlermeldung kopieren" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "Teile Deine Protokolldatei für mehr Details: %s" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "Fehler melden" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "Kontoübertragung erforderlich." #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "In einer Minute" msgstr[1] "In %d Minuten" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "In einer Stunde" msgstr[1] "In %d Stunden" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "Jetzt gerade" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "Ort" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "Veranstalter" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "URL" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Kalender" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "Beitreten" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "SSL-Zertifikatsvalidierung deaktivieren" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "Nicht empfohlen – setzt dich Sicherheitsrisiken aus" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" "Dies wird die SSL-Validierung deaktivieren und Sie für Angriffen angreifbar " "machen.\n" "Fahren Sie auf eigenes Risiko fort" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "Aufgabe unerledigt" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "Aufgabe verschoben zum Projekt" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "Aufgabe verschoben zu" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "Vorherige" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "Pin: Aktiv" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "Pin: Inaktiv" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "Abgeschlossen am" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "Bewege zu Projekt" # Assumed error "Mask" -> "Mark" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "Als Erledigt markieren" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "%d Aufgabe in Zwischenablage kopiert" msgstr[1] "%d Aufgaben in Zwischenablage kopiert" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "Aufgabe löschen" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "Bist du sicher, dass du diese Aufgabe löschen möchtest?" # # c-format #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "Lösche %d Aufgabe" msgstr[1] "Lösche %d Aufgaben" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "Bist du sicher, dass du %d Aufgabe löschen möchtest?" msgstr[1] "Bist du sicher, dass du %d Aufgaben löschen möchtest?" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "Aufgabe hierhin verschoben: %s" msgstr[1] "%d Aufgaben hierhin verschoben: %s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "Neue Version verfügbar!" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" "Aktualisiere jetzt um die neuesten Verbesserungen, Bugfixes und Features zu " "genießen, die Planify noch besser machen" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "Jetzt aktualisieren" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "Verwerfen" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "Entarchivieren" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "Noch keine Unteraufgaben hinzugefügt. Leg los!" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "Verbindung zum Server fehlgeschlagen" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" "Eine Verbindung zum Server ist\n" "aktuell nicht möglich.\n" "Sobald eine Verbindung wiederhergestellt ist,\n" "werden die Änderungen synchronisiert." #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" "%s ist zu %.0f %% abgeschlossen. Du kannst helfen es fertigzustellen!" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "Übersetzungen" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "Hilf Planify weltweit verfügbar zu machen" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "Hilf die Übersetzung zu verbessern" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "Starte eine neue Übersetzung" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "%s ist noch nicht verfügbar. Sei der Erste, der es übersetzt!" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "Planify - Schnell hinzufügen" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "Überall nutzbar" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "Neue Aufgabe erstellen" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "Unformatierten Text einfügen, um eine neue Aufgabe zu erstellen" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "Neues Projekt erstellen" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "Neuen Abschnitt in einem Projekt erstellen" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "Suchen" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "Schnelle Suche öffnen" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "Fenster steuern" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "Schließen" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Einstellungen öffnen" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "Seitenleiste umschalten" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "Tastenkombinationen öffnen" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "Navigation" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "Startseite öffnen" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "Posteingang öffnen" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "'Heute' öffnen" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "'Geplant' öffnen" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "'Labels' öffnen" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "'Pinnwand' öffnen" #~ msgid "Advanced Options" #~ msgstr "Erweiterte Einstellungen" #~ msgid "Server URL examples:" #~ msgstr "Server-URL Beispiele:" #~ msgid "- https://cloud.example.com/" #~ msgstr "- https://cloud.example.com/" #~ msgid "- https://example.com/nextcloud/" #~ msgstr "- https://example.com/nextcloud/" #~ msgid "Token" #~ msgstr "Token" #~ msgid "How to get your token?" #~ msgstr "Wie bekommst du deinen Token?" #~ msgid "2. Find 'API token' and copy your token" #~ msgstr "2. Finde 'API-Token' und kopiere den Token" #~ msgid "Connect with Token" #~ msgstr "Verbindung mit Token" #~ msgid "" #~ "Planify is being developed with love and passion for open source. " #~ "However, if you like Planify and want to support its development, please " #~ "consider supporting us." #~ msgstr "" #~ "Planify wird mit Liebe und Leidenschaft für Open Source entwickelt. Wenn " #~ "du Planify magst und die Entwicklung unterstützen möchtest, ziehe bitte " #~ "in Betracht, uns zu unterstützen." #~ msgid "Donate Now" #~ msgstr "Jetzt Spenden" #~ msgid "Enter token" #~ msgstr "Gib den Token ein" #~ msgid "Please Enter Your Credentials" #~ msgstr "Bitte gib deine Anmeldedaten ein" #~ msgid "Loading…" #~ msgstr "Laden…" #~ msgid "Network Is Not Available" #~ msgstr "Netzwerk ist nicht verfügbar" #~ msgid "Set a Due Date" #~ msgstr "Fälligkeitsdatum setzen" #~ msgid "Set a Deadline" #~ msgstr "Eine Frist setzen" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "Lass Planify im Hintergrund laufen und Benachrichtigungen senden" #~ msgid "Whether Planify should run on startup" #~ msgstr "Ob Planify beim Starten ausgeführt werden soll" #~ msgid "Clear" #~ msgstr "Löschen" #~ msgid "Menu" #~ msgstr "Menü" #~ msgid "Add Time" #~ msgstr "Zeit hinzufügen" #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "Bekomme Nachrichten über wichtige Aufgaben oder Ereignisse. Tippe auf den " #~ "Glockenknopf unten, um eine Erinnerung hinzuzufügen." #, c-format #~ msgid "Processing task %d of %d" #~ msgstr "Verarbeite Aufgabe %d von %d" # Assumed error "Planner" -> "Planify" and "is sync" -> "is syncing" #~ msgid "Planify is syncing your tasks, this may take a few minutes" #~ msgstr "" #~ "Planify synchronisiert deine Aufgaben, das kann ein paar Minuten dauern" #~ msgid "Todoist Sync" #~ msgstr "Sync mit Todoist" #~ msgid "Loading" #~ msgstr "Laden" # Assumed error "Planner" -> "Planify" and "is sync" -> "is syncing" #~ msgid "Planner is sync your tasks, this may take a few minutes" #~ msgstr "" #~ "Planify synchronisiert deine Aufgaben, das kann einige Minuten dauern" #~ msgid "Please enter your credentials" #~ msgstr "Bitte gib deine Anmeldedaten ein" # # c-format #, c-format #~ msgid "Every %d minutes" #~ msgstr "Alle %d Minuten" # # c-format #, c-format #~ msgid "Every %d hours" #~ msgstr "Alle %d Stunden" # # c-format #, c-format #~ msgid "Every %d days" #~ msgstr "Alle %d Tage" # # c-format #, c-format #~ msgid "Every %d weeks" #~ msgstr "Alle %d Wochen" # # c-format #, c-format #~ msgid "Every %d months" #~ msgstr "Alle %d Monate" # # c-format #, c-format #~ msgid "Every %d years" #~ msgstr "Alle %d Jahre" # # c-format #, c-format #~ msgid "" #~ "This will delete %d completed tasks and their subtasks from project %s" #~ msgstr "" #~ "Dies wird %d abgeschlossene Aufgaben und deren Unteraufgaben aus dem " #~ "Projekt %s löschen" # # c-format #, c-format #~ msgid "Load more history from %d weeks ago…" #~ msgstr "Mehr Verlauf von vor %d Wochen laden…" #~ msgid "Delete Completed Tasks" #~ msgstr "Erledigte Aufgaben löschen" # # c-format #, c-format #~ msgid "This will delete %d completed tasks and their subtasks" #~ msgstr "Dies wird %d erledigte Aufgaben und deren Unteraufgaben löschen" # # c-format #, c-format #~ msgid "Delete %d To-Dos" #~ msgstr "%d Aufgaben löschen" # # c-format #, c-format #~ msgid "Are you sure you want to delete these %d to-dos?" #~ msgstr "Bist du sicher, dass du diese %d Aufgaben löschen möchtest?" #~ msgid "Backup" #~ msgstr "Sicherung" #~ msgid "Task Setting" #~ msgstr "Einstellung für die Aufgabe" #~ msgid "Close" #~ msgstr "Schließen" #~ msgid "Personal Data" #~ msgstr "Persönliche Daten" #~ msgid "" #~ "We collect absolutely nothing and all your data is stored in a database " #~ "on your computer." #~ msgstr "" #~ "Wir sammeln absolut nichts und all deine Daten werden in einer Datenbank " #~ "auf deinem Computer gespeichert." #~ msgid "" #~ "If you choose to integrate Todoist, which is optional and not selected by " #~ "default, your data will be stored on their private servers, we only " #~ "display your configured tasks and manage them for you." #~ msgstr "" #~ "Wenn du dich entscheidest, Todoist zu integrieren, was optional ist und " #~ "standardmäßig nicht ausgewählt ist, werden deine Daten auf ihren privaten " #~ "Servern gespeichert. Wir zeigen nur deine konfigurierten Aufgaben an und " #~ "verwalten sie für dich." #~ msgid "Do you have any questions?" #~ msgstr "Hast du Fragen?" #~ msgid "" #~ "If you have any questions about your data or any other issue, please " #~ "contact us. We will be happy to answer you." #~ msgstr "" #~ "Wenn du Fragen zu deinen Daten oder ein anderes Problem hast, melde dich " #~ "bitte bei uns. Wir helfen dir gerne weiter." #~ msgid "Supporting Us" #~ msgstr "Uns unterstützen" #~ msgid "" #~ "Our mission is to provide the best open source task management " #~ "application for users all over the world. Your donations support this " #~ "work. Want to donate today?" #~ msgstr "" #~ "Unser Ziel ist es, die beste Open Source Aufgaben Management Anwendung " #~ "für Menschen rund um den Globus bereitzustellen. Deine Spenden " #~ "unterstützen diese Arbeit. Möchtest du heute spenden?" #~ msgid "Support Planify" #~ msgstr "Unterstütze Planify" #~ msgid "Clear Schedule" #~ msgstr "Terminplan löschen" #~ msgid "Stay open after creating task" #~ msgstr "Bleibe offen nach Aufgabenerstellung" #~ msgid "Process completed, you need to start Planify again" #~ msgstr "Prozess abgeschlossen, bitte starte Planify neu" #~ msgid "Task Detail" #~ msgstr "Aufgaben Detail" #~ msgid "" #~ "This project shows you everything you need to know to hit the ground " #~ "running. Don’t hesitate to play around in it – you can always create a " #~ "new one from settings." #~ msgstr "" #~ "Dieses Projekt zeigt dir alles, was du wissen musst, um sofort loslegen " #~ "zu können. Zögere nicht, hier herumzuspielen - Du kannst jederzeit ein " #~ "neues in den Einstellungen erstellen." #~ msgid "Tap this to-do" #~ msgstr "Klicke auf diese Aufgabe" #~ msgid "" #~ "You're looking at a to-do! Complete it by tapping the checkbox on the " #~ "left. Completed to-dos are collected at the bottom of your project." #~ msgstr "" #~ "Dies ist eine Aufgabe! Erledige sie, indem du auf das Kästchen auf der " #~ "linken Seite klickst. Erledigte Aufgaben werden am unteren Ende des " #~ "Projekts gesammelt." #~ msgid "Create a new to-do" #~ msgstr "Erstelle eine neue Aufgabe" #~ msgid "" #~ "Now it's your turn, tap the '+' button at the bottom of your project, " #~ "enter any pending and tap the blue 'Save' button." #~ msgstr "" #~ "Jetzt bist du an der Reihe: Tippe auf die Schaltfläche \"+\" am unteren " #~ "Rand deines Projekts, gib die geforderten Daten ein und tippe auf die " #~ "blaue Schaltfläche \"Speichern\"." #~ msgid "Plan this to-do by today or later" #~ msgstr "Plane diese Aufgabe für heute oder später" #~ msgid "" #~ "Tap the calendar button at the bottom to decide when to do this to-do." #~ msgstr "" #~ "Tippe auf die Kalender-Schaltfläche unten, um zu entscheiden, wann du " #~ "diese Aufgabe erledigen möchtest." #~ msgid "Reorder yours to-dos" #~ msgstr "Ordne deine Aufgaben neu an" #~ msgid "" #~ "That’s all you really need to know. Feel free to start adding your own " #~ "projects and to-dos.\n" #~ "You can come back to this project later to learn the advanced features " #~ "below..\n" #~ "We hope you’ll enjoy using Planify!" #~ msgstr "" #~ "Das ist alles, was du wissen musst. Jetzt kannst du loslegen und deine " #~ "eigenen Projekte und Aufgaben hinzufügen.\n" #~ "Später kannst du immer wieder hierher kommen, um die fortgeschritteneren " #~ "Features kennenzulernen..\n" #~ "Viel Spaß beim Nutzen von Planify!" #~ msgid "Enable synchronization with third-party service." #~ msgstr "Aktiviere die Synchronisation mit einem Drittanbieterdienst." #~ msgid "" #~ "Planify not only creates tasks locally, it can also synchronize your " #~ "Todoist account. Go to 'Preferences' 🡒 'Accounts'." #~ msgstr "" #~ "Planify erstellt nicht nur lokal Aufgaben, sondern kann sich auch mit " #~ "deinem Todoist-Konto synchronisieren. Gehe zu 'Einstellungen' 🡒 'Konten'." #~ msgid "Tag your to-dos!" #~ msgstr "Labele deine Aufgaben!" #~ msgid "" #~ "Tags allow you to improve your workflow in Planify. To add a Tag click on " #~ "the tag button at the bottom." #~ msgstr "" #~ "Labels ermöglichen dir, deinen Workflow in Planify zu verbessern. Klicke " #~ "auf die Label-Schaltfläche unten, um ein Label hinzuzufügen." #~ msgid "" #~ "You want Planify to send you a notification to remind you of an important " #~ "event or something special. Tap the bell button below to add a reminder." #~ msgstr "" #~ "Du möchtest, dass Planify dich an ein wichtiges Ereignis oder etwas " #~ "Besonderes erinnert. Tippe auf den Glockenknopf unten, um eine Erinnerung " #~ "hinzuzufügen." #~ msgid "What’s new in Planify" #~ msgstr "Neues in Planify" #~ msgid "Inbox as Independent Project" #~ msgstr "Posteingang als unabhängiges Projekt" #~ msgid "" #~ "The Inbox is the default place to add new tasks, allowing you to quickly " #~ "get your ideas out of your head and then plan them when you’re ready." #~ msgstr "" #~ "Der Posteingang ist der Standardbereich, um neue Aufgaben hinzuzufügen.So " #~ "kannst du dir deine Ideen schnell aus dem Kopf schlagen und sie dann " #~ "planen, wenn du bereit bist." #~ msgid "Enhanced Task Duplication" #~ msgstr "Erweiterte Aufgabenduplizierung" #~ msgid "" #~ "When you duplicate a task now, all subtasks and labels are automatically " #~ "duplicated, saving you time and effort in managing your projects." #~ msgstr "" #~ "Wenn du nun eine Aufgabe duplizierst, werden automatisch auch alle " #~ "Unteraufgaben und Labels dupliziert. Um deine Zeit und Bemühungen beim " #~ "Verwalten der deiner Projekte zu sparen." #~ msgid "Duplication of Sections and Projects" #~ msgstr "Neuen Abschnitt in einem Projekt erstellen" #~ msgid "" #~ "You can now easily duplicate entire sections and projects, making it " #~ "easier to create new projects based on existing structures." #~ msgstr "" #~ "Du kannst nun auf einfache Weise ganze Abschnitte und Projekte " #~ "duplizieren. Das macht es einfacher, neue Projekte auf Basis " #~ "existierender Strukturen zu erstellen." #~ msgid "Project Expiry Date" #~ msgstr "Projektablaufsdatum" #~ msgid "" #~ "Your project’s expiry date now clearly shows the remaining days, helping " #~ "you keep track of your deadlines more effectively." #~ msgstr "" #~ "Dein Projektsablaufsdatum zeigt nun klar die übrigen Tage, was dir dabei " #~ "hilft, effektiver den Überblick über Deadlines zu behalten. " #~ msgid "Archiving of Projects and Sections" #~ msgstr "Weitere Projektaktionen öffnen" #~ msgid "" #~ "You can now archive entire projects and sections! This feature helps you " #~ "keep your workspace organized and clutter-free." #~ msgstr "" #~ "Du kannst nun ganze Projekte und Abschnitte archivieren! Dieses Feature " #~ "hilft dir, deinen Arbeitsplatz gut organisiert und frei von Wirrwarr zu " #~ "halten." #~ msgid "What's New" #~ msgstr "Neuigkeiten" #~ msgid "Are you sure you want to reset all? (y/n): " #~ msgstr "Bist du sicher, dass du alles zurücksetzen möchtest?" #~ msgid "y" #~ msgstr "y" #~ msgid "yes" #~ msgstr "ja" #~ msgid "Couldn't find an app to handle file URIs" #~ msgstr "Konnte keine Anwendung finden um Datei-URIs verarbeitet" #~ msgid "Planify" #~ msgstr "Planify" #~ msgid "Add" #~ msgstr "Hinzufügen" #~ msgid "" #~ "Up to 3 tasks can be pinned and they will appear at the top of the " #~ "project page" #~ msgstr "" #~ "Es können bis zu 3 Aufgaben angeheftet werden, die dann oben auf der " #~ "Projektseite erscheinen" #~ msgid "No Provider Available" #~ msgstr "Nicht verfügbar" #~ msgid "Go to Inbox" #~ msgstr "Zum Posteingang" #~ msgid "Order by" #~ msgstr "Sortieren nach" #~ msgid "Integrations" #~ msgstr "Integrationen" # "2500 Millisekunden warten" is cut off #~ msgid "Wait 2500 Milliseconds" #~ msgstr "2.5s warten" #~ msgid "Complete Task" #~ msgstr "Aufgabe abschließen" #~ msgid "" #~ "Complete your to-do instantly or wait 2500 milliseconds with the undo " #~ "option" #~ msgstr "" #~ "Schließe deine Aufgabe sofort ab oder warte 2500 Millisekunden mit der " #~ "Rückgängig-Option." #~ msgid "Top" #~ msgstr "Oben" #~ msgid "Bottom" #~ msgstr "Unten" #~ msgid "Create More" #~ msgstr "Weitere erstellen" #~ msgid "App Theme" #~ msgstr "App-Darstellung" #, c-format #~ msgid "Task moved to: %s" #~ msgstr "Aufgabe verschoben zu %s" #~ msgid "Telegram" #~ msgstr "Telegram" #~ msgid "Matrix Room" #~ msgstr "Matrix-Raum" #~ msgid "Attention at One" #~ msgstr "Aufmerksamkeit auf Eines" # Maybe just "Hinzufügen" because of space issues #~ msgid "Add To-Do" #~ msgstr "Aufgabe hinzufügen" #~ msgid "Nextcloud Setup" #~ msgstr "Nextcloud" #~ msgid "Provider" #~ msgstr "Anbieter" #~ msgid "Offline Mode Is On" #~ msgstr "Offline-Modus ist aktiviert" #~ msgid "Pinned" #~ msgstr "Angeheftet" #~ msgid "View Details" #~ msgstr "Details anzeigen" #~ msgid "All" #~ msgstr "Alle" #~ msgid "Attach File" #~ msgstr "Datei anhängen" #~ msgid "Hide Completed Tasks" #~ msgstr "Erledigte Aufgaben ausblenden" #~ msgid "CalDAV - " #~ msgstr "CalDAV" #~ msgid "On this Computer" #~ msgstr "Auf diesem Computer" #~ msgid "Labels: On This Computer" #~ msgstr "Labels: Auf diesem Computer" #~ msgid "Labels: Todoist" #~ msgstr "Labels: Todoist" #~ msgid "Labels: Nextcloud" #~ msgstr "Labels: Nextcloud" #~ msgid "Synchronize with your Todoist Account" #~ msgstr "Mit deinem Todoist Account synchronisieren" #~ msgid "Synchronization based on open Internet standards" #~ msgstr "Synchronisierung auf der Grundlage offener Internet-Standards" # Assumed error "Planner" -> "Planify" #~ msgid "" #~ "Activate this setting so that Planify automatically synchronizes with " #~ "your CalDAV account every 15 minutes" #~ msgstr "" #~ "Aktiviere diese Einstellung, damit Planify alle 15 Minuten automatisch " #~ "mit deinem CalDAV-Konto synchronisiert wird" #~ msgid "Failed to login" #~ msgstr "Anmeldung fehlgeschlagen" #~ msgid "" #~ "Are you sure you want to remove the Todoist sync? This action will delete " #~ "all your tasks and settings." #~ msgstr "" #~ "Bist du sicher, dass du die Todoist-Synchronisierung entfernen möchtest? " #~ "Dadurch werden alle deine Aufgaben und Einstellungen gelöscht." #~ msgid "" #~ "Are you sure you want to remove the CalDAV sync? This action will delete " #~ "all your tasks and settings." #~ msgstr "" #~ "Bist du sicher, dass du die CalDAV-Synchronisierung entfernen möchtest? " #~ "Dadurch werden alle deine Aufgaben und Einstellungen gelöscht." #~ msgid "Sign Off" #~ msgstr "Abmelden" #~ msgid "CalDAV Setup" #~ msgstr "CalDAV Einrichtung" #~ msgid "Underline Completed Tasks" #~ msgstr "Erledigte Aufgaben unterstreichen" #~ msgid "Items" #~ msgstr "Aufgaben" #~ msgid "Tasks Synced Successfully" #~ msgstr "Aufgaben erfolgreich synchronisiert" #~ msgid "Do you want to use Todoist as your default Inbox Project?" #~ msgstr "Möchtest du Todoist als Standard-Eingangsprojekt verwenden?" # # c-format #~ msgid "Are you sure you want to delete %s?" #~ msgstr "Bist du sicher, dass du %s löschen möchtest?" #~ msgid "Custom Sorting in Today View" #~ msgstr "Benutzerdefinierte Sortierreihenfolge" #~ msgid "Efficient Management of Completed Tasks" #~ msgstr "Erledigte Aufgaben unterstreichen" #~ msgid "Search by Sections" #~ msgstr "Neuer Abschnitt" #~ msgid "" #~ "The process removes all stored information without the possibility of " #~ "undoing it" #~ msgstr "" #~ "Der Vorgang löscht alle gespeicherten Informationen ohne die Möglichkeit, " #~ "ihn rückgängig zu machen." #~ msgid "Delete project" #~ msgstr "Projekt löschen" #~ msgid "Delete label" #~ msgstr "Label löschen" #~ msgid "Move tasks" #~ msgstr "Aufgaben verschieben" # # c-format #~ msgid "Are you sure you want to move your task to %s?" #~ msgstr "Bist du sicher, dass du die Aufgabe nach %s verschieben möchtest?" #~ msgid "Add subtask" #~ msgstr "Unteraufgabe hinzufügen" #~ msgid "pinboard" #~ msgstr "Pinwand" #~ msgid "Add reminder(s)" #~ msgstr "Erinnerung(en) hinzufügen" #~ msgid "To-do added" #~ msgstr "Aufgabe hinzugefügt" #~ msgid "Press 'a' or tap the plus button to create a new to-do" #~ msgstr "" #~ "Drücke 'a' oder tippe auf den Plus-Knopf, um eine neue Aufgabe zu " #~ "erstellen." #~ msgid "Google Tasks" #~ msgstr "Google Tasks" #~ msgid "No to-dos for this filter yet" #~ msgstr "Keine Aufgaben für diesen Filter vorhanden" #~ msgid "Synchronize with your Google Account" #~ msgstr "Mit deinem Google Account synchronisieren" #~ msgid "" #~ "Are you sure you want to remove the Google Tasks sync? This action will " #~ "delete all your tasks and settings." #~ msgstr "" #~ "Bist du sicher, dass du die Google Tasks-Synchronisierung entfernen " #~ "möchtest? Dadurch werden alle deine Aufgaben und Einstellungen gelöscht." alainm23-planify-69962f8/po/dum.po000066400000000000000000002506721517337276100166520ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: dum\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/el.po000066400000000000000000002557241517337276100164700ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2026-02-06 12:01+0000\n" "Last-Translator: \"Georgios K.\" \n" "Language-Team: Greek \n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.16-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Έ�γα" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Ενότητες" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Ε�γασίες" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Ετικέτες" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Φίλτ�α" #: core/Enum.vala:186 msgid "Lists" msgstr "Λίστες" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "�α μην Επαναλαμβάνεται" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Κάθε λεπτό" msgstr[1] "Κάθε %d λεπτά" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Κάθε ώ�α" msgstr[1] "Κάθε %d ώ�ες" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Κάθε μέ�α" msgstr[1] "Κάθε %d ημέ�ες" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Κάθε εβδομάδα" msgstr[1] "Κάθε %d εβδομάδες" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Κάθε μήνα" msgstr[1] "Κάθε %d μήνες" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Κάθε χ�όνο" msgstr[1] "Κάθε %d χ�όνια" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Π�οτε�αιότητα" #: core/Enum.vala:348 msgid "Label" msgstr "Ετικέτα" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Π�οθεσμία" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Ενότητα" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "Ανάθεση" #: core/Enum.vala:469 msgid "Task Created" msgstr "Η Ε�γασία Δημιου�γήθηκε" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Η Ε�γασία Ενημε�ώθηκε" #: core/Enum.vala:528 msgid "Content" msgstr "Πε�ιεχόμενο" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Πε�ιγ�αφή" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Έχει π�ογ�αμματιστεί" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Κα�φιτσώστε" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Όλες οι Ε�γασίες" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "όλες οι ε�γασίες" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "όλα" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "Οποτεδήποτε" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "οποτεδήποτε" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "φίλτ�α" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "χω�ίς ημε�ομηνία" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Ολοκλη�ώθηκε" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "ολοκλη�ώθηκε" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "α�χείο καταγ�αφής" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Εισε�χόμενα" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "εισε�χόμενα" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "ετικέτες" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Ταμπλό κα�φιτσωμένων" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Π�οτε�αιότητα 1: υψηλή" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Π�οτε�αιότητα 2: μέση" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Π�οτε�αιότητα 3: χαμηλή" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Π�οτε�αιότητα 4: καμία" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "υψηλή" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "μέση" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "χαμηλή" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "καμία" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Επαναλαμβανόμενη" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "επαναλαμβανόμενη" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "έχει π�ογ�αμματιστεί" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "π�οσεχείς" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Σήμε�α" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "σήμε�α" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Α��ιο" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "α��ιο" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "ημε�ομηνία" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Χω�ίς ετικέτα" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "καμιά ετικέτα" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "χω�ίς ετικέτα" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Η ε�γασία αντιγ�άφηκε στο π�όχει�ο" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "Η ε�γασία μεταφέ�θηκε στο %s" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Διαγ�αφή ετικέτας %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Αυτό δεν μπο�εί να αναι�εθεί" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Άκυ�ο" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Διαγ�αφή" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "Το έ�γο αντιγ�άφηκε στο Π�όχει�ο." #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "Διαγ�αφή του Έ�γου %s;" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "Α�χειοθέτηση;" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" "Αυτή η ενέ�γεια θα α�χειοθετήσει το %s καθώς και όλες τις ε�γασίες του." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "Α�χειοθέτηση" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Διαγ�αφή Ενότητας %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "Η ε�γασία π�οστέθηκε με επιτυχία!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Όνομα To-do" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "Αυτό το πεδίο είναι υποχ�εωτικό" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Π�όσθεσε μια πε�ιγ�αφή…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "Ο�ίστε ημε�ομηνία" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Π�οσθήκη Ετικετών" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Ο�ίστε την π�οτε�αιότητα" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "Ο�ισμός π�οτε�αιότητας" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "Η ε�γασία μεταφέ�θηκε στο %s" msgstr[1] "%d ε�γασίες μεταφέ�θηκαν στο %s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/en_GB.po000066400000000000000000003167721517337276100170430ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:12+0000\n" "Last-Translator: Fraxinus Acer \n" "Language-Team: English (United Kingdom) \n" "Language: en_GB\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.16.1-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Projects" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Sections" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Tasks" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Labels" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Filters" #: core/Enum.vala:186 msgid "Lists" msgstr "Lists" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "Don't Repeat" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Every minute" msgstr[1] "Every %d minutes" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Every hour" msgstr[1] "Every %d hours" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Every day" msgstr[1] "Every %d days" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Every week" msgstr[1] "Every %d weeks" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Every month" msgstr[1] "Every %d months" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Every year" msgstr[1] "Every %d years" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Priority" #: core/Enum.vala:348 msgid "Label" msgstr "Label" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Due Date" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Section" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "Task Created" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Task Updated" #: core/Enum.vala:528 msgid "Content" msgstr "Content" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Description" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Scheduled" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Pin" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "All Tasks" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "all tasks" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "all" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "Anytime" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "anytime" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "filters" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "no date" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Completed" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "completed" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "logbook" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Inbox" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "inbox" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "labels" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Pinboard" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Priority 1: high" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Priority 2: medium" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Priority 3: low" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Priority 4: none" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "high" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "medium" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "low" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "none" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Repeating" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "repeating" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "scheduled" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "upcoming" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Today" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "today" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Tomorrow" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "tomorrow" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "date" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Unlabeled" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "no label" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "unlabeled" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Task copied to clipboard" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "Task moved to %s" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Delete Label %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "This can not be undone" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Cancel" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Delete" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "The project was copied to the Clipboard." #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "Delete Project %s?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "Archive?" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "This will archive %s and all its tasks." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "Archive" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Delete Section %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "Task added successfully!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "To-do name" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "This field is required" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Add a description…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "Set date" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Add Labels" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Set The Priority" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Add Reminders" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Add Task" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "Keep adding" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Select a Project" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Keyboard Shortcuts" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "Speed up task creation with these shortcuts" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "Set priority" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = highest, p4 = lowest" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "Add labels" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "Opens label selector" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "Assign project" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "Opens project selector" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "Set reminder" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "Opens reminder options" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "Toggle stay open after creating task" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "Tip" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "Combine shortcuts in the title field for faster creation" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "Loading tasks for %s…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "Loaded tasks for %s…" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "Syncing task %d of %d" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "Source already exists" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "Failed to resolve principal url" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "Starting sync…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "Syncing %s…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "Sync completed" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "On this computer" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "The request was incorrect." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" "Authentication is required, and has failed, or has not yet been provided." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "The request was valid, but for something that is forbidden." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "The requested resource could not be found." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "The user has sent too many requests in a given amount of time." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "The request failed due to a server error." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "The server is currently unable to handle the request." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "Unknown error" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "Yesterday" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "days" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "day" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "%s %s ago" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "%s %s left" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "%-l:%M:%S %p" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "%-l:%M %p" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "%H:%M:%S" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "%H:%M" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Mo," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Tu," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "We," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Th," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Fr," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "Sa," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "Su," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 #, fuzzy msgid "%a, %b %-e, %Y" msgstr "%a, %b %e, %Y" #: core/Utils/Datetime.vala:663 #, fuzzy msgid "%b %-e %Y" msgstr "%b %e %Y" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 #, fuzzy msgid "%b %-e" msgstr "%b %e" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "%a %Y" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "%a" #: core/Utils/Datetime.vala:678 #, fuzzy msgid "%a, %b %-e" msgstr "%a, %b %e" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "%b" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Berry Red" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Red" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Orange" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Yellow" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Olive Green" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Lime Green" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Green" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "Mint Green" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Teal" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "Sky Blue" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Light Blue" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Blue" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Grape" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Violet" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Lavender" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "Magenta" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "Salmon" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "Charcoal" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Grey" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "Taupe" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Light" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Dark" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Dark Blue" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "None" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Today + Inbox" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Delete All" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "Process completed, you need to start Planify again." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "Ok" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "On This Computer" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Meet Planify" #: core/Utils/Util.vala:590 #, fuzzy msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around in it – you can always create a new " "one from settings." #: core/Utils/Util.vala:597 #, fuzzy msgid "Tap this task" msgstr "Tap this to-do" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " "Completed to-dos are collected at the bottom of your project. " #: core/Utils/Util.vala:603 #, fuzzy msgid "Create a new task" msgstr "Create a New Task" #: core/Utils/Util.vala:604 #, fuzzy msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Now it's your turn, tap the '+' button at the bottom of your project, enter " "any pending and tap the blue 'Save' button." #: core/Utils/Util.vala:609 #, fuzzy msgid "Plan this to-do for today or later" msgstr "Plan this to-do by today or later" #: core/Utils/Util.vala:610 #, fuzzy msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "Tap the calendar button at the bottom to decide when to do this to-do." #: core/Utils/Util.vala:615 #, fuzzy msgid "Reorder your to-dos" msgstr "Reorder yours to-dos" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Create a project" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "You’re done!" #: core/Utils/Util.vala:628 #, fuzzy msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below..\n" "We hope you’ll enjoy using Planify!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "Tune your setup" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Show your calendar events" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "Enable synchronization with third-party service" #: core/Utils/Util.vala:658 #, fuzzy msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "Planify not only creates tasks locally, it can also synchronize your Todoist " "account. Go to 'Preferences' 🡒 'Accounts'." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "Boost your productivity" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "Drag the plus button!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 #, fuzzy msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "Tags allow you to improve your workflow in Planify. To add a Tag click on " "the tag button at the bottom." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "Set timely reminders!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼�Work" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒�School" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉�Delegated" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "��Home" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀��Follow Up" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Task duplicated" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Section duplicated" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Project duplicated" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "At due time" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 minutes before" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 minutes before" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 minutes before" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 hour before" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 hours before" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 hours before" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%OB" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "Back" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "Forward" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Choose a date" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "Su" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Mo" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Tu" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "We" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Th" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Fr" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "Sa" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Time" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "until" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "for" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "times" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "time" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Repeat" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "Next week" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Daily" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "Weekdays" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "Weekends" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Weekly" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Monthly" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Yearly" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "Custom" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "Minute(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "Hour(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "Day(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "Week(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "Month(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "Year(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "Never" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "On Date" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "After" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "Apply" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "Repeat every" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "End" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "Select Labels" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "Create '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "Your list of filters will show up here." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "Search" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "Search or Create" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "Remove link" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "Priority 4: None" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "Priority 1: High" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "Priority 2: Medium" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "Priority 3: Low" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "Priority 1: Medium" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "Priority 1: Low" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "Your list of section will show up here." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "No Section" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "Type a search" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "Reminders" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" "Your list of reminders will show up here. Add one by clicking the '+' button." #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "Add Reminder" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "In 5 minutes" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "In 15 minutes" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "In 30 minutes" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "In 1 hour" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "In 3 hours" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "In 6 hours" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "Set Section" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "Select Section" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "Set The Status" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "Status" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "To Do" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "Complete" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "Completed Tasks" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "View Filter Menu" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "No completed tasks yet." #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "Delete All Completed Tasks" #: src/Dialogs/CompletedTasks.vala:165 #, fuzzy, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[1] "" "This will delete %d completed tasks and their subtasks from project %s" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "Filter By" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "Next Week" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "No Date" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Done" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "Change History" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "Added at" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "Not available" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "Updated at" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" "Your change history will be displayed here once you start making changes." #: src/Dialogs/ItemChangeHistory.vala:138 #, fuzzy, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "Load more history from %d weeks ago…" msgstr[1] "Load more history from %d weeks ago…" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "New Label" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "Edit Label" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "Give your label a name" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "Add Label" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "Update Label" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "Filter" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "Archived Projects" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "Manage Sections" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "You can sort your sections by dragging and dropping" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "Archived" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(No Section)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "Accounts" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "Add Source" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 #, fuzzy msgid "Inbox Page" msgstr "Inbox" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "You can sort your accounts by dragging and dropping" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 #, fuzzy msgid "Change Inbox" msgstr "Open Inbox" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "Syncing…" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "Server URL" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "Username" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "Password" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "Calendar Home URL" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "Log In" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 #, fuzzy msgid "Inbox Project" msgstr "New Project" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "Source" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "Display Name" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "Sync Server" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "Last Sync" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "Delete Source" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "Delete Source?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "1. Go to Todoist → Settings → Integrations → Developer" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "3. Paste it in the field above" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "Synchronizing…" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "Appearance" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "Use System Settings" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "Select theme" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "Light Style" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "Clean light theme" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "Dark Style" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "Elegant dark theme" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "Dark Blue Style" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "Professional blue theme" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "Custom themes are not available when using the system light theme" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "Font Size" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "Backups" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "Create Backup" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "Import Backup" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "Backup Files" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "No backups found, create one clicking the button above." #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "Migrate" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "Migrate From Planner" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "The Backup was created successfully." #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "Tasks Migrate Successfully" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "The database file does not exist." #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "Selected file is invalid" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "View Backup" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "Download" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "Import Overview" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "Sources" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "To-Dos" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "Confirm" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "Restore backup" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "Restore Backup" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "General" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "Custom Sort Order" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "Alphabetically" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "Sort by" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "Ascending" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "Descending" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "Ordered" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "DE Integration" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "Run on Startup" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "Run in Background" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "Calendar Events" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "Date and Time" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24h" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12h" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "Clock Format" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "Sunday" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "Monday" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "Tuesday" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "Wednesday" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "Thursday" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "Friday" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "Saturday" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "Start of the Week" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "Home View" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "Quick Add" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "Settings" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "Save Last Selected Project" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "If unchecked, the default project selected is Inbox" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "The command was copied to the clipboard" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "Sidebar" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "Show in Sidebar" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "Show Task Count" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "Sidebar Width" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "List View for Filters" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "Show filters in a simple list instead of a grid" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "You can sort your views by dragging and dropping" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "Task Settings" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "Complete Instantly" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "Complete with Undo" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "Task Completion" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "Choose how tasks behave when marked as complete" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "Priority 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "Priority 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "Priority 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "Default Priority" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "Cross Out Completed Tasks" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "Start" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "New Task Position" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "Always Show Completed Sub-Tasks" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "Keep all completed subtasks visible without collapsing them" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "Task Complete Tone" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "Play a sound when tasks are completed" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "Open Tasks in Sidebar View" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" "Always display task details in the sidebar instead of expanding in list view." #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "Single Task Focus Mode" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "Allow only one task to be expanded at a time in list view" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "Enable Markdown Formatting" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "Toggle Markdown support for tasks on or off" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "Always Show Details Sidebar" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "Enabled" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "Automatic reminders" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" "When enabled, a reminder before the task’s due time will be added by default." #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "Preferences" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "Sync your favorite to-do providers" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "Set the view shown at first launch" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "Customize to your liking" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "Customize your sidebar" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "Adding to-do's from anywhere" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "Backup or migrate from Planner." #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "Create Tutorial Project" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "Learn the app step by step with a short tutorial project" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "Want to buy me a drink?" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "Report Issue or Request Feature" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "Share bugs or ideas on GitHub" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "Get Involved" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "Reach Us" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "Contact Us" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "Request a feature or ask us anything" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "Tweet Us" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "Share some love" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "Discord" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "Discuss and share your feedback" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodon" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "Privacy" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "Privacy Policy" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "We have nothing on you" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "Delete App Data" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "A tutorial project has been created" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "Delete All Data?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "Deletes all your lists, tasks, and reminders irreversibly" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "Summary" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "See More" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "This Week" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "This Month" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "Overdue" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "New Project" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "Edit Project" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "Give your project a name" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "Use Emoji" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "Add Project" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "Update Project" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "Project added successfully!" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "Move" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "Quick Find" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "Quickly switch projects and views, find tasks, search by labels" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "New Section" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "Edit Section" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "Section Name" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "Add Section" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "Update Section" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "Section added" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "Open/Close Sidebar" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "Unpin" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "Completed. Next occurrence: %s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "Add Subtask" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "Edit" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "Duplicate" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "Delete Task" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "Order changed to 'Custom sort order'" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s was deleted" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "Undo" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "Add Subtasks" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "Hide Sub-tasks" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "Show Sub-tasks" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "Use as a Note" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "Copy to Clipboard" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "Add Attachments" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "Close Detail" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "Title" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "Properties" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "Are you sure you want to delete?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "Delete Label" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "Projects sort changed to 'Custom sort order'" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "Remove From Favorites" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "Add to Favorites" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "Refresh" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "Delete Project" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "Share" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "Send by E-Mail" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "Add tasks" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "Load more" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "completed tasks" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "Move Section" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "Manage Section Order" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "Show Completed Tasks" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "Delete Section" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "Favorites" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "No favorites available. Create one by clicking on the '+' button" #: src/Layouts/Sidebar.vala:122 #, fuzzy msgid "Add Account" msgstr "Accounts" #: src/Layouts/Sidebar.vala:123 #, fuzzy msgid "Customize Sidebar" msgstr "Customize your sidebar" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "Go to Today" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "Go to Scheduled" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "Go to Labels" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "Go to Pinboard" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "No project available. Create one by clicking on the '+' button" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "Main Menu" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "Open Quick Find" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "About Planify" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "Oops! Something happened" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "Task completed" #: src/MainWindow.vala:825 msgid "View" msgstr "View" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "Database Integrity Check Failed" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "Reset Database" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "Delete Backup" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "Backup Successfully Imported" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "Planify Backup Files" #: src/Services/Notification.vala:99 #, fuzzy msgid "Snooze for 10 minutes" msgstr "In 30 minutes" #: src/Services/Notification.vala:100 #, fuzzy msgid "Snooze for 30 minutes" msgstr "In 30 minutes" #: src/Services/Notification.vala:101 #, fuzzy msgid "Snooze for 1 hour" msgstr "In 1 hour" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "View Option Menu" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "Add Some Tasks" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "Press 'a' to create a new task" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "All tasks completed!" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "Great job, nothing left to do 🎉" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 #, fuzzy msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "Delete All Completed Tasks" msgstr[1] "Delete All Completed Tasks" #: src/Views/Filter.vala:627 #, fuzzy, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "This will delete %d completed tasks and their subtasks" msgstr[1] "This will delete %d completed tasks and their subtasks" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "No labels available. Create one by clicking on the '+' button" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "Note" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "Schedule" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "When?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "Project Actions" #: src/Views/Project/Project.vala:259 #, fuzzy msgid "New Task" msgstr "New Task Position" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "Select" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "Paste" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "Expand All" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "New" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "Collapse All" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "List" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "Board" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "Sorting" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "Custom sort order" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "Date Added" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "Ascending Order" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "Duedate" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "All (default)" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "Next 7 Days" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "Next 30 Days" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "P1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "P2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "P3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "P4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "Filter by Labels" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "Search completed tasks" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "Sort By" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "Reschedule" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "Attachments" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "Open" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "No attachments found. Add files here." #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "Bypass Location Resolve" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" "Workaround for CalDAV connection issues with connections using non-default " "ports" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "Warning" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "Continue Anyway" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "Sub-tasks" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "Show more" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "Show less" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "Report Issue" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "URL" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Calendar" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "Disable SSL certificate validation" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "Not recommended – exposes you to security risks" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "Task uncompleted" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "Task moved to project" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "Task moved to" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "Previous" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "Pin: Active" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "Pin: Inactive" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "Completed At" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "Mark as Completed" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "Delete To-Do" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "Are you sure you want to delete this to-do?" #: src/Widgets/MultiSelectToolbar.vala:299 #, fuzzy, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "Delete %d To-Dos" msgstr[1] "Delete %d To-Dos" #: src/Widgets/MultiSelectToolbar.vala:305 #, fuzzy, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "Are you sure you want to delete this %d to-do?" msgstr[1] "Are you sure you want to delete this %d to-do?" #: src/Widgets/MultiSelectToolbar.vala:402 #, fuzzy, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "Task moved to %s" msgstr[1] "Task moved to %s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "New version available!" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "Update Now" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "Unarchive" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "No subtasks added yet. Get started!" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "Failed to connect to server" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "%s is %.0f%% complete. You can help finish it!" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "Translations" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "Help make Planify available worldwide" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "Help improve translations" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "Start a new translation" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "%s is not available yet. Be the first to translate it!" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "Planify - Quick Add" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "Used Anywhere" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "Create a New Task" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "Paste Plain Text to Create New Task" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "Create a New Project" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "Create a New Section in a Project" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "Search" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "Open Quick Find" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "Control Windows" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "Quit" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Open Preferences" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "Toggle Sidebar" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "Open Keyboard Shortcuts" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "Navigate" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "Open Homepage" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "Open Inbox" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "Open Today" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "Open Scheduled" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "Open Labels" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "Open Pinboard" #~ msgid "Advanced Options" #~ msgstr "Advanced Options" #~ msgid "Server URL examples:" #~ msgstr "Server URL examples:" #~ msgid "- https://cloud.example.com/" #~ msgstr "- https://cloud.example.com/" #~ msgid "- https://example.com/nextcloud/" #~ msgstr "- https://example.com/nextcloud/" #~ msgid "Token" #~ msgstr "Token" #~ msgid "How to get your token?" #~ msgstr "How to get your token?" #~ msgid "2. Find 'API token' and copy your token" #~ msgstr "2. Find 'API token' and copy your token" #~ msgid "Connect with Token" #~ msgstr "Connect with Token" #~ msgid "" #~ "Planify is being developed with love and passion for open source. " #~ "However, if you like Planify and want to support its development, please " #~ "consider supporting us." #~ msgstr "" #~ "Planify is being developed with love and passion for open source. " #~ "However, if you like Planify and want to support its development, please " #~ "consider supporting us." #~ msgid "Enter token" #~ msgstr "Enter token" #~ msgid "Please Enter Your Credentials" #~ msgstr "Please Enter Your Credentials" #~ msgid "Loading…" #~ msgstr "Loading…" #~ msgid "Network Is Not Available" #~ msgstr "Network Is Not Available" #~ msgid "Set a Due Date" #~ msgstr "Set a Due Date" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "Let Planify run in background and send notifications" #~ msgid "Whether Planify should run on startup" #~ msgstr "Whether Planify should run on startup" #~ msgid "Clear" #~ msgstr "Clear" #~ msgid "Menu" #~ msgstr "Menu" #~ msgid "Add Time" #~ msgstr "Add Time" #, fuzzy #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "You want Planify to send you a notification to remind you of an important " #~ "event or something special. Tap the bell button below to add a reminder." #, c-format #~ msgid "Processing task %d of %d" #~ msgstr "Processing task %d of %d" #~ msgid "Planify is syncing your tasks, this may take a few minutes" #~ msgstr "Planify is syncing your tasks, this may take a few minutes" #~ msgid "Todoist Sync" #~ msgstr "Todoist Sync" #~ msgid "Loading" #~ msgstr "Loading" #~ msgid "Planner is sync your tasks, this may take a few minutes" #~ msgstr "Planner is sync your tasks, this may take a few minutes" #~ msgid "Please enter your credentials" #~ msgstr "Please enter your credentials" #, c-format #~ msgid "Every %d minutes" #~ msgstr "Every %d minutes" #, c-format #~ msgid "Every %d hours" #~ msgstr "Every %d hours" #, c-format #~ msgid "Every %d days" #~ msgstr "Every %d days" #, c-format #~ msgid "Every %d weeks" #~ msgstr "Every %d weeks" #, c-format #~ msgid "Every %d months" #~ msgstr "Every %d months" #, c-format #~ msgid "Every %d years" #~ msgstr "Every %d years" #, c-format #~ msgid "" #~ "This will delete %d completed tasks and their subtasks from project %s" #~ msgstr "" #~ "This will delete %d completed tasks and their subtasks from project %s" #, c-format #~ msgid "Load more history from %d weeks ago…" #~ msgstr "Load more history from %d weeks ago…" #, fuzzy #~ msgid "Delete Completed Tasks" #~ msgstr "Delete All Completed Tasks" #, c-format #~ msgid "This will delete %d completed tasks and their subtasks" #~ msgstr "This will delete %d completed tasks and their subtasks" #, c-format #~ msgid "Delete %d To-Dos" #~ msgstr "Delete %d To-Dos" #, c-format #~ msgid "Are you sure you want to delete these %d to-dos?" #~ msgstr "Are you sure you want to delete these %d to-dos?" #~ msgid "Backup" #~ msgstr "Backup" #~ msgid "Task Setting" #~ msgstr "Task Setting" #~ msgid "Close" #~ msgstr "Close" #~ msgid "Personal Data" #~ msgstr "Personal Data" #~ msgid "" #~ "We collect absolutely nothing and all your data is stored in a database " #~ "on your computer." #~ msgstr "" #~ "We collect absolutely nothing and all your data is stored in a database " #~ "on your computer." #~ msgid "" #~ "If you choose to integrate Todoist, which is optional and not selected by " #~ "default, your data will be stored on their private servers, we only " #~ "display your configured tasks and manage them for you." #~ msgstr "" #~ "If you choose to integrate Todoist, which is optional and not selected by " #~ "default, your data will be stored on their private servers, we only " #~ "display your configured tasks and manage them for you." #~ msgid "Do you have any questions?" #~ msgstr "Do you have any questions?" #~ msgid "" #~ "If you have any questions about your data or any other issue, please " #~ "contact us. We will be happy to answer you." #~ msgstr "" #~ "If you have any questions about your data or any other issue, please " #~ "contact us. We will be happy to answer you." #~ msgid "Supporting Us" #~ msgstr "Supporting Us" #~ msgid "" #~ "Our mission is to provide the best open source task management " #~ "application for users all over the world. Your donations support this " #~ "work. Want to donate today?" #~ msgstr "" #~ "Our mission is to provide the best open source task management " #~ "application for users all over the world. Your donations support this " #~ "work. Want to donate today?" #~ msgid "Support Planify" #~ msgstr "Support Planify" #~ msgid "Clear Schedule" #~ msgstr "Clear Schedule" #~ msgid "Stay open after creating task" #~ msgstr "Stay open after creating task" #~ msgid "Process completed, you need to start Planify again" #~ msgstr "Process completed, you need to start Planify again" #~ msgid "Task Detail" #~ msgstr "Task Detail" #~ msgid "Create a new to-do" #~ msgstr "Create a new to-do" #~ msgid "Tag your to-dos!" #~ msgstr "Tag your to-dos!" alainm23-planify-69962f8/po/eo.po000066400000000000000000002510701517337276100164610ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:55+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Esperanto \n" "Language: eo\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/es.po000066400000000000000000003741041517337276100164710ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2026-01-31 10:01+0000\n" "Last-Translator: \"Pedro M. T.\" \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.16-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Proyectos" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Secciones" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Tareas" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Etiquetas" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Filtros" #: core/Enum.vala:186 msgid "Lists" msgstr "Listas" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "No repetir" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Cada minuto" msgstr[1] "Cada %d minutos" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Cada hora" msgstr[1] "Cada %d horas" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Cada día" msgstr[1] "Cada %d días" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Cada semana" msgstr[1] "Cada %d semanas" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Cada mes" msgstr[1] "Cada %d meses" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Cada año" msgstr[1] "Cada %d años" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Prioridad" #: core/Enum.vala:348 msgid "Label" msgstr "Etiqueta" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Fecha de vencimiento" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Sección" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "Asignación" #: core/Enum.vala:469 msgid "Task Created" msgstr "Tarea creada" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Tarea actualizada" #: core/Enum.vala:528 msgid "Content" msgstr "Contenido" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Descripción" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Planificado" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Fijar" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Todas las tareas" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "todas las tareas" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "todas" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "En cualquier momento" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "en cualquier momento" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "filtros" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "sin fecha" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Completado" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "completado" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "bitácora" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Bandeja de entrada" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "Bandeja de entrada" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "etiquetas" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Importantes" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Prioridad 1: alta" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Prioridad 2: media" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Prioridad 3: baja" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Prioridad 4: ninguna" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "alta" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "media" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "baja" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "ninguna" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Repitiendo" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "repitiendo" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "planificado" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "próximo" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Hoy" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "hoy" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Mañana" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "mañana" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "fecha" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Sin etiquetar" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "sin etiqueta" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "sin etiquetar" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Tarea copiada al portapapeles" # # c-format #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "Tarea movida a %s" # # c-format #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Eliminar Etiqueta %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Esto no se puede deshacer" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Cancelar" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Eliminar" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "El proyecto fue copiado al Portapapeles." # # c-format #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "¿Eliminar proyecto %s?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "¿Archivar?" # # c-format #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "Esto archivará %s y todas sus tareas." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "Archivar" # # c-format #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Eliminar sección %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "¡Tarea agregada con éxito!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Nombre de la tarea" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "Este campo es obligatorio" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Añadir una descripción…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "Fijar fecha" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Añadir etiquetas" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Establecer prioridad" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Añadir recordatorios" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Añadir Tarea" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "Seguir agregando" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Seleccionar un proyecto" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "Lo siento, Añadir Rápido no encuentra ningún proyecto disponible. Intenta " "crear un proyecto desde Planify." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Atajos de teclado" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "Acelera la creación de tareas con estos atajos" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "Establecer prioridad" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = más alta, p4 = más baja" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "Agregar etiquetas" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "Abrir selector de etiquetas" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "Asignar proyecto" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "Abrir selector de proyectos" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "Establecer recordatorio" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "Abrir opciones de recordatorio" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "Alternar mantener abierto después de crear tarea" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "Sugerencia" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "Combina atajos en el campo de título para una creación más rápida" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "Cargando tareas para %s…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "Tareas cargadas para %s…" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "Sincronizando tarea %d de %d" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "La fuente ya existe" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "No se pudo resolver la URL principal" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "Iniciando sincronización…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "Sincronizando %s…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "Sincronización finalizada" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "En este ordenador" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" "Todoist ha actualizado su API. Vuelve a conectar tu cuenta en Preferencias " "para continuar con la sincronización." #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "La solicitud no era correcta." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "Se requiere autenticación, y ha fallado, o aún no se ha proporcionado." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "La petición era válida, pero para algo que está prohibido." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "No se ha podido encontrar el recurso solicitado." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "El usuario ha enviado demasiadas solicitudes en un tiempo determinado." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "La solicitud ha fallado debido a un error del servidor." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "El servidor no puede procesar la solicitud." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "Error desconocido" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "Ayer" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "días" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "día" # # c-format #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "hace %s %s" # # c-format #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "%s %s restantes" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "%-l:%M:%S %p" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "%-l:%M %p" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "%H:%M:%S" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "%H:%M" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Lun," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Mar," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "Mie," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Jue," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Vie," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "Sab," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "Dom," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "en %d día" msgstr[1] "en %d días" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "hace %d día" msgstr[1] "hace %d días" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "%a, %b %-e, %Y" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "%b %-e %Y" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "%b %-e" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "%a %Y" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "%a" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "%a, %b %-e" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "%b" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Rojo baya" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Rojo" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Naranja" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Amarillo" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Verde oliva" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Verde lima" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Verde" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "Verde menta" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Verde azulado" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "Azul cielo" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Azul claro" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Azul" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Uva" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Violeta" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Lavanda" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "Magenta" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "Salmón" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "Carbón" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Gris" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "Gris pardo" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Claro" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Oscuro" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Azul oscuro" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Ninguno" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Hoy + Bandeja de entrada" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Borrar todo" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "Proceso completado. Necesitas iniciar Planify de nuevo." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "Ok" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "En este ordenador" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Conoce Planify" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "Este proyecto te muestra todo lo que necesitas saber para empezar con buen " "pie. No temas trastear, siempre puedes crear uno nuevo desde la " "configuración." #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "Toca en esta tarea" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" "¡Estás viendo una tarea! Complétala tocando la casilla de la izquierda. Las " "tareas completadas se agrupan al final de tu proyecto. " #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "Crear nueva tarea" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Es tu turno! toca el botón “+� en la parte inferior del proyecto, escribe " "una tarea y toca el botón “Agregar Tarea�." #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "Planifica esta tarea para hoy o más tarde" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" "Toca el botón de calendario en la parte inferior para decidir cuándo " "completar esta tarea." #: core/Utils/Util.vala:615 #, fuzzy msgid "Reorder your to-dos" msgstr "Reordena tus tareas" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "Para reorganizar tu lista, mantén presionada una tarea y arrástrala a donde " "deba ir." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Crea un proyecto" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "¡Organiza mejor tus tareas! Ve al panel izquierdo, haz clic en el botón “+� " "en la sección 'En este ordenador' y agrega tu propio proyecto." #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "¡Terminaste!" #: core/Utils/Util.vala:628 #, fuzzy msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "Eso es todo lo que necesitas saber. Puedes comenzar a añadir tus propios " "proyectos y tareas cuando quieras.\n" "Más adelante puedes volver a este proyecto para aprender funciones " "avanzadas.\n" "¡Esperamos que disfrutes usando Planify!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "Ajusta tu configuración" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Muestra los eventos de tu calendario" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "Puedes mostrar los eventos del calendario de tu sistema en Planify. Ve a " "'Preferencias' 🡒 General 🡒 Eventos de calendario para activarlo." #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "Activa la sincronización con servicios de terceros" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "Planify no solo crea tareas localmente; también puede sincronizar con tu " "cuenta de Todoist. Ve a \"Preferencias\" 🡒 \"Cuentas\"." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "Impulsa tu productividad" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "¡Arrastra el botón más!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "El botón azul que ves en la parte inferior de cada pantalla es más útil de " "lo que parece: ¡fue hecho para moverse! Arrástralo hacia arriba para crear " "una tarea donde quieras." #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "¡Añade etiquetas a tus tareas!" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "Las etiquetas te ayudan a organizar y categorizar tus tareas. Para añadir " "una, haz clic en el botón de etiqueta en la parte inferior." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "¡Establece recordatorios a tiempo!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" "Recibe notificaciones sobre tareas o eventos importantes. Toca el botón del " "reloj a continuación para añadir un recordatorio." #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼�Trabajo" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒�Escuela" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉�Delegado" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "��Casa" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀��Seguimiento" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Tarea duplicada" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Sección duplicada" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Proyecto duplicado" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "A su debido tiempo" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 minutos antes" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 minutos antes" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 minutos antes" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 hora antes" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 horas antes" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 horas antes" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "%A, %B %e, %Y" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%OB" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "Atrás" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "Mes anterior" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "Adelante" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "Mes próximo" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "Mes anterior, %s" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "%B %Y" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "El próximo mes, %s" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Elija una fecha" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "Dom" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Lun" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Mar" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "Mie" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Jue" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Vie" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "Sáb" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Hora" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "hasta" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "para" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "veces" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "hora" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Repetir" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "Escribe una fecha…" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "Próxima semana" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "A diario" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 #, fuzzy msgid "Weekdays" msgstr "Semanalmente" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "Fines de semana" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Semanalmente" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Mensualmente" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Anualmente" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "Personalizado" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "Minuto(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "Hora(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "Día(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "Semana(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "Mes(es)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "Año(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "Nunca" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "A tiempo" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "Después" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "Aplicar" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "Repetir cada" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "Fin" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "Fecha" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "Eliminar fecha" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "Establecer fecha límite" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "Fecha límite" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "Seleccionar etiquetas" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "Etiqueta no encontrada: Crear '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" "Aquí aparecerá su lista de filtros. Cree uno introduciendo el nombre y " "pulsando la tecla Intro." # # c-format #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "Crear '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "Su lista de filtros aparecerá aquí." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "Buscar" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "Buscar o crear" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "Eliminar enlace" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "Prioridad 4: Ninguna" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "Prioridad 1: Alta" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "Prioridad 2: Media" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "Prioridad 3: Baja" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "Prioridad 1: Media" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "Prioridad 1: Baja" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "Su lista de secciones aparecerá aquí." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "Sin sección" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "Escribe una búsqueda" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "Recordatorios" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" "Aquí aparecerá su lista de recordatorios. Añada uno haciendo clic en el " "botón '+'" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "Añadir recordatorio" # # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "En 5 minutos" # # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "En 15 minutos" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "En 30 minutos" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "En 1 hora" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "En 3 horas" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "En 6 horas" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "Establecer sección" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "Seleccionar sección" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "Establecer el estado" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "Estado" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "Por hacer" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "Completar" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "Planify se iniciará automáticamente cuando se encienda este dispositivo y se " "ejecutará cuando se cierre su ventana para poder enviar notificaciones de " "tareas." #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "Sincronización del calendario" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" "Convierte tus tareas en eventos del calendario automáticamente. Cualquier " "tarea con una fecha aparecerá en tu calendario, lo que te facilitará la " "planificación de tu día." #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" "Requisito: Necesitas una cuenta de calendario configurada en GNOME Calendar " "(Google, Nextcloud, etc.)" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" "Reciba notificaciones móviles de sus tareas a través de Google Calendar, " "Outlook o cualquier aplicación de calendario" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" "Tus tareas se sincronizan en todas partes: teléfono, tablet, navegador web y " "cualquier dispositivo con tu calendario" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "Elegir calendario" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "Selecionar un calendario de la lista" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "Habilitar sincronización" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "Sincronización del calendario desactivada correctamente" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "Sincronización del calendario activa" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" "Tus tareas están sincronizadas actualmente con tu calendario. Cualquier " "tarea con una fecha aparece automáticamente como un evento del calendario." #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "Sincronización desactivada" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "Sincronizado con: %s" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "Sincronización activada!" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" "Tus tareas ahora están sincronizadas con tu calendario. Cualquier tarea con " "una fecha aparecerá automáticamente como un evento del calendario." #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "OK" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "Tareas completadas" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "Ver menú de filtros" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "Aún no hay tareas completadas." #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "Eliminar todas las tareas completadas" #: src/Dialogs/CompletedTasks.vala:165 #, fuzzy, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" "Esto eliminará %d tareas completadas y sus subtareas del proyecto %s" msgstr[1] "" "Esto eliminará %d tareas completadas y sus subtareas del proyecto %s" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "Filtrar por" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "La próxima semana" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "Sin fecha" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Listo" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "Historial de cambios" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "Agregada el" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "No disponible" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "Actualizada el" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" "Tu historial de cambios se mostrará aquí una vez que empieces a realizar " "modificaciones." #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "Cargar más historial de hace %d semana…" msgstr[1] "Cargar más historial de hace %d semanas…" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "Nueva etiqueta" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "Editar etiqueta" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "Dale un nombre a tu etiqueta" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "Añadir etiqueta" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "Actualizar etiqueta" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "Filtro" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "Proyectos archivados" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "Gestionar secciones" #: src/Dialogs/ManageSectionOrder.vala:54 #, fuzzy msgid "You can sort your sections by dragging and dropping" msgstr "Puedes ordenar tus cuentas arrastrando y soltando" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "Archivado" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(Sin sección)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "Cuentas" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "Añadir fuente" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 #, fuzzy msgid "Inbox Page" msgstr "Bandeja de entrada" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 #, fuzzy msgid "You can sort your accounts by dragging and dropping" msgstr "Puedes ordenar tus cuentas arrastrando y soltando" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "Planify está sincronizando tus tareas, esto puede llevar un momento" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "La verificación SSL está desactivada" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "Se requiere migración de cuenta" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "Reconectar" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "No se puede ocultar esta cuenta" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "Esta cuenta contiene tu proyecto actual de Bandeja de entrada. Por favor, " "cambia primero tu proyecto de Bandeja de entrada." #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "Cambiar la Bandeja de entrada" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 #, fuzzy msgid "Syncing…" msgstr "Sincronizando…" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "URL del servidor" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 #, fuzzy msgid "Username" msgstr "Nombre de usuario" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "Contraseña" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "URL de inicio del calendario" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "Iniciar sesión" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "Proyecto Bandeja de entrada" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" "Tu Bandeja de entrada es donde llegan tus nuevas tareas por defecto. Basada " "en la metodología Getting Things Done de David Allen, es tu punto de captura " "para ideas y tareas rápidas que organizarás más adelante" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "Fuente" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "Mostrar nombre" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "Sincronizar servidor" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" "Activa esta opción para que Planify se sincronice automáticamente con tu " "cuenta cada 15 minutos" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "Última sincronización" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "Eliminar fuente" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "¿Eliminar fuente?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "No se puede eliminar esta fuente" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "Esta fuente contiene tu proyecto actual de Bandeja de entrada. Primero, " "modifica tu proyecto de Bandeja de entrada." #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "1. Ve a Todoist → Configuración → Integraciones → Desarrollador" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "3. Pégalo en el campo de arriba" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "Sincronizando…" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "Apariencia" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "Usar la configuración del sistema" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "Seleccionar tema" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "Estilo claro" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "Tema claro limpio" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "Estilo oscuro" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "Tema negro elegante" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "Estilo azul oscuro" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "Tema azul elegante" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" "Los temas personalizados no están disponibles cuando se utiliza el tema " "claro del sistema" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "Tamaño de letra" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "Copias de seguridad" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" "No se preocupe por perder sus datos. Puede crear copias de seguridad de sus " "proyectos activos, tareas y comentarios e importarlos más tarde." #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "Crear copia de seguridad" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "Importar copia de seguridad" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "Archivos de copia de seguridad" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" "No se encontraron copias de seguridad. Cree una haciendo clic en el botón de " "arriba." #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "Los archivos de la copia de seguridad se almacenan en: %s" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "Migrar" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "Migrar desde Planner" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "La copia de seguridad se creó correctamente." #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "Las tareas se migraron con éxito" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "El archivo de base de datos no existe." #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "El archivo seleccionado no es válido" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "Ver copia de seguridad" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "Descargar" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "Resumen de la importación" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "Fuentes" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "Tareas" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "Confirmar" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "Restaurar copia de seguridad" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" "¿Estás seguro de que deseas continuar? Esta operación eliminará tus datos " "actuales y los reemplazará con los de la copia de seguridad." #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "Restaurar copia de seguridad" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "Donar" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "Apoyar el desarrollo de Planify" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" "¡Ayuda a mantener Planify gratuito y de código abierto! Tus donaciones " "apoyan directamente el desarrollo, las nuevas funciones y el mantenimiento. " "Cada contribución, sin importar su cuantía, marca la diferencia." #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "Soporte mensual recurrente" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "Donación única" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "Donaciones semanales recurrentes" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "Comprame un café ☕" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "Elige tu plataforma favorita" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "Gracias por tu apoyo! �" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "Tu contribución ayuda a mantener vivo y en crecimiento a Planify." #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "General" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "Orden personalizado" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "Alfabéticamente" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "Ordenar por" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "Ascendente" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "Descendente" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "Ordenado" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "Integración con el entorno de escritorio" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "Ejecutar al iniciar" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "Ejecutar en segundo plano" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "Eventos del calendario" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "Fecha y hora" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24h" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12h" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "Formato de hora" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "Domingo" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "Lunes" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "Martes" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "Miércoles" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "Jueves" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "Viernes" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "Sábado" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "Inicio de la semana" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "Reconocimiento inteligente de fechas" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" "Detecta automáticamente fechas como \"mañana\" o \"la semana que viene\"" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "Vista de Inicio" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "Añadir rápido" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" "Utilice Añadir Rápido para crear tareas pendientes desde cualquier lugar del " "escritorio con solo unas pocas teclas. Ni siquiera tiene que salir de la " "aplicación en la que se encuentra." #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" "Vaya a Configuración del sistema → Teclado → Atajos → Personalizado y añada " "un nuevo atajo con lo siguiente:" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "Configuraciones" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "Guardar el último proyecto seleccionado" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" "Si no está marcada, el proyecto seleccionado por defecto será Bandeja de " "entrada" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "El comando fue copiado al portapapeles" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "Barra lateral" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "Mostrar en la barra lateral" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "Mostrar número de tareas" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "Ancho de la barra lateral" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "Vista de Lista para Filtros" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "Mostrar los filtros en una lista simple en lugar de una cuadrícula" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "Puedes ordenar tus vistas arrastrando y soltando" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "Configuración de tareas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "Completar al instante" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "Completa con Deshacer" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "Finalización de tareas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "Elige cómo se comportan las tareas cuando se marcan como completadas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "Prioridad 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "Prioridad 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "Prioridad 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "Prioridad por defecto" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "Tachar las tareas completadas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "Inicio" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "Nueva posición de la tarea" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "Mostrar siempre las subtareas completadas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "Mantener todas las subtareas completadas visibles sin colapsarlas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "Tono de tarea completada" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "Reproducir un sonido cuando se completen las tareas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 #, fuzzy msgid "Open Tasks in Sidebar View" msgstr "Abrir tarea en la vista de barra lateral" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" "Mostrar siempre los detalles de las tareas en la barra lateral en lugar de " "expandirlos en la vista de lista." #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "Modo de enfoque en una sola tarea" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "Permitir que solo se expanda una tarea a la vez en la vista de lista" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "Activar formato Markdown" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "Activar o desactivar soporte Markdown para tareas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "Mostrar siempre la barra lateral de detalles" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 #, fuzzy msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" "Mantenga el panel de detalles siempre visible para facilitar la navegación " "entre tareas, evitando la necesidad de abrir y cerrar el panel " "constantemente." #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "Habilitar la corrección ortográfica" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "Revisa la ortografía en las descripciones de las tareas y las notas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "Habilitado" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "Recordatorios automáticos" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" "Cuando se activa, se añade por defecto un recordatorio antes de la hora de " "vencimiento de la tarea." #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "Preferencias" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "Sincroniza tus servicios de tareas favoritos" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "Establecer la vista que se muestra al iniciar por primera vez" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "Personalízalo a tu gusto" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "Personaliza tu barra lateral" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "Añade tareas desde cualquier lugar" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "Haz una copia de seguridad o migra desde Planner." #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "Crear proyecto tutorial" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "Aprende a usar la app paso a paso con un breve proyecto tutorial" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "¿Quieres invitarme una bebida?" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "Reportar un problema o solicitar una función" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "Comparte errores o ideas en GitHub" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "Involúcrate" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "Contáctanos" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "Contáctanos" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "Solicita una función o pregúntanos lo que quieras" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "Escríbenos en Twitter" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "Comparte un poco de amor" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "Discord" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "Habla con nosotros y comparte tu opinión" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodon" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "Privacidad" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "Política de privacidad" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "No tenemos nada tuyo" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "Borrar datos de la app" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "Se creó un proyecto tutorial" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "¿Borrar todos los datos?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" "Se borrarán todas tus listas, tareas y recordatorios de forma irreversible" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "Resumen" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "Ver más" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "Esta semana" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "Este mes" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "Atrasada" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "Nuevo proyecto" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "Editar Proyecto" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "Dale un nombre a tu proyecto" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "Usar emoji" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "Añadir proyecto" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "Actualizar proyecto" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "¡Proyecto añadido correctamente!" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "Mover" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "Búsqueda rápida" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" "Cambia rápidamente de proyecto o vista, encuentra tareas y busca por " "etiquetas" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "Nueva sección" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "Editar sección" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "Nombre de la sección" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "Agregar sección" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "Actualizar sección" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "Sección añadida" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "Abrir/Cerrar barra lateral" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "Desanclar" # # c-format #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "Completada. Próxima ocurrencia: %s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "Añadir subtarea" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "Editar" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "Duplicar" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "Eliminar tarea" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "Orden cambiado a 'Orden personalizado'" # # c-format #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s fue eliminado" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "Deshacer" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "Añadir subtareas" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "Ocultar subtareas" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "Mostrar subtareas" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "Usar como nota" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "Copiar al portapapeles" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "Agregar archivos adjuntos" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "Cerrar detalle" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "Título" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "Propiedades" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "¿Estás seguro de que quieres eliminarlo?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "Eliminar etiqueta" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "Orden de los proyectos cambiado a 'Orden personalizado'" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "Eliminar de Favoritos" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "Agregar a Favoritos" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "Actualizar" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "Eliminar Proyecto" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "Compartir" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "Enviar por correo electrónico" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "Añadir tareas" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "Cargar más" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 #, fuzzy msgid "completed tasks" msgstr "Tareas completadas" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "Mover sección" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "Gestionar el orden de las secciones" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "Mostrar tareas completadas" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "Eliminar sección" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "Favoritos" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "No hay favoritos disponibles. Cree uno haciendo clic en el botón '+'" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "Añadir Cuenta" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "Personalizar Barra lateral" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "Ir a Hoy" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "Ir a Planificado" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "Ir a Etiquetas" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "Ir a Importantes" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "No hay proyectos disponibles. Cree uno haciendo clic en el botón '+'" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "Se requiere migración de cuenta" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "Menú principal" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "Abrir búsqueda rápida" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "Acerca de Planify" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "¡Ups! Algo ha ocurrido" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "Tarea completada" #: src/MainWindow.vala:825 msgid "View" msgstr "Vista" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "Falló la verificación de integridad de la base de datos" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" "Hemos detectado problemas con la estructura de la base de datos que pueden " "impedir que la aplicación funcione correctamente. Esto puede deberse a " "tablas o columnas faltantes, probablemente causadas por corrupción de datos " "o una actualización incompleta.\n" "\n" "La base de datos se restablecerá ahora para restaurar su funcionalidad " "normal, y se eliminarán los datos existentes.\n" "\n" "Después del reinicio, podrá restaurar cualquier copia de seguridad que haya " "creado previamente. Gracias por su paciencia" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "Reiniciar base de datos" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "Eliminar copia de seguridad" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "Copia de seguridad importada correctamente" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "Planify se reiniciará para aplicar los cambios" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "Reiniciar ahora" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "Archivos de copia de seguridad de Planify" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "Posponer la alarma durante 10 minutos" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "Posponer la alarma durante 30 minutos" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "Posponer la alarma durante 1 hora" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "Ver menú de opciones" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "Añadir algunas tareas" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "Presiona 'a' para crear una nueva tarea" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "¡Todas las tareas completadas!" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "¡Buen trabajo, no queda nada por hacer! 🎉" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "tareas" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "Eliminar la tarea completada" msgstr[1] "Eliminar las tareas completadas" # # c-format #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "Esto eliminará %d tarea completada y sus subtareas" msgstr[1] "Esto eliminará %d tareas completadas y sus subtareas" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "No hay etiquetas disponibles. Crea una haciendo clic en el botón '+'" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "Nota" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "Cronograma" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "¿Cuándo?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "Añade algunas tareas. Pulsa \"a\" para crear una nueva tarea" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "Acciones del proyecto" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "Nueva Tarea" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "Fecha límite del proyecto" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "Seleccionar" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "Pegar" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "Expandir todo" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "Nuevo" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "Contraer todo" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "Lista" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "Tablero" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "Ordenando" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "Orden personalizado" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "Fecha añadida" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "Orden Ascendente" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "Fecha de vencimiento" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "Todos (predeterminado)" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "Próximos 7 días" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "Próximos 30 días" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "P1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "P2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "P3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "P4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "Filtrar por etiquetas" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "Mostrar completadas" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "Mostrar tareas completada en la lista" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "Buscar tareas completadas" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "Ordenar por" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "Reprogramar" #: src/Views/Today.vala:761 msgid "Me" msgstr "Yo" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "Archivos adjuntos" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "Abrir" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "No se encontraron archivos adjuntos. Agrega archivos aquí." #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "Omitir Resolución de Ubicación" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" "Solución alternativa para problemas de conexión CalDAV con conexiones que " "utilizan puertos no predeterminados" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "Aviso" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" "Esto desactivará el proceso de resolución CalDAV.\n" "Proceda bajo su propia responsabilidad" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "Caontinuar de todos modos" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "Subtareas" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "Mostrar más" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "Mostrar menos" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "Informar problema" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "Se requiere migración de cuenta." #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "En %d minuto" msgstr[1] "En %d minutos" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "En %d hora" msgstr[1] "En %d horas" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "Sucediendo ahora" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "Ubicación" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "Organizador" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "URL" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Calendario" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "Unirse" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "Deshabilitar la validación del certificado SSL" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "No recomendado: te expone a riesgos de seguridad" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" "Esto deshabilitará la validación SSL y te expondrá a ataques.\n" "Continúa bajo tu propio riesgo" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "Tarea no completada" # # c-format #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "Tarea movida al proyecto" # # c-format #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "Tarea movida a" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "Anterior" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "Fijar: Activo" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "Fijar: Inactivo" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "Completado el" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "Mover al Proyecto" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "Marcar como completada" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "Eliminar tarea pendiente" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "¿Estás seguro de que deseas eliminar esta tarea pendiente?" # # c-format #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "Eliminar %d tarea pendiente" msgstr[1] "Eliminar %d tareas pendientes" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "¿Estás seguro de que deseas eliminar esta tarea pendiente?" msgstr[1] "¿Estás seguro de que deseas eliminar estas tareas pendientes?" # # c-format #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "Tarea movida a %s" msgstr[1] "%d areas movidas a %s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "¡Nueva versión disponible!" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" "Actualiza ahora para disfrutar de las últimas mejoras, correcciones de " "errores y nuevas funciones que hacen que Planify sea aún mejor" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "Actualiza Ahora" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "Descartar" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "Desarchivar" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "Aún no se han añadido subtareas. ¡Comienza ahora!" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "Error al conectar con el servidor" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" "Parece que el servidor no está disponible,\n" "¿estás conectado a Internet?\n" "Cualquier cambio que realices mientras estés desconectado\n" "se sincronizará cuando te reconectes." #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "%s está %.0f%% completo. ¡Puedes ayudar a terminarlo!" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "Traducciones" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "Ayuda a que Planify esté disponible en todo el mundo" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "Ayuda a mejorar las traducciones" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "Iniciar una nueva traducción" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "%s aún no está disponible. ¡Sé el primero en traducirlo!" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "Planify - Añadir rápido" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "Usado en cualquier parte" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "Crear nueva tarea" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "Pegar texto sin formato para crear una tarea" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "Crear nuevo proyecto" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "Crear nueva sección en un proyecto" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "Buscar" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "Abrir búsqueda rápida" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "Control de ventanas" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "Salir" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Abrir preferencias" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "Mostrar/ocultar barra lateral" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "Abrir atajos de teclado" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "Navegar" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "Abrir página principal" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "Abrir bandeja de entrada" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "Abrir Hoy" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "Abrir Planificado" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "Abrir etiquetas" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "Abrir Importantes" #~ msgid "Advanced Options" #~ msgstr "Opciones Avanzadas" #~ msgid "Server URL examples:" #~ msgstr "Ejemplos de URL de servidor:" #~ msgid "- https://cloud.example.com/" #~ msgstr "- https://cloud.example.com/" #~ msgid "- https://example.com/nextcloud/" #~ msgstr "- https://example.com/nextcloud/" #~ msgid "Token" #~ msgstr "Token" #~ msgid "How to get your token?" #~ msgstr "¿Cómo obtener tu token?" #~ msgid "2. Find 'API token' and copy your token" #~ msgstr "2. Busca 'API token' y copia tu token" #~ msgid "Connect with Token" #~ msgstr "Conectarse con Token" #~ msgid "" #~ "Planify is being developed with love and passion for open source. " #~ "However, if you like Planify and want to support its development, please " #~ "consider supporting us." #~ msgstr "" #~ "Planify se desarrolla con amor y pasión por el código abierto. Si te " #~ "gusta Planify y quieres apoyar su desarrollo, por favor considera " #~ "apoyarnos." #~ msgid "Donate Now" #~ msgstr "Donar ahora" #~ msgid "Enter token" #~ msgstr "Introducir Token" #~ msgid "Please Enter Your Credentials" #~ msgstr "Por favor, introduzca sus credenciales" #~ msgid "Loading…" #~ msgstr "Cargando…" #~ msgid "Network Is Not Available" #~ msgstr "La red no está disponible" #~ msgid "Set a Due Date" #~ msgstr "Fijar una fecha de vencimiento" #~ msgid "Set a Deadline" #~ msgstr "Establecer una fecha límite" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "Deja que Planify se ejecute en segundo plano y envíe notificaciones" #~ msgid "Whether Planify should run on startup" #~ msgstr "Indica si Planify debe ejecutarse al iniciar" #~ msgid "Clear" #~ msgstr "Eliminar" #~ msgid "Menu" #~ msgstr "Menú" #~ msgid "Add Time" #~ msgstr "Añadir tiempo" #, fuzzy #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "¿Quieres que Planify te recuerde un evento importante o algo especial? " #~ "Toca el botón de la campana abajo para añadir un recordatorio." #, c-format #~ msgid "Processing task %d of %d" #~ msgstr "Procesando tarea %d de %d" #, fuzzy #~ msgid "Planify is syncing your tasks, this may take a few minutes" #~ msgstr "" #~ "Planify está sincronizando sus tareas, esto puede tardar unos minutos" #~ msgid "Todoist Sync" #~ msgstr "Sincronización con Todoist" #~ msgid "Loading" #~ msgstr "Cargando" #~ msgid "Planner is sync your tasks, this may take a few minutes" #~ msgstr "" #~ "Planify está sincronizando tus tareas, esto puede tardar unos minutos" #~ msgid "Please enter your credentials" #~ msgstr "Por favor, introduce tus credenciales" #, c-format #~ msgid "Every %d minutes" #~ msgstr "Cada %d minutos" #, c-format #~ msgid "Every %d hours" #~ msgstr "Cada %d horas" #, c-format #~ msgid "Every %d days" #~ msgstr "Cada %d días" #, c-format #~ msgid "Every %d weeks" #~ msgstr "Cada %d semanas" #, c-format #~ msgid "Every %d months" #~ msgstr "Cada %d meses" #, c-format #~ msgid "Every %d years" #~ msgstr "Cada %d años" #, c-format #~ msgid "" #~ "This will delete %d completed tasks and their subtasks from project %s" #~ msgstr "" #~ "Esto eliminará %d tareas completadas y sus subtareas del proyecto %s" #, c-format #~ msgid "Load more history from %d weeks ago…" #~ msgstr "Cargar más historial de hace %d semanas…" #, fuzzy #~ msgid "Delete Completed Tasks" #~ msgstr "Eliminar todas las tareas completadas" # # c-format #, c-format #~ msgid "This will delete %d completed tasks and their subtasks" #~ msgstr "Esto eliminará %d tareas completadas y sus subtareas" # # c-format #, c-format #~ msgid "Delete %d To-Dos" #~ msgstr "Eliminar %d tareas pendientes" # # c-format #, c-format #~ msgid "Are you sure you want to delete these %d to-dos?" #~ msgstr "¿Estás seguro de que deseas eliminar estas %d tareas pendientes?" #, fuzzy #~ msgid "Backup" #~ msgstr "Copias de seguridad" #~ msgid "Task Setting" #~ msgstr "Configuración de tareas" #~ msgid "Supporting Us" #~ msgstr "Apoyarnos" #~ msgid "" #~ "Our mission is to provide the best open source task management " #~ "application for users all over the world. Your donations support this " #~ "work. Want to donate today?" #~ msgstr "" #~ "Nuestra misión es ofrecer la mejor aplicación de gestión de tareas de " #~ "código abierto para usuarios de todo el mundo. Sus donaciones apoyan este " #~ "trabajo. ¿Le gustaría donar hoy?" #~ msgid "Support Planify" #~ msgstr "Apoya a Planify" #~ msgid "Personal Data" #~ msgstr "Datos personales" #~ msgid "" #~ "We collect absolutely nothing and all your data is stored in a database " #~ "on your computer." #~ msgstr "" #~ "No recopilamos absolutamente nada y todos sus datos se almacenan en una " #~ "base de datos en su computadora." #~ msgid "" #~ "If you choose to integrate Todoist, which is optional and not selected by " #~ "default, your data will be stored on their private servers, we only " #~ "display your configured tasks and manage them for you." #~ msgstr "" #~ "Si elige integrar Todoist, lo cual es opcional y no está activado por " #~ "defecto, sus datos se almacenarán en sus servidores privados. Nosotros " #~ "solo mostramos sus tareas configuradas y las gestionamos por usted." #~ msgid "Do you have any questions?" #~ msgstr "¿Tiene alguna pregunta?" #~ msgid "" #~ "If you have any questions about your data or any other issue, please " #~ "contact us. We will be happy to answer you." #~ msgstr "" #~ "Si tiene alguna pregunta sobre sus datos o cualquier otra cuestión, por " #~ "favor contáctenos. Estaremos encantados de responderle." #, fuzzy #~ msgid "Clear Schedule" #~ msgstr "Cronograma" #~ msgid "Stay open after creating task" #~ msgstr "Mantener abierto después de crear la tarea" #~ msgid "Process completed, you need to start Planify again" #~ msgstr "Proceso completado, necesita iniciar Planify de nuevo" #~ msgid "Task Detail" #~ msgstr "Detalle de la tarea" #~ msgid "" #~ "This project shows you everything you need to know to hit the ground " #~ "running. Don’t hesitate to play around in it – you can always create a " #~ "new one from settings." #~ msgstr "" #~ "Este proyecto te muestra todo lo que necesitas saber para empezar con el " #~ "pie derecho. No dudes en explorarlo: siempre puedes crear uno nuevo desde " #~ "la configuración." #~ msgid "Tap this to-do" #~ msgstr "Toca esta tarea" #~ msgid "" #~ "You're looking at a to-do! Complete it by tapping the checkbox on the " #~ "left. Completed to-dos are collected at the bottom of your project." #~ msgstr "" #~ "¡Estás viendo una tarea! Complétala tocando la casilla de la izquierda. " #~ "Las tareas completadas se agrupan al final de tu proyecto." #~ msgid "Create a new to-do" #~ msgstr "Crea una nueva tarea" #~ msgid "" #~ "Now it's your turn, tap the '+' button at the bottom of your project, " #~ "enter any pending and tap the blue 'Save' button." #~ msgstr "" #~ "Ahora te toca a ti: toca el botón “+� en la parte inferior del proyecto, " #~ "escribe cualquier tarea y toca el botón azul “Guardar�." #~ msgid "Plan this to-do by today or later" #~ msgstr "Planifica esta tarea para hoy o más tarde" #~ msgid "" #~ "Tap the calendar button at the bottom to decide when to do this to-do." #~ msgstr "" #~ "Toca el botón de calendario en la parte inferior para decidir cuándo " #~ "hacer esta tarea." #~ msgid "Reorder yours to-dos" #~ msgstr "Reordena tus tareas" #~ msgid "" #~ "That’s all you really need to know. Feel free to start adding your own " #~ "projects and to-dos.\n" #~ "You can come back to this project later to learn the advanced features " #~ "below..\n" #~ "We hope you’ll enjoy using Planify!" #~ msgstr "" #~ "Eso es todo lo que necesitas saber. Puedes comenzar a añadir tus propios " #~ "proyectos y tareas cuando quieras.\n" #~ "Más adelante puedes volver a este proyecto para aprender funciones " #~ "avanzadas.\n" #~ "¡Esperamos que disfrutes usando Planify!" #~ msgid "Enable synchronization with third-party service." #~ msgstr "Activa la sincronización con servicios de terceros." #~ msgid "" #~ "Planify not only creates tasks locally, it can also synchronize your " #~ "Todoist account. Go to 'Preferences' 🡒 'Accounts'." #~ msgstr "" #~ "Planify no solo crea tareas localmente; también puede sincronizar tu " #~ "cuenta de Todoist. Ve a 'Preferencias' 🡒 'Cuentas'." #~ msgid "Tag your to-dos!" #~ msgstr "¡Etiqueta tus tareas!" #~ msgid "" #~ "Tags allow you to improve your workflow in Planify. To add a Tag click on " #~ "the tag button at the bottom." #~ msgstr "" #~ "Las etiquetas te permiten mejorar tu flujo de trabajo en Planify. Para " #~ "añadir una, haz clic en el botón de etiqueta en la parte inferior." #~ msgid "" #~ "You want Planify to send you a notification to remind you of an important " #~ "event or something special. Tap the bell button below to add a reminder." #~ msgstr "" #~ "¿Quieres que Planify te recuerde un evento importante o algo especial? " #~ "Toca el botón de la campana abajo para añadir un recordatorio." #~ msgid "What’s new in Planify" #~ msgstr "Novedades de Planify" #~ msgid "Inbox as Independent Project" #~ msgstr "Bandeja de entrada como proyecto independiente" #~ msgid "" #~ "The Inbox is the default place to add new tasks, allowing you to quickly " #~ "get your ideas out of your head and then plan them when you’re ready." #~ msgstr "" #~ "La Bandeja de entrada es el lugar predeterminado para añadir nuevas " #~ "tareas, lo que te permite sacar rápidamente tus ideas de la cabeza y " #~ "planificarlas cuando estés listo." #~ msgid "Enhanced Task Duplication" #~ msgstr "Duplicación de tareas mejorada" #~ msgid "" #~ "When you duplicate a task now, all subtasks and labels are automatically " #~ "duplicated, saving you time and effort in managing your projects." #~ msgstr "" #~ "Ahora, al duplicar una tarea, todas las subtareas y etiquetas se copian " #~ "automáticamente, ahorrándote tiempo y esfuerzo al gestionar tus proyectos." #~ msgid "Duplication of Sections and Projects" #~ msgstr "Duplicación de secciones y proyectos" #~ msgid "" #~ "You can now easily duplicate entire sections and projects, making it " #~ "easier to create new projects based on existing structures." #~ msgstr "" #~ "Ahora puedes duplicar fácilmente secciones y proyectos completos, lo que " #~ "facilita crear nuevos proyectos basados en estructuras ya existentes." #~ msgid "Project Expiry Date" #~ msgstr "Fecha de vencimiento del proyecto" #~ msgid "" #~ "Your project’s expiry date now clearly shows the remaining days, helping " #~ "you keep track of your deadlines more effectively." #~ msgstr "" #~ "La fecha de vencimiento de tu proyecto ahora muestra claramente los días " #~ "restantes, lo que te ayuda a controlar mejor tus plazos." #~ msgid "Archiving of Projects and Sections" #~ msgstr "Archivado de proyectos y secciones" #~ msgid "" #~ "You can now archive entire projects and sections! This feature helps you " #~ "keep your workspace organized and clutter-free." #~ msgstr "" #~ "¡Ahora puedes archivar proyectos y secciones completas! Esta función te " #~ "ayuda a mantener tu espacio de trabajo organizado y libre de desorden." #~ msgid "What's New" #~ msgstr "Novedades" #~ msgid "Are you sure you want to reset all? (y/n): " #~ msgstr "¿Está seguro de que quiere reiniciar todo? (s/n): " #~ msgid "y" #~ msgstr "s" #~ msgid "yes" #~ msgstr "sí" #~ msgid "Couldn't find an app to handle file URIs" #~ msgstr "" #~ "No se ha podido encontrar una aplicación que gestione los URI de los " #~ "archivos" #, fuzzy #~ msgid "Planify" #~ msgstr "Conoce Planify" #~ msgid "Add" #~ msgstr "Agregar" #~ msgid "" #~ "Up to 3 tasks can be pinned and they will appear at the top of the " #~ "project page" #~ msgstr "" #~ "Se pueden fijar hasta 3 tareas, que aparecerán en la parte superior de la " #~ "página del proyecto" #~ msgid "No Provider Available" #~ msgstr "No hay proveedor disponible" #~ msgid "Go to Inbox" #~ msgstr "Ir a la bandeja de entrada" #~ msgid "Order by" #~ msgstr "Ordenar por" #~ msgid "Integrations" #~ msgstr "Integraciones" #~ msgid "Wait 2500 Milliseconds" #~ msgstr "Esperar 2500 milisegundos" #~ msgid "Complete Task" #~ msgstr "Completar tarea" #~ msgid "" #~ "Complete your to-do instantly or wait 2500 milliseconds with the undo " #~ "option" #~ msgstr "" #~ "Complete su tarea pendiente al instante o espere 2500 milisegundos con la " #~ "opción de deshacer" #~ msgid "Top" #~ msgstr "Arriba" #~ msgid "Bottom" #~ msgstr "Abajo" #~ msgid "Create More" #~ msgstr "Crear más" #~ msgid "App Theme" #~ msgstr "Tema de la aplicación" # # c-format #, c-format #~ msgid "Task moved to: %s" #~ msgstr "Tarea movida a: %s" #~ msgid "Telegram" #~ msgstr "Telegram" #~ msgid "Matrix Room" #~ msgstr "Sala de Matrix" #~ msgid "Attention at One" #~ msgstr "Concentrarse en una" #~ msgid "Add To-Do" #~ msgstr "Añadir tarea pendiente" #~ msgid "Nextcloud Setup" #~ msgstr "Configuración de Nextcloud" #~ msgid "Provider" #~ msgstr "Proveedor" #~ msgid "Offline Mode Is On" #~ msgstr "El modo offline está activado" #~ msgid "Pinned" #~ msgstr "Fijado" #~ msgid "View Details" #~ msgstr "Ver detalles" #~ msgid "All" #~ msgstr "Todas" #~ msgid "Attach File" #~ msgstr "Adjuntar archivo" #~ msgid "Hide Completed Tasks" #~ msgstr "Ocultar tareas completadas" #~ msgid "CalDAV - " #~ msgstr "CalDAV - " #~ msgid "On this Computer" #~ msgstr "En este ordenador" #~ msgid "Labels: On This Computer" #~ msgstr "Etiquetas: En este ordenador" #~ msgid "Labels: Todoist" #~ msgstr "Etiquetas: Todoist" #~ msgid "Labels: Nextcloud" #~ msgstr "Etiquetas: Nextcloud" #~ msgid "Synchronize with your Todoist Account" #~ msgstr "Sincronizar con su cuenta Todoist" #~ msgid "Synchronization based on open Internet standards" #~ msgstr "Sincronización basada en normas abiertas de Internet" #~ msgid "" #~ "Activate this setting so that Planify automatically synchronizes with " #~ "your CalDAV account every 15 minutes" #~ msgstr "" #~ "Active esta opción para que Planify se sincronice automáticamente con su " #~ "cuenta CalDAV cada 15 minutos" #~ msgid "Failed to login" #~ msgstr "Error al iniciar sesión" #~ msgid "" #~ "Are you sure you want to remove the Todoist sync? This action will delete " #~ "all your tasks and settings." #~ msgstr "" #~ "¿Está seguro de que quiere eliminar la sincronización de Todoist? Esta " #~ "acción borrará todas sus tareas y configuraciones." #~ msgid "" #~ "Are you sure you want to remove the CalDAV sync? This action will delete " #~ "all your tasks and settings." #~ msgstr "" #~ "¿Está seguro de que quiere eliminar la sincronización CalDAV? Esta acción " #~ "eliminará todas sus tareas y configuraciones." #~ msgid "Sign Off" #~ msgstr "Cerrar sesión" #~ msgid "CalDAV Setup" #~ msgstr "Configuración de CalDAV" #~ msgid "Underline Completed Tasks" #~ msgstr "Subraye las tareas completadas" #~ msgid "Items" #~ msgstr "Items" #~ msgid "Tasks Synced Successfully" #~ msgstr "Tareas sincronizadas correctamente" #~ msgid "Do you want to use Todoist as your default Inbox Project?" #~ msgstr "" #~ "¿Quiere usar Todoist como su proyecto de bandeja de entrada " #~ "predeterminada?" # # c-format #~ msgid "Are you sure you want to delete %s?" #~ msgstr "¿Está seguro de que quiere borrar %s?" #~ msgid "" #~ "Now in Planify, you can filter your tasks within a project based on " #~ "priority, due date, and assigned tags. Take control of your tasks like " #~ "never before!" #~ msgstr "" #~ "Ahora en Planify, puedes filtrar sus tareas dentro de un proyecto en " #~ "función de la prioridad, la fecha de vencimiento y las etiquetas " #~ "asignadas. ¡Tome el control de sus tareas como nunca antes!" #~ msgid "Custom Sorting in Today View" #~ msgstr "Clasificación personalizada en la vista Hoy" #~ msgid "" #~ "Personalize the Today view by sorting your tasks the way you prefer. Make " #~ "your day more productive by organizing tasks your way!" #~ msgstr "" #~ "Personaliza la vista Hoy ordenando tus tareas como prefiera. ¡Haz que tu " #~ "día sea más productivo organizando las tareas a tu manera!" #~ msgid "" #~ "With our new task detail view in the sidebar, you can quickly access all " #~ "relevant task information while in the Board view. Keep your workflow " #~ "uninterrupted!" #~ msgstr "" #~ "Con nuestra nueva vista detallada de tareas en la barra lateral, puede " #~ "acceder rápidamente a toda la información relevante de la tarea mientras " #~ "se encuentra en la vista del Consejo. ¡Mantenga su flujo de trabajo sin " #~ "interrupciones!" #~ msgid "Efficient Management of Completed Tasks" #~ msgstr "Gestión eficaz de las tareas realizadas" #~ msgid "" #~ "Now, deleting completed tasks is easier than ever. Keep your workspace " #~ "clean and organized with just a few clicks!" #~ msgstr "" #~ "Ahora, eliminar tareas completadas es más fácil que nunca. ¡Mantén tu " #~ "espacio de trabajo limpio y organizado con sólo unos clics!" #~ msgid "Attach Files to Your Tasks" #~ msgstr "Adjunte archivos a sus tareas" #~ msgid "" #~ "Never lose track of important files related to your tasks. With the file " #~ "attachment feature, keep all relevant information in one place." #~ msgstr "" #~ "No pierdas nunca de vista los archivos importantes relacionados con tus " #~ "tareas. Con la función de adjuntar archivos, guarda toda la información " #~ "relevante en un solo lugar." #~ msgid "Celebrate Achievements with Sound" #~ msgstr "Celebre sus logros con sonido" #~ msgid "" #~ "Want a fun way to celebrate your achievements? Now you can play a sound " #~ "when completing a task. Make every accomplishment even more satisfying!" #~ msgstr "" #~ "¿Quieres una forma divertida de celebrar tus logros? Ahora puedes " #~ "reproducir un sonido al completar una tarea. ¡Haz que cada logro sea aún " #~ "más satisfactorio!" #~ msgid "New filters available in Quick Add." #~ msgstr "Nuevos filtros disponibles en Añadir rápido." #~ msgid "All your repeating to-dos in one, convenient place (finally!)." #~ msgstr "" #~ "Todas las tareas pendientes en un único y práctico lugar (¡por fin!)." #~ msgid "A nice focused list to plan tomorrow, today." #~ msgstr "Una lista bien enfocada para planificar el mañana, hoy." #~ msgid "All your unlabel to-dos in one place." #~ msgstr "Todas tus tareas pendientes sin etiquetar en un solo lugar." #~ msgid "Search by Sections" #~ msgstr "Búsqueda por secciones" #~ msgid "Quick Find now supports section searching." #~ msgstr "Búsqueda rápida permite ahora la búsqueda por secciones." #~ msgid "" #~ "The process removes all stored information without the possibility of " #~ "undoing it" #~ msgstr "" #~ "El proceso elimina toda la información almacenada sin posibilidad de " #~ "deshacerlo" #~ msgid "Delete project" #~ msgstr "Eliminar proyecto" #~ msgid "Delete label" #~ msgstr "Eliminar etiqueta" #~ msgid "Move tasks" #~ msgstr "Mover tareas" # # c-format #~ msgid "Are you sure you want to move your task to %s?" #~ msgstr "¿Está seguro de que desea mover su tarea a %s?" #~ msgid "Add subtask" #~ msgstr "Añadir subtarea" #~ msgid "pinboard" #~ msgstr "importante" #~ msgid "Add reminder(s)" #~ msgstr "Añadir recordatorio(s)" #~ msgid "Reset all" #~ msgstr "Reiniciar todo" #~ msgid "To-do added" #~ msgstr "Tareas pendientes añadidas" #~ msgid "No tasks found" #~ msgstr "No se han encontrado tareas" #~ msgid "Press 'a' or tap the plus button to create a new to-do" #~ msgstr "Pulse \"a\" o el botón más para crear una nueva tarea" #~ msgid "Improved drag-and-drop sorting" #~ msgstr "Mejora de la clasificación mediante arrastrar y soltar" #~ msgid "" #~ "Added a new animation and a new way of sorting making it cleaner and " #~ "easier." #~ msgstr "" #~ "Se ha añadido una nueva animación y una nueva forma de clasificación que " #~ "la hace más limpia y sencilla." #~ msgid "" #~ "Drag and drop has been improved, now it shows you a friendly animation to " #~ "sort the elements in an easier way." #~ msgstr "" #~ "Arrastrar y soltar ha sido mejorado, ahora muestra una animación amigable " #~ "para ordenar los elementos de una manera más fácil." #~ msgid "Support for sub-projects" #~ msgstr "Apoyo para subproyectos" #~ msgid "" #~ "Create a sub-project just by dragging and dropping or by using the magic " #~ "button and dropping into the parent project." #~ msgstr "" #~ "Cree un subproyecto simplemente arrastrando y soltando o utilizando el " #~ "botón mágico y soltando en el proyecto padre." #~ msgid "" #~ "Creating sub projects is now easier, just drag the child sub project into " #~ "the parent project, Planify will do the rest.\n" #~ "If you want a sub project to no longer be part of a parent project, just " #~ "drag it out." #~ msgstr "" #~ "Crear subproyectos es ahora más fácil, simplemente arrastre el " #~ "subproyecto hijo dentro del proyecto padre, Planify hará el resto.\n" #~ "Si desea que un subproyecto deje de formar parte de un proyecto padre, " #~ "simplemente arrástrelo fuera." #~ msgid "The Magic Button" #~ msgstr "Botón mágico" #~ msgid "" #~ "Just drag and drop to add tasks wherever you want and in the order you " #~ "want." #~ msgstr "" #~ "Sólo tiene que arrastrar y soltar para añadir tareas donde quiera y en el " #~ "orden que desee." #~ msgid "" #~ "Drag the magic button to create your tasks wherever you want. You can " #~ "also create sub-tasks by dropping the magic button inside a parent task." #~ msgstr "" #~ "Arrastre el botón mágico para crear sus tareas donde quiera. También " #~ "puede crear subtareas soltando el botón mágico dentro de una tarea " #~ "principal." #~ msgid "Board View" #~ msgstr "Vista del tablero" #~ msgid "Have an overview of your tasks without losing sight of the details." #~ msgstr "" #~ "Tenga una visión general de sus tareas sin perder de vista los detalles." alainm23-planify-69962f8/po/et.po000066400000000000000000002724371517337276100165000ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-27 23:02+0000\n" "Last-Translator: Priit Jõerüüt \n" "Language-Team: Estonian \n" "Language: et\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15.1\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Ettevõtmised" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Alajaotused" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Ülesanded" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Sildid" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Filtrid" #: core/Enum.vala:186 msgid "Lists" msgstr "Loendid" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "Ära korda" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Kord minutis" msgstr[1] "Iga %d minuti järel" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Kord tunnis" msgstr[1] "Iga %d tunni järel" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Kord päevas" msgstr[1] "Iga %d päeva järel" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Kord nädalas" msgstr[1] "Iga %d nädala järel" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Kord kuus" msgstr[1] "Iga %d kuu järel" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Kord aastas" msgstr[1] "Iga %d aasta järel" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Olulisus" #: core/Enum.vala:348 msgid "Label" msgstr "Silt" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Tähtaeg" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Alajaotus" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "Ülesanne on loodud" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Ülesanne on uuendatud" #: core/Enum.vala:528 msgid "Content" msgstr "Sisu" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Kirjeldus" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Ajakava" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Tõsta esile" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Kõik ülesanded" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "kõik ülesanded" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "kõik" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "Millal iganes" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "millal iganes" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "filtrid" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "kuupäeva pole" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Lõpetatud" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "lõpetatud" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "logiraamat" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Sisendkaust" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "sisendkaust" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "sildid" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Teatetahvel" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "1. olulisus: kõrge" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "2. olulisus: keskmine" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "3. olulisus: madal" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "4. olulisus: puudub" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "kõrge" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "keskmine" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "madal" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "puudub" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Korduv" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "korduv" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "ajastatud" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "tegemiseks järgmisena" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Täna" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "täna" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Homme" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "homme" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "kuupäev" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Ilma sildita" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "silt puudub" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "ilma sildita" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Ülesanne on kopeeritud lõikelauale" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "Ülesanne asub nüüd uues kohas: %s" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Kustuta silt: %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Seda tegevust ei saa tagasi pöörata" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Katkesta" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Kustuta" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "See ettevõtmine/projekt on kopeeritud lõikelauale." #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "Kas kustutad ettevõtmise: %s?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "Kas arhiveerime?" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "Järgnevaga arhiveerime „%s“ ja kõik tema ülesanded." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "Arhiveeri" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Kustuta alajaotus: %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "Ülesande lisamine õnnestus!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Ülesande nimi" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "See väli on kohustuslik" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Lisa kirjeldus…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "Määra kuupäev" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Lisa silte" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Määra olulisus" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Lisa meeldetuletusi" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Lisa ülesanne" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "Jätka lisamist" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Vali ettevõtmine/projekt" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "Vabandust, kiirlisamine ei suuda ühtegi projekti/ettevõtmist leida. Proovi " "mõni Planify's lisada." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Klaviatuuri kiirklahvid" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "Ülesannete koostamist saad kiirendada nende kiirklahvidega" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "Määra olulisus" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = olulisim, p4 = ebaoluline" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "Lisa silte" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "Avab sildivalija" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "Määra projekti/ettevõtmise täitja" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "Avab ettevõtmiste valija" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "Lisa meeldetuletus" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "Avab meeldetuletuste valikud" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "Soovitus" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "Käivitan sünkroonimist…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "Sünkroonin: %s…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "Sünkroonimine on valmis" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "Selles arvutis" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "Päring polnud korrektne." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "Tundmatu viga" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "Eile" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "päeva" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "päev" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "%s %s tagasi" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "jäänud on %s %s" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d päev tagasi" msgstr[1] "%d päeva tagasi" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Marjapunane" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Punane" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Oranž" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Kollane" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Oliiviroheline" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Laimiroheline" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Roheline" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "Mündiroheline" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Sinakasroheline" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "Taevasinine" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Helesinine" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Sinine" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Viinamarjakarva" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Punakassinine" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Lavendlililla" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "Fuksiapunane" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "Lõheroosa" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "Söekarva hall" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Hall" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "Pruunikashall" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Hele kujundus" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Tume kujundus" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Tumesinine kujundus" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Määramata" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Täna + sisendkaust" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Kustuta kõik" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "Tegevus on lõppenud. Palun käivita Planify uuesti." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "Sobib" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "Selles arvutis" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Saa tuttavaks - see on Planify" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "Ajasta see ülesanne tänaseks või hilisemaks" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "Muuda oma ülesannete järjestust" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Lisa ettevõtmine" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "Lisa oma ülesannetele silte!" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼Töö" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒Õppimine" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉Delegeeritud" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "�Kodu" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀��Jätkuülesanded" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Ülesande koopia on tehtud" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Alajaotusest on koopia nüüd tehtud" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Ettevõtmise koopia on tehtud" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Vali kuupäev" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "Pühap" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Esmasp" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Teisip" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "Kolmap" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Neljap" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Reede" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "Laup" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Kellaaeg" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "kuni" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Korda" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "Sisesta kuupäev…" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "Järgmisel nädalal" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Iga päev" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "Tööpäevad" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "Nädalavahetused" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Iga nädal" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Iga kuu" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Iga aasta" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "Kohandatud" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "Lisa tähtaeg" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "Tähtaeg" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "Vali sildid" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "Silti ei leidu: lisa „%s“" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "Sinu alajaotuste loend saab olema siin nähtav." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "Alajaotust pole" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "Lisa meeldetuletus" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "Määra alajaotus" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "Vali alajaotus" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "Järgmisel nädalal" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "Kuupäeva pole" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Valmis" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "Lisamise aeg" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "Uus silt" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "Muuda silti" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "Lisa oma sildile nimi" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "Lisa silt" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "Arhiveeritud ettevõtmised" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "Halda alajaotusi" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "Sa võid lohistades muuta alajaotuste järjestust" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(Alajaotust pole)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "Lisa allikas" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "Sisendkausta vaade" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "Muuda sisendkausta" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "Välimus" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "Järgi süsteemi välimust" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "Vali rakenduse kujundus" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "Hele kujundus" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "Hele ja puhas kujundus" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "Tume kujundus" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "Elegantne tume kujundus" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "Tumesinine kujundus" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "Range ja töine sinine kujundus" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "Varukoopiad" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "Käivita sisselogimisel" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "Kalendrisündmused" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "Kuupäev ja kellaaeg" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24t" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12t" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "Kellaaja vorming" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "Pühapäev" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "Esmaspäev" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "Teisipäev" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "Kolmapäev" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "Neljapäev" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "Reede" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "Laupäev" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "Nädala algus" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "Avalehe vaade" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "Kiirlisamine" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "Salvesta viimativalitud ettevõtmine" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "Külgriba" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "Näita külgribal" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "Näita ülesannete arvu" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "Külgriba laius" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "Eelistused" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "Ülesannete lisamine igast seadmest" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "Koosta näidis- või testettevõtmine" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "Koostades näidis- või testettevõtmise saad seda rakendust tunda õppida" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "Osale" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "Suhtle meiega" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "Kirjuta meile" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "Paku välja mõni huvitav idee või küsi teavet" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "Koosta üks säuts" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "Jälgi viimaseid uudiseid" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "Discord" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "Osale arutelus või jaga tagasisidet" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodon" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "Privaatsus" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "Andmekaitse - ja privaatsusreeglid" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "Me ei tea sinu kohta mitte midagi" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "Kustuta rakenduse andmed" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "Sissejuhatav ettevõtmine/projekt on loodud" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "Kas kustutame kõik andmed?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" "Järgnevaga kustutad jäädavalt kõik oma loendid, ülesanded ja meeldetuletused" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "Vaata veel" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "Sel kuul" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "Üle tähtaja" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "Uus ettevõtmine" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "Muuda ettevõtmist" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "Lisa oma ettevõtmisele või projektile nimi" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "Kasuta emojit" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "Lisa ettevõtmine" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "Uuenda ettevõtmist" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "Projekti lisamine õnnestus!" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "Teisalda" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "Kiirotsing" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" "Vaheta kiiresti projekte/ettevõtmisi ja vaateid, otsi ülesandeid ja silte" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "Uus alajaotus" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "Muuda alajaotust" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "Alajaotuse nimi" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "Lisa alajaotus" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "Uuenda alajaotust" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "Alajaotus on lisatud" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "Ava/sulge külgriba" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "Lõpeta esiletõstmine" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "Tehtud. Järgmine kord on: %s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "Lisa alamülesanne" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "Muuda" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "Tee koopia" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "Kustuta ülesanne" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s on kustutatud" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "Võta tegevus tagasi" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "Lisa alamülesandeid" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "Peida alamülesanded" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "Näita alamülesandeid" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "Kasuta märkmena" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "Kopeeri lõikelauale" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "Lisa manuseid" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "Sulge üksikasjaline vaade" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "Pealkiri" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "Omadused" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "Kas oled kindel, et soovid kustutada?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "Kustuta silt" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "Eemalda lemmikute hulgast" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "Lisa lemmikuks" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "Värskenda andmeid" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "Kustuta ettevõtmine" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "Jaga" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "Saada e-postiga" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "Lisa ülesandeid" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "Laadi veel" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "täidetud ülesanded" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "Teisalda alajaotus" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "Halda alajaotuste järjestust" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "Näita täidetud ülesandeid" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "Kustuta alajaotus" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "Lemmikud" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "Lemmikuid pole. Klõpsides „+“ nuppu lisa mõni" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "Lisa kasutajakonto" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "Kohenda külgriba" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "Vaata tänast päeva" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "Vaata ajakava" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "Vaata silte" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "Vaata teadetetahvlit" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" "Ühtegi ettevõtmist/projekti pole saadaval. Klõpside „+“ ikooni saad esimese " "koostada" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "Põhimenüü" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "Ava kiirotsing" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "Rakenduse teave: Planify" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "Vaat, kus lops! Nüüd küll juhtus midagi" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "Ülesanne on lõpetatud" #: src/MainWindow.vala:825 msgid "View" msgstr "Vaata" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "Taaskäivita kohe" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "Planify varukoopiad" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "Lisa mõni ülesanne" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "Uue ülesande lisamiseks vajuta „a“" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "Kustuta lõpetatud ülesanne" msgstr[1] "Kustuta lõpetatud ülesanded" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "Järgnevad kustutad %d lõpetatud ülesande koos oma alamülesannetega" msgstr[1] "Järgnevad kustutad %d lõpetatud ülesannet koos oma alamülesannetega" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "Märge" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "Ajasta" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "Millal?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "Lisa mõni ülesanne. Uue ülesande lisamiseks vajuta „a“" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "Tegevused ettevõtmistega" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "Uus ülesanne" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "Vali" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "Aseta" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "Laienda kõik" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "Ahenda kõik" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "Loend" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "Lisamise kuupäev" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "Muuda ajastust" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "Manused" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "Ava" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "Ühtegi manust ei leidu. Lisa siit mõni fail." #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "Näita rohkem" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "Näita vähem" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "Teata veast või problemist" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Kalender" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "Lülita SSL-sertifikaadi õigsuse kontrollimine välja" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "Ülesanne on tõstetud ettevõtmisesse/projekti" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "Esiletõstmine: aktiivne" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "Esiletõstmine: pole aktiivne" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "Märgi lõpetatuks" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "Kustuta ülesanne" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "Kas oled kindel, et tahad selle ülesande kustutada?" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "Kustuta %d ülesanne" msgstr[1] "Kustuta %d ülesannet" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "Kas oled kindel, et tahad selle %d ülesande kustutada?" msgstr[1] "Kas oled kindel, et tahad need %d ülesannet kustutada?" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "Ülesanne asub nüüd uues kohas: %s" msgstr[1] "%d ülesannet asuvad nüüd uues kohas: %s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "Planify - Kiirlisamine" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "Kasuta kõikjal rakenduses" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "Koosta uus ülesanne" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "Uue ülesande koostamiseks aseta ülesanne lõikelaualt" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "Lisa uus ettevõtmine" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "Lisa ettevõtmisele/projektile uus alajaotus" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "Otsi" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "Ava kiirotsing" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "Halda aknaid" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "Välju" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Ava eelistused" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "Külgpaan sisse/välja" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "Ava klaviatuuri kiirklahvide vaade" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "Liigu rakenduses" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "Vaata avalehte" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "Ava sisendkaust" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "Ava tänased tegemised" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "Ava ajakava" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "Ava sildid" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "Ava teadetetahvel" #~ msgid "Set a Deadline" #~ msgstr "Lisa tähtaeg" #~ msgid "Whether Planify should run on startup" #~ msgstr "Kas Planify rakenduse peaks käivitama süsteemi sisselogimisel" #~ msgid "Clear" #~ msgstr "Tühjenda" #~ msgid "Menu" #~ msgstr "Menüü" #~ msgid "Add Time" #~ msgstr "Lisa aeg" #~ msgid "Todoist Sync" #~ msgstr "Sünkroonimine Todoistiga" #~ msgid "Loading" #~ msgstr "Laadin" #~ msgid "Planner is sync your tasks, this may take a few minutes" #~ msgstr "Planeerija sünkroonib sinu andmeid, selleks võib kuluda mõni minut" #, c-format #~ msgid "Every %d minutes" #~ msgstr "Iga %d minuti järel" #, c-format #~ msgid "Every %d hours" #~ msgstr "Iga %d tunni järel" #, c-format #~ msgid "Every %d days" #~ msgstr "Iga %d päeva järel" #, c-format #~ msgid "Every %d weeks" #~ msgstr "Iga %d nädala järel" #, c-format #~ msgid "Every %d months" #~ msgstr "Iga %d. kuu möödudes" #, c-format #~ msgid "Every %d years" #~ msgstr "Iga %d. aasta möödudes" #~ msgid "Delete Completed Tasks" #~ msgstr "Kustuta lõpetatud ülesanded" #, c-format #~ msgid "This will delete %d completed tasks and their subtasks" #~ msgstr "Järgnevad kustutad %d lõpetatud ülesannet koos oma alamülesannetega" #, c-format #~ msgid "Delete %d To-Dos" #~ msgstr "Kustuta %d ülesannet" #, c-format #~ msgid "Are you sure you want to delete these %d to-dos?" #~ msgstr "Kas oled kindel, et tahad need %d ülesannet kustutada?" #~ msgid "Personal Data" #~ msgstr "Isiklikud andmed" #~ msgid "" #~ "We collect absolutely nothing and all your data is stored in a database " #~ "on your computer." #~ msgstr "" #~ "Me ei kogu sinu kohta mitte mingeid andmed ja kõik andmed on salvestatud " #~ "sinu arvutis olevas andmebaasis." #~ msgid "Clear Schedule" #~ msgstr "Kustuta ajastamine" #~ msgid "Stay open after creating task" #~ msgstr "Peale ülesande lisamist jäta avatuks" alainm23-planify-69962f8/po/eu.po000066400000000000000000002510651517337276100164730ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:53+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Basque \n" "Language: eu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/extra/000077500000000000000000000000001517337276100166345ustar00rootroot00000000000000alainm23-planify-69962f8/po/extra/LINGUAS000066400000000000000000000003571517337276100176660ustar00rootroot00000000000000af ak ar az be bg bn bs ca ckb cs cv da de el eo es et eu fa fi fr ga gl he hi hr hu hy id is it ja jv ka kn ko ku lb lg lt lv mg mk mn mr ms my nb nl nn pa pl pt_BR ro ru sa si sk sl sma sq sr sv szl ta te th tl tr ug uk ur uz vi zh zu kkalainm23-planify-69962f8/po/extra/POTFILES000066400000000000000000000001371517337276100200050ustar00rootroot00000000000000data/io.github.alainm23.planify.appdata.xml.in.in data/io.github.alainm23.planify.desktop.in.inalainm23-planify-69962f8/po/extra/af.po000066400000000000000000000065271517337276100175740ustar00rootroot00000000000000# Afrikaans translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: af\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/ak.po000066400000000000000000000065221517337276100175740ustar00rootroot00000000000000# Akan translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: ak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/ar.po000066400000000000000000000065241517337276100176050ustar00rootroot00000000000000# Arabic translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/az.po000066400000000000000000000065311517337276100176130ustar00rootroot00000000000000# Azerbaijani translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: az\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/be.po000066400000000000000000000067241517337276100175730ustar00rootroot00000000000000# Belarusian translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: be\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/bg.po000066400000000000000000000066061517337276100175740ustar00rootroot00000000000000# Bulgarian translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/bn.po000066400000000000000000000065251517337276100176030ustar00rootroot00000000000000# Bengali translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: bn\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/bs.po000066400000000000000000000065251517337276100176100ustar00rootroot00000000000000# Bosnian translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: bs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/ca.po000066400000000000000000000072241517337276100175640ustar00rootroot00000000000000# Catalan translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-31 18:55+0000\n" "Last-Translator: Josep Cunquero Orts \n" "Language-Team: Catalan \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.14.1-dev\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 #, fuzzy msgid "Forget about forgetting things" msgstr "Oblida't d'oblidar coses" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "Tasques recurrents amb patrons flexibles" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "Adjuncions i enllaços a les teves tasques" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "�� Sincronització al núvol:" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/ckb.po000066400000000000000000000065331517337276100177420ustar00rootroot00000000000000# Language ckb translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: ckb\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/cs.po000066400000000000000000000073141517337276100176060ustar00rootroot00000000000000# Czech translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-11-14 06:31+0000\n" "Last-Translator: Klára Holubová \n" "Language-Team: Czech \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n" "X-Generator: Weblate 5.15-dev\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "Zapomeňte na zapomínání věcí" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "✨ Hlavní Funkce:" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "Moderní a �isté rozhraní designované s GTK4 a libadwaita" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "Vizuální ukazatelé postupu pro každý projekt" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/cv.po000066400000000000000000000065251517337276100176140ustar00rootroot00000000000000# Chuvash translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: cv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/da.po000066400000000000000000000066031517337276100175650ustar00rootroot00000000000000# Danish translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/de.po000066400000000000000000000117611517337276100175720ustar00rootroot00000000000000# German translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-11-03 20:51+0000\n" "Last-Translator: Milo Ivir \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.14.1-dev\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "Vergiss es, Dinge zu vergessen" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" "Planify ist Ihr moderner und leistungsstarker Aufgabenmanager, der Ihnen " "hilft, Ihr Leben zu organisieren. Mit einer übersichtlichen und intuitiven " "Benutzeroberfläche, Cloud-Synchronisierung und erweiterten Funktionen " "vergessen Sie nie wieder, was wichtig ist." #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "✨ Kernfunktionen:" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "Modernes und simples Interface entworfen mit GTK4 und libadwaita" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "Per Drag & Drop Aufgaben und Projekte mühelos organisieren" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "Visuelle Fortschrittsanzeigen für jedes Projekt" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "Intelligente Organisation mit Abschnitten und individuellen Labels" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "Kalenderintegration zur Visualisierung des Terminplans" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "Mehrere Erinnerungen per Task, um keine Deadlines zu verpassen" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "Dunkler Modus mit nahtloser Integration mit dem Systemdesign" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "Schnelle und leistungsstarke Suche, um alles auf Anhieb zu finden" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "Wiederkehrende Aufgaben mit flexiblen Strukturen" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "Anhänge und Links in den Aufgaben" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "�� Cloudsynchronisierung:" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" "Vollständige Synchronisierung mit Todoist, damit du von überall auf deine " "Aufgaben zugreifen kannst" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" "Unterstützung für Nextcloud- und CalDAV-Server (Radicale, Baïkal), damit " "deine Daten privat bleiben" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" "Offline-Modus: Arbeite ohne Internetverbindung und synchronisiere, sobald du " "wieder online bist" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" "Plattformübergreifende Synchronisierung für den Zugriff von jedem Gerät aus" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" "* Planify wurde nicht von Doist entwickelt und ist weder mit Doist verbunden " "noch von Doist unterstützt" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "Planify" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" "Entwicklung;Aufgabe;Aufgaben;Projekt;Aufgabe;Erinnerung;Erinnerungen;Ereignis;Ereignisse;Kalendar;Todoist;" "" alainm23-planify-69962f8/po/extra/dum.po000066400000000000000000000065721517337276100177730ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: dum\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/el.po000066400000000000000000000066021517337276100176000ustar00rootroot00000000000000# Greek translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/eo.po000066400000000000000000000066061517337276100176070ustar00rootroot00000000000000# Esperanto translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: eo\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/es.po000066400000000000000000000120671517337276100176110ustar00rootroot00000000000000# Spanish translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 11:29-0500\n" "PO-Revision-Date: 2025-10-08 22:18+0000\n" "Last-Translator: Alain \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.14-dev\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "Olvídate de olvidar las cosas" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" "Planify es tu gestor de tareas moderno y potente que te ayuda a mantener tu " "vida organizada. Con una interfaz limpia e intuitiva, sincronización en la " "nube y funciones avanzadas, no volverás a olvidar lo que realmente importa." #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "✨ Funciones principales:" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "Interfaz moderna y limpia, diseñada con GTK4 y libadwaita" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "Arrastra y suelta para organizar tareas y proyectos sin esfuerzo" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "Indicadores visuales de progreso para cada proyecto" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "Organización inteligente con secciones y etiquetas personalizadas" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "Integración con calendario para visualizar tu agenda" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" "Múltiples recordatorios por tarea para que nunca pierdas una fecha límite" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "Modo oscuro con integración perfecta con el tema del sistema" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "Búsqueda rápida y potente para encontrar cualquier cosa al instante" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "Tareas recurrentes con patrones flexibles" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "Archivos adjuntos y enlaces en tus tareas" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "�� Sincronización en la nube:" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" "Sincronización completa con Todoist para acceder a tus tareas desde " "cualquier lugar" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" "Compatibilidad con servidores Nextcloud y CalDAV (Radicale, Baïkal) para " "mantener tus datos privados" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" "Modo sin conexión: trabaja sin internet y sincroniza cuando vuelvas a estar " "en línea" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" "Sincronización multiplataforma para acceder desde cualquier dispositivo" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "* Planify no es creada, afiliada ni respaldada por Doist" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "Planify" #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Never worry about forgetting things again" msgstr "Nunca más te preocupes por olvidar las cosas" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "" "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;" "todoist;" msgstr "" "desarrollo;tarea;tareas;proyecto;pendiente;recordatorio;recordatorios;evento;eventos;calendario;todoist;" "" alainm23-planify-69962f8/po/extra/et.po000066400000000000000000000120171517337276100176050ustar00rootroot00000000000000# Estonian translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-24 15:02+0000\n" "Last-Translator: Priit Jõerüüt \n" "Language-Team: Estonian \n" "Language: et\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.14.1-dev\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "Unusta asjade unustamine" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" "Planify on võimas ja moodne tegemiste ja ülesannete haldur sinu jaoks. Selge " "ja intuitiivse kasutajaliidese, pilve sünkroonimise ja lisavõimaluste abil " "sa enam ei unusta olulisi asju." #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "✨ Põhifunktsionaalsus:" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "Moodne ja selge kasutajaliides, mis põhineb GTK4 ja libadwaita teekidel" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" "Objekte lohistades saad kiiresti ülesandeid ja ettevõtmisi/projekte ümber " "korraldada" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "Igal ettevõtmisel/projektil on mugav edenemise näidik" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "Nutikas andmehaldus alajaostuste ja siltide abil" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "Kalendrilõimingud sinu ajakava kuvamiseks" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" "Ülesandele saad lisada mitu meeldetuletust ja nii ei jää ükski tähtaeg " "märkamata" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "Tume kujundus sujuva süsteemi kujunduse kasutamisega" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "Kiire ja võima otsing andmete koheseks leidmiseks" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "Paindliku mustri alusel koostatud korduvad ülesanded" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "Manused ja lingid sinu ülesannetes" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "�� Andmete sünkroonimine pilve:" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" "Täismahus sünkroonimine Todoisti teenusega võimaldab kõikjalt ligipääsu oma " "ülesannetele" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" "Nextcloudi ja CalDAV-i serverite (Radicale, Baïkal) tugi, mis võimaldab sinu " "andmeid hoida privaatselt" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" "Töö vallasrežiimis: jätka tegutsemist ilma võrguühenduseta ja sünkroonimine " "toimub ühenduse taastumisel" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "Platvormiülene sünkroonimine võimaldab ligipääsu andmete igast seadmest" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "* Planify pole loodud, heaks kiidetud ega toetatud Doisti poolt" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "Planify" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;ülesanne;ülesanded;tegemine;tegemised;tähtaeg;meeldetuletus;kalender;sündmused;sündmus;" "" alainm23-planify-69962f8/po/extra/eu.po000066400000000000000000000065241517337276100176140ustar00rootroot00000000000000# Basque translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: eu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/extra.pot000066400000000000000000000065451517337276100205150ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/fa.po000066400000000000000000000065251517337276100175720ustar00rootroot00000000000000# Persian translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/fi.po000066400000000000000000000066041517337276100176000ustar00rootroot00000000000000# Finnish translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/fr.po000066400000000000000000000117341517337276100176110ustar00rootroot00000000000000# French translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-23 10:02+0000\n" "Last-Translator: Jonathan Merlet \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.14.1-dev\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "Oubliez les oublis" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" "Planify est votre gestionnaire de tâches moderne et puissant qui vous aide " "organiser votre vie. Grâce à son interface épurée et intuitive, sa " "synchronisation dans le cloud et ses fonctionnalités avancées, vous n’" "oublierez plus jamais ce qui compte pour vous." #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "✨ Fonctionnalités principales :" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "Interface moderne et épurée conçue avec GTK4 et libadwaita" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "Glisser-déposer pour organiser facilement vos tâches et projets" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "Indicateurs visuels de progression pour chaque projet" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "Organisation intelligente avec sections et étiquettes personnalisables" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "Intégration de calendriers pour visualiser votre emploi du temps" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "Rappels multiples pour ne jamais rater une deadline" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "Mode sombre s'intégrant parfaitement dans votre système" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" "Recherche rapide et puissante pour trouver instantanément tout ce que vous " "voulez" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "Tâches récurrentes avec des modèles flexibles" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "Pièces jointes et liens dans vos tâches" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "�� Synchronisation dans le cloud :" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "Synchronisation complète avec Todoist pour accéder partout à vos tâches" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" "Support des serveurs Nextcloud et CalDAV (Radicale, Baïkal) pour préserver " "la confidentialité de vos données" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" "Mode hors ligne : fonctionne sans Internet et synchronise quand vous vous " "reconnectez" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" "Synchronisation multiplateforme pour un accès depuis n'importe quel appareil" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "* Planify n'est pas créé, affilié ni soutenu par Doist" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "Planify" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" "développement;tâche;tâches;projets;todo;rappel;rappels;événement;événements;calendrier;todoist;" "" alainm23-planify-69962f8/po/extra/ga.po000066400000000000000000000066211517337276100175700ustar00rootroot00000000000000# Irish translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: ga\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/gl.po000066400000000000000000000065261517337276100176070ustar00rootroot00000000000000# Galician translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/he.po000066400000000000000000000071561517337276100176010ustar00rootroot00000000000000# Hebrew translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2026-03-08 22:09+0000\n" "Last-Translator: \"Omer I.S.\" \n" "Language-Team: Hebrew \n" "Language: he\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Weblate 5.17-dev\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "הגיע הזמן לשכוח מלשכוח דברי�" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "✨ תכונות ליבה:" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "�� סנכרון ע� הענן:" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/hi.po000066400000000000000000000065231517337276100176020ustar00rootroot00000000000000# Hindi translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: hi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/hr.po000066400000000000000000000120211517337276100176010ustar00rootroot00000000000000# Croatian translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-24 15:02+0000\n" "Last-Translator: Milo Ivir \n" "Language-Team: Croatian \n" "Language: hr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=" "(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? " "1 : 2);\n" "X-Generator: Weblate 5.14.1-dev\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "Prestani zaboravljati termine i zadatke" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" "Planify je moderna i moćna aplikacija za upravljavljanje zadacima koja " "pomaže organizirati vlastiti život. Uz �isto i intuitivno su�elje, " "sinkronizaciju s oblakom i napredne funkcije, nikada više nećeš zaboraviti " "ono što je važno." #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "✨ Osnovne zna�ajke:" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "Moderno i jednostavno su�elje dizajnirano s GTK4 i libadwaita" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" "Funkcija povuci-i-ispusti za jednostavno organiziranje zadataka i projekata" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "Vizualni pokazatelji napretka za svaki projekt" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "Pametna organizacija s odjeljcima i prilagođenim oznakama" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "Integracija kalendara za vizualizaciju tvog rasporeda" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "S višestrukim podsjetnicima po zadatku nećeš propustiti nijedan rok" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "Tamni modus s besprijekornom integracijom teme sustava" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "Brza i moćna pretraga za trenutno pronalaženje bilo �ega" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "Ponavljajući zadaci s fleksibilnim uzorcima" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "Prilozi i poveznice u tvojim zadacima" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "�� Sinkronizacija u oblaku:" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" "Potpuna sinkronizacija s Todoistom za pristup tvojim zadacima s bilo kojeg " "mjesta" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" "Podrška za Nextcloud i CalDAV servere (Radicale, Baïkal) kako bi tvoji " "podaci ostali privatni" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" "Izvanmrežni modus: radi bez internetske veze i sinkroniziraj podatke kada se " "ponovo povežeš" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "Sinkronizacija na više platformi za pristup s bilo kojeg uređaja" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" "* Planify je vlastita stvorena aplikacija i nije povezana s tvrtkom Doist " "niti ju ta tvrtka podržava" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "Planify" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" "razvoj;zadatak;zadaci;projekt;obaveza;obaveze;podsjetnik;podsjetnici;događaj;događaji;kalendar;todoist;" "" alainm23-planify-69962f8/po/extra/hu.po000066400000000000000000000066061517337276100176200ustar00rootroot00000000000000# Hungarian translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/hy.po000066400000000000000000000065261517337276100176250ustar00rootroot00000000000000# Armenian translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: hy\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/id.po000066400000000000000000000065301517337276100175740ustar00rootroot00000000000000# Indonesian translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/is.po000066400000000000000000000065271517337276100176210ustar00rootroot00000000000000# Icelandic translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: is\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/it.po000066400000000000000000000114161517337276100176130ustar00rootroot00000000000000# Italian translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-11-10 21:51+0000\n" "Last-Translator: Giorgio \n" "Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "Dimentica di dimenticare le cose" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" "Planify è il tuo task manager moderno e potente che ti aiuta a organizzare " "la tua vita. Con un'interfaccia pulita e intuitiva, la sincronizzazione " "cloud e funzionalità avanzate, non dimenticherai mai più ciò che conta." #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "Caratteristiche principali:" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "Interfaccia moderna e pulita progettata con GTK4 e libadwaita" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "Trascina e rilascia per organizzare attività e progetti senza sforzo" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "Indicatori visivi di avanzamento per ogni progetto" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "Organizzazione intelligente con sezioni ed etichette personalizzate" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "Integrazione del calendario per visualizzare la tua programmazione" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "Promemoria multipli per attività per non perdere mai una scadenza" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "Modalità scura con integrazione perfetta del tema di sistema" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "Ricerca rapida e potente per trovare qualsiasi cosa all'istante" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "Attività ricorrenti con modelli flessibili" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "Allegati e link nelle tue attività" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "�� Sincronizzazione cloud:" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" "Sincronizzazione completa con Todoist per accedere alle tue attività da " "qualsiasi luogo" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" "Supporto per i server Nextcloud e CalDAV (Radicale, Baïkal) per mantenere i " "tuoi dati privati" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" "Modalità offline: lavora senza Internet e sincronizza quando torni online" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" "Sincronizzazione multipiattaforma per accedere da qualsiasi dispositivo" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "* Planify non è creato, affiliato o supportato da Doist" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "Planify" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/ja.po000066400000000000000000000065761517337276100176040ustar00rootroot00000000000000# Japanese translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/jv.po000066400000000000000000000065261517337276100176240ustar00rootroot00000000000000# Javanese translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: jv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/ka.po000066400000000000000000000065261517337276100176000ustar00rootroot00000000000000# Georgian translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: ka\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/kab.po000066400000000000000000000065711517337276100177420ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: kab\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/kk.po000066400000000000000000000065241517337276100176100ustar00rootroot00000000000000# Kazakh translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: kk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/kn.po000066400000000000000000000065251517337276100176140ustar00rootroot00000000000000# Kannada translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: kn\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/ko.po000066400000000000000000000065741517337276100176210ustar00rootroot00000000000000# Korean translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/ku.po000066400000000000000000000065251517337276100176230ustar00rootroot00000000000000# Kurdish translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: ku\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/kw.po000066400000000000000000000075551517337276100176310ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: kw\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=(n == 0) ? 0 : ((n == 1) ? 1 : (((n % 100 " "== 2 || n % 100 == 22 || n % 100 == 42 || n % 100 == 62 || n % 100 == 82) || " "n % 1000 == 0 && (n % 100000 >= 1000 && n % 100000 <= 20000 || n % 100000 == " "40000 || n % 100000 == 60000 || n % 100000 == 80000) || n != 0 && n % " "1000000 == 100000) ? 2 : ((n % 100 == 3 || n % 100 == 23 || n % 100 == 43 || " "n % 100 == 63 || n % 100 == 83) ? 3 : ((n != 1 && (n % 100 == 1 || n % 100 " "== 21 || n % 100 == 41 || n % 100 == 61 || n % 100 == 81)) ? 4 : 5))));\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/lb.po000066400000000000000000000065331517337276100176000ustar00rootroot00000000000000# Letzeburgesch translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: lb\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/lg.po000066400000000000000000000065231517337276100176040ustar00rootroot00000000000000# Ganda translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: lg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/lt.po000066400000000000000000000067111517337276100176200ustar00rootroot00000000000000# Lithuanian translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: lt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "(n%100<10 || n%100>=20) ? 1 : 2);\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/lv.po000066400000000000000000000116361517337276100176240ustar00rootroot00000000000000# Latvian translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-12 15:11+0000\n" "Last-Translator: xxfogs \n" "Language-Team: Latvian \n" "Language: lv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" "X-Generator: Weblate 5.14-dev\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "Aizmirstiet par aizmiršanu" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" "Planify ir moderns un jaudīgs uzdevumu p�rvaldīt�js, kas palīdz Jums " "sak�rtot savu ikdienu. Ar vienk�ršu un intuitīvu saskarni, m�koņa " "sinhroniz�ciju un paplašin�t�m funkcij�m, Jūs vairs nekad neaizmirsīsiet " "būtisko." #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "✨ Pamatfunkcijas:" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "Moderna un vienk�rša saskarne projektēta ar GTK4 un libadwaita" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" "'Velciet un metiet' funkcija, lai k�rtotu uzdevumus un projektus bez piepūlēm" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "Virzīšan�s r�dīt�js katram projekta" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "Vieda organiz�cija ar sadaļ�m un piel�gojam�m birk�m" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "Kalend�ra integr�cija, lai attēlotu dienas k�rtību" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "Vair�ki atg�din�jumi katram uzdevumam, lai nekad nenokavētu termiņu" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "Tumš� palete ar sistēmas paletes saderību" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "Ātra un jaudīga meklēšana" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "Atk�rtoti uzdevumi ar elastīgu atk�rtošan�s grafiku" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "Pielikumi un saites Jūsu uzdevumos" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "�� M�koņa sinhroniz�cija:" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" "Pilnīga sinhroniz�cija ar Todoist, lai piekļūtu Jūsu uzdevumiem visur pasaulē" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" "Nextcloud un CalDAV serveru (Radicale, Baïkal) atbalsts, lai nodrošin�tu " "Jūsu datu priv�tumu" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" "Bezsaistes režīms: str�d�jiem bez pieejas tīkl�jam un sinhronizējieties, kad " "atkal būsiet tiešsaistē" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "Starpplatformu sinhroniz�cija pieejai no jebkuras ierīces" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "* Doist nav izveidojuši, nav saistīti un finansi�li neatbalsta Planify" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "Planify" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" "izstr�de;uzdevums;uzdevumi;projekts;atg�din�jums;atg�din�jumi;notikums;notikumi;kalend�rs;todoist;" "" alainm23-planify-69962f8/po/extra/meson.build000066400000000000000000000001701517337276100207740ustar00rootroot00000000000000i18n.gettext('extra', args: ['--directory='+meson.project_source_root(), '--from-code=UTF-8'], install: false, )alainm23-planify-69962f8/po/extra/mg.po000066400000000000000000000065261517337276100176100ustar00rootroot00000000000000# Malagasy translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: mg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/mk.po000066400000000000000000000065301517337276100176070ustar00rootroot00000000000000# Macedonian translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: mk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/mn.po000066400000000000000000000065271517337276100176200ustar00rootroot00000000000000# Mongolian translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: mn\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/mr.po000066400000000000000000000065251517337276100176220ustar00rootroot00000000000000# Marathi translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: mr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/ms.po000066400000000000000000000065231517337276100176210ustar00rootroot00000000000000# Malay translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: ms\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/my.po000066400000000000000000000065251517337276100176310ustar00rootroot00000000000000# Burmese translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: my\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/nb.po000066400000000000000000000113651517337276100176010ustar00rootroot00000000000000# Norwegian Bokmal translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2026-03-10 22:54+0000\n" "Last-Translator: Theodor Onarheim \n" "Language-Team: Norwegian Bokmål \n" "Language: nb\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.17-dev\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "Bare glem å glemme ting" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" "Planify er din moderne og kraftige påminnelse-app som hjelper deg å holde " "deg organisert. Med et glatt og intuitivt design, skylagringsstøtte, og " "avanserte funksjoner, kommer du aldri til å glemme det som betyr noe igjen." #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "✨ Hovedfunksjoner:" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "Moderne og rent brukergrensesnitt designet med GTK4 og libadwaita" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "Dra og slipp for å enkelt organisere oppgaver og prosjekter" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "Visuelle framdrifts-indikatorer for hvert prosjekt" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "Smart-organisering med seksjoner og egendefinerte merker" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "Kalender-integrering for å visualisere planene dine" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "Flere påminnelser per oppgave så man alltid når deadline" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "Mørk modus med sømløs synkronisering med systemets tema" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "Raskt og kraftig søk for å finne hva som helst på sekundet" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "Repeterende oppgaver med fleksible gjentagelsesmønster" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "Vedlegg og linker i oppgavene dine" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "�� Sky-synkronisering:" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "Full synkronisering med Todoist gir tilgang til dine gjøremål overalt" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" "Støtte for Nextcloud og CalDAV-servere (Radicale, Baïkal) for å la deg holde " "dine data for deg selv" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" "Frakoblet modus: jobb uten interett og synkroniser når du kobler til igjen" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" "Synkronisering på tvers av platformer for tilgang fra alle slags enheter" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "* Planify er ikke laget av, knyttet til, eller støttet av Doist" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "Planify" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/nl.po000066400000000000000000000115701517337276100176110ustar00rootroot00000000000000# Dutch translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-11-08 23:51+0000\n" "Last-Translator: Thomas Brugman \n" "Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "Vergeet het vergeten van dingen" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" "Planify is jouw moderne en krachtige taakbeheerder die je helpt je leven " "georganiseerd te houden. Met een overzichtelijke en intuïtieve interface, " "cloudsynchronisatie en geavanceerde functies vergeet je nooit meer wat " "belangrijk is." #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "✨ Belangrijkste functies:" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "Moderne en mooie interface ontworpen met GTK4 en libadwaita" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" "Taken en projecten moeiteloos organiseren door te slepen en neer te zetten" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "Visuele voortgangsindicatoren voor elk project" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "Slimme organisatie met secties en aangepaste labels" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "Kalenderintegratie om je planning te visualiseren" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "Meerdere herinneringen per taak om nooit een deadline te missen" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "Donkere modus met naadloze integratie van systeemthema's" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "Snelle en krachtige zoekfunctie om direct alles te vinden" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "Terugkerende taken met flexibele patronen" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "Bijlagen en links in je taken" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "�� Cloudsynchronisatie:" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" "Volledige synchronisatie met Todoist om overal toegang te hebben tot je taken" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" "Ondersteuning voor Nextcloud- en CalDAV-servers (Radicale, Baïkal) om je " "gegevens privé te houden" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" "Offline-modus: werk zonder internet en synchroniseer wanneer je weer online " "bent" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "Cross-platform synchronisatie voor toegang vanaf elk apparaat" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" "* Planify is niet gemaakt door, is niet gelieerd aan of wordt niet " "ondersteund door Doist" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "Planify" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" "ontwikkeling;taak;taken;project;todo;herinnering;herinneringen;gebeurtenis;gebeurtenissen;agenda;todoist;" "" alainm23-planify-69962f8/po/extra/nn.po000066400000000000000000000066161517337276100176200ustar00rootroot00000000000000# Norwegian Nynorsk translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: nn\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/pa.po000066400000000000000000000065251517337276100176040ustar00rootroot00000000000000# Punjabi translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: pa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/pl.po000066400000000000000000000117541517337276100176170ustar00rootroot00000000000000# Polish translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2026-03-24 14:09+0000\n" "Last-Translator: Krzysztof Raczkowski \n" "Language-Team: Polish \n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" "X-Generator: Weblate 5.17-dev\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "Zapomnij o zapominaniu różnych rzeczy" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" "Planify to nowoczesny i wydajny menedżer zadań, który ułatwia życie. Dzięki " "przejrzystemu i intuicyjnemu interfejsowi, synchronizacji z chmurą i " "zaawansowanym funkcjom już nigdy nie zapomnisz o tym, co ważne." #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "✨ Podstawowe funkcje:" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "Nowoczesny i przejrzysty interfejs zaprojektowany z GTK4 i libadwaita" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "Przeciągaj i upuszczaj, aby bez wysiłku organizować zadania i projekty" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "Wizualne wskaźniki postępu dla każdego projektu" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "Inteligentna organizacja z sekcjami i niestandardowymi etykietami" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "Integracja z kalendarzem w celu wizualizacji harmonogramu" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "Wiele przypomnień na każde zadanie, aby nigdy nie przegapić terminu" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "Tryb ciemny z płynną integracją motywów systemowych" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "Szybkie i wydajne wyszukiwanie, natychmiastowe wyniki" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "Powtarzające się zadania z elastycznymi wzorcami" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "Załącznik i linki w twoich zadaniach" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "Synchronizacja w Chmurze:" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" "Pełna synchronizacja z Todoist , dzięki czemu masz dostęp do swoich zadań z " "dowolnego miejsca" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" "Obsługa serwerów Nextcloud i CalDAV (Radicale, Baïkal), aby zapewnić " "prywatność Twoich danych" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" "Tryb offline: pracuj bez Internetu i synchronizuj, gdy znów będziesz online" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" "Synchronizacja między platformami umożliwiająca dostęp z dowolnego urządzenia" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "* Planify nie jest tworzony, powiązany ani wspierany przez Doist" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "Planify" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" "rozwój;zadanie;zadania;projekt;do " "zrobienia;przypomnienie;przypomnienia;wydarzenie;wydarzenia;kalendarz;todoist;" "" alainm23-planify-69962f8/po/extra/pt.po000066400000000000000000000117651517337276100176310ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-11-17 12:51+0000\n" "Last-Translator: André Barata \n" "Language-Team: Portuguese \n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.15-dev\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "Não se preocupe em esquecer de coisas" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" "O Planify é o seu gestor de tarefas moderno e poderoso que o vai ajudar a " "manter a sua vida organizada. Com uma interface de utilizador simples e " "intuitiva, sincronização na nuvem e funcionalidades avançadas. Nunca mais se " "vai esquecer de coisas importantes." #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "✨ Funcionalidades fundamentais:" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" "Interface do utilizador simples e moderna, concebida com o GTK4 e libadwaita" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "Arrastar e largar para organizar tarefas e projetos de forma fácil" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "Indicadores visuais de progresso para cada projeto" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "Organização inteligente com secções e etiquetas personalizadas" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "Integração de calendário para visualizar a sua agenda" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "Lembretes múltiplos por tarefa para que nunca falhe um prazo" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "Tema escuro para uma integração uniforme com o tema do sistema" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" "Uma procura rápida e poderosa para que encontre tudo de forma instantânea" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "Tarefas recorrentes com padrões flexíveis" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "Anexos e ligações nas suas tarefas" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "�� Sincronização na nuvem:" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" "Sincronização total com o Todoist para aceder às suas tarefas a partir de " "qualquer lado" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" "Suporte para servidores Nextcloud e CalDAV (Radicale, Baïkal), para manter " "os seus dados privados" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" "Modo offline: trabalhe sem estar ligado à Internet e sincronize depois de se " "conectar" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" "Sincronização em multi-plataformas para ter acesso a partir de qualquer " "dispositivo" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "* O Planify não foi criado, está afiliado ou é suportado pelo Doist" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "Planify" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "desenvolvimento;tarefa;tarefas;projeto;todo;lembrete;lembretes;evento;eventos;calendário;todoist;" alainm23-planify-69962f8/po/extra/pt_BR.po000066400000000000000000000113741517337276100202100ustar00rootroot00000000000000# Portuguese translations for extra package # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2026-03-08 22:09+0000\n" "Last-Translator: Matheus Moura \n" "Language-Team: Portuguese (Brazil) \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.17-dev\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "Pare de esquecer as coisas" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" "Planify é um gerenciador de tarefas moderno e poderoso que te ajuda a manter " "sua vida organizada. Com uma interface limpa e intuitiva, sincronização em " "nuvem e recursos avançados, você nunca mais vai esquecer seus compromissos." #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "✨ Principais Recursos:" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "Interface limpa e moderna, desenvolvida em GTK4 e libadwaita" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "Arraste e solte tarefas e projetos facilmente" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "Indicadores visuais de progressão para cada projeto" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "Organização inteligente com seções e rótulos personalizados" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "Integração de calendário para visualizar sua agenda" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "Múltiplos lembretes por tarefa para nunca perder um prazo" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "Modo escuro com integração perfeita ao tema do sistema" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "Busca rápida e poderosa para encontrar qualquer coisa instantaneamente" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "Tarefas recorrentes com modelos flexíveis" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "Anexos e links nas suas tarefas" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "�� Sincronização na nuvem:" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" "Sincronização completa com o Todoist para acessar suas tarefas de qualquer " "lugar" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" "Suporte para servidores Nextcloud e CalDAV (Radicale, Baïkal) para manter " "seus dados privados" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "Modo offline: trabalhe sem internet e sincronize quando estiver online" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" "Sincronização multiplataforma para acesso a partir de qualquer dispositivo" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "*Planify não é criado por, afilhado, ou mantido pelo Doist" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "Planify" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/ro.po000066400000000000000000000066661517337276100176320ustar00rootroot00000000000000# Romanian translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: ro\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " "20)) ? 1 : 2;\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/ru.po000066400000000000000000000142221517337276100176230ustar00rootroot00000000000000# Russian translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-11-05 00:51+0000\n" "Last-Translator: ziferkin \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=" "(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? " "1 : 2);\n" "X-Generator: Weblate 5.14.1-dev\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "Забудьте о забывании чего либо" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" "Planify — �то �овременный и мощный менеджер задач, который поможет вам " "организовать �вою жизнь. Благодар� пон�тному и интуитивно пон�тному " "интерфей�у, облачной �инхронизации и ра�ширенным функци�м вы больше никогда " "не забудете о �амом важном." #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "✨ О�новные о�обенно�ти:" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" "Современный и лаконичный интерфей�, разработанный � и�пользованием GTK4 и " "libadwaita" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "Перета�кивайте �лементы, чтобы легко упор�дочивать задачи и проекты" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "Визуальные индикаторы прогре��а дл� каждого проекта" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "Элегантна� организаци� � помощью разделов и пользователь�ких меток" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "Интеграци� � календарем дл� визуализации вашего ра�пи�ани�" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "�е�колько напоминаний о каждой задаче, чтобы не пропу�тить дедлайн" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "Тёмный режим � бе�шовной интеграцией � темой �и�темы" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "Бы�трый и �ффективный пои�к дл� мгновенного нахождени� чего угодно" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "Повтор�ющие�� задачи � гибкими шаблонами" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "Вложени� и ��ылки в ваших задачах" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "�� Облачна� �инхронизаци�:" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" "Полна� �инхронизаци� � Todoist позвол�ет получать до�туп к вашим задачам из " "любой точки мира" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" "Поддержка �ерверов Nextcloud и CalDAV (Radicale, Baïkal) дл� обе�печени� " "конфиденциально�ти ваших данных" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" "�втономный режим: работа без подключени� к интернету и �инхронизаци� при " "повторном подключении" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "Кро��платформенна� �инхронизаци� дл� до�тупа � любого у�трой�тва" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "* Planify не �оздан, не �в�зан и не поддерживает�� компанией Doist" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "Planify" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" "разработка; задача; задачи; проект; дела; напоминание; напоминани�; �обытие; " "�обыти�; календарь; todoist;" alainm23-planify-69962f8/po/extra/sa.po000066400000000000000000000065261517337276100176100ustar00rootroot00000000000000# Sanskrit translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: sa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/si.po000066400000000000000000000065251517337276100176170ustar00rootroot00000000000000# Sinhala translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: si\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/sk.po000066400000000000000000000066361517337276100176240ustar00rootroot00000000000000# Slovak translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/sl.po000066400000000000000000000066751517337276100176300ustar00rootroot00000000000000# Slovenian translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " "n%100==4 ? 2 : 3);\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/sma.po000066400000000000000000000065341517337276100177640ustar00rootroot00000000000000# Southern Sami translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: sma\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/sq.po000066400000000000000000000065261517337276100176300ustar00rootroot00000000000000# Albanian translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: sq\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/sr.po000066400000000000000000000067211517337276100176260ustar00rootroot00000000000000# Serbian translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/sv.po000066400000000000000000000116261517337276100176320ustar00rootroot00000000000000# Swedish translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2026-02-22 16:09+0000\n" "Last-Translator: erikburk \n" "Language-Team: Swedish \n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.16.1-dev\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "Glöm att du glömt inställningar" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" "Planify är din moderna och kraftfulla uppgiftshanterare som hjälper dig att " "hålla ditt liv organiserat. Med ett rent och intuitivt gränssnitt, " "molnsynkronisering och avancerade funktioner kommer du aldrig att glömma vad " "som är viktigt igen." #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "✨ Kärnfunktioner:" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "Modernt och rent gränssnitt utformat med GTK4 och libadwaita" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" "Dra och släpp för att organisera uppgifter och projekt utan ansträngning" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "Visuella framstegsindikatorer för varje projekt" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "Smart organisation med sektioner och anpassade etiketter" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "Kalenderintegration för att visualisera ditt schema" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "Flera påminnelser per uppgift för att aldrig missa en deadline" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "Mörkt läge med sömlös integration med systemtemat" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "Snabb och kraftfull sökning för att hitta något direkt" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "Återkommande uppgifter med flexibla mönster" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "Bilagor och länkar i dina uppgifter" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "�� Molnsynkronisering:" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" "Full synkronisering med Todoist för att komma åt dina uppgifter var som helst" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" "Stöd för Nextcloud och CalDAV-servrar (Radicale, Baïkal) för att hålla dina " "data privata" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" "Offline läge: arbeta utan internet och synkronisera när du är tillbaka online" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" "Synkronisering över olika plattformar för att tillgå ifrån vilken enhet som " "helst" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "* Planify skapas inte av, är inte ansluten till eller stöds av Doist" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "Planify" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" "utveckling; uppgift; uppgifter; projekt;todo; att " "göra;påminnelse;påminnelser;event;evenemang;kalender;todoist;" alainm23-planify-69962f8/po/extra/szl.po000066400000000000000000000065331517337276100200130ustar00rootroot00000000000000# Language szl translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: szl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/ta.po000066400000000000000000000065231517337276100176060ustar00rootroot00000000000000# Tamil translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: ta\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/te.po000066400000000000000000000065241517337276100176130ustar00rootroot00000000000000# Telugu translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: te\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/th.po000066400000000000000000000065221517337276100176140ustar00rootroot00000000000000# Thai translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: th\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/tl.po000066400000000000000000000065251517337276100176230ustar00rootroot00000000000000# Tagalog translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: tl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/tr.po000066400000000000000000000117351517337276100176300ustar00rootroot00000000000000# Turkish translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-11-01 21:51+0000\n" "Last-Translator: Sinan Sarıhan \n" "Language-Team: Turkish \n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.14.1-dev\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "Bir şeyleri unutmayı unutun" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" "Planify, hayatınızı düzenli tutmanıza yardımcı olan modern ve güçlü görev " "yöneticinizdir. Temiz ve sezgisel arayüzü, bulut senkronizasyonu ve gelişmiş " "özellikleriyle, önemli olan şeyleri bir daha asla unutmayacaksınız." #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "✨ Temel Özellikler:" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "GTK4 ve libadwaita ile tasarlanmış modern ve temiz arayüz" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "Görevleri ve projeleri zahmetsizce düzenlemek için sürükleyip bırakın" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "Her proje için görsel ilerleme göstergeleri" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "Bölümler ve özel etiketlerle akıllı organizasyon" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "Programınızı görselleştirmek için takvim entegrasyonu" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" "Hiçbir teslim tarihini kaçırmamak için görev başına birden fazla hatırlatıcı" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "Sorunsuz sistem teması entegrasyonuna sahip karanlık modu" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "Her şeyi anında bulmak için hızlı ve güçlü arama" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "Esnek kalıplarla tekrar eden görevler" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "Görevlerinizde ekler ve bağlantılar" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "�� Bulut Senkronizasyonu:" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" "Görevlerinize her yerden erişebilmeniz için Todoist ile tam senkronizasyon" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" "Verilerinizi gizli tutmak için Nextcloud ve CalDAV sunucularına " "(Radicale, Baïkal) destek" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" "Çevrimdışı mod: İnternet olmadan çalışın ve tekrar çevrimiçi olduğunuzda " "senkronize olsun" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "Herhangi bir cihazdan erişim için platformlar arası senkronizasyon" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" "* Planify, Doist tarafından oluşturulmamış, ona bağlı değildir veya Doist " "tarafından desteklenmemektedir" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "Planify" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" "geliştirme;görev;görevler;proje;yapılacak;hatırlatıcı;hatırlatıcılar;etkinlik;etkinlikler;takvim;todoist;" "" alainm23-planify-69962f8/po/extra/ug.po000066400000000000000000000065241517337276100176160ustar00rootroot00000000000000# Uighur translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: ug\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/uk.po000066400000000000000000000136421517337276100176210ustar00rootroot00000000000000# Ukrainian translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2026-02-15 20:09+0000\n" "Last-Translator: Maksym Dilanian \n" "Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Weblate 5.16-dev\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "Забудьте про забуванн� �прав" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" "Planify — це ваш �уча�ний та потужний менеджер завдань, �кий допоможе вам " "організувати �воє житт�. Завд�ки чи�тому та інтуїтивно зрозумілому " "інтерфей�у, хмарній �инхронізації та розширеним функці�м ви ніколи не " "забудете, що важливо." #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "✨ О�новні функції:" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" "Суча�ний та чи�тий інтерфей�, розроблений за допомогою GTK4 та libadwaita" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "Перет�гуванн� дл� легкого впор�дкуванн� завдань та проектів" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "Візуальні індикатори прогре�у дл� кожного проекту" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "Розумна організаці� з розділами та налаштовуваними мітками" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "Інтеграці� календар� дл� візуалізації вашого розкладу" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" "Кілька нагадувань дл� кожного завданн�, щоб ніколи не пропу�тити дедлайн" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "Темний режим із безшовною інтеграцією �и�темної теми" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "Швидкий та потужний пошук, щоб миттєво знайти будь-що" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "Повторювані завданн� з гнучкими шаблонами" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "Вкладенн� та по�иланн� у ваших завданн�х" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "�� Синхронізаці� з хмарою:" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" "Повна �инхронізаці� з Todoist дл� до�тупу до ваших завдань з будь-�кого мі�ц�" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" "Підтримка �ерверів Nextcloud та CalDAV (Radicale, Baïkal) дл� захи�ту " "конфіденційно�ті ваших даних" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" "Офлайн-режим: працюйте без інтернету та �инхронізуйте, коли знову " "підключите�� до мережі" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "Міжплатформна �инхронізаці� дл� до�тупу з будь-�кого при�трою" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "* Planify не �творений, не пов'�заний з Doist та не підтримуєть�� нею" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "Planify" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" alainm23-planify-69962f8/po/extra/ur.po000066400000000000000000000065221517337276100176270ustar00rootroot00000000000000# Urdu translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: ur\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/uz.po000066400000000000000000000065231517337276100176400ustar00rootroot00000000000000# Uzbek translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: uz\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/extra/vi.po000066400000000000000000000123551517337276100176200ustar00rootroot00000000000000# Vietnamese translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2026-02-14 12:11+0000\n" "Last-Translator: Loc Huynh \n" "Language-Team: Vietnamese \n" "Language: vi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.16-dev\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "Hãy quên đi việc quên công việc" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" "Planify là trình quản lý tác vụ hiện đại và mạnh mẽ giúp bạn sắp xếp cuộc " "sống của mình một cách ngăn nắp. Với giao diện rõ ràng và trực quan, đồng bộ " "hóa đám mây và các tính năng nâng cao, bạn sẽ không bao gi� quên những đi�u " "quan tr�ng nữa." #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "✨ Tính năng cốt lõi:" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "Giao diện hiện đại và g�n gàng được thiết kế với GTK4 và libadwaita" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "Kéo và thả để sắp xếp các nhiệm vụ và dự án một cách dễ dàng" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "Chỉ số tiến độ trực quan cho từng dự án" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "Tổ chức thông minh với các phần và nhãn tùy chỉnh" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "Tích hợp lịch để trực quan hóa lịch trình của bạn" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "Nhi�u l�i nhắc cho mỗi nhiệm vụ để không bao gi� b� lỡ th�i hạn" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "Chế độ tối với tích hợp chủ đ� hệ thống li�n mạch" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "Tìm kiếm nhanh chóng và mạnh mẽ để tìm thấy m�i thứ ngay lập tức" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "Nhiệm vụ định kỳ với các mẫu linh hoạt" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "Tệp đính kèm và liên kết trong nhiệm vụ của bạn" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "�� �ồng bộ hóa đám mây:" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" "�ồng bộ hóa hoàn toàn với Todoist để truy cập các nhiệm vụ của bạn từ m�i nơi" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" "Hỗ trợ máy chủ Nextcloud và CalDAV (Radicale, Baïkal) để giữ dữ liệu của bạn " "ở chế độ riêng tư" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" "Chế độ ngoại tuyến: làm việc mà không cần internet và đồng bộ hóa khi bạn " "trực tuyến trở lại" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "�ồng bộ hóa đa n�n tảng để truy cập từ m�i thiết bị" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "* Planify không được tạo, liên kết hoặc hỗ trợ bởi Doist" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "Planify" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" alainm23-planify-69962f8/po/extra/zh.po000066400000000000000000000112151517337276100176150ustar00rootroot00000000000000# Chinese translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-25 18:32+0000\n" "Last-Translator: zzqayy \n" "Language-Team: Chinese (Simplified Han script) \n" "Language: zh\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.14.1-dev\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 #, fuzzy msgid "Forget about forgetting things" msgstr "往事�必��" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 #, fuzzy msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" "Plantify,属于你的任务管�软件:设计现代�功能强大,助你的生活井井有�。界�" "整�明了,任务�云�步,功能全�高级,你将忘记的最�一件事,就是忘记本身。" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "✨核心功能:" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "以 GTK4 与 libadwaita 构建的界�,设计时新,简�高效" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "整�任务与项目�需指尖微动,一拖一放" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "直观的项目进度指示" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "以分区和自定义标签智能管�" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "与日历�务整�,直观概览你的日程" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "多��醒�设,��错失截止期�" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "暗黑模�,与系统主题无�整�" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "快�强大的�索功能,所�所想,一�便知" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "�设��任务,规律�心所欲" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "任务中�附属文件与链接" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "��云�步:" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "与 Todoist 完整�步,任务管��处��" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "支� Nextcloud 与其他 CalDAV �务(如 Radicale�Baïkal),数�尽在掌控" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "离线模�:工作�需网络,连接自动�步" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "跨平��步,任务访问�处��" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "* Planify 并�由 Doist 创建,�为其附属,也��其支�" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "Planify" #: data/io.github.alainm23.planify.desktop.in.in:14 #, fuzzy msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "开�;任务;多任务;项目;待办;�醒;多�醒;事件;多事件;日历;todoist;" alainm23-planify-69962f8/po/extra/zh_Hant.po000066400000000000000000000117151517337276100205740ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-24 15:02+0000\n" "Last-Translator: 麋麓 BigELK176 \n" "Language-Team: Chinese (Traditional Han script) \n" "Language: zh_Hant\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.14.1-dev\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "忘記事情的囧�就此忘了�" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" "Planify 是�代化設計�功能強大的任務管�利器,�以幫助您促使人生生活有�有�" "。其簡潔直觀的�作介��雲端�步和進階功能,讓您將永��會�忘記��大事。" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "✨ 核心功能:" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "�代簡潔的介�,�用 GTK4 和 libadwaita 設計" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "拖放�作��輕鬆地組織排列任務和專案計畫" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "視覺化顯示進度指標�以套用於�個專案計畫" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "�明進行組織架構,利用添設階段�自訂標籤" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "行事曆整�功能,使您的行程安排加以視覺化" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "�個任務�設定多��醒,��錯�最後期�" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "暗色模��作介��以無瑕整���系統主題" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "快速強大的�尋功能,�以�刻找到任何內容" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "具有�活設置模�來進行處��複性週期任務" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "��附件和連���添加放置於您的任務之中" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "�� 雲端�步:" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "與 Todoist 完整�步,在任何地點都�以存�自己的任務" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "支� Nextcloud 和 CalDAV 伺�器 (Radicale, Baïkal) 以維護您的資料隱�" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "離線模�:在無網路情�下��工作,並在�新連網後進行�步" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "跨平��步資料,以利於�以從任何設備來進行存�" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "* Planify 並�由 Doist 創立�既無關�且�由其�供支�" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "Planify" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "" "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;" "todoist;" msgstr "" "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;" "todoist;開發;任務;專案計畫;待辦事項;�醒;事件;行事曆;待辦事項清單;" alainm23-planify-69962f8/po/extra/zu.po000066400000000000000000000065221517337276100176370ustar00rootroot00000000000000# Zulu translations for extra package. # Copyright (C) 2025 THE extra'S COPYRIGHT HOLDER # This file is distributed under the same license as the extra package. # Automatically generated, 2025. # msgid "" msgstr "" "Project-Id-Version: extra\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-10-08 17:08-0500\n" "PO-Revision-Date: 2025-10-08 17:08-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: zu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.github.alainm23.planify.appdata.xml.in.in:7 #: data/io.github.alainm23.planify.desktop.in.in:4 msgid "Forget about forgetting things" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:13 msgid "" "Planify is your modern and powerful task manager that helps you keep your " "life organized. With a clean and intuitive interface, cloud synchronization, " "and advanced features, you'll never forget what matters again." msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:14 msgid "✨ Core Features:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:16 msgid "Modern and clean interface designed with GTK4 and libadwaita" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:17 msgid "Drag and drop to organize tasks and projects effortlessly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:18 msgid "Visual progress indicators for each project" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:19 msgid "Smart organization with sections and custom labels" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:20 msgid "Calendar integration to visualize your schedule" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:21 msgid "Multiple reminders per task to never miss a deadline" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:22 msgid "Dark mode with seamless system theme integration" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:23 msgid "Quick and powerful search to find anything instantly" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:24 msgid "Recurring tasks with flexible patterns" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:25 msgid "Attachments and links in your tasks" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:27 msgid "�� Cloud Synchronization:" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:29 msgid "Full synchronization with Todoist to access your tasks from anywhere" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:30 msgid "" "Support for Nextcloud and CalDAV servers (Radicale, Baïkal) to keep your " "data private" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:31 msgid "Offline mode: work without internet and sync when you're back online" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:32 msgid "Cross-platform synchronization to access from any device" msgstr "" #: data/io.github.alainm23.planify.appdata.xml.in.in:34 msgid "* Planify is not created by, affiliated with, or supported by Doist" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:3 msgid "Planify" msgstr "" #: data/io.github.alainm23.planify.desktop.in.in:14 msgid "development;task;tasks;project;todo;reminder;reminders;event;events;calendar;todoist;" msgstr "" alainm23-planify-69962f8/po/fa.po000066400000000000000000002510651517337276100164500ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:58+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Persian \n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/fi.po000066400000000000000000002510661517337276100164610ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:12+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Finnish \n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/fr.po000066400000000000000000003754421517337276100164770ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: com.github.alainm23.planner\n" "Report-Msgid-Bugs-To: alainmh23@gmail.com\n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2026-04-09 08:09+0000\n" "Last-Translator: Nicolas Auffray \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.17-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Projets" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Sections" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Tâches" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Étiquettes" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Filtres" #: core/Enum.vala:186 msgid "Lists" msgstr "Listes" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "Ne pas répéter" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Chaque minute" msgstr[1] "Toutes les %d minutes" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Toutes les heures" msgstr[1] "Toutes les %d heures" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Chaque jour" msgstr[1] "Tous les %d jours" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Chaque semaine" msgstr[1] "Toutes les %d semaines" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Chaque mois" msgstr[1] "Tous les %d mois" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Chaque année" msgstr[1] "Tous les %d ans" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Priorité" #: core/Enum.vala:348 msgid "Label" msgstr "Étiquette" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Date d’échéance" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Section" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "Affectation" #: core/Enum.vala:469 msgid "Task Created" msgstr "Tâche dupliquée" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Tâche dupliquée" #: core/Enum.vala:528 msgid "Content" msgstr "Contenu" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Description" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Prévu" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Épingler" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Tâches" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "Toutes les tâches" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "Tout" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "N’importe quand" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "N’importe quand" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "filtres" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "Pas de date" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Terminé" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "complété" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "journal de bord" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Boîte de réception" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "Boîte de réception" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "Étiquettes" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Épinglé" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Priorité 1 : Élevée" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Priorité 2 : Moyenne" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Priorité 3 : Basse" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Priorité 4 : Aucune" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "élevée" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "moyenne" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "basse" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "aucune" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Répétition" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "répétition" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "prévu" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "à venir" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Aujourd’hui" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "aujourd’hui" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Demain" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "demain" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "date" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Sans étiquette" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "pas d’étiquette" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "sans étiquette" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Tâche copiée dans le presse-papiers" # # c-format #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "Tâche déplacée vers %s" # # c-format #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Supprimer l’étiquette %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Cette action est irréversible" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Annuler" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Supprimer" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "Projet copié vers le presse-papiers." # # c-format #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "Supprimer le projet %s?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "Archiver  ?" # # c-format #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "%s et toutes ses tâches seront archivés." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "Archiver" # # c-format #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Supprimer la section %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "Projet ajouté avec succès !" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Nom de la tâche" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "Ce champ est requis" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Ajouter une description…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "Définir la date" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Ajouter des étiquettes" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Définir la priorité" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Ajouter des rappels" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Ajouter la tâche" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "Continuer d'ajouter" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Sélectionner un projet" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "Désolé, l’Ajout rapide ne peut trouver aucun projet disponible, essayez de " "créer un projet depuis Planify." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Raccourcis clavier" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "Accélérer la création de tâches avec ces raccourcis" # # c-format #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "Priorité" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = le plus haut, p4 = le plus bas" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "Ajouter des étiquettes" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "Ouvre le sélecteur d'étiquette" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "Ajouter à un projet" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "Ouvre le sélecteur de projet" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "Programmer un rappel" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "Ouvre les options de rappel" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "Activer pour rester ouvert après la création de la tâche" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "Astuce" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" "Combinez les raccourcis dans le champ du titre pour une création plus rapide" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "Chargement des tâches pour %s…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "Chargement des tâches pour %s…" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "Synchronisation des tâches %d de %d" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "La source existe déjà" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "Échec de la résolution de l'URL principale" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "Démarrage de la synchronisation…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "Synchronisation de %s…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "Synchronisation terminée" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "Sur cet ordinateur" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" "Todois a mis à jour son API. Merci de reconnecter votre compte dans les " "Préférences pour continuer la synchronisation." #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "La requête était incorrecte." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" "L’authentification est requise et a échoué ou n’a pas encore été effectuée." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "La demande était valide, mais pour quelque chose qui est interdit." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "La ressource demandée n’a pas pu être trouvée." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "L’utilisateur a envoyé trop de requêtes dans un certain délai." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "La requête a échoué à cause d’un problème du serveur." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "Le serveur est actuellement incapable de gérer la requête." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "Erreur inconnue" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "Hier" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "jours" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "jour" # # c-format #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "Il y a %s %s" # # c-format #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "%s %s restant" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "%-l:%M:%S %p" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "%-l:%M %p" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "%H:%M:%S" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "%H:%M" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Lun," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Mar," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "Mer," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Jeu," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Ven," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "Sa," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "Di," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "dans %d jour" msgstr[1] "dans %d jours" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "il y a %d jour" msgstr[1] "il y a %d jours" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "%a, %b %-e, %Y" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "%b %-e %Y" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "%b %-e" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "%a %Y" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "%a" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "%a, %b %-e" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "%b" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Rouge baie" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Rouge" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Orange" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Jaune" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Vert olive" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Vert citron" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Vert" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "Vert menthe" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Bleu sarcelle" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "Bleu ciel" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Bleu clair" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Bleu" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Raisin" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Violet" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Lavande" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "Magenta" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "Saumon" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "Anthracite" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Gris" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "Taupe" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Clair" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Sombre" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Bleu sombre" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Aucun" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Aujourd’hui + Boîte de réception" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Tout supprimer" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "Processus achevé, vous devez redémarrer Planify." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "OK" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "Sur cet ordinateur" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Découvrir Planify" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "Ce projet vous montre tout ce que vous devez savoir sur l’application pour " "bien commencer. N’hésitez pas à vous amuser avec – vous pouvez toujours en " "créer un nouveau depuis les paramètres." #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "Cliquez sur cette tâche" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" "Vous êtes en train de consulter une tâche ! Marquez-la comme accomplie en " "cliquant sur la case à cocher sur la gauche. " #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "Créer une nouvelle tâche" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Maintenant c’est à vous : cliquez sur le bouton '+' en bas de votre projet, " "saisissez un contenu et cliquez sur le bouton bleu « Ajouter la tâche »." #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "Planifier cette tâche pour aujourd’hui ou plus tard" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" "Cliquez sur l’icône de calendrier en bas de votre tâche pour décider d’une " "date d’échéance." #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "Réorganiser vos tâches" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "Pour réorganiser votre liste, cliquez sur une tâche et maintenez, puis " "faites-la glisser où vous le souhaitez." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Créer un projet" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "Organisez mieux vos tâches ! Allez dans le volet latéral gauche et cliquez " "sur le bouton '+' dans la section « Sur cet ordinateur » pour ajouter vos " "propres projets." #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "C’est terminé !" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "C’est à peu près tout ce que vous avez besoin de savoir pour le moment. " "Sentez-vous libre d'ajouter vos propres projets et tâches.\n" "Vous pouvez revenir à ce projet plus tard pour découvrir les fonctionnalités " "avancées ci-dessous…\n" "Nous espérons que vous apprécierez Planify !" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "Personnaliser votre installation" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Affichez vos événements de calendrier" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "Vous pouvez afficher les événements du calendrier de votre système dans " "Planify. Allez dans « Préférences » → « Événements du calendrier » pour " "activer cette option." #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "Activez la synchronisation avec des services tiers" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "Planify ne crée pas seulement des tâches localement, il peut aussi " "synchroniser votre compte Todoist. Allez dans « Préférences » → « Comptes »." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "Améliorez votre productivité" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "Faites glisser le bouton + !" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "Le bouton bleu que vous voyez en bas de chaque vue est plus puissant qu’il " "n’y paraît : il est fait pour bouger ! Faites-le glisser vers le haut pour " "créer une tâche là où vous le souhaitez." #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "Ajoutez des étiquettes à vos tâches !" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "Les étiquettes vous aident à organiser et catégoriser os tâches. Pour " "ajouter une étiquette, cliquez sur le bouton « Étiquette » en bas de la page." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "Programmez des rappels !" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" "Soyez notifié des tâches ou évènements importants. Cliquez sur le bouton " "horloge ci-dessous pour ajouter un rappel." #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼� Travail" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒� École" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉� Délégué" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "�� Maison" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀�� À suivre" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Tâche dupliquée" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Section dupliquée" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Projet dupliqué" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "À l’échéance" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 minutes avant" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 minutes avant" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 minutes avant" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 heure avant" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 heures avant" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 heures avant" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "%A, %B %e, %Y" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%OB" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "Retour" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "Mois précédent" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "Suivant" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "Mois prochain" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "Mois précédent, %s" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "%B %Y" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "Mois prochain, %s" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Choisir une date" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "Di" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Lun" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Mar" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "Mer" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Jeu" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Ven" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "Sa" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Heure" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "jusqu’à" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "pour" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "fois" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "fois" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Répéter" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "Entrer une date…" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "Semaine suivante" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "Enregistrer" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Quotidiennement" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "Aux jours ouvrés (Lun. au Ven.)" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "Aux jours de weekend (Sam. et Dim.)" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Hebdomadairement" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Mensuellement" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Annuellement" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "Personnalisé" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "Pas de date" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "Minute(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "Heure(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "Jour(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "Semaine" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "Mois" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "Année(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "Jamais" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "À la date" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "Après" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "Appliquer" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "Répéter tous les" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "Fin" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "Date" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "La date à laquelle vous prévoyez de travailler sur cette tâche" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "Supprimer la date" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "Quand prévoyez-vous de travailler sur cela ?" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "Définir l'échéance" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "La dernière date pour terminer cette tâche" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "Quelle est la dernière date pour terminer ceci ?" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "Échéance" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "Sélectionner des étiquettes" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "Label non enregistré: Créer '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" "Votre liste de filtres apparaîtra ici. Créez-en une en saisissant le nom et " "en pressant la touche Entrée." # # c-format #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "Créer « %s »" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "Votre liste de filtres apparaîtra ici." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "Rechercher" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "Chercher ou créer" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "Cacher les étiquettes inutilisées" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "Pas d'étiquette" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" "Toutes les étiquettes sont cachées par le filtre. Désactivez le filtre pour " "les voir." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "Supprimer le lien" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "Priorité 4 : Aucune" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "Priorité 1 : Élevée" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "Priorité 2 : Moyenne" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "Priorité 3 : Basse" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "Priorité 1 : Moyenne" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "Priorité 1 : Basse" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "Votre liste de sections apparaîtra ici." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "Aucune section" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "Tapez une recherche" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "Rappels" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" "Votre liste de rappels apparaîtra ici. Ajoutez-en une en cliquant sur le " "bouton '+'." #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "Ajouter un rappel" # # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "Dans 5 minutes" # # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "Dans 15 minutes" # # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "Dans 30 minutes" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "Dans 1 heure" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "Dans 3 heures" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "Dans 6 heures" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "Définir une section" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "Sélectionner une section" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "Définir le statut" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "État" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "À faire" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "Compléter" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "Planify démarrera automatiquement à l’allumage de cet appareil et continuera " "à s’exécuter à la fermeture de sa fenêtre pour envoyer des notifications." #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "synchronisation du calendrier" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" "Transformez automatiquement vos tâches en événements de calendrier. Toute " "tâche avec une date apparaîtra dans votre calendrier, ce qui facilitera la " "planification de votre journée." #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" "Exigence : Vous avez besoin d'un compte de calendrier configuré dans GNOME " "Calendar (Google, Nextcloud, etc)" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" "Recevez des notifications mobiles pour vos tâches via Google Agenda, Outlook " "ou toute autre application de calendrier" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" "Vos tâches se synchronisent partout : téléphone, tablette, navigateur Web et " "n'importe quel appareil avec votre calendrier" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "Choisissez votre calendrier" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "Choisir un calendrier depuis la liste" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "Activer la Synchronisation" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "Synchronisation du calendrier désactivée" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "Synchronisation du calendrier activée" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" "Vos tâches sont actuellement synchronisées avec votre calendrier. Toute " "tâche avec une date apparaît automatiquement comme un évèvement du " "calendrier." #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "Désactiver la Synchronisation" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "Synchronisé avec: %s" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "Synchronisation Activée!" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" "Vos tâches sont actuellement synchronisées avec votre calendrier. Toute " "tâche avec une date apparaîtra automatiquement comme un évèvement du " "calendrier." #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "D'accord" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "Tâches accomplies" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "Voir le menu de filtrage" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "Aucune tâche accomplie pour le moment." #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "Supprimer les tâches accomplies" # # c-format #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" "Cette action va supprimer %d tâche accomplie et ses sous-tâches du projet %s" msgstr[1] "" "Cette action va supprimer %d tâches accomplies et leurs sous-tâches du " "projet %s" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "Filtrer par" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "Semaine suivante" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "Aucune date" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Fait" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "Historique des modifications" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "Ajoutée le" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "Indisponible" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "Mise à jour le" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" "Votre historique des modifications apparaîtra ici une fois que vous aurez " "commencé à faire des changements." # # c-format #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "Charger l’historique d'il y a %d semaine…" msgstr[1] "Charger l’historique d'il y a %d semaines…" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "Nouvelle étiquette" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "Modifier l’étiquette" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "Donnez un nom à votre étiquette" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "Ajouter une étiquette" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "Mettre à jour l’étiquette" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "Filtrer" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "Projets archivés" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "Gérer les sections" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "Vous pouvez trier vos sections par glisser-déposer" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "Archivé" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(Pas de section)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "Comptes" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "Ajouter une source" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "Boîte de réception" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "Vous pouvez trier vos comptes par glisser-déposer" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "Planify synchronise vos tâches, ceci peut prendre un moment" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "Vérification SSL désactivée" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "Migration de compte requis" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "Reconnexion" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "Impossible de cacher ce compte" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "Ce compte est lié à votre Boîte de réception actuelle. Veuillez d'abord " "changer le compte lié." #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "Changer la Boîte de réception" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "Synchronisation…" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "URL du serveur" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "Nom d’utilisateur" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "Mot de passe" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "URL d'accueil du calendrier" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "Se connecter" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "Projet lié à la Boîte de réception" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" "Votre Boîte de réception est l'endroit où les nouvelles tâches atterrissent " "par défaut. Fondé sur la méthode \"Getting Things Done\" de David Allen, " "c'est votre point de capture pour les idées spontanées et les tâches que " "vous organiserez plus tard" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "Source" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "Nom affiché" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "Serveur de synchronisation" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" "Activez ce paramètre pour que Planify se synchronise automatiquement avec " "votre compte Todoist toutes les 15 minutes" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "Dernière synchronisation" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "Supprimer la source" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "Supprimer la source ?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "Impossible de Supprimer Cette Source" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "La source contient votre boîte de réception de projet. S'il vous plait, " "changez d'abord votre boite de réception de projet." #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "Connectez-vous avec votre compte Todoist pour synchroniser vos tâches" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "1. Allez sur Todoist → Réglages → Intégrations → Développeur" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "3. Collez-le dans le champ ci-dessus" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "Synchronisation…" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "Apparence" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "Utiliser les paramètres système" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "Sélectionner un thème" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "Style clair" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "Thème clair et épuré" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "Style sombre" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "Thème sombre et élégant" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "Style bleu sombre" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "Thème bleu professionnel" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" "Les thèmes personnalisés ne sont pas disponibles lorsque vous utilisez le " "thème système clair" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "Taille de la police" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "Sauvegardes" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" "N'ayez jamais à vous inquiéter des pertes de données. Vous pouvez créer des " "sauvegardes de vos projets actifs, tâches et commentaires et les réimporter " "plus tard." #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "Créer une sauvegarde" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "Importer une sauvegarde" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "Fichiers de sauvegarde" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" "Aucune sauvegarde trouvée, créez-en une en cliquant sur le bouton ci-dessus." #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "Sauvegardes enregistrées dans: %s" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "Migrer" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "Migrer depuis Planner" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "Sauvegarde créée avec succès." #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "Tâches migrées avec succès" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "Le fichier de la base de données n’existe pas." #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "Fichier sélectionné invalide" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "Visionner la sauvegarde" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "Télécharger" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "Aperçu d’importation" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "Sources" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "Tâches" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "Confirmer" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "Restaurer la sauvegarde" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" "Êtes-vous sûr·e de vouloir continuer? Cette action supprimera vos données " "actuelles et les remplacera par celles de la sauvegarde." #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "Restaurer la sauvegarde" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "Faire un don" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "Soutenez le développement de Planify" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" "Aidez à garder Planify gratuit et open source! Vos donations soutiennent " "directement le développement, de nouvelles fonctionnalités et la " "maintenance. Chaque contribution, quelle qu'en soit la taille, fait une " "différence." #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "Don mensuel récurrent" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "Don ponctuel" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "Don hebdomadaire récurrent" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "Offrez-moi un café ☕" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "Choisissez votre plateforme préférée" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "Merci pour votre soutien! �" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "Votre contribution aide à garder Planify en vie et à le faire grandir." #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "Général" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "Ordre de tri personnalisé" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "Alphabétiquement" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "Trier par" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "Ascendant" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "Descendant" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "Trié" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "Intégration à l’environnement de bureau" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "Lancer au démarrage" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "Exécuter en arrière-plan" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "Évènements de calendrier" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "Date & heure" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24 h" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12 h" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "Format horaire" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "Dimanche" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "Lundi" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "Mardi" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "Mercredi" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "Jeudi" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "Vendredi" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "Samedi" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "Début de la semaine" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "Reconnaissance intelligente de la date" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" "Détecte automatiquement les dates comme \"demain\" ou \"semaine prochaine\"" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "Page d’accueil" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "Ajout rapide" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" "Utilisez l’ajout rapide pour créer des tâches depuis n’importe quel endroit " "sur votre bureau, avec une combinaison de touches. Vous n’aurez même pas à " "quitter l’application que vous étiez en train d’utiliser." #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" "Allez dans Paramètres système → Clavier → Raccourcis → Personnalisé, et " "ajoutez un nouveau raccourci avec la commande suivante :" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "Paramètres" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "Enregistrer le dernier projet sélectionné" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" "Si rien n’est coché, le projet sélectionné par défaut sera la boîte de " "réception" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "Conserver les propriétés de la tâche" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" "Quand \"Laisser ajouter\" est activé, conserve la date, les étiquettes, et " "le statut épinglé" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "Commande copiée vers le presse-papiers" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "Largeur" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "Afficher dans la barre latérale" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "Afficher le compteur de tâches" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "Largeur du volet latéral" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "Liste des filtres" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "Afficher les filtres dans une liste plutôt qu'un tableau" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "Vous pouvez trier vos aperçus par glisser-déposer" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "Paramètres des tâches" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "Terminé Instantanément" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "Terminé avec Annulation" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "Tâche Terminée" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "Choisir ce que devient une tâche après son achèvement" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "Priorité 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "Priorité 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "Priorité 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "Priorité par défaut" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "Barrer les tâches accomplies" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "Débuter" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "Position des nouvelles tâches" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "Toujours afficher les sous-tâches accomplies" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "Toujours afficher les sous-tâches" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "Son de notification des tâches accomplies" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "Jouer un son lorsque les tâches sont accomplies" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "Ouvrir les tâches dans la vue latérale" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" "Toujours afficher les détails d’une tâche dans le panneau latéral, sans les " "ouvrir directement." #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "Une tâche à la foi (Mode concentration)" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "Afficher le détail d'une tâche à la fois dans la vue en liste" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "Activer le formatage Markdown" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "Activer/désactiver la prise en charge du Markdown pour les tâches" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "Toujours afficher la barre latérale des détails" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" "Conserver le volet des détails visible pour parcourir plus facilement les " "tâches, en évitant de fermer et ouvrir constamment le volet" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "Activer la correction orthographique" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "Vérifier l'orthographe dans les descriptions des tâches et les notes" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "Activé" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "Rappels automatiques" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" "Si cette option est activée, il y aura un rappel avant l’échéance de la " "tâche par défaut." #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "Préférences" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "Synchronisez vos fournisseurs de tâches favoris" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "Choisir la vue à montrer au démarrage" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "Personnalisez à l'envie" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "Personnalisez votre barre latérale" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "Ajouter des tâches depuis n’importe quel endroit" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "Sauvegarder ou migrer depuis Planner." #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "Créer un projet tutoriel" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" "Faites le tour pas à pas de l’application avec un court projet tutoriel" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "Me payer un verre ?" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "Rapporter un problème ou demander une fonctionnalité" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "Soumettre des bugs ou des idées sur GitHub" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "Contribuer" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "Nous joindre" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "Contactez-nous" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "Demandez une fonctionnalité ou posez-nous une question" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "Tweetez-nous" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "Partagez de l’amour" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "Discord" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "Échanger et partager vos impressions" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodon" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "Confidentialité" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "Politique de confidentialité" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "Nous n’avons rien sur vous" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "Supprimer les données de l’application" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "Un projet tutoriel a été créé" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "Supprimer toutes les données ?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "Supprime toutes vos listes, tâches et rappels de manière irréversible" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "Résumé" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "Créer plus" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "Cette semaine" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "Ce mois" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "En retard" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "Nouveau projet" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "Modifier le projet" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "Donnez un nom à votre projet" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "Utiliser un Émoji" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "Ajouter un projet" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "Mettre le projet à jour" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "Projet ajouté avec succès !" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "Déplacer" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "Recherche rapide" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" "Passez rapidement d’un projet et d’une vue à l’autre, trouvez des tâches, " "faites des recherches par étiquettes" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "Nouvelle section" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "Modifier la section" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "Nom de la section" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "Ajouter une section" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "Mettre la section à jour" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "Section ajoutée" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "Ouvrir/Fermer la barre latérale" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "Désépingler" # # c-format #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "Terminé. Prochaine occurrence : %s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "Ajouter une sous-tâche" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "Éditer" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "Dupliquer" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "Supprimer la tâche" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "L’ordre a été modifié pour 'Ordre de tri personnalisé'" # # c-format #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s a été supprimé" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "Annuler" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "Ajouter des sous-tâches" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "Cacher les sous-tâches" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "Montrer les sous-tâches" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "Utiliser comme note" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "Copier vers le presse-papiers" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "Ajouter des pièces-jointes" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "Fermer les détails" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "Titre" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "Propriétés" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "Êtes-vous sûr de vouloir supprimer ?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "Supprimer l’étiquette" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "Mode de tri des projets changé pour 'Ordre de tri personnalisé'" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "Retirer des favoris" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "Ajouter aux favoris" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "Actualiser" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "Supprimer le projet" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "Partager" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "Envoyer par courriel" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "Ajouter des tâches" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "Plus" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "tâches accomplies" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "Déplacer la section" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "Gérer l’ordre des sections" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "Afficher les tâches accomplies" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "Supprimer la section" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "Favoris" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" "Aucune tâche favorite disponible. Créez-en une en cliquant sur le bouton " "« + »" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "Ajouter un compte" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "Personnalisez la barre latérale" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "Aller à la vue du jour" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "Voir les éléments prévus" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "Voir les étiquettes" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "Aller aux éléments épinglés" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "Pas de projet disponible. Créez-en un en cliquant sur le bouton ’+’" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "Migration de Compte Requise" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "Menu principal" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "Ouvrir la recherche rapide" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "À propos de Planify" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "Oups ! Il s’est passé quelque chose" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "Tache accomplie" #: src/MainWindow.vala:825 msgid "View" msgstr "Afficher" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "Échec de la vérification de l'intégrité de la base de données" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" "Nous avons détecté des problèmes dans la structure de la base de données qui " "pourraient empêcher l’application de fonctionne;r correctement. Cela peut " "être dû à des tables ou des colonnes manquantes, probablement causées par " "une corruption des données ou une mise à jour incomplète.\n" "\n" "La base de données va maintenant être réinitialisée afin de rétablir le bon " "fonctionnement et toutes les données existantes seront supprimées.\n" "\n" "Après la réinitialisation, vous pourrez restaurer toute sauvegarde que vous " "avez créée auparavant. Merci de votre compréhension." #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "Réinitialisez la base de données" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "Supprimer la sauvegarde" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "Sauvegarde importée avec succès" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "Planify va redémarrer afin d’appliquer les modifications" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "Redémarrer maintenant" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "Fichiers de sauvegarde Planify" # # c-format #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "Remettre à dans 10 minutes" # # c-format #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "Remettre à dans 30 minutes" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "Remettre à dans 1 heure" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "Voir le menu des options" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "Ajoutez des tâches" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "Appuyez sur 'a' pour créer une nouvelle tâche" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "Toutes les tâches ont été accomplies !" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "Excellent travail, il n'y a plus rien à faire 🎉" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "tâche" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "Supprimer la tâche accomplie" msgstr[1] "Supprimer les tâches accomplies" # # c-format #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "%d tâche accomplie et ses sous-tâches sera supprimée" msgstr[1] "%d tâches accomplies et leurs sous-tâches seront supprimées" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" "Aucune étiquette disponible. Créez-en une en cliquant sur le bouton « + »" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "Note" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "Programmer" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "Échéance ?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" "Ajouter quelques tâches. Appuyez sur \"a\" pour créer une nouvelle tâche" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "Actions du projet" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "Nouvelle tâche" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "Échéance du projet" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "Sélectionner" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "Coller" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "Tout développer" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "Nouveau" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "Tout réduire" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "Liste" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "Tableau" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "Tri" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "Ordre de tri personnalisé" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "Date d’ajout" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "Ordre ascendant" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "Échéance" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "Tout (par défaut)" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "Les 7 prochains jours" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "Les 30 prochains jours" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "P1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "P2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "P3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "P4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "Filtrer par étiquettes" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "Montrer les tâches accomplies" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "Afficher les tâches accomplies dans la liste" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "Chercher parmi les tâches accomplies" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "Trier par" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "Reprogrammer" #: src/Views/Today.vala:761 msgid "Me" msgstr "Moi" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "Ajouter des pièces-jointes" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "Ouvrir" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "Aucune pièce-jointe trouvée. Ajoutez des fichiers ici." #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "Contourner la résolution de l'emplacement" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" "Solution de contournement pour les soucis de connexion CalDAV avec les " "configurations utilisant des ports non-standards" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "Avertissement" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" "Cela va désactiver le processus de reconnnaissance de CalDAV.\n" "À vos risques et périls..." #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "Continuer quand même" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "Sous-tâches" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "Afficher plus" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "Afficher moins" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "Signaler un problème" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "Migration de compte requise." #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "Dans %d minute" msgstr[1] "Dans %d minutes" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "Dans %d heure" msgstr[1] "Dans %d heures" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "En ce moment" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "Emplacement" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "Organisateur" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "URL" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Calendrier" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "Rejoindre" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "Désactiver la validation du certificat SSL" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "Non recommandé – vous expose à des risques de sécurité" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" "Cela désactivera la validation SSL et vous exposera à des attaques.\n" "À effectuer à vos risques et périls" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "Tâche non accomplie" # # c-format #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "Tâche déplacée vers le projet" # # c-format #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "Tâche déplacée vers" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "Précédent" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "Épingler : Actif" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "Épingler : Inactif" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "Terminée le" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "Déplacer vers le Projet" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "Marquer comme fait" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "Supprimer la tâche" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "Êtes-vous sûr de vouloir supprimer cette tâche ?" # # c-format #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "Supprimer %d tâche" msgstr[1] "Supprimer %d tâches" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "Êtes-vous sûr de vouloir supprimer cette tâche ?" msgstr[1] "Êtes-vous sûr de vouloir supprimer ces %d tâches ?" # # c-format #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "Tâche déplacée vers %s" msgstr[1] "%d tâches déplacées vers %s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "Nouvelle version disponible !" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" "Mettez à jour dès maintenant pour profiter des dernières améliorations, " "corrections de bugs et nouvelles fonctionnalités qui rendent Planify encore " "meilleur" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "Mettre à jour maintenant" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "Ignorer" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "Désarchiver" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "Aucune sous-tâche n’a encore été ajoutée. Allez-y !" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "Échec de la connexion au serveur" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" "Le serveur semble injoignable.\n" "Êtes-vous connecté à Internet?\n" "Les changements que vous ferez hors-ligne\n" "seront synchronisés lors de la reconnexion." #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "%s est terminé à %.0f%%. Vous pouvez aider à le compléter !" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "Traductions" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "Aidez-nous à rendre Planify disponible dans le monde entier" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "Aidez-nous à améliorer les traductions" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "Commencer une nouvelle traduction" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" "%s n'est pas encore disponible. Soyez le premier à le traduire !" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "Planify - Ajout rapide" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "Utilisé partout" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "Créer une nouvelle tâche" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "Coller du texte brut pour créer une nouvelle tâche" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "Créer un nouveau projet" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "Créer une nouvelle section dans un projet" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "Rechercher" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "Ouvrir la recherche rapide" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "Contrôle des fenêtres" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "Quitter" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Ouvrir les préférences" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "Basculer la barre latérale" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "Ouvrir les raccourcis clavier" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "Parcourir" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "Ouvrir la page d’accueil" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "Ouvrir la Boîte de réception" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "Ouvrir la section Aujourd’hui" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "Ouvrir la section Prévu" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "Ouvrir les étiquettes" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "Ouvrir la section Épinglé" #~ msgid "Advanced Options" #~ msgstr "Options avancées" #~ msgid "Server URL examples:" #~ msgstr "Exemples d'URL de serveur:" #~ msgid "- https://cloud.example.com/" #~ msgstr "- https://nuage.exemple.com/" #~ msgid "- https://example.com/nextcloud/" #~ msgstr "- https://exemple.com/nextcloud/" #~ msgid "Token" #~ msgstr "Jeton" #~ msgid "How to get your token?" #~ msgstr "Comment obtenir votre jeton d'accès?" #~ msgid "2. Find 'API token' and copy your token" #~ msgstr "" #~ "2. Cherchez la mention 'Jeton d'accès API' (\"API token\") puis copiez " #~ "votre jeton d'accès" #~ msgid "Connect with Token" #~ msgstr "Se connecter avec le jeton d'accès" #~ msgid "" #~ "Planify is being developed with love and passion for open source. " #~ "However, if you like Planify and want to support its development, please " #~ "consider supporting us." #~ msgstr "" #~ "Planify est développé avec amour et passion pour l’open source. " #~ "Cependant, si vous aimez Planify et que vous souhaitez aider son " #~ "développement, n’hésitez pas à nous soutenir." #~ msgid "Donate Now" #~ msgstr "Faire un don maintenant" #~ msgid "Enter token" #~ msgstr "Entrez votre jeton d'accès" #~ msgid "Please Enter Your Credentials" #~ msgstr "Veuillez entrer vos informations d’identification" #~ msgid "Loading…" #~ msgstr "Chargement…" #~ msgid "Network Is Not Available" #~ msgstr "Réseau indisponible" #~ msgid "Set a Due Date" #~ msgstr "Définir une date d’échéance" #~ msgid "Set a Deadline" #~ msgstr "Définir une échéance" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "" #~ "Laisser Planify s’exécuter en arrière-plan et envoyer des notifications" #~ msgid "Whether Planify should run on startup" #~ msgstr "Indique si Planify devrait se lancer au démarrage" #~ msgid "Clear" #~ msgstr "Effacer" #~ msgid "Menu" #~ msgstr "Menu" #~ msgid "Add Time" #~ msgstr "Ajouter une heure" #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "Soyez notifié lorsque des tâches ou des événements importants ont lieu. " #~ "Cliquez sur le bouton en forme de cloche ci-dessous pour ajouter un " #~ "rappel." #, fuzzy, c-format #~ msgid "Processing task %d of %d" #~ msgstr "Traitement de la tâche %d sur %d" #~ msgid "Planify is syncing your tasks, this may take a few minutes" #~ msgstr "Planify synchronise vos tâches, cela peut prendre quelques minutes" #~ msgid "Todoist Sync" #~ msgstr "Synchronisation Todoist" #~ msgid "Loading" #~ msgstr "Chargement" #~ msgid "Planner is sync your tasks, this may take a few minutes" #~ msgstr "Planify synchronise vos tâches, cela peut prendre quelques minutes" #~ msgid "Please enter your credentials" #~ msgstr "Veuillez entrer vos informations d’identification" # # c-format #, c-format #~ msgid "Every %d minutes" #~ msgstr "Toutes les %d minutes" # # c-format #, c-format #~ msgid "Every %d hours" #~ msgstr "Toutes les %d heures" # # c-format #, c-format #~ msgid "Every %d days" #~ msgstr "Tous les %d jours" # # c-format #, c-format #~ msgid "Every %d weeks" #~ msgstr "Toutes les %d semaines" # # c-format #, c-format #~ msgid "Every %d months" #~ msgstr "Tous les %d mois" # # c-format #, c-format #~ msgid "Every %d years" #~ msgstr "Toutes les %d années" # # c-format #, c-format #~ msgid "" #~ "This will delete %d completed tasks and their subtasks from project %s" #~ msgstr "" #~ "%d tâches accomplies et leurs sous-tâches seront supprimées du projet %s" # # c-format #, c-format #~ msgid "Load more history from %d weeks ago…" #~ msgstr "Charger l’historique d’il y a %d semaines…" #, fuzzy #~ msgid "Delete Completed Tasks" #~ msgstr "Supprimer les tâches accomplies" # # c-format #, c-format #~ msgid "This will delete %d completed tasks and their subtasks" #~ msgstr "%d tâches accomplies et leurs sous-tâches seront supprimées" # # c-format #, c-format #~ msgid "Delete %d To-Dos" #~ msgstr "Supprimer %d tâches" # # c-format #, c-format #~ msgid "Are you sure you want to delete these %d to-dos?" #~ msgstr "Êtes-vous sûr de vouloir supprimer ces %d tâches ?" #, fuzzy #~ msgid "Backup" #~ msgstr "Sauvegardes" #~ msgid "Task Setting" #~ msgstr "Paramétrage des tâches" #~ msgid "Personal Data" #~ msgstr "Données personnelles" #~ msgid "" #~ "We collect absolutely nothing and all your data is stored in a database " #~ "on your computer." #~ msgstr "" #~ "Nous ne collectons absolument rien et toutes vos données sont stockées " #~ "sur votre ordinateur." #~ msgid "" #~ "If you choose to integrate Todoist, which is optional and not selected by " #~ "default, your data will be stored on their private servers, we only " #~ "display your configured tasks and manage them for you." #~ msgstr "" #~ "Si vous choisissez d’intégrer Todoist, ce qui est optionnel et non " #~ "sélectionné par défaut, vos données seront stockées sur leurs serveurs " #~ "privés, nous ne faisons qu’afficher vos tâches configurées et les gérer " #~ "pour vous." #~ msgid "Do you have any questions?" #~ msgstr "Avez-vous des questions ?" #~ msgid "" #~ "If you have any questions about your data or any other issue, please " #~ "contact us. We will be happy to answer you." #~ msgstr "" #~ "Si vous avez des questions concernant vos données ou tout autre sujet, " #~ "n’hésitez pas à nous contacter. Nous nous ferons un plaisir de vous " #~ "répondre." #~ msgid "Supporting Us" #~ msgstr "Nous soutenir" #~ msgid "" #~ "Our mission is to provide the best open source task management " #~ "application for users all over the world. Your donations support this " #~ "work. Want to donate today?" #~ msgstr "" #~ "Notre mission est de fournir la meilleure application open source de " #~ "gestion des tâches aux utilisateurs du monde entier. Vos dons soutiennent " #~ "ce travail. Vous voulez faire un don aujourd’hui ?" #~ msgid "Support Planify" #~ msgstr "Soutenir Planify" #~ msgid "Clear Schedule" #~ msgstr "Déprogrammer" #~ msgid "Stay open after creating task" #~ msgstr "Rester ouvert après avoir créé la tâche" #~ msgid "Process completed, you need to start Planify again" #~ msgstr "Processus achevé, vous devez redémarrer Planify" #~ msgid "Task Detail" #~ msgstr "Détails de la tâche" #~ msgid "Create a new to-do" #~ msgstr "Créer une nouvelle tâche" #~ msgid "Tag your to-dos!" #~ msgstr "Étiquetez vos tâches !" #~ msgid "What’s new in Planify" #~ msgstr "Quoi de neuf dans Planify" #~ msgid "Inbox as Independent Project" #~ msgstr "Faire de la boîte de réception un projet à part" #~ msgid "" #~ "The Inbox is the default place to add new tasks, allowing you to quickly " #~ "get your ideas out of your head and then plan them when you’re ready." #~ msgstr "" #~ "La boîte de réception est l’endroit par défaut pour ajouter de nouvelles " #~ "tâches, vous permettant de noter vos idées rapidement pour les planifier " #~ "plus tard." #~ msgid "Enhanced Task Duplication" #~ msgstr "Duplication de tâches améliorée" #~ msgid "" #~ "When you duplicate a task now, all subtasks and labels are automatically " #~ "duplicated, saving you time and effort in managing your projects." #~ msgstr "" #~ "Désormais, lorsque vous dupliquez une tâche, toutes les sous-tâches et " #~ "les étiquettes sont automatiquement dupliquées, pour vous faire gagner du " #~ "temps dans la gestion de vos projets" #~ msgid "Duplication of Sections and Projects" #~ msgstr "Duplication des sections et des projets" #~ msgid "" #~ "You can now easily duplicate entire sections and projects, making it " #~ "easier to create new projects based on existing structures." #~ msgstr "" #~ "Vous pouvez désormais facilement dupliquer des sections et des projets " #~ "entiers, facilitant la création de nouveaux projets à partir de " #~ "l’existant." #~ msgid "Project Expiry Date" #~ msgstr "Date d’expiration des projets" #~ msgid "" #~ "Your project’s expiry date now clearly shows the remaining days, helping " #~ "you keep track of your deadlines more effectively." #~ msgstr "" #~ "La date d’expiration de vos projets indiquera plu clairement les jours " #~ "restants, pour suivre vos échéances." #~ msgid "Archiving of Projects and Sections" #~ msgstr "Archivage de projets et de sections" #~ msgid "" #~ "You can now archive entire projects and sections! This feature helps you " #~ "keep your workspace organized and clutter-free." #~ msgstr "" #~ "Vous pouvez désormais archiver des sections et des projets entiers ! " #~ "Cette fonctionnalité vous aide à désencombrer votre espace de travail." #~ msgid "What's New" #~ msgstr "Quoi de neuf" #~ msgid "Are you sure you want to reset all? (y/n): " #~ msgstr "Êtes-vous sûr de vouloir tout réinitialiser ? (y/n) : " #~ msgid "y" #~ msgstr "y" #~ msgid "yes" #~ msgstr "oui" #~ msgid "Couldn't find an app to handle file URIs" #~ msgstr "" #~ "Impossible de trouver une application pour gérer les URIs de fichiers" #~ msgid "Planify" #~ msgstr "Planify" #~ msgid "" #~ "Up to 3 tasks can be pinned and they will appear at the top of the " #~ "project page" #~ msgstr "" #~ "Jusqu’à 3 tâches peuvent être épinglées et elles apparaîtront en haut de " #~ "la page du projet" #~ msgid "No Provider Available" #~ msgstr "Indisponible" #~ msgid "Go to Inbox" #~ msgstr "Ouvrir la boîte de réception" #~ msgid "Order by" #~ msgstr "Trier par" #~ msgid "Integrations" #~ msgstr "Intégrations" #~ msgid "Wait 2500 Milliseconds" #~ msgstr "Attendre 2500 millisec." #~ msgid "Complete Task" #~ msgstr "Accomplissement des tâches" #~ msgid "" #~ "Complete your to-do instantly or wait 2500 milliseconds with the undo " #~ "option" #~ msgstr "" #~ "Marquer vos tâches comme accomplies instantanément ou attendre 2500 " #~ "millisecondes avec l’option annuler" #~ msgid "Top" #~ msgstr "En haut" #~ msgid "Bottom" #~ msgstr "En bas" #~ msgid "Create More" #~ msgstr "Créer plus" #~ msgid "App Theme" #~ msgstr "Thème de l’application" # # c-format #, c-format #~ msgid "Task moved to: %s" #~ msgstr "Tâche déplacée vers : %s" #~ msgid "Telegram" #~ msgstr "Telegram" #~ msgid "Matrix Room" #~ msgstr "Salon de discussion Matrix" #~ msgid "Attention at One" #~ msgstr "Focaliser l’attention" #~ msgid "Add To-Do" #~ msgstr "Ajouter une tâche" #~ msgid "Nextcloud Setup" #~ msgstr "Nextcloud" #~ msgid "Offline Mode Is On" #~ msgstr "Mode hors-ligne activé" #~ msgid "Provider" #~ msgstr "Fournisseur" #~ msgid "Pinned" #~ msgstr "Épingler" #~ msgid "View Details" #~ msgstr "Afficher les détails" #~ msgid "All" #~ msgstr "Tout" #~ msgid "Attach File" #~ msgstr "Fichiers de sauvegarde" #~ msgid "Hide Completed Tasks" #~ msgstr "Masquer les tâches accomplies" #~ msgid "CalDAV - " #~ msgstr "CalDAV" #~ msgid "On this Computer" #~ msgstr "Sur cet ordinateur" #~ msgid "Labels: On This Computer" #~ msgstr "Étiquettes : sur cet ordinateur" #~ msgid "Labels: Todoist" #~ msgstr "Étiquettes : Todoist" #~ msgid "Labels: Nextcloud" #~ msgstr "Étiquettes : Nextcloud" #~ msgid "Synchronize with your Todoist Account" #~ msgstr "Synchroniser avec votre compte Todoist" #~ msgid "Synchronization based on open Internet standards" #~ msgstr "Synchronisation basée sur des standards Internet ouverts" #~ msgid "" #~ "Activate this setting so that Planify automatically synchronizes with " #~ "your CalDAV account every 15 minutes" #~ msgstr "" #~ "Activez ce paramètre pour que Planify se synchronise automatiquement avec " #~ "votre compte CalDAV toutes les 15 minutes" #~ msgid "Failed to login" #~ msgstr "Échec de la connexion" #~ msgid "" #~ "Are you sure you want to remove the Todoist sync? This action will delete " #~ "all your tasks and settings." #~ msgstr "" #~ "Êtes-vous sûr de vouloir supprimer la synchronisation Todoist ? Cette " #~ "action supprimera toutes vos tâches et paramètres." #~ msgid "" #~ "Are you sure you want to remove the CalDAV sync? This action will delete " #~ "all your tasks and settings." #~ msgstr "" #~ "Êtes-vous sûr de vouloir supprimer la synchronisation CalDAV ? Cette " #~ "action supprimera toutes vos tâches et paramètres." #~ msgid "Sign Off" #~ msgstr "Se déconnecter" #~ msgid "CalDAV Setup" #~ msgstr "Configuration CalDAV" #~ msgid "Underline Completed Tasks" #~ msgstr "Souligner les tâches accomplies" #~ msgid "Items" #~ msgstr "Éléments" #~ msgid "Tasks Synced Successfully" #~ msgstr "Tâches synchronisées avec succès" #~ msgid "Do you want to use Todoist as your default Inbox Project?" #~ msgstr "" #~ "Souhaitez-vous utiliser Todoist comme votre projet de boîte de réception " #~ "par défaut ?" # # c-format #~ msgid "Are you sure you want to delete %s?" #~ msgstr "Êtes-vous sûr de vouloir supprimer %s ?" #~ msgid "Custom Sorting in Today View" #~ msgstr "Ordre de tri personnalisé" #~ msgid "Efficient Management of Completed Tasks" #~ msgstr "Souligner les tâches accomplies" #~ msgid "Search by Sections" #~ msgstr "Nouvelle section" #~ msgid "" #~ "The process removes all stored information without the possibility of " #~ "undoing it" #~ msgstr "" #~ "Le processus supprime toutes les informations stockées sans possibilité " #~ "de l’annuler" #~ msgid "Delete project" #~ msgstr "Supprimer le projet" #~ msgid "Delete label" #~ msgstr "Supprimer l’étiquette" #~ msgid "Move tasks" #~ msgstr "Déplacer les tâches" # # c-format #~ msgid "Are you sure you want to move your task to %s?" #~ msgstr "Êtes-vous sûr de vouloir déplacer vos tâches vers %s ?" #~ msgid "Add subtask" #~ msgstr "Ajouter une sous-tâche" #~ msgid "New look" #~ msgstr "Nouveau look" #~ msgid "" #~ "The design has been improved and new icons have been added making the " #~ "user interface simpler to understand and use.." #~ msgstr "" #~ "Le design a été amélioré et de nouvelles icônes ont été ajoutées, " #~ "clarifiant l’interface utilisateur…" #~ msgid "pinboard" #~ msgstr "épinglé" #~ msgid "Add reminder(s)" #~ msgstr "Ajouter un / des rappel(s)" #~ msgid "Reset all" #~ msgstr "Tout réinitialiser" #~ msgid "To-do added" #~ msgstr "Tâche ajoutée" #~ msgid "No tasks found" #~ msgstr "Aucune tâche trouvée" #~ msgid "Press 'a' or tap the plus button to create a new to-do" #~ msgstr "Tapez 'a' ou cliquez sur le bouton + pour créer une nouvelle tâche" #~ msgid "Improved drag-and-drop sorting" #~ msgstr "Tri par le glisser-déposé amélioré" #~ msgid "" #~ "Added a new animation and a new way of sorting making it cleaner and " #~ "easier." #~ msgstr "" #~ "Ajout d’une nouvelle animation et d’une nouvelle façon de trier pour plus " #~ "de propreté et de facilité." #~ msgid "" #~ "Drag and drop has been improved, now it shows you a friendly animation to " #~ "sort the elements in an easier way." #~ msgstr "" #~ "La fonction glisser-déposer a été améliorée  : une animation sympathique " #~ "vous permet désormais de trier les éléments plus facilement." #~ msgid "Support for sub-projects" #~ msgstr "Prise en charge des sous-projets" #~ msgid "" #~ "Create a sub-project just by dragging and dropping or by using the magic " #~ "button and dropping into the parent project." #~ msgstr "" #~ "Créez un sous-projet par simple glisser-déposer ou en utilisant le bouton " #~ "magique et en le déposant dans le projet parent." #~ msgid "" #~ "Creating sub projects is now easier, just drag the child sub project into " #~ "the parent project, Planify will do the rest.\n" #~ "If you want a sub project to no longer be part of a parent project, just " #~ "drag it out." #~ msgstr "" #~ "La création de sous-projets est désormais plus facile : il suffit de " #~ "faire glisser le sous-projet enfant dans le projet parent, Planify se " #~ "chargera du reste.\n" #~ "Si vous souhaitez qu’un sous-projet ne fasse plus partie d’un projet " #~ "parent, il suffit de le faire glisser." #~ msgid "The Magic Button" #~ msgstr "Le bouton magique" #~ msgid "" #~ "Just drag and drop to add tasks wherever you want and in the order you " #~ "want." #~ msgstr "" #~ "Il suffit de glisser-déposer pour ajouter des tâches où vous voulez et " #~ "dans l'ordre que vous voulez." #~ msgid "" #~ "Drag the magic button to create your tasks wherever you want. You can " #~ "also create sub-tasks by dropping the magic button inside a parent task." #~ msgstr "" #~ "Faites glisser le bouton magique pour créer vos tâches où vous le " #~ "souhaitez. Vous pouvez également créer des sous-tâches en déposant le " #~ "bouton magique à l’intérieur d’une tâche parent." #~ msgid "Board View" #~ msgstr "Vue en tableau" #~ msgid "Have an overview of your tasks without losing sight of the details." #~ msgstr "" #~ "Ayez une vue d’ensemble de vos tâches sans perdre de vue les détails." #~ msgid "Google Tasks" #~ msgstr "Google Tasks" #~ msgid "No to-dos for this filter yet" #~ msgstr "Pas de tâches avec ce filtre pour l’instant." #~ msgid "Synchronize with your Google Account" #~ msgstr "Synchroniser avec votre compte Google" #~ msgid "" #~ "Are you sure you want to remove the Google Tasks sync? This action will " #~ "delete all your tasks and settings." #~ msgstr "" #~ "Êtes-vous sûr de vouloir supprimer la synchronisation Google Tasks ? " #~ "Cette action supprimera toutes vos tâches et paramètres." #~ msgid "Delete section" #~ msgstr "Supprimer la section" #~ msgid "Add a description" #~ msgstr "Ajouter une description" #~ msgid "Add section" #~ msgstr "Ajouter une section" #~ msgid "Synchronizing. Wait a moment please." #~ msgstr "Synchronisation. Patientez un instant s’il vous plaît." #~ msgctxt "shortcut window" #~ msgid "Show/hide Sidebar" #~ msgstr "Afficher/masquer la barre latérale" # # c-format #~ msgid "Diplicate" #~ msgstr "Dupliquer" #~ msgid "Move to Section" #~ msgstr "Déplacer vers la section" #~ msgid "My new to-do" #~ msgstr "Ma nouvelle tâche" #~ msgid "Quick Add Improvements" #~ msgstr "Améliorations de la fonctionnalité d’Ajout rapide" #~ msgid "" #~ "Now supports project selection, due date, priority, labels and pinned." #~ msgstr "" #~ "Prend désormais en charge la sélection de projets, la date d’échéance, la " #~ "priorité, les étiquettes et l’épinglage." #~ msgid "Sidebar filter settings" #~ msgstr "Paramètres de filtrage de la barre latérale" #~ msgid "It is now possible to re-order, hide filters and the task cutter." #~ msgstr "" #~ "Il est désormais possible de ré-ordonner, masquer les filtres et " #~ "catégories de tâches." #~ msgid "Backup support" #~ msgstr "Prise en charge des sauvegardes" #~ msgid "" #~ "It is now possible to create a backup copy and import it from somewhere " #~ "else. Planify will import all your tasks and settings." #~ msgstr "" #~ "Il est désormais possible de créer une copie de sauvegarde de l’importer " #~ "depuis un autre emplacement. Planify importera toutes vos tâches et vos " #~ "paramètres." #~ msgid "Offline support for Todoist" #~ msgstr "Mode hors-ligne pour Todoist" #~ msgid "" #~ "You were without internet, keep using Planify with Todoist, the tasks " #~ "will be saved locally and synchronized when the connection returns." #~ msgstr "" #~ "Si vous étiez sans connexion internet, vous pouvez continuer à utiliser " #~ "Planify avec Todoist, les tâches seront enregistrées localement et " #~ "synchronisées lorsque la connexion sera rétablie." #~ msgid "Sort Settings" #~ msgstr "Paramètres de tri" #~ msgid "Description preview" #~ msgstr "Visualisation de la description" #~ msgid "AM" #~ msgstr "AM" #~ msgid "PM" #~ msgstr "PM" #~ msgid ":" #~ msgstr ":" #~ msgid "Version 4.1.1" #~ msgstr "Version 4.1.1" #~ msgid "" #~ "When you open up Planify, make sure you see the to-dos that are most " #~ "important. The default homepage is your Inbox view, but you can " #~ "change it to whatever you'd like." #~ msgstr "" #~ "Assurez-vous de voir les tâches les plus importantes directement à " #~ "l’ouverture de Planify. La page d’accueil par défaut est la vue de votre " #~ "Boîte de réception, mais vous pouvez la modifier." #~ msgid "Set a custom shortcut in System Settings" #~ msgstr "Définissez un raccourci personnalisé dans les paramètres Système" alainm23-planify-69962f8/po/ga.po000066400000000000000000002514571517337276100164560ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:09+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Irish \n" "Language: ga\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/gl.po000066400000000000000000002510671517337276100164660ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:01+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Galician \n" "Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/he.po000066400000000000000000002602561517337276100164600ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: alainmh23@gmail.com\n" "POT-Creation-Date: 2025-11-02 17:57+0000\n" "PO-Revision-Date: 2026-03-08 14:09+0000\n" "Last-Translator: \"Omer I.S.\" \n" "Language-Team: Hebrew \n" "Language: he\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Weblate 5.17-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "פרויקטי�" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "מדור" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "מטלות" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "תוויות" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "מסנני�" #: core/Enum.vala:186 msgid "Lists" msgstr "רשימות" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "�ל תחזור" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "כל דקה" msgstr[1] "כל %d דקות" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "כל שעה" msgstr[1] "כל %d שעות" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "כל יו�" msgstr[1] "כל %d ימי�" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "כל שבוע" msgstr[1] "כל %d שבועות" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "כל חודש" msgstr[1] "כל %d חודשי�" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "כל שנה‪‪" msgstr[1] "כל %d שני�" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "�Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "עדיפות" #: core/Enum.vala:348 msgid "Label" msgstr "תווית" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "ת�ריך יעד" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "מדור" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "מטלה נוצרה" #: core/Enum.vala:472 msgid "Task Updated" msgstr "מטלה עודכנה" #: core/Enum.vala:528 msgid "Content" msgstr "תוכן" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "תי�ור" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "מתוזמן" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "הצמד" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "כל המטלות" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "כל המטלות" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "הכל" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "כל זמן" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "כל זמן" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "מסנני�" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "לל� ת�ריך" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "הושל�" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "הושל�" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "יומן �ירועי�" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "דו�ר נכנס" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "דו�ר נכנס" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "תוויות" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "לוח מודעות" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "עדיפות 1: גבוהה" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "עדיפות 2: בינונית" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "עדיפות 3: נמוכה" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "עדיפות 4: לל�" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "גבוהה" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "בינונית" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "נמוכה" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "לל�" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "חזרה" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "חזרה" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "מתוזמן" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "מתקרב" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "היו�" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "היו�" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "מחר" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "מחר" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "ת�ריך" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "לל� תווית" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "�ין תווית" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "לל� תווית" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "המטלה הועתקה ללוח" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "המטלה הועברה �ל %s" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "מחק תווית %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "ל� ניתן לבטל" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "ביטול" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "מחק" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "הפרויקט הועתק ללוח." #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "ה�� למחוק �ת הפרויקט %s?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "ה�� להעביר ל�רכיון?" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "זה יעביר ל�רכיון %s ו�ת כל המטלות שלו." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "�רכיון" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "מחק �ת המדור %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "המטלה נוספה בהצלחה!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "ש� מטלה" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "שדה זה נדרש" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "הוסף תי�ור…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "הגדר ת�ריך" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "הוסף תוויות" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "הגדר �ת העדיפות" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "הוסף תזכורות" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "הוסף מטלה" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "המשך להוסיף" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "בחר פרויקט" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "מצטער, \"הוספה מהירה\" ל� מצ�ה �ף פרויקט זמין, נסה ליצור פרויקט מ-Planify." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "קיצורי מקלדת" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "ה�ץ יצירת מטלות ב�מצעות קיצורי הדרך ה�לה" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "הגדר חשיבות" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "הוסף תוויות" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "פותח �ת בורר התוויות" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "שיוך פרויקט" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "פותח �ת בורר הפרויקטי�" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "הגדר תזכורת" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "פותח �פשרויות תזכורת" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "עצה" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "המשימות עבור %s נטענות…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "המשימות עבור %s נטענו…" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "המקור כבר קיי�" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "הסנכרון מתחיל…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "במחשב זה" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "הבקשה הייתה שגויה." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "�תמול" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "ימי�" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "יו�" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "ב׳," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "ג׳," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "ד׳," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "ה׳," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "ו׳," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "ש׳," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "�׳," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "כתו�" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "צהוב" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "ירוק זית" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "ירוק לימון" #: core/Utils/Util.vala:47 msgid "Green" msgstr "ירוק" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "ירוק מנטה" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "טורקיז" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "תכלת" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "כחול בהיר" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "כחול" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "�פור" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "בהיר" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "כהה" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "כחול כהה" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "למחוק הכול" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "�ישור" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "במחשב זה" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "נעי� מ�וד, Planify" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "יצירת משימה חדשה" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "יצירת מיז�" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "סיימת!" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "הפעלת סנכרון ע� שירותי צד שלישי" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼� עבודה" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒� לימודי�" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "�� בית" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "הבחירה שוכפלה" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "המיז� שוכפל" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 דקות קוד�" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "לפני חצי שעה" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 דקות קוד�" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "שעה קוד�" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "שעתיי� קוד�" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 שעות קוד�" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "חזרה" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "החודש הקוד�" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "החודש הב�" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "�׳" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "ב׳" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "ג׳" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "ד׳" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "ה׳" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "ו׳" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "ש׳" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "שעה" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "עד" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "חזרה" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "שבוע הב�" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "שמירה" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "ימי השבוע" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "סופי שבוע" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "כל שבוע" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "כל חודש" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "כל שנה" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "דקה/דקות" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "שעה/שעות" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "יו�/ימי�" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "שבוע/שבועות" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "חודש/חודשי�" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "שנה/שני�" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "�ף פע�" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "בת�ריך" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "ל�חר" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "החלה" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "חזרה כל" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "חיפוש" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "חיפוש �ו יצירה" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "הסרת קישור" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "עדיפות 4: לל�" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "עדיפות 1: גבוהה" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "עדיפות 2: בינונית" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "עדיפות 3: נמוכה" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "עדיפות 1: בינונית" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "עדיפות 1: נמוכה" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "תזכורות" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "הוספת תזכורת" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "מצב" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "מטלה" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "השלמה" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "סנכרון לוח שנה" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "הפעלת סנכרון" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "סנכרון לוח השנה פעיל" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "השבתת סנכרון" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "בסנכרון ע�: %s" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "הסנכרון מופעל!" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "�ישור" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "משימות שהושלמו" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "סינון לפי" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "שבוע הב�" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "תווית חדשה" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "עריכת תווית" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "הוספת תווית" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "עדכון תווית" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "המטלה הועברה �ל %s" msgstr[1] "%d מטלות עברו �ל %s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/hi.po000066400000000000000000003770501517337276100164650ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:56+0000\n" "Last-Translator: oo nth \n" "Language-Team: Hindi \n" "Language: hi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "परियोजना�ं" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "अन�भाग" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "कार�य" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "लेबल" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "फिल�टर" #: core/Enum.vala:186 msgid "Lists" msgstr "सूचियां" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "दोहरा�ं नहीं" #: core/Enum.vala:216 #, fuzzy, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "हर मिनट" msgstr[1] "हर मिनट" #: core/Enum.vala:218 #, fuzzy, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "हर घंटे" msgstr[1] "हर घंटे" #: core/Enum.vala:220 #, fuzzy, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "हर दिन" msgstr[1] "हर दिन" #: core/Enum.vala:222 #, fuzzy, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "हर हफ�ते" msgstr[1] "हर हफ�ते" #: core/Enum.vala:224 #, fuzzy, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "हर महीने" msgstr[1] "हर महीने" #: core/Enum.vala:226 #, fuzzy, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "हर वर�ष" msgstr[1] "हर वर�ष" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "वरीयता" #: core/Enum.vala:348 msgid "Label" msgstr "लेबल" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "देय तारीख" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "अन�भाग" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "कार�य निर�मित" #: core/Enum.vala:472 msgid "Task Updated" msgstr "कार�य अद�यतित" #: core/Enum.vala:528 msgid "Content" msgstr "सामग�री" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "विवरण" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "अन�सूचित" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "पिन" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "सभी कार�य" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "सभी कार�य" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "सभी" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "किसी भी समय" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "किसी भी समय" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "फिल�टर" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "कोई तारीख नहीं" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "पूर�ण" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "पूर�ण" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "कार�यपंजी" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "इनबॉक�स" #: core/Objects/Filters/Inbox.vala:36 #, fuzzy msgid "inbox" msgstr "इनबॉक�स" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "लेबल" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "पिनबोर�ड" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "वरीयता 1: उच�च" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "वरीयता 2: मध�यम" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "वरीयता 3: निम�न" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "वरीयता 4: कोई नहीं" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "उच�च" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "मध�यम" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "निम�न" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "कोई नहीं" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "दोहराया जा रहा है" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "दोहराया जा रहा है" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "अन�सूचित" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "आगामी" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "आज" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "आज" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "कल" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "कल" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "तारीख" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "लेबल नहीं किया गया" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "कोई लेबल नहीं" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "लेबल नहीं किया गया" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "कार�य को क�लिपबोर�ड पर कॉपी किया गया" # # c-format #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "कार�य को %s पर भेजा गया" # # c-format #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "लेबल %s मिटा�ं" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "इसे पूर�ववत नहीं किया जा सकता" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "रद�द करें" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "मिटा�ं" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "परियोजना को क�लिपबोर�ड पर कॉपी किया गया था।" # # c-format #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "परियोजना %s मिटा�ं?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "संग�रहित करें?" # # c-format #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "यह %s और उसके सभी कार�यों को संग�रहीत करेगा।" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "संग�रहीत करें" # # c-format #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "अन�भाग %s मिटा�ं" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 #, fuzzy msgid "Task added successfully!" msgstr "परियोजना सफलतापूर�वक जोड़ी गई!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "कार�य नाम" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "यह क�षेत�र आवश�यक है" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "विवरण जोड़ें…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "लेबल जोड़ें" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "वरीयता तय करें" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "रिमाइंडर जोड़ें" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "कार�य जोड़ें" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 #, fuzzy msgid "Select a Project" msgstr "परियोजना मिटा�ं" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "म��े खेद है, शीघ�र जोड़ने हेत� कोई भी परियोजना उपलब�ध नहीं है। प�लॅानिफाई से �क परियोजना " "बनाने का प�रयास करें।" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "कीबोर�ड शॉर�टकट" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 #, fuzzy msgid "Set priority" msgstr "वरीयता तय करें" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 #, fuzzy msgid "Add labels" msgstr "लेबल जोड़ें" #: core/QuickAddCore.vala:1427 #, fuzzy msgid "Opens label selector" msgstr "लेबल खोलें" #: core/QuickAddCore.vala:1428 #, fuzzy msgid "Assign project" msgstr "परियोजना जोड़ें" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 #, fuzzy msgid "Set reminder" msgstr "समयान�कूल रिमाइंडर लगा�ं!" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 #, fuzzy msgid "Tip" msgstr "ऊपर" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, fuzzy, c-format msgid "Loading tasks for %s…" msgstr "लोड हो रहा है…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, fuzzy, c-format msgid "Syncing %s…" msgstr "समन�वयन..." #: core/Services/CalDAV/Core.vala:260 #, fuzzy msgid "Sync completed" msgstr "पूर�ण" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "इस कंप�यूटर पर" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "अन�रोध गलत था।" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "प�रमाणीकरण आवश�यक है, या तो विफल ह�आ या प�रदान नहीं किया गया।" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "अन�रोध मान�य था, लेकिन निषिद�ध चीज़ के लि�।" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "अन�रोधित संसाधन नहीं मिला।" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "उपयोक�ता ने निश�चित समय में बह�त अधिक अन�रोध भेजे हैं।" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "सर�वर त�र�टि के कारण अन�रोध विफल ह�आ।" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "सर�वर अन�रोध संभालने में फिलहाल असमर�थ है।" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "अज�ञात त�र�टि" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "बिता कल" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "दिन" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "दिन" # # c-format #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "%s %s पहले" # # c-format #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "%s %s शेष" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "सोम," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "मंगल," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "ब�ध," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "ग�र�," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "श�क�र," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "शनि," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "रवि," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "बेरी लाल" #: core/Utils/Util.vala:42 msgid "Red" msgstr "लाल" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "नारंगी" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "पीला" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "जैतून हरा" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "नीबू हरा" #: core/Utils/Util.vala:47 msgid "Green" msgstr "हरा" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "प�दीना हरा" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "टील" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "आसमानी नीला" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "हल�का नीला" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "नीला" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "अंगूर" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "बैंगनी" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "लैवेंडर" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "मैजेंटा" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "सैल�मन" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "चारकोल" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "स�लेटी" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "तौपे" #: core/Utils/Util.vala:218 msgid "Light" msgstr "हल�का" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "गहरा" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "गहरा नीला" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "कोई नहीं" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "आज + इनबॉक�स" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "सभी मिटा�ं" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "प�रक�रिया पूर�ण, प�लॅानिफाई फिर श�रू करें।" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "ठीक है" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "इस कंप�यूटर पर" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "प�लॅानिफाई से मिलें" #: core/Utils/Util.vala:590 #, fuzzy msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "यह परियोजना वह सब क�छ दिखती है जो आपको प�लॅानिफाई के उपयोग हेत� जानना आवश�यक है। इसमें " "बे�ि�क बदलाव करें - सेटिंग से हमेशा �क नया बना सकते हैं।" #: core/Utils/Util.vala:597 #, fuzzy msgid "Tap this task" msgstr "इस कार�य को टैप करें" #: core/Utils/Util.vala:598 #, fuzzy msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" "आप �क कार�य को देख रहे हैं! बाईं ओर चेकबॉक�स पर टैप करके इसे पूरा करें। पूर�ण कि� ग� कार�य " "परियोजना के निचले भाग में �कत�र कि� जाते हैं।" #: core/Utils/Util.vala:603 #, fuzzy msgid "Create a new task" msgstr "नया कार�य बना�ं" #: core/Utils/Util.vala:604 #, fuzzy msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "अब आपकी बारी है, अपने परियोजना के नीचे '+' बटन पर टैप करें, कोई भी लंबित दर�ज करें और " "नीले 'सहेजें' बटन पर टैप करें।" #: core/Utils/Util.vala:609 #, fuzzy msgid "Plan this to-do for today or later" msgstr "आज या बाद में यह कार�य करने की योजना बना�ं" #: core/Utils/Util.vala:610 #, fuzzy msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "यह कार�य कब करना है यह तय करने के लि� नीचे दि� ग� कैलेंडर बटन को दबा�ं।" #: core/Utils/Util.vala:615 #, fuzzy msgid "Reorder your to-dos" msgstr "अपने कार�यों का क�रम बदलें" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "सूची का क�रम बदलने हेत� कार�य पर टैप करके नये स�थान तक खीचें।" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "�क परियोजना बना�ं" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "अपने कार�यों को बेहतर ढंग से व�यवस�थित करें! बा�ं पैनल पर जा�ं और 'इस कंप�यूटर पर' अन�भाग में " "'+' बटन पर क�लिक करें और ख�द की �क परियोजना जोड़ें।" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "बस, हो गया!" #: core/Utils/Util.vala:628 #, fuzzy msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "इतना ही जानने की जरूरत है। बे�ि�क परियोजना�ं और कार�य जोड़ना श�रू करें।\n" "नीचे दी गई उन�नत खासियतों को जानने के लि� आप बाद में इस परियोजना पर वापस आ सकते हैं।\n" "हमें आशा है कि आपको प�लॅानिफाई के उपयोग में मज़ा आ�गा!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "सेटअप बेहतर बना�ं" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "कैलेंडर कार�यक�रम दिखा�ं" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "सिस�टम के कैलेंडर कार�यक�रमों को प�लॅानिफाई में दिखाया जा सकता है। इसे चालू करने के लि� " "'प�राथमिकता�ं' 🡒 सामान�य 🡒 कैलेंडर कार�यक�रम पर जा�ं।" #: core/Utils/Util.vala:657 #, fuzzy msgid "Enable synchronization with third-party services" msgstr "तृतीय-पक�ष सेवा के साथ समन�वयन सक�षम करें।" #: core/Utils/Util.vala:658 #, fuzzy msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "प�लॅानिफाई स�थानीय कार�यों को बनाने के साथ ही Todoist खाते को भी समन�वयन कर सकता है। " "'प�राथमिकता�ं' 🡒 'खाते' पर जा�ं।" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "अपनी उत�पादकता बढ़ा�ं" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "प�लस बटन खींचें!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "स�क�रीन के नीचे की और दिखाई देने वाला नीला बटन शक�तिशाली है: इसे खिंचा जा सकता है! जहां " "कार�य बनाना चाहते हैं वहां इसे खींच कर ले जा�ं।" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 #, fuzzy msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "टैग प�लॅानिफाई में कार�यप�रवाह को बेहतर बनता है। टैग जोड़ने के लि� नीचे दि� ग� टैग बटन पर " "क�लिक करें।" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "समयान�कूल रिमाइंडर लगा�ं!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼�दफ�तर" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒�स�कूल" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉�प�रत�यायोजित" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "��घर" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀��अन�सरण" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "कार�य प�रतिरूपित" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "अन�भाग प�रतिरूपित" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "परियोजना प�रतिरूपित" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "नियत समय पर" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 मिनट पहले" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 मिनट पहले" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 मिनट पहले" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 घंटा पहले" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 घंटे पहले" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 घंटे पहले" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%OB" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "पीछे" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "कोई तारीख च�नें" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "रवि" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "सोम" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "मंगल" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "ब�ध" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "ग�र�" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "श�क�र" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "रवि" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "समय" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "यहां तक" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "में" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "बार" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "बार" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "दोहरा�ं" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "अगले हफ�ते" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "प�रतिदिन" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 #, fuzzy msgid "Weekdays" msgstr "साप�ताहिक" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 #, fuzzy msgid "Weekends" msgstr "हफ�ता(ते)" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "साप�ताहिक" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "मासिक" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "वार�षिक" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "तदन�कूल" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "मिनट(टों)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "घंटा(टे)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "दिन(नों)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 #, fuzzy msgid "Week(s)" msgstr "साप�ताहिक" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "महीना(ने)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "वर�ष(र�षों)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "कभी नहीं" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "इस तारीख पर" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "बाद" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "दोहरा�ं हर" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "अंत" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "लेबल च�नें" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "आपकी फिल�टर सूची यहां दिखाई देगी। नाम दर�ज करके और Enter दबा कर �क बना�ं।" # # c-format #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "'%s' बना�ं" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "आपकी रिमाइंडर सूची यहां दिखाई देगी। '+' बटन पर क�लिक करके �क जोड़ें।" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "खोजें" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "खोजें या बना�ं" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 #, fuzzy msgid "Remove link" msgstr "हटा�ं" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "वरीयता 4: कोई नहीं" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "वरीयता 1: उच�च" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "वरीयता 2: मध�यम" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "वरीयता 3: निम�न" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "वरीयता 1: मध�यम" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "वरीयता 1: निम�न" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 #, fuzzy msgid "Your list of section will show up here." msgstr "आपकी रिमाइंडर सूची यहां दिखाई देगी। '+' बटन पर क�लिक करके �क जोड़ें।" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "कोई अन�भाग नहीं" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "खोज लिखें" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "रिमाइंडर" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "आपकी रिमाइंडर सूची यहां दिखाई देगी। '+' बटन पर क�लिक करके �क जोड़ें।" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "रिमाइंडर जोड़ें" # # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 #, fuzzy msgid "In 5 minutes" msgstr "हर %d मिनट" # # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 #, fuzzy msgid "In 15 minutes" msgstr "हर %d मिनट" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 #, fuzzy msgid "In 30 minutes" msgstr "30 मिनट पहले" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "अन�भाग निर�धारित करें" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "अन�भाग च�नें" #: core/Widgets/StatusButton.vala:32 #, fuzzy msgid "Set The Status" msgstr "वरीयता तय करें" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "स�थिति" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "लंबित" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "पूर�ण" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "जब यह उपकरण चालू होगा तो प�लॅानिफाई स�वचालित रूप से प�रारंभ हो जा�गा और विंडो बंद होने " "पर भी चलेगा ताकि यह कार�य संबंधी अधिसूचना�ं भेज सके।" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 #, fuzzy msgid "Completed Tasks" msgstr "कार�य पूर�ण करें" #: src/Dialogs/CompletedTasks.vala:59 #, fuzzy msgid "View Filter Menu" msgstr "विकल�प मेनू देखें" #: src/Dialogs/CompletedTasks.vala:95 #, fuzzy msgid "No completed tasks yet." msgstr "पूर�ण कार�य दिखा�ं" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "सभी पूर�ण कार�य मिटा�ं" # # c-format #: src/Dialogs/CompletedTasks.vala:165 #, fuzzy, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" "यह परियोजना %2$s से %1$d पूर�ण कि� ग� कार�यों और उनके उप-कार�यों को मिटा देगा" msgstr[1] "" "यह परियोजना %2$s से %1$d पूर�ण कि� ग� कार�यों और उनके उप-कार�यों को मिटा देगा" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "�से फिल�टर करें" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "अगले हफ�ते" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "कोई तारीख नहीं" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "संपन�न" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "इतिहास बदलें" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "समय जोड़ा" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "उपलब�ध नहीं" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "समय अद�यतित" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "जब परिवर�तन करना श�रू करेंगे तो आपका परिवर�तन इतिहास यहां प�रदर�शित किया जा�गा।" # # c-format #: src/Dialogs/ItemChangeHistory.vala:138 #, fuzzy, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "%d सप�ताह पहले का और इतिहास लोड करें…" msgstr[1] "%d सप�ताह पहले का और इतिहास लोड करें…" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "नया लेबल" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "लेबल संपादन" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "अपने लेबल को नाम दें" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "लेबल जोड़ें" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "लेबल अद�यतन" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "फिल�टर" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "संग�रहीत परियोजना�ं" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "अन�भाग प�रबंधित करें" #: src/Dialogs/ManageSectionOrder.vala:54 #, fuzzy msgid "You can sort your sections by dragging and dropping" msgstr "आप अपने विचारों को खींचकर और छोड़ कर छांट सकते हैं" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "संग�रहीत" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(कोई अन�भाग नहीं)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "खाते" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "स�रोत" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 #, fuzzy msgid "Inbox Page" msgstr "इनबॉक�स" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 #, fuzzy msgid "You can sort your accounts by dragging and dropping" msgstr "आप अपने विचारों को खींचकर और छोड़ कर छांट सकते हैं" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 #, fuzzy msgid "Change Inbox" msgstr "इनबॉक�स खोलें" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 #, fuzzy msgid "Syncing…" msgstr "समन�वयन..." #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "सर�वर URL" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 #, fuzzy msgid "Username" msgstr "उपयोक�ता नाम" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "पासवर�ड" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 #, fuzzy msgid "Calendar Home URL" msgstr "कैलेंडर कार�यक�रम" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "लॉगिन" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 #, fuzzy msgid "Inbox Project" msgstr "नई परियोजना" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "स�रोत" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "प�रदर�शन नाम" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "समन�वयन सर�वर" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" "इस सेटिंग को सक�रिय करें ताकि प�लॅानिफाई स�वचालित रूप से हर 15 मिनट में आपके Todoist खाते " "के साथ समन�वयित हो जा�" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "अंतिम समन�वयन" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 #, fuzzy msgid "Delete Source" msgstr "अन�भाग मिटा�ं" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "अन�भाग मिटा�ं" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "समन�वयन..." #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "दिखावट" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "सिस�टम सेटिंग का उपयोग" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 #, fuzzy msgid "Select theme" msgstr "च�नें" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "हल�की शैली" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "गहरी शैली" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "गहरे नीले रंग की शैली" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "बैकअप" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" "अपना डेटा खोने की चिंता कभी न करें। आप अपनी सक�रिय परियोजनाओं, कार�यों और टिप�पणियों का " "बैकअप बना सकते हैं और बाद में उन�हें आयात कर सकते हैं।" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "बैकअप बना�ं" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "बैकअप आयात करें" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "बैकअप फाइलें" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "कोई खाता उपलब�ध नहीं है, '+' बटन पर क�लिक करके किसी �क को समन�वयित करें" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "प�रवासन" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "प�लानर से प�रवासन" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "कार�य प�रवासन सफल" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "कार�य प�रवासन सफल" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "डेटाबेस फाइल मौजूद नहीं है।" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "चयनित फाइल अमान�य है" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "बैकअप देखें" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "डाउनलोड" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "आयात अवलोकन" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "स�रोत" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "कार�य" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "प�ष�टि करें" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "बैकअप बहाल" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" "क�या आप वाकई जारी रखना चाहते हैं? यह अभियान आपके वर�तमान डेटा को मिटा देगा और इसे " "बैकअप डेटा से बदल देगा।" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "बैकअप बहाल" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "सामान�य" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "तदन�कूल छंटाई क�रम" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "वर�णान�क�रम" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "�से छांटें" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "आरोही" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "अवरोही" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "क�रम" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "DE �कीकरण" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "श�र�आत पर चला�ं" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "पृष�ठभूमि में चला�ं" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "कैलेंडर कार�यक�रम" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "तारीख और समय" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24 घंटे" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12 घंटे" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "घड़ी प�रारूप" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "रविवार" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "सोमवार" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "मंगलवार" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "ब�धवार" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "ग�र�वार" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "श�क�रवार" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "शनिवार" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "हफ�ते का प�रारम�भ" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 #, fuzzy msgid "Home View" msgstr "म�ख पृष�ठ" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "शीघ�र जोड़ें" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" "बस क�छ कीस�ट�रोक�स के साथ अपने डेस�कटॉप पर कहीं से भी करने-हेत� कार�य बनाने के लि� शीघ�र जोड़ें " "का उपयोग करें। आपको वह �प छोड़ने की भी ज़रूरत नहीं है जिसमें आप वर�तमान में हैं।" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" "सिस�टम सेटिंग → कीबोर�ड → शॉर�टकट → तदन�कूल पर जा�ं, फिर निम�नलिखित के साथ �क नया " "शॉर�टकट जोड़ें:" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "सेटिंग" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "अंतिम चयनित परियोजना सहेजें" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "यदि जांचा नहीं गया है, तो चयनित तयश�दा परियोजना इनबॉक�स है" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "कमांड को क�लिपबोर�ड पर कॉपी किया गया था" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "पार�श�वपट�टी" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "पार�श�वपट�टी में दिखा�ं" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "कार�य संख�या दिखा�ं" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "पार�श�वपट�टी की चौड़ाई" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "आप अपने विचारों को खींचकर और छोड़ कर छांट सकते हैं" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "कार�य सेटिंग" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 #, fuzzy msgid "Complete Instantly" msgstr "त�रंत" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 #, fuzzy msgid "Complete with Undo" msgstr "पूर�ण" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 #, fuzzy msgid "Task Completion" msgstr "कार�य पूर�ण की ध�वनि" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "वरीयता 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "वरीयता 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "वरीयता 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "तयश�दा वरीयता" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "पूर�ण कार�य पर काटा लगा�ं" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "नई कार�य स�थिति" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "हमेशा पूर�ण उप-कार�य दिखा�ं" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "कार�य पूर�ण की ध�वनि" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "कार�य पूर�ण होने पर ध�वनि बजा�ं" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 #, fuzzy msgid "Open Tasks in Sidebar View" msgstr "पार�श�वपट�टी दृश�य में कार�य खोलें" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 #, fuzzy msgid "Always Show Details Sidebar" msgstr "पार�श�वपट�टी में दिखा�ं" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "सक�रिय" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "स�वचालित रिमाइंडर" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" "सक�षम होने पर, कार�य के नियत समय से पहले �क रिमाइंडर तयश�दा रूप से जोड़ दिया जा�गा।" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "प�राथमिकता�ं" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "अपने पसंदीदा कार�य प�रदाताओं को समन�वयित करें" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "पसंद के अन�सार अन�कूलित करें" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "पार�श�वपट�टी अन�कूलित करें" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "कहीं से भी कार�यों को जोड़ें" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "प�लानर से बैकअप या प�रवासन करें।" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "प�रशिक�षण परियोजना बना�ं" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "�क संक�षिप�त प�रशिक�षण परियोजना के साथ चरण दर चरण �प सीखें" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "क�या मेरे लि� शीतल पेय खरीदना चाहते हैं?" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "हम तक पह�ंचें" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "हमसे संपर�क करें" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "किसी स�विधा के लि� अन�रोध करें या हमसे क�छ भी पूछें" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "हमें ट�वीट करें" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "क�छ प�यार बा�टें" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "चर�चा करें और अपनी प�रतिक�रिया सा�ा करें" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "गोपनीयता" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "गोपनीयता नीति" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "हमारे पास आपका क�छ नहीं है" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "�प डेटा मिटा�ं" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "�क प�रशिक�षण परियोजना बनाया गया" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "सभी डेटा मिटा�ं?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "आपकी सभी सूचियां, कार�य और रिमाइंडर को अपरिवर�तनीय रूप से मिटा देता है" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "सारांश" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "और बना�ं" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "इस सप�ताह" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "इस महीने" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "अतिदेय" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "नई परियोजना" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "परियोजना संपादन" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "अपने परियोजना को �क नाम दें" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "इमोजी का प�रयोग करें" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "परियोजना जोड़ें" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "परियोजना अद�यतन" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "परियोजना सफलतापूर�वक जोड़ी गई!" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "स�थानांतरण" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "शीघ�र खोज" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "परियोजनाओं और दृश�यों को शीघ�र रूप से बदलें, कार�य खोजें, लेबल द�वारा खोजें" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "नया अन�भाग" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "अन�भाग संपादन" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "अन�भाग नाम" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "अन�भाग जोड़ें" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "अन�भाग अद�यतन" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 #, fuzzy msgid "Section added" msgstr "अन�भाग नाम" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "पार�श�वपट�टी खोलें/बंद करें" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" # # c-format #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "पूर�ण। अगली बार: %s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "उपकार�य जोड़ें" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "संपादन" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "प�रतिरूप" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "कार�य मिटा�ं" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "क�रम को 'तदन�कूल छंटाई क�रम' में बदल दिया गया" # # c-format #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s मिटा दिया गया" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "पूर�ववत करें" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "उपकार�य जोड़ें" #: src/Layouts/ItemRow.vala:1057 #, fuzzy msgid "Hide Sub-tasks" msgstr "उप-कार�य" #: src/Layouts/ItemRow.vala:1057 #, fuzzy msgid "Show Sub-tasks" msgstr "उप-कार�य" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "नोट के रूप में उपयोग करें" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "क�लिपबोर�ड पर कॉपी करें" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "अन�लग�नक जोड़ें" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "विवरण बंद करें" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "शीर�षक" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "ग�ण" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "क�या आप वाकई मिटाना चाहते हैं?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "लेबल मिटा�ं" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "परियोजना छंटाई को 'तदन�कूल छंटाई क�रम' में बदल दिया गया" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "पसंदीदा से हटा�ं" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "पसंदीदा में जोड़े" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "ताज़ा करें" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "परियोजना मिटा�ं" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "सा�ा करें" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "ई-मेल द�वारा भेजें" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 #, fuzzy msgid "Add tasks" msgstr "उपकार�य जोड़ें" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 #, fuzzy msgid "completed tasks" msgstr "कार�य पूर�ण करें" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "अन�भाग स�थानांतरण" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "अन�भाग क�रम प�रबंधित करें" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "पूर�ण कार�य दिखा�ं" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "अन�भाग मिटा�ं" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "पसंदीदा" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "कोई पसंदीदा उपलब�ध नहीं है। '+' बटन पर क�लिक करके �क बना�ं" #: src/Layouts/Sidebar.vala:122 #, fuzzy msgid "Add Account" msgstr "खाते" #: src/Layouts/Sidebar.vala:123 #, fuzzy msgid "Customize Sidebar" msgstr "पार�श�वपट�टी अन�कूलित करें" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "आज पर जा�ं" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "अन�सूचित पर जा�ं" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "लेबल पर जा�ं" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "पिनबोर�ड पर जा�ं" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "कोई परियोजना उपलब�ध नहीं है। '+' बटन पर क�लिक करके �क बना�ं" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "म�ख�य मेनू" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "शीघ�र खोज खोलें" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "प�लॅानिफाई के बारे में" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "उफ़! क�छ ह�आ" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 #, fuzzy msgid "Task completed" msgstr "पूर�ण" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "बैकअप मिटा�ं" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "बैकअप सफलतापूर�वक आयातित" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "प�लॅानिफाई की बैकअप फाइलें" #: src/Services/Notification.vala:99 #, fuzzy msgid "Snooze for 10 minutes" msgstr "30 मिनट पहले" #: src/Services/Notification.vala:100 #, fuzzy msgid "Snooze for 30 minutes" msgstr "30 मिनट पहले" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "विकल�प मेनू देखें" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "क�छ कार�य जोड़ें" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 #, fuzzy msgid "Press 'a' to create a new task" msgstr "नया कार�य बनाने के लि� a दबा�ं" #: src/Views/Filter.vala:129 #, fuzzy msgid "All tasks completed!" msgstr "पूर�ण" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 #, fuzzy msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "सभी पूर�ण कार�य मिटा�ं" msgstr[1] "सभी पूर�ण कार�य मिटा�ं" # # c-format #: src/Views/Filter.vala:627 #, fuzzy, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "यह %d पूर�ण कि� ग� कार�यों और उनके उप-कार�यों को हटा देगा" msgstr[1] "यह %d पूर�ण कि� ग� कार�यों और उनके उप-कार�यों को हटा देगा" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "कोई पसंदीदा उपलब�ध नहीं है। '+' बटन पर क�लिक करके �क बना�ं" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "टिप�पणी" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "अन�सूची" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "कब?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "परियोजना कार�रवाई" #: src/Views/Project/Project.vala:259 #, fuzzy msgid "New Task" msgstr "नई कार�य स�थिति" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "च�नें" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "पेस�ट" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "सभी विस�तृत करें" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "नया" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "सभी संक�षिप�त करें" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "सूची" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "बोर�ड" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "छंटाई" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "तदन�कूल छंटाई क�रम" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "तारीख जोड़ा गया" #: src/Views/Project/Project.vala:547 #, fuzzy msgid "Ascending Order" msgstr "आरोही" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "देयतारीख" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "सभी (तयश�दा)" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "अगले 7 दिन" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "अगले 30 दिन" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "P1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "P2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "P3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "P4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "लेबल द�वारा फिल�टर करें" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 #, fuzzy msgid "Search completed tasks" msgstr "पूर�ण कार�य दिखा�ं" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "�से छांटें" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "प�नर�निर�धारित" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "अन�लग�नक" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "खोलें" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "उप-कार�य" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 #, fuzzy msgid "Show less" msgstr "पूर�ण कार�य दिखा�ं" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "समस�या दर�ज करें" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 #, fuzzy msgid "Calendar" msgstr "कैलेंडर कार�यक�रम" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 #, fuzzy msgid "Task uncompleted" msgstr "पूर�ण" # # c-format #: src/Widgets/ItemChangeHistoryRow.vala:51 #, fuzzy msgid "Task moved to project" msgstr "कार�य को %s पर भेजा गया" # # c-format #: src/Widgets/ItemChangeHistoryRow.vala:61 #, fuzzy msgid "Task moved to" msgstr "कार�य को %s पर भेजा गया" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "पिछला" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "पिन: सक�रिय" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "पिन: निष�क�रिय" #: src/Widgets/ItemDetailCompleted.vala:74 #, fuzzy msgid "Completed At" msgstr "पूर�ण" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "पूर�ण चिह�नित करें" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "कार�य मिटा�ं" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "क�या आप वाकई इस कार�य को मिटाना चाहते हैं?" # # c-format #: src/Widgets/MultiSelectToolbar.vala:299 #, fuzzy, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "%d कार�य मिटा�ं" msgstr[1] "%d कार�य मिटा�ं" #: src/Widgets/MultiSelectToolbar.vala:305 #, fuzzy, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "क�या आप वाकई इस कार�य को मिटाना चाहते हैं?" msgstr[1] "क�या आप वाकई इस कार�य को मिटाना चाहते हैं?" # # c-format #: src/Widgets/MultiSelectToolbar.vala:402 #, fuzzy, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "कार�य को %s पर भेजा गया" msgstr[1] "कार�य को %s पर भेजा गया" #: src/Widgets/NewVersionPopup.vala:42 #, fuzzy msgid "New version available!" msgstr "उपलब�ध नहीं" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 #, fuzzy msgid "Update Now" msgstr "समय अद�यतित" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "असंग�रहित करें" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 #, fuzzy msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" "�सा लगता है कि आप इंटरनेट से नहीं ज�ड़ें हैं।\n" "ऑफ़लाइन मोड में आपके द�वारा कि� ग� परिवर�तन\n" "आपके प�नः ज�ड़ने पर समन�वयित हो जा�ंगे" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "प�लॅानिफाई - शीघ�र जोड़ें" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "कहीं भी प�रय�क�त" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "नया कार�य बना�ं" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "नया कार�य बनाने हेत� सादा पाठ पेस�ट करें" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "नई परियोजना बना�ं" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "किसी परियोजना में नया अन�भाग बना�ं" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "खोजें" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "शीघ�र खोज खोलें" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "नियंत�रण विंडो" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "बंद करें" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "प�राथमिकता�ं खोलें" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "पार�श�वपट�टी टॉगल करें" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "कीबोर�ड शॉर�टकट खोलें" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "नेविगेट" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "म�खपृष�ठ खोलें" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "इनबॉक�स खोलें" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "आज खोलें" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "अन�सूचित खोलें" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "लेबल खोलें" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "पिनबोर�ड खोलें" #, fuzzy #~ msgid "Server URL examples:" #~ msgstr "सर�वर URL" #~ msgid "" #~ "Planify is being developed with love and passion for open source. " #~ "However, if you like Planify and want to support its development, please " #~ "consider supporting us." #~ msgstr "" #~ "प�लॅानिफाई को ओपन सोर�स के प�रति प�रेम और ज�नून के साथ विकसित किया जा रहा है। तथापि, " #~ "यदि आप प�लॅानिफाई को पसंद करते हैं और इसके विकास का समर�थन करना चाहते हैं, तो कृपया " #~ "हमें समर�थन देने पर विचार करें।" #~ msgid "Please Enter Your Credentials" #~ msgstr "कृपया अपना प�रत�ययपत�र दर�ज करें" #~ msgid "Loading…" #~ msgstr "लोड हो रहा है…" #~ msgid "Network Is Not Available" #~ msgstr "नेटवर�क उपलब�ध नहीं है" #~ msgid "Set a Due Date" #~ msgstr "नियत तारीख तय करें" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "प�लॅानिफाई को पृष�ठभूमि में चलने दें और अधिसूचना�ं भेजें" #~ msgid "Whether Planify should run on startup" #~ msgstr "क�या प�लॅानिफाई को श�र�आत पर चलना चाहि�" #~ msgid "Clear" #~ msgstr "साफ करें" #, fuzzy #~ msgid "Menu" #~ msgstr "म�ख�य मेनू" #, fuzzy #~ msgid "Add Time" #~ msgstr "समय" #, fuzzy #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "चाहते हैं कि प�लॅानिफाई आपको किसी महत�वपूर�ण कार�यक�रम या किसी विशेष चीज़ की याद " #~ "दिलाने के लि� अधिसूचना भेजे। रिमाइंडर जोड़ने के लि� नीचे घंटी का बटन दबा�ं।" # # c-format #, c-format #~ msgid "Every %d minutes" #~ msgstr "हर %d मिनट" # # c-format #, c-format #~ msgid "Every %d hours" #~ msgstr "हर %d घंटे" # # c-format #, c-format #~ msgid "Every %d days" #~ msgstr "हर %d दिन" # # c-format #, c-format #~ msgid "Every %d weeks" #~ msgstr "हर %d हफ�ते" # # c-format #, c-format #~ msgid "Every %d months" #~ msgstr "हर %d महीने" # # c-format #, c-format #~ msgid "Every %d years" #~ msgstr "हर %d वर�ष" # # c-format #, c-format #~ msgid "" #~ "This will delete %d completed tasks and their subtasks from project %s" #~ msgstr "" #~ "यह परियोजना %2$s से %1$d पूर�ण कि� ग� कार�यों और उनके उप-कार�यों को मिटा देगा" #~ msgid "Todoist Sync" #~ msgstr "Todoist समन�वयन" #~ msgid "Loading" #~ msgstr "लोड हो रहा है" #~ msgid "Planner is sync your tasks, this may take a few minutes" #~ msgstr "प�लानर आपके कार�यों को समन�वयित कर रहा है, इसमें क�छ मिनट लग सकते हैं" #~ msgid "Please enter your credentials" #~ msgstr "कृपया अपने प�रत�ययपत�र दर�ज करें" # # c-format #, c-format #~ msgid "Load more history from %d weeks ago…" #~ msgstr "%d सप�ताह पहले का और इतिहास लोड करें…" #, fuzzy #~ msgid "Planify is syncing your tasks, this may take a few minutes" #~ msgstr "प�लॅानिफाई आपके कार�यों को समन�वयित कर रहा है, इसमें क�छ मिनट लग सकते हैं" #, fuzzy #~ msgid "Delete Completed Tasks" #~ msgstr "सभी पूर�ण कार�य मिटा�ं" # # c-format #, c-format #~ msgid "This will delete %d completed tasks and their subtasks" #~ msgstr "यह %d पूर�ण कि� ग� कार�यों और उनके उप-कार�यों को हटा देगा" # # c-format #, c-format #~ msgid "Delete %d To-Dos" #~ msgstr "%d कार�य मिटा�ं" # # c-format #, c-format #~ msgid "Are you sure you want to delete these %d to-dos?" #~ msgstr "क�या आप वाकई इन %d कार�यों को मिटाना चाहते हैं?" #, fuzzy #~ msgid "Backup" #~ msgstr "बैकअप" #~ msgid "Task Setting" #~ msgstr "कार�य सेटिंग" #~ msgid "Supporting Us" #~ msgstr "हमारा समर�थन करें" #~ msgid "" #~ "Our mission is to provide the best open source task management " #~ "application for users all over the world. Your donations support this " #~ "work. Want to donate today?" #~ msgstr "" #~ "हमारा मिशन द�निया भर के उपयोक�ताओं के लि� सर�वोत�तम ख�ले स�त�रोत की कार�य प�रबंधन " #~ "अन�प�रयोग प�रदान करना है। आपका दान इस कार�य का समर�थन करता है। आज दान करना चाहते " #~ "हैं?" #~ msgid "Support Planify" #~ msgstr "प�लॅानिफाई का समर�थन करें" #~ msgid "Personal Data" #~ msgstr "व�यक�तिगत डेटा" #~ msgid "" #~ "We collect absolutely nothing and all your data is stored in a database " #~ "on your computer." #~ msgstr "" #~ "हम बिल�क�ल क�छ भी �कत�र नहीं करते हैं और आपका सारा डेटा आपके कंप�यूटर पर �क डेटाबेस में " #~ "संग�रहीत होता है।" #~ msgid "" #~ "If you choose to integrate Todoist, which is optional and not selected by " #~ "default, your data will be stored on their private servers, we only " #~ "display your configured tasks and manage them for you." #~ msgstr "" #~ "यदि आप Todoist को �कीकृत करना च�नते हैं, जो वैकल�पिक है और तयश�दा रूप से चयनित नहीं " #~ "है, तो आपका डेटा उनके निजी सर�वर पर संग�रहीत किया जा�गा, हम केवल आपके विन�यस�त " #~ "कार�यों को प�रदर�शित करते हैं और उन�हें आपके लि� प�रबंधित करते हैं।" #~ msgid "Do you have any questions?" #~ msgstr "क�या आपका कोई प�रश�न है?" #~ msgid "" #~ "If you have any questions about your data or any other issue, please " #~ "contact us. We will be happy to answer you." #~ msgstr "" #~ "यदि आपके डेटा या किसी अन�य समस�या के बारे में आपके कोई प�रश�न हैं, तो कृपया हमसे संपर�क " #~ "करें। हमें आपको उत�तर देने में ख़�शी होगी।" #, fuzzy #~ msgid "Clear Schedule" #~ msgstr "अन�सूची" #~ msgid "Process completed, you need to start Planify again" #~ msgstr "प�रक�रिया पूर�ण, प�लॅानिफाई फिर से श�रू करें" #, fuzzy #~ msgid "Task Detail" #~ msgstr "विवरण बंद करें" #~ msgid "Create a new to-do" #~ msgstr "नया कार�य बना�ं" #~ msgid "Tag your to-dos!" #~ msgstr "कार�यों को टैग करें!" #~ msgid "What’s new in Planify" #~ msgstr "प�लॅानिफाई में नया क�या है" #~ msgid "Inbox as Independent Project" #~ msgstr "स�वतंत�र परियोजना के रूप में इनबॉक�स" #~ msgid "" #~ "The Inbox is the default place to add new tasks, allowing you to quickly " #~ "get your ideas out of your head and then plan them when you’re ready." #~ msgstr "" #~ "इनबॉक�स न� कार�यों को जोड़ने के लि� तयश�दा स�थान है, जिससे आप अपने विचारों को त�रंत अपने " #~ "दिमाग से निकाल सकते हैं और जब आप तैयार हों तो उनकी योजना बना सकते हैं।" #~ msgid "Enhanced Task Duplication" #~ msgstr "संवर�धित कार�य प�रतिरूपण" #~ msgid "" #~ "When you duplicate a task now, all subtasks and labels are automatically " #~ "duplicated, saving you time and effort in managing your projects." #~ msgstr "" #~ "जब आप अब किसी कार�य को प�रतिरूपित करते हैं, तो सभी उप-कार�य और लेबल स�वचालित रूप से " #~ "प�रतिरूपित हो जाते हैं, जिससे आपकी परियोजनाओं को प�रबंधित करने में आपका समय और प�रयास " #~ "बचता है।" #~ msgid "Duplication of Sections and Projects" #~ msgstr "अन�भागों और परियोजनाओं का प�रतिरूपण" #~ msgid "" #~ "You can now easily duplicate entire sections and projects, making it " #~ "easier to create new projects based on existing structures." #~ msgstr "" #~ "अब आप आसानी से संपूर�ण अन�भागों और परियोजनाओं का प�रतिरूप बना सकते हैं, जिससे मौजूदा " #~ "संरचनाओं के आधार पर नई परियोजना�ं बनाना आसान हो जा�गा।" #~ msgid "Project Expiry Date" #~ msgstr "परियोजना समाप�ति तारीख" #~ msgid "" #~ "Your project’s expiry date now clearly shows the remaining days, helping " #~ "you keep track of your deadlines more effectively." #~ msgstr "" #~ "अपनी परियोजना की समाप�ति तारीख अब शेष दिनों को स�पष�ट रूप से दिखाती है, जिससे आपको " #~ "अपनी समय-सीमाओं पर अधिक प�रभावी ढंग से नज़र रखने में मदद मिलती है।" #~ msgid "Archiving of Projects and Sections" #~ msgstr "परियोजनाओं और अन�भागों का संग�रहण" #~ msgid "" #~ "You can now archive entire projects and sections! This feature helps you " #~ "keep your workspace organized and clutter-free." #~ msgstr "" #~ "अब आप संपूर�ण परियोजनाओं और अन�भागों को संग�रहीत कर सकते हैं! यह स�विधा आपके कार�यक�षेत�र " #~ "को व�यवस�थित और अव�यवस�था-म�क�त रखने में आपकी सहायता करती है।" #~ msgid "What's New" #~ msgstr "नया क�या है" #~ msgid "Are you sure you want to reset all? (y/n): " #~ msgstr "क�या आप सभी को वाकई रीसेट करना चाहते हैं? (y/n): " #~ msgid "y" #~ msgstr "y" #~ msgid "yes" #~ msgstr "हां" #~ msgid "Couldn't find an app to handle file URIs" #~ msgstr "फाइल URI को संभालने के लि� कोई �प नहीं मिला" #, fuzzy #~ msgid "Planify" #~ msgstr "प�लॅानिफाई से मिलें" #~ msgid "No Provider Available" #~ msgstr "उपलब�ध नहीं" #~ msgid "Go to Inbox" #~ msgstr "इनबॉक�स पर जा�ं" #~ msgid "Order by" #~ msgstr "�से क�रमबद�ध" #~ msgid "Integrations" #~ msgstr "�कीकरण" #~ msgid "Wait 2500 Milliseconds" #~ msgstr "2500 मिलीसेकंड प�रतीक�षा करें" #~ msgid "Complete Task" #~ msgstr "कार�य पूर�ण करें" #~ msgid "" #~ "Complete your to-do instantly or wait 2500 milliseconds with the undo " #~ "option" #~ msgstr "अपना कार�य त�रंत पूरा करें या पूर�ववत विकल�प के साथ 2500 मिलीसेकेंड प�रतीक�षा करें" #~ msgid "Top" #~ msgstr "ऊपर" #~ msgid "Bottom" #~ msgstr "नीचे" #~ msgid "Create More" #~ msgstr "और बना�ं" #~ msgid "App Theme" #~ msgstr "�प थीम" # # c-format #, fuzzy, c-format #~ msgid "Task moved to: %s" #~ msgstr "कार�य को %s पर भेजा गया" #~ msgid "Telegram" #~ msgstr "टेलीग�राम" #~ msgid "Matrix Room" #~ msgstr "मैट�रिक�स कक�ष" #~ msgid "Attention at One" #~ msgstr "�क कार�य पर ध�यान" #~ msgid "Add To-Do" #~ msgstr "करने-हेत� कार�य जोड़ें" #~ msgid "Nextcloud Setup" #~ msgstr "Nextcloud सेटअप" #~ msgid "Offline Mode Is On" #~ msgstr "ऑफलाइन मोड चालू है" #~ msgid "Provider" #~ msgstr "प�रदाता" #~ msgid "Pinned" #~ msgstr "पिन कि� ग�" #~ msgid "View Details" #~ msgstr "विवरण देखें" #~ msgid "All" #~ msgstr "सभी" #~ msgid "Attach File" #~ msgstr "फाइल जोड़ें" #~ msgid "Hide Completed Tasks" #~ msgstr "पूर�ण कार�य छिपा�ं" alainm23-planify-69962f8/po/hr.po000066400000000000000000003516261517337276100164770ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: alainmh23@gmail.com\n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2026-04-15 17:09+0000\n" "Last-Translator: Milo Ivir \n" "Language-Team: Croatian \n" "Language: hr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Weblate 5.17.1-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Projekti" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Odjeljci" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Zadaci" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Etikete" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Filtri" #: core/Enum.vala:186 msgid "Lists" msgstr "Popisi" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "Ne ponavljaj" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Svake minute" msgstr[1] "Svake %d minute" msgstr[2] "Svakih %d minuta" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Svaki sat" msgstr[1] "Svaka %d sata" msgstr[2] "Svakih %d sati" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Svaki dan" msgstr[1] "Svaka %d dana" msgstr[2] "Svakih %d dana" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Svaki tjedan" msgstr[1] "Svaka %d tjedna" msgstr[2] "Svakih %d tjedna" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Svaki mjesec" msgstr[1] "Svaka %d mjeseca" msgstr[2] "Svakih %d mjeseci" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Svake godine" msgstr[1] "Svake %d godine" msgstr[2] "Svakih %d godina" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Prioritet" #: core/Enum.vala:348 msgid "Label" msgstr "Etiketa" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Datum roka" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Odjeljak" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "Zadatak" #: core/Enum.vala:469 msgid "Task Created" msgstr "Zadatak je stvoren" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Zadatak je aktualiziran" #: core/Enum.vala:528 msgid "Content" msgstr "Sadržaj" #: core/Enum.vala:531 src/Dialogs/Project.vala:148 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:113 #: src/Dialogs/Project.vala:149 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Opis" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Zakazano" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Prikva�i" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Svi zadaci" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "svi zadaci" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "sve" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "Bilo kada" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "bilo kada" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "filtri" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "bez datuma" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Završeno" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "završeno" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "knjiga zapisa" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Ulazni sandu�ić" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "ulazni sandu�ić" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "etikete" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Oglasna plo�a" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Prioritet 1: visoki" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Prioritet 2: srednji" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Prioritet 3: niski" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Prioritet 4.: bez" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "visoki" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "srednji" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "niski" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "ništa" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Ponavljajući" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "ponavljajući" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "zakazani" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "predstojeći" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Danas" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "danas" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Sutra" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "sutra" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "datum" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Bez etikete" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "nema etikete" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "bez etikete" #: core/Objects/Item.vala:1393 core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Zadatak je kopiran u međuspremnik" #: core/Objects/Item.vala:1686 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "Premješteno u %s" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Izbriši etiketu %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:856 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 core/Objects/Project.vala:867 msgid "This can not be undone" msgstr "Ovo se ne može poništiti" #: core/Objects/Label.vala:224 core/Objects/Project.vala:859 #: core/Objects/Project.vala:916 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:287 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Odustani" #: core/Objects/Label.vala:225 core/Objects/Project.vala:860 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:244 #: src/Widgets/MultiSelectToolbar.vala:288 core/Objects/Project.vala:871 #: src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Izbriži" #: core/Objects/Project.vala:819 core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "Projekt je kopiran u međuspremnik." #: core/Objects/Project.vala:855 core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "Izbrisati projekt %s?" #: core/Objects/Project.vala:912 core/Objects/Section.vala:402 #: core/Objects/Project.vala:923 msgid "Archive?" msgstr "Arhivirati?" #: core/Objects/Project.vala:913 core/Objects/Section.vala:403 #: core/Objects/Project.vala:924 #, c-format msgid "This will archive %s and all its tasks." msgstr "Ovo će arhivirati %s i sve njegove zadatke." #: core/Objects/Project.vala:917 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 #: core/Objects/Project.vala:928 msgid "Archive" msgstr "Arhiva" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Izbriši odjeljak %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "Zadatak je uspješno dodan!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Ime zadatka" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "Ovo je obavezno polje" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:136 #: src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Dodaj opis …" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "Postavi datum" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Dodaj etikete" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Postavi prioritet" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Dodaj podsjetnike" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Dodaj zadatak" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "Nastavi dodavati" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Odaberi projekt" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "Žao mi je, brzo dodavanje ne može pronaći nijedan dostupan projekt, pokušaj " "stvoriti projekt iz aplikacije Planify." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Tipkovni pre�aci" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "Ubrzaj stvaranje zadataka pomoću ovih pre�aca" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "Postavi prioritet" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = najviši, p4 = najniži" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "Dodaj etikete" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "Otvara bira� etiketa" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "Dodijeli projekt" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "Otvara bira� projekta" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "Postavi podsjetnika" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "Otvara opcije podsjetnika" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "Uklju�i/Isklju�i ostavljanje otvorenim nakon stvaranja zadatka" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "Savjet" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "Kombiniraj pre�ace u polju naslova za bržu izradu" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "U�itavanje zadataka za %s …" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "U�itani zadaci za %s …" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "Sinkroniziranje zadatka %d od %d" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "Izvor već postoji" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "Neuspio pristup glavnoj url adresi" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "Pokretanje sinkronizacije …" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "Sinkronizacija %s …" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "Sinkronizacija je završena" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "Autentifikacija je istekla" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" "Tvoja je sesija istekla. Ukloni i ponovo dodaj svoj ra�un u postavkama." #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "Previše zahtjeva" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "Server ograni�ava broj zahtjeva. Pri�ekaj par minuta i pokušaj ponovo." #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "Na ovom ra�unalu" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" "Usluga Todoist je aktualizirala svoj API. Za nastavljanje sinkronizacije " "ponovo poveži svoj ra�un u postavkama." #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "Nevaljani API token" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "Zahtjev je bio neispravan." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "Autentifikacija je potrebna, i nije uspjela ili još nije navedena." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "Zahtjev je bio ispravan, ali za nešto što je zabranjeno." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "Zatraženi resurs nije pronađen." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "Korisnik je poslao previše zahtjeva u određenom vremenu." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "Zahtjev nije uspio zbog greške servera." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "Server trenuta�no ne može obraditi zahtjev." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "Nepoznata greška" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "Ju�er" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "dana" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "dan" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "%s %s prije" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "%s %s preostalo" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "%-H:%M:%S" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "%-H:%M" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "%H:%M:%S" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "%H:%M" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Po," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Ut," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "Sr," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Če," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Pe," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "Su," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "Ne," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "za %d dan" msgstr[1] "za %d dana" msgstr[2] "za %d dana" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "prije %d dan" msgstr[1] "prije %d dana" msgstr[2] "prije %d dana" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "%a, %d. %m. %Y." #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "%d. %m. %Y." #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y." #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "%d. %m." #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "%a, %Y." #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "%a" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "%a, %d. %m." #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "%b" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Crvena bobica" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Crvena" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Naran�asta" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Žuta" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Maslinasto zelena" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Limeta zelena" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Zelena" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "Zelena metvica" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Modrozelena" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "Nebesko plava" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Svjetloplava" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Plava" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Grožđe" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Ljubi�asta" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Lavanda" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "Magenta" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "Losos" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "Ugljen" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Siva" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "Sivkasto smeđa" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Svijetla" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Tamna" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Tamnoplava" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Ništa" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Danas i ulazni sandu�ić" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Izbriši sve" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "Proces je završen, moraš ponovo pokrenuti Planify." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "U redu" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "Na ovom ra�unalu" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Upoznaj Planify" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "Ovaj projekt prikazuje sve što trebaš znati za trenutno korištenje. Ne " "ustru�avaj se eksperimentirati s projektom – uvijek ga možeš ponovo stvoriti " "iz postavki." #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "Dodirni ovaj zadatak" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "Gledaš zadatak! Završi ga dodirom kvadratića na lijevoj strani. " #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "Stvori novi zadatak" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Sada si ti na redu! Dodirni gumb „+� pri dnu projekta, unesi opis zadatka i " "dodirni gumb „Dodaj zadatak�." #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "Planiraj ovaj zadatak za danas ili kasnije" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" "Dodirni gumb kalendara pri dnu i odlu�i kada želiš završiti ovaj zadatak." #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "Promijeni redoslijed tvojih zadataka" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "Za mijenjanje redoslijeda popisa, dodirni i drži zadatak, zatim ga povuci na " "željeno mjesto." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Stvori projekt" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "Organiziraj svoje zadatke bolje! Idi na lijevu plo�u i klikni na gumb '+' u " "odjeljku „Na ovom ra�unalu“ te dodaj vlastiti projekt." #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "To je sve!" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "To je sve što zaista trebaš znati. Slobodno po�ni dodavati vlastite projekte " "i zadatke.\n" "Ovom projektu se možeš vratiti kasnije za upoznavanje naprednih funkcija.\n" "Nadamo se da ćeš uživati koristiti Planify!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "Podesi tvoje postavljanje" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Prikaži tvoje kalendarske događaje" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "Kalendarske događaje tvojeg sustava možeš prikazati u aplikaciji Planify. " "Idi na „Postavke“ 🡒 Opće 🡒 Kalendarski događaji za uklju�ivanje." #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "Aktiviraj sinkronizaciju s uslugama trećih strana" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "Planify ne stvara zadatke samo lokalno, već se može i sinkronizirati s " "tvojim Todoist ra�unom. Idi na „Postavke� 🡒 „Ra�uni�." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "Povećaj svoju produktivnost" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "Povuci gumb plus!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "Onaj plavi gumb na dnu svakog ekrana moćniji je nego što izgleda: može se " "pomicati! Povuci ga prema gore i stvori zadatak gdje god želiš." #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "Dodaj etikete svojim zadacima!" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "Etikete pomažu organizirati i kategorizirati zadatke. Za dodavanje etikete, " "klikni gumb etiketa dolje." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "Postavite pravovremene podsjetnike!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" "Primaj obavijesti o važnim zadacima ili događajima. Dodirni gumb sata za " "dodavanje podsjetnika." #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼�Posao" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒�Škola" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉�Delegirano" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "��Doma" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀��Daljnje postupanje" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Zadatak je dupliciran" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Odjeljak je dupliciran" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Projekt je dupliciran" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "U vrijeme događaja" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 minuta prije" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 minuta prije" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 minuta prije" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 sat prije" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 sata prije" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 sata prije" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "%A, %e. %d. %Y." #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%OB" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "Natrag" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "Prethodni mjesec" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "Proslijedi" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "Sljedeći mjesec" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "Prethodni mjesec, %s" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "%B %Y." #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "Sljedeći mjesec, %s" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Odaberi datum" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "Ne" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Po" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Ut" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "Sr" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Če" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Pe" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "Su" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Vrijeme" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "do" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "za" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "puta" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "puta" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Ponovi" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "Upiši datum …" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "Sljedeći tjedan" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "Spremi" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Dnevno" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "Dani tjedna" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "Vikendi" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Tjedno" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Mjese�no" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Godišnje" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "Prilagođeno" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "Bez datuma" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "Minute" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "Sati" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "Dani" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "Tjedni" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "Mjeseci" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "Godine" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "Nikada" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "Na datum" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "Nakon" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1378 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 core/Widgets/MarkdownEditor.vala:1382 msgid "Apply" msgstr "Primijeni" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "Ponovi svakih" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "Kraj" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "Datum" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "Datum kada planiraš raditi na ovom zadatku" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "Ukloni datum" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "Kada planiraš raditi na ovom zadatku?" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "Postavi rok" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "Najkasniji datum za obavljanje ovog zadatka" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "Koji je zadnji datum za obavljanje ovog zadatka?" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "Rok" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "Odaberi etikete" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "Etiketa nije pronađena: Stvori „%s�" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" "Tvoj popis filtara će se ovdje prikazati. Stvori filtar unosom imena i " "pritiskom tipke Enter." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "Stvori „%s�" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "Tvoj popis filtara će se ovdje prikazati." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "Traži" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "Traži ili stvori" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "Sakrij nekorištene etikete" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "Bez etiketa" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "Sve skrivene" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" "Sve etikete su skrivene filterom. Deaktiviraj filtar za prikaz etiketa." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "Pritisni tipku Enter za stvaranje i dodjelu" #: core/Widgets/MarkdownEditor.vala:1383 core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "Ukloni poveznicu" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "Prioritet 4.: Bez" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "Prioritet 1: Visoki" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "Prioritet 2: Srednji" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "Prioritet 3: Niski" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "Prioritet 1: Srednji" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "Prioritet 1: Niski" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "Tvoj popis odjeljaka će se ovdje prikazati." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "Nema odjeljka" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "Utipkaj pojam za pretragu" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "Podsjetnici" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" "Tvoj popis podsjetnika će se ovdje prikazati. Dodaj podsjetnik klikom na " "gumb '+'." #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "Dodaj podsjetnik" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "Za 5 minuta" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "Za 15 minuta" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "Za 30 minuta" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "Za 1 sat" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "Za 3 sata" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "Za 6 sati" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "Postavi odjeljak" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "Odaberi odjeljak" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "Postavi stanje" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "Stanje" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "Zadatak" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "Završi" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "Aplikacja Planify će se automatski pokrenuti kada se ovaj uređaj uklju�i te " "će raditi i kada je njezin prozor zatvoren, kako bi mogla slati obavijesti o " "zadacima." #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "Sinkronizacija kalendara" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" "Automatski pretvori svoje zadatke u događaje u kalendaru. Svaki zadatak s " "datumom pojavit će se u tvom kalendaru, što olakšava planiranje dana." #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" "Zahtjev: Trebaš kalendarski ra�un konfiguriran u GNOME kalendaru (Google, " "Nextcloud, itd.)" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" "Primaj mobilne obavijesti za svoje zadatke putem Google kalendara, Outlooka " "ili bilo koje kalendarske aplikacije" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" "Tvoji se zadaci sinkroniziraju svugdje: na telefonu, tabletu, u web " "pregledniku i na bilo kojem uređaju s tvojim kalendarom" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "Odaberi kalendar" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "Odaberi kalendar iz popisa" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "Uklju�i sinkronizaciju" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "Sinkronizacija kalendara je uspješno isklju�ena" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "Sinkronizacija kalendara je aktivna" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" "Tvoji se zadaci trenuta�no sinkroniziraju s tvojim kalendarom. Svaki zadatak " "s datumom se automatski prikazuje kao događaj u kalendaru." #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "Isklju�i sinkronizaciju" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "Sinkronizirano s: %s" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "Sinkronizacija je uklju�ena!" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" "Tvoji su zadaci sada sinkronizirani s tvojim kalendarom. Svaki zadatak s " "datumom se automatski prikazuje kao događaj u kalendaru." #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "U redu" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "Završeni zadaci" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "Prikaz izbornika filtara" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "Još nema završenih zadataka." #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "Izbriši sve završene zadatke" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" "Ovo će izbrisati %d završeni zadatak i njegove podzadatke iz projekta %s" msgstr[1] "" "Ovo će izbrisati %d završena zadatka i njihove podzadatke iz projekta %s" msgstr[2] "" "Ovo će izbrisati %d završenih zadataka i njihove podzadatke iz projekta %s" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "Filtriraj po" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "Sljedeći tjedan" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "Bez datuma" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Gotovo" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "Povijest promjena" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "Dodano" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "Nije dostupno" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "Aktualizirano" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" "Povijest promjena će se ovdje prikazati nakon što po�neš raditi promjene." #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "U�itaj više povijesti od prije %d tjedan …" msgstr[1] "U�itaj više povijesti od prije %d tjedna …" msgstr[2] "U�itaj više povijesti od prije %d tjedna …" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "Nova etiketa" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "Uredi etiketu" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "Zadaj ime za tvoju etiketu" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "Dodaj etiketu" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "Aktualiziraj etiketu" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "Filtar" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "Arhivirani projekti" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "Upravljaj odjeljcima" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "Odjeljke može razvrstati povla�enjem i ispuštanjem" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "Arhivirano" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(Nema odjeljka)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "Ra�uni" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "Dodaj izvor" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "Stranica ulaznog sandu�ića" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "Ra�une možeš razvrstati povla�enjem i ispuštanjem" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "Planify sinkronizira tvoje zadatke, to može ponešto potrajati" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "SSL provjera je isklju�ena" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "Autentifikacija je istekla" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "Potrebna je migracija ra�una" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "Ponovo poveži" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "Ovaj se ra�un ne može sakriti" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "Ovaj ra�un sadrži tvoj trenuta�ni projekt ulaznog sadu�ića. Najprije " "promijeni svoj projekt ulaznog sadu�ića." #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "Promijeni ulazni sandu�ić" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "Sinkronizacija …" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "Poveži se na CalDAV" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" "Poveži se s bilo kojim CalDAV-kompatibilnim serverom za sinkronizaciju " "zadataka" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "URL servera" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "Korisni�ko ime" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "Lozinka" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "URL po�etne stranice kalendara" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "Napredno" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "Prikaži napredne opcije" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "Sakrij napredne opcije" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "Prijava" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "Projekt ulaznog sadu�ića" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" "Tvoj ulazni sandu�ić je standardno mjesto gdje stižu novi zadaci. Na temelju " "David Allenove metode „Getting Things Done� (Obavljanje stvari), to je tvoja " "to�ka prikupljanja brzih ideja i zadataka koje ćeš kasnije organizirati" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "Poveži se s Nextcloudom" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" "Prijavi se sa svojim Nextcloud ra�unom za sinkroniziranje zadataka putem " "CalDAV-a" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "https://cloud.example.com" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "https://example.com/nextcloud" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "URL primjeri" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:178 src/Dialogs/Project.vala:179 msgid "Source" msgstr "Izvor" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "Prikazano ime" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "Sinkronizacija sa serverom" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" "Aktiviraj ovu postavku kako bi se Planify automatski sinkronizirao s ra�unom " "tvog ra�una svakih 15 minuta" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "Zadnja sinkronizacija" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "Izbriši izvor" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "Izbrisati izvor?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "Nije moguće izbrisati ovaj izvor" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "Ovaj izvor sadrži tvoj trenuta�ni projekt ulaznog sandu�ića. Najprije " "promijeni svoj projekt ulaznog sandu�ića." #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "Poveži se na Todoist" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "Prijavi se sa svojim Todoist ra�unom za sinkronizaciju tvojih zadataka" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "Prijavi se putem preglednika" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "Umjesto toga koristi API token" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "API token" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "Poveži se pomoću svog osobnog Todoist API tokena" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "Umetni svoj API token" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "Poveži se" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "1. Idi na Todoist → Postavke → Integracije → Programer" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "2. Kopiraj svoj API token" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "3. Umetni ga u gornje polje" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "Kako dobiti svoj token" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "Čekanje na prijavu …" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "Sinkroniziranje …" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "Izgled" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "Korisit postavke sustava" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "Odaberi temu" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "Svijetli stil" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "Čista svijetla tema" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "Tamni stil" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "Elegantna tamna tema" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "Tamnoplavi stil" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "Profesionalna plava tema" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "Prilagođene teme nisu dostupne kada se koristi svijetla tema sustava" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "Veli�ina fonta" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "Sigurnosne kopije" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" "Ne brini o gubitku podataka. Možeš izraditi sigurnosne kopije svojih " "aktivnih projekata, zadataka i komentara te ih kasnije uvesti." #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "Stvori sigurnosnu kopiju" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "Uvezi sigurnosnu kopiju" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "Datoteke sigurnosnih kopija" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "Nema sigurnosnih kopija. Stvori jednu klikom na gornji gumb." #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "Datoteke sigurnosnih kopija se spremaju u: %s" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "Migriraj" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "Migriraj iz Plannera" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "Sigurnosna kopija je uspješno stvorena." #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "Zadaci su uspješno migrirani" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "Datoteka baze podataka ne postoji." #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "Odabrana datoteka je nevažeća" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "Prikaz sigurnosne kopije" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "Preuzimanje" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "Pregled uvoza" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:376 #: src/Dialogs/Project.vala:404 msgid "Sources" msgstr "Izvori" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "Zadaci" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "Potvrdi" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "Obnovi sa sigurnosnom kopijom" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" "Stvarno želiš nastaviti? Ova operacija će izbrisati tvoje trenuta�ne podatke " "i zamijeniti ih s podacima sigurnosne kopije." #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "Obnovi sa sigurnosnom kopijom" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "Doniraj" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "Podrži razvoj Planifyja" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" "Pomogni Planifyju da ostane besplatan i otvorenog koda! Tvoje donacije " "izravno podržavaju razvoj, nove funkcije i održavanje. Svaki doprinos, bez " "obzira na veli�inu, je važan." #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "Mjese�na ponavljajuća podrška" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "Jednokratna donacija" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "Tjedne ponavljajuće donacije" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "Kupi mi kavu ☕" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "Odaberi svoju preferiranu platformu" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "Hvala ti na podršci! �" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "Rvoj doprinos pomaže da Planify ostane živ i da raste." #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "Opće" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "Prilagođeni redoslijed razvrstavanja" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "Abecednim redom" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "Razvrstaj po" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "Uzlazno" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "Silazno" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "Razvrstano" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "DE integracija" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "Pokreni prilikom pokretanja sustava" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "Pokreni Planify automatski kada pokreneš ra�unalo" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "Izvodi u pozadini" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "Ostavi Planify pokrenutim u traci sustava prilikom zatvaranja prozora" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "Kalendarski događaji" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "Pretraga GNOME ljuske" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" "Pretraži zadatke i projekte izravno iz GNOME ljuske. Aktiviraj u Postavke → " "Pretraga" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "Datum i vrijeme" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24 h" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12 h" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "Format sata" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "Nedjelja" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "Ponedjeljak" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "Utorak" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "Srijeda" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "Četvrtak" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "Petak" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "Subota" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "Po�etak tjedna" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "Pametno prepoznavanje datuma" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "Automatsko otkrivanje datuma poput „sutra� ili „sljedeći tjedan�" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "Po�etna stranica" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "Brzo dodavanje" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" "Koristi „Brzo dodavanje“ za stvaranje zadataka s bilo kojeg mjesta na radnoj " "površini uz samo nekoliko pritisaka tipki. Ne moraš �ak ni napustiti " "aplikaciju u kojoj se trenuta�no nalaziš." #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" "Idi na Postavke sustava → Tipkovnica → Pre�aci → Prilagođeno, zatim dodaj " "novi pre�ac sa sljedećim:" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "Postavke" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "Spremi zadnji odabrani projekt" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "Ako nije ozna�eno, standardni odabrani projekt je „Ulazni sandu�ić“" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "Zadrži svojstva zadatka" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" "Kada je „Nastavi dodavati� uklju�eno, sa�uvaj datum, oznake i stanje " "prikva�ivanja" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "Naredba je kopirana u međuspremnik" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "Bo�ni stupac" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "Prikaži u bo�noj traci" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "Prikaži broja zadataka" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "Širina bo�ne trake" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "Prikaz popisa za filtre" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "Prikaži filtre u jednostavnom popisu umjesto u rešetki" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "Prikaze možeš razvrstati povla�enjem i ispuštanjem" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "Postavke zadatka" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "Završi trenutno" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "Završi s funkcijom Poništi" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "Završetak zadatka" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "Odaberi ponašanja zadataka kada su ozna�eni kao završeni" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "Prioritet 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "Prioritet 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "Prioritet 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "Standardni prioritet" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "Prekriži završene zadatke" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "Zapo�ni" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "Pozicija novog zadatka" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "Uvijek prikaži završene podzadatke" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "Zadrži sve završene podzatake vidljivima bez sažimanja" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "Zvuk završetka zadatka" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "Reproduciraj zvuk kada se zadaci završe" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "Otvori zadatke u prikazu bo�ne trake" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" "Detalje zadatka prikaži uvijek u bo�noj traci umjesto proširivanja u prikazu " "popisa." #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "Modus fokusiranja na jedan zadatak" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "Dozvoli proširivanje samo jednog zadatka u prikazu popisa" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "Uklju�i Markdown fomatiranje" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "Uklju�i/isklju�i Markdown podršku za zadatke" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "Uvijek prikaži bo�nu traku s detaljima" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" "Zadrži bo�nu traku s detaljima uvijek vidljivom za bržu navigaciju zadacima, " "bez stalnog otvaranja i zatvaranja" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "Aktiviraj provjeru pravopisa" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "Provjeri pravopis u opisima zadataka i bilješkama" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "Uklju�eno" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "Automatski podsjetnici" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" "Kada je uklju�eno, standardno će se dodati podsjetnik prije roka zadatka." #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "Osobitosti" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "Sinkroniziraj tvoje omiljene usluge zadataka" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "Postavi prikaz koji se prikazuje pri prvom pokretanju" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "Prilagodite po svom ukusu" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "Prilagodi bo�nu traku" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "Dodavanje zadataka s bilo kojeg mjesta" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "Spremi sigurnosnu kopiju ili migriraj iz Plannera." #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "Stvori projekt za vježbu" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "Nau�i aplikaciju korak po korak s kratkim projektom za vježbu" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "Želiš li mi platiti piće?" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "Prijavi problem ili zatraži funkciju" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "Dijeli greške ili ideje na GitHub-u" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "Uklju�i se" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "Javi nam se" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "Kontaktiraj nas" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "Zatraži funkciju ili nas pitaj bilo što" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "Pošalji nam tweet" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "Dijeli nešto ljubavi" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "Discord" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "Raspravljaj i dijeli svoje povratne informacije" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodon" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "Privatnost" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "Politika privatnosti" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "Nemamo nikakve podatke o tebi" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "Ukloni podatke aplikacije" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "Stvoren je projekt za vježbe" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "Izbrisati sve podatke?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "Nepovratno briše sve tvoje popise, zadatke i podsjetnike" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "Sažetak i produktivnost" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "Postavi ciljeve" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "Definiraj koliko zadataka želi obaviti dnevno i tjedno" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "Detalji sažetka" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "Detaljan sažetak će se pojaviti ovdje" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "Sažetak" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "Detalji produktivnosti" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "Detaljna statistika produktivnosti će se pojaviti ovdje" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "Produktivnost" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "Pogledaj više" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "Svi ciljevi su postignuti! Tebe nitko ne može zaustaviti" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "Dnevni cilj ostvaren! Dalje tako" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "Tjedni cilj je postignut! Uživaj u ostatku tjedna" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "Zapo�ni dan, prvi zadatak te �eka" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "Skoro gotovo! Još samo par zadataka za danas" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "Odli�an tempo ovaj tjedan. Skoro ćeš postići cilju" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "Na pola puta do dnevnog cilja, lijep napredak" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "Dobar tjedan do sada, nastavi tako" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "Svaki završeni zadatak zna�i jedan korak naprijed" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "Postavi svoje dnevne i tjedne ciljeve za praćenje svoje produktivnosti" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "Ovaj tjedan" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "Ovaj mjesec" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "Dnevni cilj" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "Tjedni cilj" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "Uredi ciljeve" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "Ukupno" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "Na �ekanju" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "Prekora�en rok" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "Napredak" #: src/Dialogs/Project.vala:59 src/Layouts/Sidebar.vala:121 #: src/Dialogs/Project.vala:60 msgid "New Project" msgstr "Novi projekt" #: src/Dialogs/Project.vala:67 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 src/Dialogs/Project.vala:68 msgid "Edit Project" msgstr "Uredi projekt" #: src/Dialogs/Project.vala:112 src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "Zadaj ime za tvoj projekt" #: src/Dialogs/Project.vala:123 src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "Koristi emoji" #: src/Dialogs/Project.vala:217 src/Views/Label/LabelSourceRow.vala:56 #: src/Dialogs/Project.vala:218 msgid "Add Project" msgstr "Dodaj projekt" #: src/Dialogs/Project.vala:217 src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "Aktualiziraj projekt" #: src/Dialogs/Project.vala:471 src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "Projekt je uspješno dodan!" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "Premjesti" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "Brzo pronalaženje" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" "Brzo zamijeni projekte i prikaze, pronađi zadatke, pretraži po etiketama" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "Novi odjeljak" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "Uredi odjeljak" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "Ime odjeljka" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "Dodaj odjeljak" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "Aktualiziraj odjeljak" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "Odjeljak je dodan" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "Otvori/zatvori bo�nu traku" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "Otkva�i" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "Završeno. Sljedeće pojavljivanje: %s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "Dodaj podzadatak" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "Uredi" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "Dupliciraj" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "Izbriši zadatak" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "Redoslijed je promijenjen u „Prilagođeni redoslijed razvrstavanja“" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s je izbrisan" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "Poništi" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "Dodaj podzadatke" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "Sakrij podzadatke" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "Prikaži podzadatke" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "Koristi kao bilješku" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "Kopiraj u međuspremnik" #: src/Layouts/ItemRow.vala:2023 src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "Dodaj priloge" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "Zatvori detalje" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "Naslov" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "Svojstva" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "Stvarno želiš izbrisati?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "Izbriši etiketu" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" "Redoslijed projekta je promijenjen u „Prilagođeni redoslijed razvrstavanja“" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "Ukloni iz favorita" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "Dodaj u favorite" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "Osvježi" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "Izbriši projekt" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "Dijeli" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "Pošalji e-poštom" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "Izvezi kao PDF" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "Projekt je izvezen kao PDF" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "Dodaj zadatke" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "U�itaj više" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "završeni zadaci" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "Premjesti odjeljak" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "Upravljaj redoslijedom odjeljaka" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "Prikaži završene zadatke" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "Izbriši odjeljak" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "Favoriti" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "Nema dostupnih favorita. Stvori favorit klikom na gumb '+'" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "Dodaj ra�un" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "Prilagodi bo�nu traku" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "Idi na danas" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "Idi na zakazano" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "Idi na etikete" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "Idi na oglasnu plo�u" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "Nema dostupnih projekata. Stvori projekt klikom na gumb '+'" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "Potrebna je migracija ra�una" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "Glavni izbornik" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "Otvori brzo pronalaženje" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "O aplikaciji Planify" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "Ups! Nešto se dogodilo" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "Zadatak završen" #: src/MainWindow.vala:825 msgid "View" msgstr "Prikaz" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "Provjera integriteta baze podataka nije uspjela" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" "Otkrili smo probleme u strukturi baze podataka koji mogu sprije�iti ispravno " "funkcioniranje aplikacije. Uzrok tome mogu biti nedostajuće tablice ili " "stupci, najvjerojatnije zbog oštećenja podataka ili nepotpunog " "aktualiziranja.\n" "\n" "Baza podataka će se sada resetirati kako bi se ponovo uspostavila normalna " "funkcionalnost, pri �emu će se svi postojeći podaci izbrisati.\n" "\n" "Nakon resetiranja možeš obnoviti bazu podataka pomoću prethodno izrađene " "sigurnosne kopije. Hvala na strpljenju" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "Resetiraj bazu podataka" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "Izbriši sigurnosnu kopiju" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "Sigurnosna kopija je uspješno uvezena" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "Planify će se ponovo pokrenuti kako bi se primijenile promjene" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "Ponovo pokreni sada" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "Datoteke sigurnosnih kopija aplikacije Planify" #: src/Services/ExportService.vala:187 core/Objects/Item.vala:1403 msgid "Deadline:" msgstr "Rok:" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "Ponovi alarm za 10 minuta" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "Ponovi alarm za 30 minuta" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "Ponovi alarm za 1 sat" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "Prikaz izbornika opcija" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "Dodaj neke zadatke" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "Pritisni 'a' za stvaranje novog zadatka" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "Svi zadaci su završeni!" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "Odli�an posao, nema ni�ega za obaviti 🎉" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "zadaci" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "Izbriši završeni zadatak" msgstr[1] "Izbriši završene zadatke" msgstr[2] "Izbriši završene zadatke" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "Ovo će izbrisati %d završeni zadatak i njegove podzadatke" msgstr[1] "Ovo će izbrisati %d završena zadatka i njihove podzadatke" msgstr[2] "Ovo će izbrisati %d završenih zadataka i njihove podzadatke" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "Nema dostupnih etiketa. Stvori etiketu klikom na gumb '+'" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "Sve etikete su skrivene filterom" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "Samo aktivni projekti" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" "Prikaži samo etikete koje koriste zadaci u aktivnim (nearhiviranim) " "projektima" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "Bilješka" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "Termin" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "Kada?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "Dodaj neke zadatke. Pritisni 'a' za stvaranje novog zadatka" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "Radnje projekta" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "Novi zadatak" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "Rok projekta" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "Odaberi" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "Umetni" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "Proširi sve" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "Novo" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "Sažmi sve" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "Popis" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "Plo�a" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "Razvrstavanje" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "Prilagođeni redoslijed razvrstavanja" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "Datum dodavanja" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "Uzlazni redoslijed" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "Datum roka" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "Sve (standardno)" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "Sljedećih 7 dana" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "Sljedećih 30 dana" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "P1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "P2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "P3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "P4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "Filtriraj po etiketama" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "Prikaži završene" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "Prikaži završene zadatke u popisu" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "Traži dovršene zadatke" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "Razvrstaj po" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "Promijeni termin" #: src/Views/Today.vala:761 msgid "Me" msgstr "Ja" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "Prilozi" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "Otvori" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "Nije pronađen nijedan prilog. Ovdje dodaj datoteke." #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "Zaobiđi rješavanje lokacije" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" "Zaobilazno rješenje za probleme s CalDAV vezom s vezama koje koriste ne-" "standardne priklju�ke" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "Upozorenje" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" "Ovo će isklju�iti CalDAV proces rješavanja.\n" "Nastavi na vlastitu odgovornost" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "Svejedno nastavi" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:128 src/Widgets/SubItems.vala:92 #: src/Widgets/ItemDetailCompleted.vala:130 msgid "Sub-tasks" msgstr "Podzadaci" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "Prikaži više" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "Prikaži manje" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "Kopiraj poruku o grešci" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "Za više detalja, dijeli svoju datoteku zapisnika: %s" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "Prijavi problem" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "Potrebna je migracija ra�una." #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "Za %d minutu" msgstr[1] "Za %d minute" msgstr[2] "Za %d minuta" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "Za %d sat" msgstr[1] "Za %d sata" msgstr[2] "Za %d sati" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "Događa se sada" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "Lokacija" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "Organizator" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "URL" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Kalendar" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "Pridruži se" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "Isklju�i provjeru SSL certifikata" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "Ne preporu�uje se – izlaže te sigurnosnim rizicima" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" "Ovo će isklju�iti SSL provjeru i izložit će te napadima.\n" "Nastavi na vlastitu odgovornost" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "Zadatak nije završen" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "Zadatak je premješten u projekt" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "Zadatak je premješten u" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "Prethodni" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "Prikva�eno: Aktivno" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "Prikva�eno: Neaktivno" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "Završeno" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "Premjesti u projekt" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "Ozna�i kao završeno" #: src/Widgets/MultiSelectToolbar.vala:268 #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "Izbriši zadatak" #: src/Widgets/MultiSelectToolbar.vala:269 #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "Stvarno želiš izbrisati ovaj zadatak?" #: src/Widgets/MultiSelectToolbar.vala:272 #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "Izbriši %d zadatak" msgstr[1] "Izbriši %d zadatka" msgstr[2] "Izbriši %d zadataka" #: src/Widgets/MultiSelectToolbar.vala:278 #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "Stvarno želiš izbrisati ovaj %d zadatak?" msgstr[1] "Stvarno želiš izbrisati ova %d zadatka?" msgstr[2] "Stvarno želiš izbrisati ovih %d zadataka?" #: src/Widgets/MultiSelectToolbar.vala:375 #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "Zadatak je premješten u %s" msgstr[1] "%d zadatka su premještena u %s" msgstr[2] "%d zadataka su premješteni u %s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "Dostupna je nova verzija!" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" "Aktualiziraj sada i uživaj u najnovijim poboljšanjima, ispravcima " "programskih grešaka i novim funkcijama koje Planify �ine još boljim" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "Aktualiziraj sada" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "Odbaci" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "Dearhiviraj" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "Još nema dodanih podzadataka. Zapo�ni!" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "Povezivanje sa serverom nije uspjelo" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" "Čini se da server nije dostupan.\n" "Jesi li povezan/a s internetom?\n" "Sve promjene koje napraviš dok nisi povezan/a\n" "će se sinkronizirati kada se ponovo povežeš." #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "%s je %.0f %% završen. Možeš pomoći završiti!" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "Prijevodi" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "Pomogni da Planify bude dostupan diljem svijeta" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "Pomogni poboljšati prijevode" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "Zapo�ni novi prijevod" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "%s još nije dostupan. Budi prvi koji će ga prevesti!" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "Planify – Brzo dodavanje" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "Korišteno bilo gdje" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "Stvori novi zadatak" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "Umetni neformatirani tekst za stvaranje novog zadatka" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "Stvori novi projekt" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "Stvori novi odjeljak u projektu" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "Traži" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "Otvori brzo pronalaženje" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "Upravljanje prozorima" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "Zatvori aplikaciju" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Otvori osobitosti" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "Uklju�i/Isklju�i bo�nu traku" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "Otvori tipkovne pre�ace" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "Navigacija" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "Otvori po�etnu stranicu" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "Otvori ulazni sandu�ić" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "Otvori danas" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "Otvori zakazano" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "Otvori etikete" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "Otvori oglasnu plo�u" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "Globalna zadana vrijednost" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "Isklju�eno" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "Markdown formatiranje" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "Nadja�aj postavku globalnog markdowna za ovaj projekt" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "%d zadatak je kopiran u međuspremnik" msgstr[1] "%d zadatka su kopirana u međuspremnik" msgstr[2] "%d zadataka je kopirano u međuspremnik" #~ msgid "Advanced Options" #~ msgstr "Napredne opcije" #~ msgid "Server URL examples:" #~ msgstr "Primjeri URL-a servera:" #~ msgid "- https://cloud.example.com/" #~ msgstr "- https://cloud.example.com/" #~ msgid "- https://example.com/nextcloud/" #~ msgstr "- https://example.com/nextcloud/" #~ msgid "Token" #~ msgstr "Token" #~ msgid "How to get your token?" #~ msgstr "Kako dobiti token?" #~ msgid "2. Find 'API token' and copy your token" #~ msgstr "2. Pronađi „API token“ i kopiraj svoj token" #~ msgid "Connect with Token" #~ msgstr "Poveži se s tokenom" #~ msgid "" #~ "Planify is being developed with love and passion for open source. " #~ "However, if you like Planify and want to support its development, please " #~ "consider supporting us." #~ msgstr "" #~ "Planify se razvija s ljubavi i strašću prema otvorenom kodu. Međutim, ako " #~ "ti se Planify sviđa i želiš podržati njegov razvoj, razmisli o tome da " #~ "nas podržiš." #~ msgid "Donate Now" #~ msgstr "Doniraj sada" #~ msgid "Enter token" #~ msgstr "Unesi token" #~ msgid "Please Enter Your Credentials" #~ msgstr "Upiši svoje podatke za prijavu" #~ msgid "Loading…" #~ msgstr "U�itava se …" #~ msgid "Network Is Not Available" #~ msgstr "Mreža nije dostupna" #~ msgid "Set a Due Date" #~ msgstr "Postavi datum roka" #~ msgid "Set a Deadline" #~ msgstr "Postavi rok" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "Dopusti da Planify radi u pozadini i šalje obavijesti" #~ msgid "Whether Planify should run on startup" #~ msgstr "Treba li Planify pokrenuti nakon pokretanja sustava" #~ msgid "Clear" #~ msgstr "Izbriši" #~ msgid "Menu" #~ msgstr "Izbornik" #~ msgid "Add Time" #~ msgstr "Dodaj vrijeme" #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "Primaj obavijesti o važnim zadacima ili događajima. Dodirni gumb zvona za " #~ "dodavanje podsjetnika." #, c-format #~ msgid "Processing task %d of %d" #~ msgstr "Obrada zadatka %d od %d" #~ msgid "Planify is syncing your tasks, this may take a few minutes" #~ msgstr "Planify sinkronizira tvoje zadatke, to može potrajati par minuta" #~ msgid "Todoist Sync" #~ msgstr "Todoist sinkronizacija" #~ msgid "Loading" #~ msgstr "U�itavanje" #~ msgid "Planner is sync your tasks, this may take a few minutes" #~ msgstr "Planner sinkronizira tvoje zadatke, to može potrajati par minuta" #~ msgid "Please enter your credentials" #~ msgstr "Upiši svoje podatke za prijavu" #, c-format #~ msgid "Every %d minutes" #~ msgstr "Svakih %d minuta" #, c-format #~ msgid "Every %d hours" #~ msgstr "Svakih %d sati" #, c-format #~ msgid "Every %d days" #~ msgstr "Svakih %d dana" #, c-format #~ msgid "Every %d weeks" #~ msgstr "Svaka %d tjedna" #, c-format #~ msgid "Every %d months" #~ msgstr "Svakih %d mjeseci" #, c-format #~ msgid "Every %d years" #~ msgstr "Svake %d godine" #, c-format #~ msgid "in %d days" #~ msgstr "za %d dana" #, c-format #~ msgid "%d days ago" #~ msgstr "prije %d dana" #, c-format #~ msgid "" #~ "This will delete %d completed tasks and their subtasks from project %s" #~ msgstr "" #~ "Ovo će izbrisati %d završena zadatka i njihove podzadatke iz projekta %s" #, c-format #~ msgid "Load more history from %d weeks ago…" #~ msgstr "U�itaj više povijesti od prije %d tjedna …" #~ msgid "Delete Completed Tasks" #~ msgstr "Izbriši završene zadatke" #, c-format #~ msgid "This will delete %d completed tasks and their subtasks" #~ msgstr "Ovo će izbrisati %d dovršena zadatka i njihove podzadatke" #, c-format #~ msgid "In %d minutes" #~ msgstr "Za %d min" #, c-format #~ msgid "In %d hours" #~ msgstr "Za %d h" #, c-format #~ msgid "Delete %d To-Dos" #~ msgstr "Izbriši %d zadatka" #, c-format #~ msgid "Are you sure you want to delete these %d to-dos?" #~ msgstr "Stvarno želiš izbrisati ovih %d zadatka?" #, c-format #~ msgid "%d tasks moved to %s" #~ msgstr "%d zadatka premješteno u %s" #~ msgid "Backup" #~ msgstr "Sigurnosna kopija" #~ msgid "Task Setting" #~ msgstr "Postavke zadatka" #~ msgid "Close" #~ msgstr "Zatvori" #~ msgid "Personal Data" #~ msgstr "Osobni podatci" #~ msgid "" #~ "We collect absolutely nothing and all your data is stored in a database " #~ "on your computer." #~ msgstr "" #~ "Ne prikupljamo apsolutno ništa i svi tvoji podaci su spremljeni u bazi " #~ "podataka na tvom ra�unalu." #~ msgid "" #~ "If you choose to integrate Todoist, which is optional and not selected by " #~ "default, your data will be stored on their private servers, we only " #~ "display your configured tasks and manage them for you." #~ msgstr "" #~ "Ako odlu�i integrirati Todoist, što je opcionalno i nije standardno " #~ "odabrano, tvoji će se podaci spremati na njihovim privatnim serverima. Mi " #~ "samo prikazujemo tvoje konfigurirane zadatke i upravljamo njima za tebe." #~ msgid "Do you have any questions?" #~ msgstr "Imaš pitanja?" #~ msgid "" #~ "If you have any questions about your data or any other issue, please " #~ "contact us. We will be happy to answer you." #~ msgstr "" #~ "Ako imaš pitanja o tvojim podacima ili o bilo kojem drugom problemu, " #~ "obrati nam se. Rado ćemo ti odgovoriti." #~ msgid "Supporting Us" #~ msgstr "Kako nas podržati" #~ msgid "" #~ "Our mission is to provide the best open source task management " #~ "application for users all over the world. Your donations support this " #~ "work. Want to donate today?" #~ msgstr "" #~ "Naša misija je pružiti najbolju aplikaciju otvorenog koda za upravljanje " #~ "zadacima za korisnike diljem svijeta. Tvoje donacije podržavaju ovaj rad. " #~ "Želiš li danas donirati?" #~ msgid "Support Planify" #~ msgstr "Podrži Planify" #~ msgid "Clear Schedule" #~ msgstr "Izbriši termin" #~ msgid "Stay open after creating task" #~ msgstr "Ostani otvoren nakon stvaranja zadatka" #~ msgid "Process completed, you need to start Planify again" #~ msgstr "Proces je završen, moraš ponovo pokrenuti Planify" #~ msgid "Task Detail" #~ msgstr "Detalji zadatka" #~ msgid "" #~ "This project shows you everything you need to know to hit the ground " #~ "running. Don’t hesitate to play around in it – you can always create a " #~ "new one from settings." #~ msgstr "" #~ "Ovaj projekt prikazuje sve što trebaš znati kako bi odmah po�eo/la s " #~ "radom. Slobodno ga istraži i isprobaj – novi projekt možeš u bilo kojem " #~ "trenutku stvoriti u postavkama." #~ msgid "Tap this to-do" #~ msgstr "Dodirni ovaj zadatak" #~ msgid "" #~ "You're looking at a to-do! Complete it by tapping the checkbox on the " #~ "left. Completed to-dos are collected at the bottom of your project." #~ msgstr "" #~ "Gledaš zadatak! Ozna�i ga kao završen dodirom na kvadratić s lijeve " #~ "strane. Završeni zadaci se skupljaju na dnu tvog projekta." #~ msgid "Create a new to-do" #~ msgstr "Stvori novi zadatak" #~ msgid "" #~ "Now it's your turn, tap the '+' button at the bottom of your project, " #~ "enter any pending and tap the blue 'Save' button." #~ msgstr "" #~ "Sada si ti na redu, dodirni gumb '+' na dnu svog projekta, unesi bilo " #~ "koji zadatak na �ekanju i dodirni plavi gumb „Spremi“." #~ msgid "Plan this to-do by today or later" #~ msgstr "Planiraj ovaj zadatak za danas ili kasnije" #~ msgid "" #~ "Tap the calendar button at the bottom to decide when to do this to-do." #~ msgstr "" #~ "Dodirni gumb kalendara na dnu i odlu�i kada želiš obaviti ovaj zadatak." #~ msgid "Reorder yours to-dos" #~ msgstr "Promijeni redoslijed tvojih zadataka" #~ msgid "" #~ "That’s all you really need to know. Feel free to start adding your own " #~ "projects and to-dos.\n" #~ "You can come back to this project later to learn the advanced features " #~ "below..\n" #~ "We hope you’ll enjoy using Planify!" #~ msgstr "" #~ "To je sve što zaista trebaš znati. Slobodno po�ni dodavati vlastite " #~ "projekte i zadatke.\n" #~ "Ovom projektu se možeš vratiti kasnije za upoznavanje naprednih " #~ "funkcija.\n" #~ "Nadamo se da ćeš uživati koristiti Planify!" #~ msgid "Enable synchronization with third-party service." #~ msgstr "Uklju�i sinkronizaciju s uslugom treće strane." #~ msgid "" #~ "Planify not only creates tasks locally, it can also synchronize your " #~ "Todoist account. Go to 'Preferences' 🡒 'Accounts'." #~ msgstr "" #~ "Planify ne stvara zadatke samo lokalno, već može sinkronizirati i tvoj " #~ "Todoist ra�un. Idi na „Postavke“ 🡒 „Ra�uni“." #~ msgid "Tag your to-dos!" #~ msgstr "Ozna�i svoje zadatke!" #~ msgid "" #~ "Tags allow you to improve your workflow in Planify. To add a Tag click on " #~ "the tag button at the bottom." #~ msgstr "" #~ "Oznake omogućuju poboljšanje toka rada u aplikaciji Planify. Za dodavanje " #~ "oznake klikni na gumb za oznake na dnu." #~ msgid "" #~ "You want Planify to send you a notification to remind you of an important " #~ "event or something special. Tap the bell button below to add a reminder." #~ msgstr "" #~ "Želiš da ti Planify šalje obavijest koje će te podsjetiti na važan " #~ "događaj ili nešto posebno. Dodirni gumb zvona u nastavku za dodavanje " #~ "podsjetnika." #~ msgid "What’s new in Planify" #~ msgstr "Planify novosti" #~ msgid "Inbox as Independent Project" #~ msgstr "Ulazni sandu�ić kao neovisni projekt" alainm23-planify-69962f8/po/hu.po000066400000000000000000002510701517337276100164720ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:04+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Hungarian \n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/hy.po000066400000000000000000002510661517337276100165030ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:00+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Armenian \n" "Language: hy\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/id.po000066400000000000000000003200031517337276100164430ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2026-01-29 13:30+0000\n" "Last-Translator: Arif Budiman \n" "Language-Team: Indonesian \n" "Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.16-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Proyek" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Bagian" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Tugas" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Label" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Filter" #: core/Enum.vala:186 msgid "Lists" msgstr "Daftar" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "Jangan ulangi" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Setiap %d menit" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Setiap %d jam" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Setiap %d hari" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Setiap %d minggu" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Setiap %d bulan" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Setiap %d tahun" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Prioritas" #: core/Enum.vala:348 msgid "Label" msgstr "Label" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Tanggal jatuh tempo" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Bagian" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "Penugasan" #: core/Enum.vala:469 msgid "Task Created" msgstr "Tugas dibuat" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Tugas diperbarui" #: core/Enum.vala:528 msgid "Content" msgstr "Konten" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Deskripsi" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Terjadwal" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Sematkan" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Semua tugas" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "semua tugas" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "semua" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "Kapan saja" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "kapan saja" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "filter" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "tanpa tanggal" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Selesai" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "selesai" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "buku log" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Kotak masuk" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "kotak masuk" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "label" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Papan sematan" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Prioritas 1: tinggi" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Prioritas 2: sedang" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Prioritas 3: rendah" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Prioritas 4: tidak ada" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "tinggi" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "sedang" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "rendah" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "tidak ada" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Berulang" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "berulang" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "terjadwal" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "akan datang" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Hari ini" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "hari ini" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Besok" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "besok" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "tanggal" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Tanpa label" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "tanpa label" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "tanpa label" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Tugas disalin ke papan klip" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "%d tugas dipindahkan ke %s" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Hapus label %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Ini tidak dapat dibatalkan" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Batal" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Hapus" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "Proyek disalin ke papan klip." #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "Hapus Proyek %s?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "Arsipkan?" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "Ini akan mengarsipkan %s dan semua tugasnya." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "Arsipkan" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Hapus Bagian %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "Tugas berhasil ditambahkan!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Nama tugas" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "Kolom ini wajib diisi" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Tambahkan deskripsi…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "Atur tanggal" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Tambahkan label" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Atur prioritas" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Tambahkan pengingat" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Tambahkan tugas" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "Terus menambahkan" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Pilih proyek" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "Maaf, Tambah Cepat tidak dapat menemukan proyek yang tersedia; coba buat " "proyek dari Planify." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Pintasan papan ketik" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "Percepat pembuatan tugas dengan pintasan ini" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "Atur prioritas" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = tertinggi, p4 = terendah" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "Tambahkan label" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "Membuka pemilih label" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "Tetapkan proyek" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "Membuka pemilih proyek" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "Atur pengingat" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "Membuka opsi pengingat" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "Alihkan tetap terbuka setelah membuat tugas" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "Tips" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "Gabungkan pintasan di kolom judul untuk pembuatan yang lebih cepat" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "Memuat tugas untuk %s…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "Tugas untuk %s dimuat…" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "Menyinkronkan tugas %d dari %d" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "Sumber sudah ada" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "Gagal menyelesaikan URL principal" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "Memulai sinkronisasi…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "Menyinkronkan %s…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "Sinkronisasi selesai" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "Di komputer ini" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "Permintaan tidak benar." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "Autentikasi diperlukan, tetapi gagal, atau belum diberikan." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "Permintaan valid, tetapi untuk sesuatu yang dilarang." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "Sumber daya yang diminta tidak dapat ditemukan." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" "Pengguna telah mengirim terlalu banyak permintaan dalam jumlah waktu " "tertentu." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "Permintaan gagal karena kesalahan server." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "Server saat ini tidak dapat menangani permintaan." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "Kesalahan tidak dikenal" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "Kemarin" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "hari" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "hari" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "%s %s yang lalu" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "%s %s lagi" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "%-l:%M:%S %p" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "%-l:%M %p" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "%H:%M:%S" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "%H:%M" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Sen," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Sel," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "Rab," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Kam," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Jum," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "Sab," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "Min," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "dalam %d hari" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d hari yang lalu" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "%a, %b %-e, %Y" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "%b %-e %Y" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "%b %-e" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "%a %Y" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "%a" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "%a, %b %-e" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "%b" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Merah beri" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Merah" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Oranye" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Kuning" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Hijau zaitun" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Hijau limau" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Hijau" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "Hijau mint" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Teal" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "Biru langit" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Biru muda" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Biru" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Anggur" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Ungu" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Lavender" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "Magenta" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "Salmon" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "Arang" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Abu-abu" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "Taupe" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Terang" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Gelap" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Biru tua" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Tidak ada" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Hari ini + Kotak masuk" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Hapus semua" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "Proses selesai, Anda perlu memulai Planify lagi." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "Oke" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "Di Komputer Ini" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Kenali Planify" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "Proyek ini menunjukkan semua yang perlu Anda ketahui agar bisa langsung " "mulai. Jangan ragu untuk mencoba-coba—Anda selalu dapat membuatnya lagi dari " "Preferensi." #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "Ketuk tugas ini" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" "Anda sedang melihat sebuah tugas! Selesaikan dengan mengetuk kotak centang " "di sebelah kiri. " #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "Buat tugas baru" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Sekarang giliran Anda! Ketuk tombol '+' di bagian bawah proyek Anda, " "masukkan deskripsi tugas, lalu ketuk tombol 'Tambahkan Tugas'." #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "Rencanakan tugas ini untuk hari ini atau nanti" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" "Ketuk tombol kalender di bagian bawah untuk memutuskan kapan menyelesaikan " "tugas ini." #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "Atur ulang urutan tugas Anda" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "Untuk mengatur ulang urutan daftar Anda, ketuk dan tahan sebuah tugas, lalu " "seret ke tempat yang semestinya." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Buat proyek" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "Atur tugas Anda dengan lebih baik! Pergi ke panel kiri dan klik tombol '+' " "di bagian 'Di Komputer Ini' lalu tambahkan proyek milik Anda sendiri." #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "Anda selesai!" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "Itu saja yang sebenarnya perlu Anda ketahui. Silakan mulai menambahkan " "proyek dan tugas Anda sendiri.\\\n" "Anda dapat kembali ke proyek ini nanti untuk mempelajari fitur lanjutan di " "bawah ini.\\\n" "Kami harap Anda menikmati menggunakan Planify!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "Sesuaikan pengaturan Anda" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Tampilkan acara kalender Anda" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "Anda dapat menampilkan acara kalender sistem Anda di Planify. Buka " "'Preferensi' 🡒 Umum 🡒 Acara Kalender untuk mengaktifkannya." #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "Aktifkan sinkronisasi dengan layanan pihak ketiga" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "Planify tidak hanya membuat tugas secara lokal, tetapi juga dapat " "menyinkronkan dengan akun Todoist Anda. Buka 'Preferensi' 🡒 'Akun'." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "Tingkatkan produktivitas Anda" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "Seret tombol plus!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "Tombol biru yang Anda lihat di bagian bawah setiap layar itu lebih kuat " "daripada yang terlihat: tombol itu bisa dipindahkan! Seret ke atas untuk " "membuat tugas di mana pun Anda mau." #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "Tambahkan label ke tugas Anda!" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "Label membantu Anda mengatur dan mengategorikan tugas. Untuk menambahkan " "label, klik tombol label di bagian bawah." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "Atur pengingat tepat waktu!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼�Kerja" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒�Sekolah" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉�Didelegasikan" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "��Rumah" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀��Tindak Lanjut" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Tugas diduplikasi" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Bagian diduplikasi" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Proyek diduplikasi" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "Pada waktu jatuh tempo" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 menit sebelumnya" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 menit sebelumnya" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 menit sebelumnya" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 jam sebelumnya" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 jam sebelumnya" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 jam sebelumnya" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "%A, %B %e, %Y" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%OB" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "Kembali" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "Bulan sebelumnya" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "Maju" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "Bulan berikutnya" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "Bulan sebelumnya, %s" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "%B %Y" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "Bulan berikutnya, %s" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Pilih tanggal" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "Min" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Sen" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Sel" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "Rab" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Kam" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Jum" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "Sab" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Waktu" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "sampai" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "selama" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "kali" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "kali" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Ulangi" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "Ketik tanggal…" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "Minggu depan" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Harian" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "Hari kerja" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "Akhir pekan" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Mingguan" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Bulanan" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Tahunan" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "Kustom" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "Menit" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "Jam" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "Hari" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "Minggu" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "Bulan" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "Tahun" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "Tidak pernah" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "Pada tanggal" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "Setelah" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "Terapkan" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "Ulangi setiap" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "Berakhir" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "Tanggal" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "Hapus tanggal" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "Atur tenggat" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "Tenggat" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "Pilih label" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "Label tidak ditemukan: Buat '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" "Daftar filter Anda akan muncul di sini. Buat satu dengan memasukkan nama " "lalu menekan tombol Enter." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "Buat '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "Daftar filter Anda akan muncul di sini." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "Cari" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "Cari atau Buat" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "Hapus tautan" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "Prioritas 4: Tidak ada" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "Prioritas 1: Tinggi" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "Prioritas 2: Sedang" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "Prioritas 3: Rendah" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "Prioritas 1: Sedang" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "Prioritas 1: Rendah" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "Daftar bagian Anda akan muncul di sini." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "Tanpa Bagian" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "Ketik pencarian" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "Pengingat" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" "Daftar pengingat Anda akan muncul di sini. Tambahkan satu dengan mengeklik " "tombol '+'." #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "Tambahkan pengingat" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "Dalam 5 menit" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "Dalam 15 menit" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "Dalam 30 menit" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "Dalam 1 jam" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "Dalam 3 jam" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "Dalam 6 jam" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "Atur Bagian" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "Pilih Bagian" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "Atur Status" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "Status" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "Harus dikerjakan" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "Selesai" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "Planify akan otomatis mulai ketika perangkat ini dinyalakan dan tetap " "berjalan saat jendelanya ditutup agar dapat mengirim notifikasi tugas." #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "Sinkronisasi Kalender" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" "Ubah tugas Anda menjadi acara kalender secara otomatis. Tugas apa pun yang " "memiliki tanggal akan muncul di kalender Anda, sehingga lebih mudah " "merencanakan hari Anda." #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" "Persyaratan: Anda perlu akun kalender yang dikonfigurasi di GNOME Calendar " "(Google, Nextcloud, dll.)" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" "Dapatkan notifikasi seluler untuk tugas Anda melalui Google Calendar, " "Outlook, atau aplikasi kalender apa pun" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" "Tugas Anda tersinkron di mana pun: ponsel, tablet, browser web, dan " "perangkat apa pun yang memiliki kalender Anda" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "Pilih Kalender" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "Pilih kalender dari daftar" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "Aktifkan Sinkronisasi" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "Sinkronisasi kalender berhasil dinonaktifkan" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "Sinkronisasi Kalender Aktif" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" "Tugas Anda saat ini tersinkron dengan kalender Anda. Tugas apa pun yang " "memiliki tanggal otomatis muncul sebagai acara kalender." #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "Nonaktifkan Sinkronisasi" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "Tersinkron dengan: %s" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "Sinkronisasi Diaktifkan!" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" "Tugas Anda kini tersinkron dengan kalender Anda. Tugas apa pun yang memiliki " "tanggal akan otomatis muncul sebagai acara kalender." #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "OK" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "Tugas yang Selesai" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "Lihat Menu Filter" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "Belum ada tugas yang selesai." #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "Hapus Semua Tugas yang Selesai" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" "Ini akan menghapus %d tugas yang selesai beserta subtugasnya dari proyek %s" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "Filter Berdasarkan" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "Minggu Depan" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "Tanpa Tanggal" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Selesai" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "Riwayat Perubahan" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "Ditambahkan pada" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "Tidak tersedia" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "Diperbarui pada" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" "Riwayat perubahan Anda akan ditampilkan di sini setelah Anda mulai membuat " "perubahan." #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "Muat lebih banyak riwayat dari %d minggu yang lalu…" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "Label Baru" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "Sunting Label" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "Beri nama label Anda" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "Tambahkan Label" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "Perbarui Label" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "Filter" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "Proyek yang Diarsipkan" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "Kelola Bagian" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "Anda dapat mengurutkan bagian dengan menyeret dan melepas" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "Diarsipkan" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(Tanpa Bagian)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "Akun" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "Tambahkan Sumber" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "Halaman Kotak Masuk" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "Anda dapat mengurutkan akun dengan menyeret dan melepas" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" "Planify sedang menyinkronkan tugas Anda; ini mungkin memerlukan beberapa saat" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "Verifikasi SSL dinonaktifkan" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "Migrasi akun diperlukan" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "Hubungkan ulang" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "Tidak Dapat Menyembunyikan Akun Ini" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "Akun ini berisi proyek Kotak Masuk Anda saat ini. Silakan ubah proyek Kotak " "Masuk Anda terlebih dahulu." #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "Ubah Kotak Masuk" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "Menyinkronkan…" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "URL server" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "Nama pengguna" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "Kata sandi" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "URL Beranda Kalender" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "Masuk" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "Proyek Kotak Masuk" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" "Kotak Masuk Anda adalah tempat tugas baru masuk secara bawaan. Berdasarkan " "metodologi Getting Things Done dari David Allen, ini adalah titik tangkap " "Anda untuk ide dan tugas cepat yang akan Anda atur nanti" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "Sumber" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "Nama tampilan" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "Server sinkronisasi" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" "Aktifkan pengaturan ini agar Planify otomatis menyinkronkan dengan akun " "account Anda setiap 15 menit" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "Sinkronisasi terakhir" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "Hapus Sumber" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "Hapus Sumber?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "Tidak Dapat Menghapus Sumber Ini" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "Sumber ini berisi proyek Kotak Masuk Anda saat ini. Silakan ubah proyek " "Kotak Masuk Anda terlebih dahulu." #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "1. Buka Todoist → Pengaturan → Integrasi → Pengembang" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "3. Tempelkan token itu di kolom di atas" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "Menyinkronkan…" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "Tampilan" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "Gunakan Pengaturan Sistem" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "Pilih tema" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "Gaya Terang" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "Tema terang yang bersih" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "Gaya Gelap" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "Tema gelap yang elegan" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "Gaya Biru Tua" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "Tema biru profesional" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "Tema kustom tidak tersedia saat menggunakan tema terang sistem" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "Ukuran Font" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "Cadangan" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" "Jangan pernah khawatir kehilangan data Anda. Anda dapat membuat cadangan " "proyek aktif, tugas, dan komentar Anda lalu mengimpornya nanti." #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "Buat Cadangan" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "Impor Cadangan" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "Berkas Cadangan" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" "Tidak ada cadangan yang ditemukan; buat satu dengan mengeklik tombol di atas." #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "Berkas cadangan disimpan di: %s" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "Migrasikan" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "Migrasikan dari Planner" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "Cadangan berhasil dibuat." #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "Tugas berhasil dimigrasikan" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "Berkas basis data tidak ada." #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "Berkas yang dipilih tidak valid" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "Lihat Cadangan" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "Unduh" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "Ikhtisar Impor" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "Sumber" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "Tugas" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "Konfirmasi" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "Pulihkan cadangan" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" "Apakah Anda yakin ingin melanjutkan? Operasi ini akan menghapus data Anda " "saat ini dan menggantinya dengan data cadangan." #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "Pulihkan Cadangan" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "Donasi" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "Dukung Pengembangan Planify" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" "Bantu menjaga Planify tetap gratis dan sumber terbuka! Donasi Anda secara " "langsung mendukung pengembangan, fitur baru, dan pemeliharaan. Setiap " "kontribusi, sekecil apa pun, membuat perbedaan." #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "Dukungan berulang bulanan" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "Donasi satu kali" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "Donasi berulang mingguan" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "Traktir saya kopi ☕" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "Pilih Platform Pilihan Anda" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "Terima kasih atas dukungan Anda! �" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "Kontribusi Anda membantu menjaga Planify tetap hidup dan berkembang." #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "Umum" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "Urutan Pengurutan Kustom" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "Menurut abjad" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "Urutkan berdasarkan" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "Menaik" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "Menurun" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "Terurut" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "Integrasi DE" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "Jalankan saat Startup" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "Jalankan di Latar Belakang" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "Acara Kalender" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "Tanggal dan Waktu" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24 jam" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12 jam" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "Format Jam" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "Minggu" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "Senin" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "Selasa" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "Rabu" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "Kamis" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "Jumat" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "Sabtu" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "Awal Minggu" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "Pengenalan Tanggal Cerdas" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" "Mendeteksi tanggal secara otomatis seperti \\\"besok\\\" atau \\\"minggu " "depan\\\"" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "Tampilan Beranda" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "Tambah Cepat" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" "Gunakan Tambah Cepat untuk membuat tugas dari mana pun di desktop Anda hanya " "dengan beberapa ketukan tombol. Anda bahkan tidak perlu meninggalkan " "aplikasi yang sedang Anda gunakan." #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" "Buka Pengaturan Sistem → Papan Ketik → Pintasan → Kustom, lalu tambahkan " "pintasan baru dengan berikut ini:" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "Pengaturan" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "Simpan Proyek Terpilih Terakhir" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "Jika tidak dicentang, proyek bawaan yang dipilih adalah Kotak Masuk" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "Perintah disalin ke papan klip" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "Bilah samping" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "Tampilkan di Bilah Samping" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "Tampilkan Jumlah Tugas" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "Lebar Bilah Samping" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "Tampilan Daftar untuk Filter" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "Tampilkan filter dalam daftar sederhana alih-alih kisi" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "Anda dapat mengurutkan tampilan dengan menyeret dan melepas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "Pengaturan Tugas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "Selesaikan Seketika" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "Selesaikan dengan Batalkan" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "Penyelesaian Tugas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "Pilih bagaimana perilaku tugas saat ditandai selesai" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "Prioritas 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "Prioritas 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "Prioritas 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "Prioritas Bawaan" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "Coret Tugas yang Selesai" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "Awal" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "Posisi Tugas Baru" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "Selalu Tampilkan Subtugas yang Selesai" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "Biarkan semua subtugas yang selesai tetap terlihat tanpa diciutkan" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "Nada Saat Tugas Selesai" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "Putar suara saat tugas diselesaikan" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "Buka Tugas dalam Tampilan Bilah Samping" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" "Selalu tampilkan detail tugas di bilah samping alih-alih mengembangkannya di " "tampilan daftar." #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "Mode Fokus Satu Tugas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" "Hanya izinkan satu tugas dikembangkan pada satu waktu di tampilan daftar" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "Aktifkan Pemformatan Markdown" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "Aktifkan/nonaktifkan dukungan Markdown untuk tugas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "Selalu Tampilkan Bilah Samping Detail" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" "Biarkan bilah samping detail selalu terlihat untuk navigasi tugas yang lebih " "cepat, tanpa berulang kali membuka dan menutupnya" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "Aktifkan Pemeriksaan Ejaan" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "Periksa ejaan pada deskripsi dan catatan tugas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "Diaktifkan" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "Pengingat otomatis" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" "Jika diaktifkan, pengingat sebelum waktu jatuh tempo tugas akan ditambahkan " "secara bawaan." #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "Preferensi" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "Sinkronkan penyedia to-do favorit Anda" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "Atur tampilan yang ditampilkan pada peluncuran pertama" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "Sesuaikan sesuai selera Anda" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "Sesuaikan bilah samping Anda" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "Menambahkan tugas dari mana saja" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "Cadangkan atau migrasikan dari Planner." #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "Buat Proyek Tutorial" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "Pelajari aplikasi langkah demi langkah dengan proyek tutorial singkat" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "Ingin membelikan saya minuman?" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "Laporkan Isu atau Ajukan Fitur" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "Bagikan bug atau ide di GitHub" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "Ikut Terlibat" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "Hubungi Kami" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "Kontak Kami" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "Minta fitur atau tanyakan apa pun kepada kami" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "Cuitkan kepada Kami" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "Bagikan sedikit apresiasi" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "Discord" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "Diskusikan dan bagikan masukan Anda" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodon" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "Privasi" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "Kebijakan Privasi" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "Kami tidak memiliki apa pun tentang Anda" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "Hapus Data Aplikasi" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "Proyek tutorial telah dibuat" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "Hapus Semua Data?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "Menghapus semua daftar, tugas, dan pengingat Anda secara permanen" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "Ringkasan" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "Lihat Selengkapnya" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "Minggu Ini" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "Bulan Ini" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "Terlambat" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "Proyek Baru" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "Sunting Proyek" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "Beri nama proyek Anda" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "Gunakan Emoji" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "Tambahkan Proyek" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "Perbarui Proyek" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "Proyek berhasil ditambahkan!" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "Pindahkan" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "Pencarian Cepat" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" "Beralih proyek dan tampilan dengan cepat, temukan tugas, cari berdasarkan " "label" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "Bagian Baru" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "Sunting Bagian" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "Nama Bagian" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "Tambahkan Bagian" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "Perbarui Bagian" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "Bagian ditambahkan" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "Buka/Tutup Bilah Samping" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "Lepas sematan" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "Selesai. Kemunculan berikutnya: %s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "Tambahkan subtugas" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "Sunting" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "Duplikasi" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "Hapus Tugas" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "Urutan diubah menjadi 'Urutan pengurutan kustom'" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s telah dihapus" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "Batalkan" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "Tambahkan subtugas" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "Sembunyikan subtugas" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "Tampilkan subtugas" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "Gunakan sebagai Catatan" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "Salin ke Papan Klip" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "Tambahkan Lampiran" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "Tutup Detail" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "Judul" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "Properti" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "Apakah Anda yakin ingin menghapus?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "Hapus Label" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "Pengurutan proyek diubah menjadi 'Urutan pengurutan kustom'" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "Hapus dari Favorit" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "Tambahkan ke Favorit" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "Muat ulang" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "Hapus Proyek" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "Bagikan" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "Kirim melalui E-mail" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "Tambahkan tugas" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "Muat lebih banyak" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "tugas yang selesai" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "Pindahkan Bagian" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "Kelola Urutan Bagian" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "Tampilkan Tugas yang Selesai" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "Hapus Bagian" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "Favorit" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "Tidak ada favorit yang tersedia. Buat satu dengan mengeklik tombol '+'" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "Tambahkan Akun" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "Sesuaikan Bilah Samping" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "Pergi ke Hari Ini" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "Pergi ke Terjadwal" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "Pergi ke Label" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "Pergi ke Papan Sematan" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "Tidak ada proyek yang tersedia. Buat satu dengan mengeklik tombol '+'" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "Migrasi Akun Diperlukan" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "Menu Utama" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "Buka Pencarian Cepat" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "Tentang Planify" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "Ups! Terjadi sesuatu" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "Tugas selesai" #: src/MainWindow.vala:825 msgid "View" msgstr "Tampilan" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "Pemeriksaan Integritas Basis Data Gagal" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" "Kami mendeteksi masalah pada struktur basis data yang dapat mencegah " "aplikasi berfungsi dengan baik. Hal ini mungkin disebabkan oleh tabel atau " "kolom yang hilang, kemungkinan karena kerusakan data atau pembaruan yang " "tidak lengkap.\\\n" "\\\n" "Basis data sekarang akan direset untuk memulihkan fungsi normal, dan data " "yang ada akan dihapus.\\\n" "\\\n" "Setelah reset, Anda akan dapat memulihkan cadangan apa pun yang sebelumnya " "Anda buat. Terima kasih atas kesabaran Anda" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "Reset Basis Data" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "Hapus Cadangan" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "Cadangan Berhasil Diimpor" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "Planify akan dimulai ulang untuk menerapkan perubahan" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "Mulai Ulang Sekarang" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "Berkas Cadangan Planify" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "Tunda selama 10 menit" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "Tunda selama 30 menit" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "Tunda selama 1 jam" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "Menu Opsi Tampilan" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "Tambahkan Beberapa Tugas" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "Tekan 'a' untuk membuat tugas baru" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "Semua tugas selesai!" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "Kerja bagus, tidak ada yang tersisa untuk dikerjakan 🎉" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "Hapus Tugas yang Selesai" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "Ini akan menghapus %d tugas yang selesai beserta subtugasnya" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "Tidak ada label yang tersedia. Buat satu dengan mengeklik tombol '+'" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "Catatan" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "Jadwalkan" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "Kapan?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "Tambahkan Beberapa Tugas. Tekan 'a' untuk membuat tugas baru" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "Aksi Proyek" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "Tugas Baru" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "Tenggat Proyek" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "Pilih" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "Tempel" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "Bentangkan Semua" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "Baru" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "Ciutkan Semua" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "Daftar" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "Papan" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "Pengurutan" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "Urutan pengurutan kustom" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "Tanggal Ditambahkan" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "Urutan Menaik" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "Tanggal jatuh tempo" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "Semua (bawaan)" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "7 Hari Ke Depan" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "30 Hari Ke Depan" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "P1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "P2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "P3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "P4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "Filter berdasarkan Label" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "Tampilkan yang Selesai" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "Tampilkan tugas yang selesai dalam daftar" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "Cari tugas yang selesai" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "Urutkan Berdasarkan" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "Jadwalkan ulang" #: src/Views/Today.vala:761 msgid "Me" msgstr "Saya" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "Lampiran" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "Buka" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "Tidak ada lampiran yang ditemukan. Tambahkan berkas di sini." #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "Lewati Penyelesaian Lokasi" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" "Solusi sementara untuk masalah koneksi CalDAV pada koneksi yang menggunakan " "port non-bawaan" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "Peringatan" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" "Ini akan menonaktifkan proses penyelesaian CalDAV.\\\n" "Lanjutkan dengan risiko Anda sendiri" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "Tetap Lanjutkan" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "Subtugas" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "Tampilkan lebih banyak" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "Tampilkan lebih sedikit" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "Laporkan Isu" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "Dalam %d menit" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "Dalam %d jam" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "Sedang berlangsung" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "Lokasi" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "Penyelenggara" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "URL" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Kalender" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "Gabung" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "Nonaktifkan validasi sertifikat SSL" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "Tidak direkomendasikan – membuat Anda rentan terhadap risiko keamanan" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" "Ini akan menonaktifkan validasi SSL dan membuat Anda rentan terhadap " "serangan.\\\n" "Lanjutkan dengan risiko Anda sendiri" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "Tugas dibatalkan penyelesaiannya" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "Tugas dipindahkan ke proyek" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "Tugas dipindahkan ke" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "Sebelumnya" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "Sematkan: Aktif" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "Sematkan: Tidak Aktif" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "Selesai pada" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "Pindahkan ke Proyek" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "Tandai sebagai Selesai" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "Hapus Tugas" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "Apakah Anda yakin ingin menghapus tugas ini?" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "Hapus %d Tugas" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "Apakah Anda yakin ingin menghapus %d tugas ini?" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "%d tugas dipindahkan ke %s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "Versi baru tersedia!" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" "Perbarui sekarang untuk menikmati peningkatan terbaru, perbaikan bug, dan " "fitur baru yang membuat Planify semakin baik" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "Perbarui Sekarang" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "Tutup" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "Batalkan arsip" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "Belum ada subtugas yang ditambahkan. Mulai sekarang!" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "Gagal terhubung ke server" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" "Sepertinya server tidak dapat dijangkau,\\\n" "apakah Anda terhubung ke internet?\\\n" "Perubahan apa pun yang Anda buat saat terputus\\\n" "akan disinkronkan saat Anda tersambung kembali." #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "%s sudah %.0f%% selesai. Anda bisa membantu menyelesaikannya!" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "Terjemahan" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "Bantu jadikan Planify tersedia di seluruh dunia" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "Bantu meningkatkan terjemahan" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "Mulai terjemahan baru" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "%s belum tersedia. Jadilah yang pertama menerjemahkannya!" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "Planify - Tambah Cepat" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "Dapat digunakan di mana saja" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "Buat Tugas Baru" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "Tempel Teks Biasa untuk Membuat Tugas Baru" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "Buat Proyek Baru" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "Buat Bagian Baru dalam Proyek" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "Cari" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "Buka Pencarian Cepat" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "Kendalikan Jendela" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "Keluar" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Buka Preferensi" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "Alihkan Bilah Samping" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "Buka Pintasan Papan Ketik" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "Navigasi" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "Buka Beranda" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "Buka Kotak Masuk" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "Buka Hari Ini" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "Buka Terjadwal" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "Buka Label" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "Buka Papan Sematan" #~ msgid "Advanced Options" #~ msgstr "Opsi Lanjutan" #~ msgid "Server URL examples:" #~ msgstr "Contoh URL server:" #~ msgid "- https://cloud.example.com/" #~ msgstr "- https://cloud.example.com/" #~ msgid "- https://example.com/nextcloud/" #~ msgstr "- https://example.com/nextcloud/" #~ msgid "Token" #~ msgstr "Token" #~ msgid "How to get your token?" #~ msgstr "Bagaimana cara mendapatkan token Anda?" #~ msgid "2. Find 'API token' and copy your token" #~ msgstr "2. Temukan 'Token API' lalu salin token Anda" #~ msgid "Connect with Token" #~ msgstr "Hubungkan dengan Token" #~ msgid "" #~ "Planify is being developed with love and passion for open source. " #~ "However, if you like Planify and want to support its development, please " #~ "consider supporting us." #~ msgstr "" #~ "Planify dikembangkan dengan cinta dan semangat untuk sumber terbuka. " #~ "Namun, jika Anda menyukai Planify dan ingin mendukung pengembangannya, " #~ "silakan pertimbangkan untuk mendukung kami." #~ msgid "Donate Now" #~ msgstr "Donasi Sekarang" #~ msgid "Enter token" #~ msgstr "Masukkan token" #~ msgid "Please Enter Your Credentials" #~ msgstr "Silakan Masukkan Kredensial Anda" #~ msgid "Loading…" #~ msgstr "Memuat…" #~ msgid "Network Is Not Available" #~ msgstr "Jaringan Tidak Tersedia" #~ msgid "Set a Due Date" #~ msgstr "Atur Tanggal Jatuh Tempo" #~ msgid "Set a Deadline" #~ msgstr "Atur Tenggat" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "Biarkan Planify berjalan di latar belakang dan mengirim notifikasi" #~ msgid "Whether Planify should run on startup" #~ msgstr "Apakah Planify harus berjalan saat startup" #~ msgid "Clear" #~ msgstr "Bersihkan" #~ msgid "Menu" #~ msgstr "Menu" #~ msgid "Add Time" #~ msgstr "Tambahkan waktu" #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "Dapatkan notifikasi tentang tugas atau acara penting. Ketuk tombol " #~ "lonceng di bawah untuk menambahkan pengingat." #~ msgid "" #~ "Todoist has updated their API. Please reconnect your account in Settings " #~ "to continue syncing." #~ msgstr "" #~ "Todoist telah memperbarui API mereka. Silakan hubungkan ulang akun Anda " #~ "di Pengaturan untuk melanjutkan sinkronisasi." alainm23-planify-69962f8/po/io.github.alainm23.planify.pot000066400000000000000000002512571517337276100232070ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the io.github.alainm23.planify package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-04-14 10:38+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/is.po000066400000000000000000002511161517337276100164720ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:59+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Icelandic \n" "Language: is\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n % 10 != 1 || n % 100 == 11;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/it.po000066400000000000000000003042261517337276100164740ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: alainmh23@gmail.com\n" "POT-Creation-Date: 2025-11-02 17:57+0000\n" "PO-Revision-Date: 2026-04-22 14:09+0000\n" "Last-Translator: Stephnie Klim \n" "Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.17.1-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Progetti" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Sezioni" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Compiti" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Etichette" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Filtri" #: core/Enum.vala:186 msgid "Lists" msgstr "Liste" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "Non ripetere" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Ogni minuto" msgstr[1] "Ogni %d minuti" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Ogni ora" msgstr[1] "Ogni %d ore" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Ogni giorno" msgstr[1] "Ogni %d giorni" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Ogni settimana" msgstr[1] "Ogni %d settimane" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Ogni mese" msgstr[1] "Ogni %d mesi" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Ogni anno" msgstr[1] "Ogni %d anni" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Priorità" #: core/Enum.vala:348 msgid "Label" msgstr "Etichetta" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Scadenza" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Sezione" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "Incarico" #: core/Enum.vala:469 msgid "Task Created" msgstr "Attività creata" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Attività aggiornata" #: core/Enum.vala:528 msgid "Content" msgstr "Contenuto" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Descrizione" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Programmate" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Pin" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Tutti i compiti" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "tutti i compiti" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "tutti" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "In qualsiasi momento" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "in qualsiasi momento" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "filtri" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "nessuna data" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Completo" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "completato" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "registro" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Posta in arrivo" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "posta in arrivo" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "etichette" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Bacheca" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Priorità 1: alta" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Priorità 2: media" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Priorità 3: bassa" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Priorità 4: nessuna" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "alta" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "media" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "bassa" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "niente" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Ripetendo" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "ripetendo" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "programmate" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "imminente" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Oggi" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "oggi" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Domani" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "domani" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "data" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Senza etichetta" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "nessuna etichetta" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "senza etichetta" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Attività copiata negli appunti" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "Task spostato in %s" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Cancella Etichetta %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "L'operazione non può essere annullata" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Annulla" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Elimina" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "Il Progetto è stato copiato negli Appunti." #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "Eliminare il Progetto %s?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "Archiviare?" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "%s e tutte le sue attività verranno archiviate." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "Archivia" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Cancella Selezione %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "Task aggiunto con successo!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Nome to-do" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "Questo campo è obbligatorio" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Aggiungi una descrizione…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "Imposta data" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Aggiungi etichetta" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Imposta la Priorità" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Aggiungi promemoria" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Aggiungi Task" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "Continua ad aggiungere" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Scegli un Progetto" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "Mi dispiace, Quick Add non riesce a trovare alcun progetto disponibile. " "Prova a creare un progetto da Planify." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Scorciatoie da tastiera" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "Velocizza la creazione di task con queste scorciatoie" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "Imposta Priorità" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = più alta, p4 = più bassa" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "Aggiungi etichette" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "Apre il selettore di etichette" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "Assegna Progetto" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "Apre il selettore di progetti" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "Imposta promemoria" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "Apri opzioni promemoria" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "Mantieni aperto alla creazione dell'attività" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "Suggerimento" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "Combina scorciatoie nel campo del titolo per una creazione più veloce" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "Caricamento task per %s…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "Attività caricate per %s…" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "Attività di sincronizzazione %d di %d" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "La fonte esiste già" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "Impossibile risolvere l'URL principale" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "Inizio sincronizzazione…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "Sincronizzazione %s…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "Sincronizzazione completata" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "Su questo computer" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" "Todoist hanno aggiornato le loro API. Per favore riconnetti il tuo account " "in Impostazioni per continuare la sincronizzazione." #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "La richiesta era errata." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" "L'autenticazione è richiesta, ma non è riuscita oppure non è ancora stata " "fornita." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "La richiesta era valida, ma per qualcosa che è proibito." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "La risorsa richiesta non è stata trovata." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "L'utente ha inviato troppe richieste in un dato lasso di tempo." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "La richiesta non è riuscita a causa di un errore del server." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "Al momento il server non è in grado di gestire la richiesta." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "Errore sconosciuto" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "Ieri" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "giorni" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "giorno" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "%s %s fa" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "%s %s mancante" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "%-l:%M:%S %p" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "%-l:%M %p" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "%H:%M:%S" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "%H:%M" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Lu," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Ma," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "Me," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Gi," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Ve," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "Sa," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "Do," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "in %d giorno" msgstr[1] "in %d giorni" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d giorno fa" msgstr[1] "%d giorni fa" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "%a, %b %-e, %Y" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "%b %-e %Y" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "%b %-e" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "%a %Y" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "%a" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "%a, %b %-e" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "%b" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Rosso Lampone" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Rosso" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Arancione" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Giallo" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Verde Oliva" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Verde Lime" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Verde" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "Verde Menta" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Verde Acqua" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "Blu Cielo" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Azzurro" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Blu" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Violetto" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Viola" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Lavanda" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "Magenta" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "Rosa Salmone" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "Carbone" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Grigio" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "Grigio Talpa" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Chiaro" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Scuro" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Blu Scuro" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Nessuno" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Oggi + Posta in arrivo" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Elimina tutto" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "Processo completato , è necessario riavviare Planify." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "Ok" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "Su Questo Computer" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Scopri Planify" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "Questo progetto ti mostra tutto ciò che devi sapere per iniziare subito. Non " "esitare a sperimentarlo: puoi sempre ricrearlo dalle Preferenze." #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "Tocca questa attività" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" "Stai guardando una to-do! Completala toccando la casella di controllo a " "sinistra. " #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "Crea un nuovo task" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Ora tocca a te! Tocca il pulsante \"+\" in fondo al progetto, inserisci una " "descrizione del task e tocca il pulsante \"Aggiungi task\"." #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "Pianifica to-do da fare per oggi o più tardi" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" "Tocca il pulsante del calendario in basso per decidere quando completare " "questa to-do." #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "Riordina i tuoi compiti" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "Per riordinare la tua lista, clicca e mantieni su un compito, poi trascinalo " "nella posizione desiderata." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Crea un progetto" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "Organizza i tuoi compiti al meglio! Vai al pannello di sinistra e clicca il " "tasto '+' nella sezione 'Su questo Computer' e aggiungi il tuo progetto." #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "Fatto!" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "Questo è tutto quello che devi sapere. Sentiti libero di iniziare ad " "aggiungere i tuoi progetti e le tue attività.\n" "Puoi ritornare a questo progetto più tardi per imparare le funzionalità " "avanzate qui sotto.\n" "Ci auguriamo che ti piacerà usare Planify!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "Sintonizza la tua configurazione" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Mostra gli eventi dal tuo calendario" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "Puoi mostrare gli eventi dal calendario del tuo sistema in Planify. Vai a " "'Preferenze' 🡒 Generali 🡒 Eventi dal Calendario per attivarlo." #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "Abilita sincronizzazione con i servizi di terze parti" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "Planify non solo crea Task in locale ma può anche sincronizzare il tuo " "account Todoist. Vai in 'Preferenze' 🡒 'Account'." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "Migliora la tua produttività" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "Premi e sposta il bottone +!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "Quel bottone blu che vedi in basso in ogni pagina è più potente di quello " "che sembra: è fatto per muoversi! Premilo e spostalo per creare una task " "ovunque tu voglia." #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "Aggiungi etichette ai tuoi compiti!" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "Le etichette ti aiutano ad organizzare e catalogare i tuoi compiti. Per " "aggiungere un'etichetta, clicca sul pulsante etichetta in basso." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "Imposta promemoria timerati!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" "Ricevi notifiche su attività o eventi importanti. Tocca il pulsante " "dell'orologio qui sotto per aggiungere un promemoria." #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼Lavoro" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒Scuola" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉�Delegato" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "�Casa" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀��Prossimi" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Attività duplicata" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Sezione duplicata" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Progetto duplicato" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "Alla scadenza" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 minuti prima" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 minuti prima" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 minuti prima" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 ora prima" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 ore prima" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 ore prima" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "%A, %B %e, %Y" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%OB" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "Indietro" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "Mese precedente" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "Avanti" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "Mese prossimo" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "Mese precedente, %s" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "%B %Y" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "Il prossimo mese, %s" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Scegli una data" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "Dom" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Lun" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Mar" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "Mer" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Gio" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Ven" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "Sab" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Ora" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "fino a" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "per" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "volte" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "volta" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Ripeti" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "Digita una data…" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "La prossima settimana" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "Salva" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Ogni giorno" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "Giorni feriali" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "Weekend" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Ogni settimana" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Ogni mese" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Ogni anno" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "Personalizzato" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "Senza data" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "Minuto(i)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "Ora(e)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "Giorno(i)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "Settimana(e)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "Mese(i)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "Anno(i)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "Mai" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "Alla Data" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "Dopo" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "Applica" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "Ripeti ogni" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "Fine" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "Data" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "Rimuovi data" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "Imposta una Scadenza" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "Scadenza" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "Seleziona etichette" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "Etichetta non trovata: Crea '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" "La tua lista di filtri verrà mostrata qui. Per crearne una inserisci il nome " "e premi il tasto Invio." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "Crea '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "La tua lista di filtri verrà mostrata qui." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "Cerca" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "Cerca o Crea" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "Elimina collegamento" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "Priorità 4: Nessuna" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "Priorità 1: Alta" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "Priorità 2: Media" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "Priorità 3: Bassa" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "Priorità 1: Media" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "Priorità 1: Bassa" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "La tua lista di sezioni verrà mostrata qui." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "Nessuna Sezione" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "Digita una ricerca" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "Promemoria" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" "La tua lista di promemoria verrà mostrata qui. Aggiungine uno cliccando sul " "pulsante '+'." #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "Aggiungi promemoria" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "Tra 5 minuti" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "Tra 15 minuti" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "Tra 30 minuti" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "Tra 1 ora" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "Tra 3 ore" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "Tra 6 ore" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "Imposta Sezione" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "Seleziona Sezione" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "Imposta lo status" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "Status" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "Da fare" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "Completato" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "Planify si avvierà automaticamente all'accensione di questo dispositivo e " "rimarrà in esecuzione anche quando la sua finestra sarà chiusa in modo da " "poter inviare notiche riguardanti le attività." #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "Sincronizzazione del calendario" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" "Trasforma automaticamente le tue attività in eventi del calendario. " "Qualunque attività con una data comparirà nel tuo calendario, rendendo più " "facile pianificare la tua giornata." #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" "Requisito: È necessario un account del calendario configurato in GNOME " "Calendar (Google, Nextcloud, etc.)" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" "Ricevi notifiche sul cellulare per le tue attività tramite Google Calendar, " "Outlook o qualsiasi altra app di calendario" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" "Le tue attività vengono sincronizzate ovunque: telefono, tablet, browser e " "qualsiasi altro dispositivo con il tuo calendario" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "Scegli Calendario" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "Seleziona un calendario dalla lista" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "Attiva sincronizzazione" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "Sincronizzazione del calendario disabilitata correttamente" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "Sincronizzazione del calendario attiva" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" "Le tue attività sono attualmente sincronizzate con il tuo calendario. Ogni " "attività con una data appare automaticamente come un evento nel calendario." #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "Disattiva sincronizzazione" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "Sincronizzato con: %s" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "Sincronizzazione abilitata!" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" "Le tue attività sono attualmente sincronizzate con il tuo calendario. Ogni " "attività con una data appare automaticamente come un evento nel calendario." #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "OK" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "Attività completate" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "Visualizza il menu dei filtri" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "Ancora nessuna attività completata." #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "Elimina Tutte le Attività Completate" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "Filtra per" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "Nessuna Data" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Fatto" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "Cronologia delle Modifiche" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "Non disponibile" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "Nuova Etichetta" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "Modifica Etichetta" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "Dai un nome alla tua etichetta" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "Aggiungi Etichetta" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "Aggiorna Etichetta" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "Filtra" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "Progetti archiviati" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "Gestisci Sezioni" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "Puoi ordinare le tue sezioni trascinandole e rilasciandole" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(Nessuna Sezione)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "Puoi riordinare gli account trascinandoli" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "Sincronizzazione…" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "URL Server" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "Utente" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "Password" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "Accedi" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "Nome Visualizzato" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "Sincronizzazione…" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "Aspetto" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "Usa le Impostazioni di Sistema" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "Seleziona Tema" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "Stile Chiaro" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "Stile Scuro" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "Tema scuro elegante" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "Stile Blu Scuro" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "Tema blu professionale" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "Dimensione del Font" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "Backups" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "Crea Backup" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "Importa Backup" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "I file di backup sono memorizzati in: %s" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "Migra" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "Il Backup è stato creato con successo." #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "Il file selezionato non è valido" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "Download" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "Conferma" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" "Sei sicuro di voler continuare? Questa operazione eliminerà i tuoi dati e li " "sostituirà con i dati di backup." #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "Ripristina il Backup" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "Generale" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "In ordine alfabetico" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "Ordina per" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "Ascendente" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "Discendente" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "Ordinato" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "Esegui all'avvio" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "Esegui in Background" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "Eventi del Calendario" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "Data e Ora" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24h" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12h" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "Formato ora" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "Domenica" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "Lunedì" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "Martedì" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "Mercoledì" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "Giovedì" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "Venerdì" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "Sabato" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "Inizio della settimana" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" "Rileva automaticamente le date come \"domani\" o \"settimana prossima\"" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "Impostazioni" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "Il comando è stato copiato negli appunti" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "Barra laterale" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "Mostra nella barra laterale" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "Larghezza barra laterale" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" "Scegli come devono comportarsi le attività quando vengono contrassegnate " "come completate" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "Priorità 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "Priorità 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "Priorità 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "Priorità di default" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "Sbarra le attività completate" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "Inizio" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "Posizione Nuova Attività" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "Mostra Sempre Sotto-Attività Completate" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "Mantiene visibili tutte le sotto-attività completate senza comprimerle" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "Riproduci un suono quando vengono completate le attività" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "Abilita Controllo Ortografico" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "Controllo ortografico nella descrizione dell'attività e nelle note" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "Attivato" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "Promemoria automatici" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "Preferenze" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "Personalizza secondo i tuoi gusti" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "Personalizza la tua barra laterale" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "Segnala un Problema o Richiedi Funzione" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "Condividi bug o idee su GitHub" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "Partecipa" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "Contattaci" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "Contattaci" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "Richiedi una funzione o chiedici qualsiasi cosa" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "Discord" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodon" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "Privacy" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "Informativa sulla privacy" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "Non abbiamo nulla su di te" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "Elimina Dati dell'Applicazione" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "È stato creato un progetto tutorial" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "Eliminare Tutti i Dati?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "Riepilogo & Produttività" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "Imposta Obiettivi" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "Definisci quante attività vuoi completare al giorno ed alla settimana" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "Riepilogo" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "Produttività" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" "Imposta i tuoi obiettivi giornalieri e settimanali per iniziare a tracciare " "la tua produttività" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "Questa Settimana" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "Questo Mese" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "Totale" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "In sospeso" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "In ritardo" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "Progressi" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "Nuovo Progetto" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "Modifica Progetto" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "Dai un nome al tuo progetto" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "Usa Emoji" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "Aggiungi Progetto" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "Aggiorna Progetto" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "Progetto aggiunto con successo!" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "Sposta" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "Ricerca Rapida" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" "Cambia rapidamente progetto e vista, trova attività, cerca per etichette" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "Nuova Sezione" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "Modifica Sezione" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "Nome della Sezione" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "Aggiungi Sezione" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "Aggiorna Sezione" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "Sezione Aggiunta" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "Apri/Chiudi Barra Laterale" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "Rilascia" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "Aggiungi Sotto-Attività" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "Modifica" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "Duplica" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "Elimina Attività" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "Annulla" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "Aggiungi Sotto-Attività" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "Nascondi Sotto-Attività" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "Mostra Sotto-Attività" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "Copia negli Appunti" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "Aggiungi Allegato" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "Titolo" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "Proprietà" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "Elimina Etichetta" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "Rimuovi dai Preferiti" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "Aggiungi ai Preferiti" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "Aggiorna" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "Elimina Progetto" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "Condividi" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "Invia tramite E-Mail" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "Aggiungi Attività" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "Carica di più" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "attività completate" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "Sposta Sezione" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "Mostra Attività Completate" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "Elimina Sezione" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "Preferiti" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "Non ci sono preferiti. Creane uno cliccando sul pulsante '+'" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "Aggiungi Account" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "Personalizza Barra Laterale" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "Vai a Oggi" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "Vai a Programmate" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "Vai a Etichette" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "Nessun progetto disponibile. Creane uno cliccando sul pulsante '+'" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "Menù Principale" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "Apri ricerca rapida" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "Informazioni su Planify" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "Premi 'a' per creare una nuova attività" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "Aggiungi qualche attività. Premi 'a' per creare una nuova attività" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "Azioni progetto" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "Seleziona" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "Incolla" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "Espandi Tutto" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "Nuovo" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "Contrai Tutto" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "Ordinamento" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "Data di aggiunta" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "Tutti (predefinito)" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "Prossimi 7 Giorni" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "Prossimi 30 Giorni" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "Filtra per Etichette" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "Mostra completati" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "Mostra attività completate nella lista" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "Cerca tra le attività completate" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "Segnala un problema" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Calendario" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "Segna come completato" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "Task spostato in %s" msgstr[1] "%d Task spostate in %s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "Nuova versione disponibile!" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "Disarchivia" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "Connessione al server fallita" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" "Sembra che il server sia irraggiungibile,\n" "sei connesso a internet?\n" "Ogni modifica fatta mentre sei disconnesso\n" "verrà sincronizzata quando ti riconnetterai." #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "Traduzioni" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "Aiuta a rendere Planify disponibile in tutto il mondo" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "Aiuta a migliorare le traduzioni" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "Inizia una nuova traduzione" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "Crea un nuovo progetto" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "Crea una nuova sezione in un progetto" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "Cerca" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "Apri ricerca rapida" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" #~ msgid "Advanced Options" #~ msgstr "Opzioni Avanzate" #~ msgid "Server URL examples:" #~ msgstr "Esempi di URL server:" #~ msgid "- https://cloud.example.com/" #~ msgstr "- https://cloud.esempio.it/" #~ msgid "- https://example.com/nextcloud/" #~ msgstr "- https://esempio.it/nextcloud/" #~ msgid "Token" #~ msgstr "Token" #~ msgid "Set a Due Date" #~ msgstr "Imposta una data di scadenza" #~ msgid "Set a Deadline" #~ msgstr "Imposta una scadenza" #~ msgid "Loading…" #~ msgstr "Caricamento…" #~ msgid "Network Is Not Available" #~ msgstr "Rete Non Disponibile" #~ msgid "Clear" #~ msgstr "Ripulisci" #~ msgid "Menu" #~ msgstr "Menù" #~ msgid "Add Time" #~ msgstr "Aggiungi orario" #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "Ricevi una notifica riguardo ad attività importanti o eventi. Premi il " #~ "pulsante con la campanella qui sotto per aggiungere un promemoria." #, c-format #~ msgid "Processing task %d of %d" #~ msgstr "Elaborazione task %d di %d" #, c-format #~ msgid "Every %d minutes" #~ msgstr "Ogni %d minuti" #, c-format #~ msgid "Every %d hours" #~ msgstr "Ogni %d ore" #, c-format #~ msgid "Every %d days" #~ msgstr "Ogni %d giorni" #, c-format #~ msgid "Every %d weeks" #~ msgstr "Ogni %d settimane" #, c-format #~ msgid "Every %d months" #~ msgstr "Ogni %d mesi" #, c-format #~ msgid "Every %d years" #~ msgstr "Ogni %d anni" #~ msgid "Stay open after creating task" #~ msgstr "Rimani aperto dopo aver creato una task" alainm23-planify-69962f8/po/ja.po000066400000000000000000002525331517337276100164550ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2026-01-17 16:01+0000\n" "Last-Translator: Nagi \n" "Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.15.2\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "プロジェクト" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "セクション" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "タスク" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "ラベル" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "フィルター" #: core/Enum.vala:186 msgid "Lists" msgstr "リスト" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "繰り返���" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "優先度" #: core/Enum.vala:348 msgid "Label" msgstr "ラベル" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "セクション" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "説明" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "スケジュール" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "ピン止�" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "����タスク" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "����タスク" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "���" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "フィルター" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "完了済�" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "完了済�" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "ラベル" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "ピン止�" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "優先度 1:高" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "優先度 2:中" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "優先度 3:低" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "優先度 4:��" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "高" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "中" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "低" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "��" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "繰り返�" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "繰り返�" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "キャンセル" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "削除" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "プロジェクトをクリップボード�コピー����。" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "アーカイブ����?" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "アーカイブ" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "タスクを追加�����" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "To-do�" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "��項目�必須��" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "説明を追加…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "日付を設定" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "ラベルを追加" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "優先度を設定" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "リマインダーを追加" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "タスクを追加" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "続��追加" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "プロジェクトを�択" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "キーボードショートカット" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "優先度を設定" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = 最高�p4 = 最低" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "ラベルを追加" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "ラベル�一覧を表示" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "プロジェクト�割り当�" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "プロジェクト�一覧を表示" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "リマインダーを設定" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "リマインダーを設定" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "タスク作�後�続��追加�る" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/jv.po000066400000000000000000002505101517337276100164730ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:54+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Javanese \n" "Language: jv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/ka.po000066400000000000000000003617011517337276100164540ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:10+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Georgian \n" "Language: ka\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "პრ�ექტები" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "სექციები" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "�მ�ც�ნები" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "ჭდეები" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "ფილტრები" #: core/Enum.vala:186 msgid "Lists" msgstr "სიები" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "�რ გ�იმე�რ�" #: core/Enum.vala:216 #, fuzzy, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "ყ�ველ წუთს" msgstr[1] "ყ�ველ წუთს" #: core/Enum.vala:218 #, fuzzy, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "ყ�ველ ს��თში" msgstr[1] "ყ�ველ ს��თში" #: core/Enum.vala:220 #, fuzzy, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "ყ�ველდღე" msgstr[1] "ყ�ველდღე" #: core/Enum.vala:222 #, fuzzy, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "ყ�ველ კვირ�ში" msgstr[1] "ყ�ველ კვირ�ში" #: core/Enum.vala:224 #, fuzzy, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "ყ�ველ თვეში" msgstr[1] "ყ�ველ თვეში" #: core/Enum.vala:226 #, fuzzy, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "ყ�ველ წელიწ�დში" msgstr[1] "ყ�ველ წელიწ�დში" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "პრი�რიტეტი" #: core/Enum.vala:348 msgid "Label" msgstr "ჭდე" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "თ�რიღ�მდე" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "გ�ნყ�ფილებ�" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "�მ�ც�ნ� შეიქმნ�" #: core/Enum.vala:472 msgid "Task Updated" msgstr "�მ�ც�ნ� გ�ნ�ხლდ�" #: core/Enum.vala:528 msgid "Content" msgstr "შემცველ�ბ�" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "�ღწერ�" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "დ�გეგმილი�" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "მიმ�გრებ�" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "ყველ� დ�ვ�ლებ�" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "ყველ� �მ�ც�ნ�" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "ყველ�" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "ნებისმიერ დრ�ს" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "ნებისმიერ დრ�ს" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "ფილტრები" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "თ�რიღი მითითებული �რ��" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "დ�სრულებული�" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "დ�სრულებული�" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "ჟურნ�ლი" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "ს�ფ�სტ� ყუთი" #: core/Objects/Filters/Inbox.vala:36 #, fuzzy msgid "inbox" msgstr "ს�ფ�სტ� ყუთი" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "ჭდეები" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "დ�ფ�" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "პრი�რიტეტი 1: მ�ღ�ლი" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "პრი�რიტეტი 2: ს�შუ�ლ�" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "პრი�რიტეტი 3: დ�ბ�ლი" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "პრი�რიტეტი 4: �რცერთი" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "მ�ღ�ლი" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "ს�შუ�ლ�" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "დ�ბ�ლი" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "�რცერთი" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "გ�მე�რებ�" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "გ�მე�რებ�" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "დ�გეგმილი" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "დ�გეგმილი�" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "დღეს" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "დღეს" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "ხვ�ლ" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "ხვ�ლ" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "თ�რიღი" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "ჭდემ�ხსნილი" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "ჭდის გ�რეშე" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "ჭდემ�ხსნილი" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "�მ�ც�ნ� დ�კ�პირდ� ბუფერში" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "�მ�ც�ნ� გ�დ�ტ�ნილი� %s-ში" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "%s ჭდის წ�შლ�" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "ეს ქმედებ� შეუქცევ�დი�" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "გ�უქმებ�" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "წ�შლ�" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "პრ�ექტი დ�კ�პირდ� ბუფერში." #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "წ�ვშ�ლ� პრ�ექტი %s?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "დ�ვ��რქივ�?" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "ეს დ���რქივებს %s-ს დ� მის ყველ� �მ�ც�ნ�ს." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "�რქივი" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "%s სექციის წ�შლ�" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 #, fuzzy msgid "Task added successfully!" msgstr "პრ�ექტი წ�რმ�ტებით დ�ემ�ტ�!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "გეგმის ს�ხელი" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "�მ ველის შევსებ� �უცილებელი�" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "�ღწერის დ�მ�ტებ�…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "ჭდეების დ�მ�ტებ�" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "პრი�რიტეტის დ�ყენებ�" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "შემხსნებლების დ�მ�ტებ�" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "�მ�ც�ნის დ�მ�ტებ�" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "�ირჩიეთ პრ�ექტი" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "უკ�ცრ�ვ�დ, მ�გრ�მ სწრ�ფმ� დ�მ�ტებ�მ ხელმის�წვდ�მი პრ�ექტი ვერ იპ�ვ�. სც�დეთ, " "ჯერ შექმნ�თ პრ�ექტი Planify-დ�ნ." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "კლ�ვი�ტურის მ�ლს�ხმ�ბები" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 #, fuzzy msgid "Set priority" msgstr "პრი�რიტეტის დ�ყენებ�" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 #, fuzzy msgid "Add labels" msgstr "ჭდეების დ�მ�ტებ�" #: core/QuickAddCore.vala:1427 #, fuzzy msgid "Opens label selector" msgstr "ჭდეების გ�ხ�ნ" #: core/QuickAddCore.vala:1428 #, fuzzy msgid "Assign project" msgstr "პრ�ექტის დ�მ�ტებ�" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 #, fuzzy msgid "Set reminder" msgstr "დ��ყენეთ შეხსენებები!" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 #, fuzzy msgid "Tip" msgstr "ზემ�თ" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, fuzzy, c-format msgid "Loading tasks for %s…" msgstr "ჩ�ტვირთვ�…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, fuzzy, c-format msgid "Syncing %s…" msgstr "სინქრ�ნიზ�ცი�…" #: core/Services/CalDAV/Core.vala:260 #, fuzzy msgid "Sync completed" msgstr "დ�სრულებული�" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "�მ კ�მპიუტერზე" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "მ�თხ�ვნ� �რ�სწ�რი�." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "�ვტ�რიზ�ცი� მ�თხ�ვნილი�, მ�გრ�მ ჩ�ვ�რდ�, �ნ ჯერ შეყვ�ნილი �რ��." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "მ�თხ�ვნ� სწ�რი�, მ�გრ�მ მიეკუთვნებ� რ�ღ�ც�ს, რ�ც �კრძ�ლული�." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "მ�თხ�ვნილი რესურსი �ღმ�ჩენილი �რ��." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" "მ�მხმ�რებელმ� გ�მ��გზ�ვნ� მეტისმეტ�დ ბევრი მ�თხ�ვნ� მითითებული დრ�ის " "შუ�ლედში." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "მ�თხ�ვნ� ჩ�ვ�რდ� სერვერის შეცდ�მის გ�მ�." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "სერვერს �მჟ�მ�დ �რ შეუძლი� მ�თხ�ვნის დ�მუშ�ვებ�." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "უცნ�ბ შეცდ�მ�" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "გუშინ" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "დღე" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "დღე" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "%s %s-ის წინ" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "დ�რჩენილი� %s %s" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "�რშ," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "ს�მშ," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "�თხშ," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "ხუთშ," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "პ�რ," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "შ�ბ," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "კვი," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "კენკრის წითელი" #: core/Utils/Util.vala:42 msgid "Red" msgstr "წითელი" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "ნ�რინჯისფერი" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "მიყ�ლ�" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "ზეთისხილისფერი მწვ�ნე" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "ლ�იმის მწვ�ნე" #: core/Utils/Util.vala:47 msgid "Green" msgstr "მწვ�ნე" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "პიტნის მწვ�ნე" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "მ�მწვ�ნ� ლურჯი" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "ცისფერი ლურჯი" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "ღი� ლურჯი" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "ლურჯი" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "ყურძენი" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "იისფერი" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "ღი� ლილისფერი" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "�ლისფერი" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "მ�ნ�რინჯისფრ�-მ�ვ�რდისფრ�" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "ნ�ხშირი" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "ნ�ცრისფერი" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "ტ�უპი" #: core/Utils/Util.vala:218 msgid "Light" msgstr "ღი�" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "მუქი" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "მუქი ლურჯი" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "�რცერთი" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "დღეს + ს�ფ�სტ� ყუთი" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "ყველ�ს წ�შლ�" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "პრ�ცესი დ�სრულდ�. ს�ჭირ��, Planify თ�ვიდ�ნ გ�უშვ�თ." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "დი�ხ" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "�მ კ�მპიუტერზე" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "გ�იც�ნით Planify" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 #, fuzzy msgid "Tap this task" msgstr "დ��ტყ�პუნეთ �მ გეგმ�ზე" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 #, fuzzy msgid "Create a new task" msgstr "�ხ�ლი �მ�ც�ნის შექმნ�" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 #, fuzzy msgid "Plan this to-do for today or later" msgstr "დ�გეგმეთ ეს დღეისთვის �ნ მ�გვი�ნებით" #: core/Utils/Util.vala:610 #, fuzzy msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" "დ��ტყ�პუნეთ კ�ლენდრის ღილ�კზე ქვედ� მხ�რეს, რ�მ გ�დ�წყვიტ�თ, რ�ს �კეთებს ეს " "გეგმ�." #: core/Utils/Util.vala:615 #, fuzzy msgid "Reorder your to-dos" msgstr "გ�დ��ლ�გეთ თქვენი გეგმები" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "სიის გ�დ�ს�ლ�გებლ�დ დ��ტყ�პუნეთ დ� გეჭირ�თ გეგმ�ზე დ� შემდეგ გ�დ��თრიეთ, " "ს�დ�ც გნებ�ვთ, ის იყ�ს." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "პრ�ექტის შექმნ�" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "მზ�დ��!" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "მ�ირგეთ �პლიკ�ცი�" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "გ�მ�იტ�ნეთ თქვენი კ�ლენდრის მ�ვლენები" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 #, fuzzy msgid "Enable synchronization with third-party services" msgstr "სინქრ�ნიზ�ციის ჩ�რთვ� მეს�მე პირების სერვისებთ�ნ." #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "��მ�ღლეთ თქვენი წ�რმ�დ�ბ�" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "გ�დ��თრიეთ დ�მ�ტების ღილ�კი!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "დ��ყენეთ შეხსენებები!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼�ს�მუშ��" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒�სკ�ლ�" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉�დელეგირებული�" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "��ს�ხლი" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "����გ�გრძელების მ�ლ�დინში" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "�მ�ც�ნ� დუბლირებული�" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "სექცი� დუბლირებული�" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "პრ�ექტი დუბლირებული�" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "ზუსტ დრ�ს" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 წუთით �დრე" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 წუთით �დრე" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 წუთით �დრე" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 ს��თით �დრე" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 ს��თით �დრე" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 ს��თით �დრე" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%OB" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "უკ�ნ" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "�ირჩიეთ თ�რიღი" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "კვი" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "თვ" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "ს�მშ" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "�თხშ" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "ხუთშ" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "პ�რ" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "შ�ბ" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "დრ�" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "დ�ს�სრულის დრ�" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "ვისთვის" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "რ�მდენჯერ" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "დრ�" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "გ�მე�რებ�" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "შემდეგი კვირ�" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "დღიურ�დ" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 #, fuzzy msgid "Weekdays" msgstr "კვირ�ში ერთხელ" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 #, fuzzy msgid "Weekends" msgstr "კვირ�" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "კვირ�ში ერთხელ" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "თვეში ერთხელ" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "წლიურ�დ" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "ხელით" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "წუთი" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "ს��თი" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "დღე" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 #, fuzzy msgid "Week(s)" msgstr "კვირ�ში ერთხელ" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "თვე" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 #, fuzzy msgid "Year(s)" msgstr "წლიურ�დ" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "�რ�სდრ�ს" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "თ�რიღზე" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "შემდეგ" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "გ�მე�რებ� ყ�ველ" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "დ�ს�სრული" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "�ირჩიეთ ჭდეები" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "'%s'-ის შექმნ�" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "თქვენი ფილტრების სი� �ქ გ�მ�ჩნდებ�." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "ძებნ�" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "ძებნ� �ნ შექმნ�" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 #, fuzzy msgid "Remove link" msgstr "წ�შლ�" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "პრი�რიტეტი 4: �რცერთი" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "პრი�რიტეტი 1: მ�ღ�ლი" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "პრი�რიტეტი 2: ს�შუ�ლ�" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "პრი�რიტეტი 3: დ�ბ�ლი" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "პრი�რიტეტი 1: ს�შუ�ლ�" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "პრი�რიტეტი 1: დ�ბ�ლი" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "თქვენი სექციების სი� �ქ გ�მ�ჩნდებ�." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "სექციის გ�რეშე" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "�კრიფეთ მ�ს�ძებნ�დ" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "შეხსენებები" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" "თქვენი შეხსენებების სი� �ქ გ�მ�ჩნდებ�. დ��მ�ტეთ �ხ�ლი '+' ღილ�კზე " "დ�წკ�პუნებით." #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "შეხსენების დ�მ�ტებ�" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "5 წუთში" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "15 წუთში" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "30 წუთში" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "1 ს��თში" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "3 ს��თში" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "6 ს��თში" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "სექციის დ�მ�ტებ�" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "�ირჩიეთ სექცი�" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "სტ�ტუსის დ�ყენებ�" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "სტ�ტუსი" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "გ�ს�კეთებელი" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "დ�სრულებული�" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "დ�სრულებული �მ�ც�ნები" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "ფილტრის მენიუს გ�ხნ�" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "დ�სრულებული �მ�ც�ნების გ�რეშე." #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "ყველ� დ�სრულებული �მ�ც�ნის წ�შლ�" #: src/Dialogs/CompletedTasks.vala:165 #, fuzzy, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "ეს წ�შლის %d დ�სრულებულ �მ�ც�ნ�ს დ� მ�თ ქვე�მ�ც�ნებს პრ�ექტიდ�ნ %s" msgstr[1] "ეს წ�შლის %d დ�სრულებულ �მ�ც�ნ�ს დ� მ�თ ქვე�მ�ც�ნებს პრ�ექტიდ�ნ %s" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "ფილტრი" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "შემდეგი კვირ�" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "თ�რიღის გ�რეშე" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "დ�სრულებული" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "ცვლილებების ისტ�რი�" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "დ�მ�ტების დრ�" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "ხელმიუწვდ�მელი�" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "გ�ნ�ხლების დრ�" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" "თქვენი ცვლილების ისტ�რი� �ქ გ�მ�ჩნდებ�, ერთხელ, რ�ც� ცვლილებების შეტ�ნ�ს " "დ�იწყებთ." #: src/Dialogs/ItemChangeHistory.vala:138 #, fuzzy, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "მეტი ისტ�რიის ჩ�ტვირთვ� %d კვირის წინიდ�ნ…" msgstr[1] "მეტი ისტ�რიის ჩ�ტვირთვ� %d კვირის წინიდ�ნ…" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "�ხ�ლი ჭდე" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "ჭდის ჩ�სწ�რებ�" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "მი�ნიჭეთ თქვენს ჭდეს ს�ხელი" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "ჭდის დ�მ�ტებ�" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "ჭდის გ�ნ�ხლებ�" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "ფილტრი" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "დ��რქივებული პრ�ექტები" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "სექციების მ�რთვ�" #: src/Dialogs/ManageSectionOrder.vala:54 #, fuzzy msgid "You can sort your sections by dragging and dropping" msgstr "თქვენი �ნგ�რიშების დ�ლ�გებ� გ�დ�თრევით დ� დ�ყრით შეგიძლი�თ" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "დ��რქივებული" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(სექციის გ�რეშე)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "�ნგ�რიშები" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "წყ�რ�ს დ�მ�ტებ�" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 #, fuzzy msgid "Inbox Page" msgstr "ს�ფ�სტ� ყუთი" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 #, fuzzy msgid "You can sort your accounts by dragging and dropping" msgstr "თქვენი �ნგ�რიშების დ�ლ�გებ� გ�დ�თრევით დ� დ�ყრით შეგიძლი�თ" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 #, fuzzy msgid "Change Inbox" msgstr "ს�ფ�სტ� ყუთის გ�ხსნ�" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 #, fuzzy msgid "Syncing…" msgstr "სინქრ�ნიზ�ცი�…" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "სერვერის URL" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 #, fuzzy msgid "Username" msgstr "მ�მხმ�რებლის ს�ხელი" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "პ�რ�ლი" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 #, fuzzy msgid "Calendar Home URL" msgstr "კ�ლენდ�რი" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "შესვლ�" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 #, fuzzy msgid "Inbox Project" msgstr "�ხ�ლი პრ�ექტი" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "წყ�რ�" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "ს�ჩვენებელი ს�ხელი" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "სინქრ�ნიზ�ციის სერვერი" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "ბ�ლ� სინრქრ�ნიზ�ცი�" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 #, fuzzy msgid "Delete Source" msgstr "წ�ვშ�ლ� წყ�რ�?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "წ�ვშ�ლ� წყ�რ�?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "სინქრ�ნიზ�ცი�…" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "გ�რეგნ�ბ�" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "სისტემური პ�რ�მეტრების გ�მ�ყენებ�" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 #, fuzzy msgid "Select theme" msgstr "�რჩევ�" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "ღი� სტილი" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "მუქი სტილი" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "მუქი ლურჯი სტილი" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "მ�რქ�ფები" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "მ�რქ�ფის შექმნ�" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "მ�რქ�ფის შემ�ტ�ნ�" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "მ�რქ�ფის ფ�ილები" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "მ�რქ�ფები �ღმ�ჩენილი �რ��. შექმენით �ხ�ლი ზემ�თ ღილ�კზე დ�წკ�პუნებით." #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "მიგრ�ცი�" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "მიგრ�ცი� დ�მგეგმ�ვიდ�ნ" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "მ�რქ�ფი წ�რმ�ტებით შეიქმნ�." #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "�მ�ც�ნების მიგრ�ცი� წ�რმ�ტებით დ�სრულდ�" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "მ�ნ�ცემთ� ბ�ზის ფ�ილი �რ �რსებ�ბს." #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "�რჩეული ფ�ილი �რ�სწ�რი�" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "მ�რქ�ფის ნ�ხვ�" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "გ�დმ�წერ�" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "შემ�ტ�ნის გ�დ�ხედვ�" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "წყ�რ�ები" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "გეგმები" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "დ�დ�სტურებ�" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "მ�რქ�ფის �ღდგენ�" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "მ�რქ�ფის �ღდგენ�" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "ზ�გ�დი" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "მ�რგებული დ�ლ�გების მიმდევრ�ბ�" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "�ნბ�ნის მიხედვით" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "დ�ლ�გებ�" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "ზრდის მიხედვით" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "Დ�ღმ�ვ�ლი" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "დ�ლ�გებული" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "ს�მუშ�� მ�გიდ�სთ�ნ ინტეგრ�ცი�" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "ჩ�ტვირთვის�ს გ�შვებ�" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "ფ�ნურ�დ გ�შვებ�" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "კ�ლენდრის მ�ვლენები" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "თ�რიღი დ� დრ�" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24სთ" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12სთ" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "ს��თის ფ�რმ�ტი" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "კვირ�" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "�რშ�ბ�თი" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "ს�მშ�ბ�თი" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "�თხშ�ბ�თი" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "ხუთშ�ბ�თი" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "პ�რ�სკევი" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "შ�ბ�თი" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "კვირის დ�ს�წყისში" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 #, fuzzy msgid "Home View" msgstr "ს�წყისი გვერდი" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "სწრ�ფი დ�მ�ტებ�" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "მ�რგებ�" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "ბ�ლ�ს �რჩეული პრ�ექტის შენ�ხვ�" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "თუ გ�მ�რთული�, ნ�გულისხმევ�დ �რჩეული პრ�ექტი ს�ფ�სტ� ყუთი�" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "ბრძ�ნებ� დ�კ�პირდ� ბუფერში" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "გვერდითი პ�ნელი" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "ჩვენებ� გვერდით პ�ნელში" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "�მ�ც�ნების რ��დენ�ბის ჩვენებ�" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "გვერდითი პ�ნელის სიგ�ნე" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "თქვენი ხედის დ�ლ�გებ� გ�დ�თრევით დ� დ�ყრით შეგიძლი�თ" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "�მ�ც�ნის მ�რგებ�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 #, fuzzy msgid "Complete Instantly" msgstr "დ�უყ�ვნებლივ" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 #, fuzzy msgid "Complete with Undo" msgstr "დ�სრულებული�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 #, fuzzy msgid "Task Completion" msgstr "ხმ� �მ�ც�ნის დ�სრულების�ს" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "პრი�რიტეტი 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "პრი�რიტეტი 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "პრი�რიტეტი 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "ნ�გულისხმევი პრი�რიტეტი" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "დ�სრულებული �მ�ც�ნების გ�დ�ხ�ზვ�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "�ხ�ლი �მ�ც�ნის მდებ�რე�ბ�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "დ�სრულებული ქვე�მ�ც�ნების ყ�ველთვის ჩვენებ�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "ხმ� �მ�ც�ნის დ�სრულების�ს" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "ხმის დ�კვრ� �მ�ც�ნის დ�სრულების�ს" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 #, fuzzy msgid "Open Tasks in Sidebar View" msgstr "�მ�ც�ნის გ�ხსნ� გვერდითი პ�ნელის ხედში" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "მ�რკდ�უნის დ�ფ�რმ�ტების ჩ�რთვ�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "�მ�ც�ნებისთვის მ�რკდ�უნის მხ�რდ�ჭერის ჩ�რთვ� �ნ გ�მ�რთვ�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "დეტ�ლების პ�ნელის ყ�ველთვის ჩვენებ�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "ჩ�რთული�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "�ვტ�მ�ტური შემხსენებლები" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" "რ�ც� ჩ�რთული�, �მ�ც�ნის შესრულებ�მდე შემხსებელი ნ�გულისხმევ�დ დ�ემ�ტებ�." #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "მ�რგებ�" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "სინქრ�ნიზ�ცი� თქვენს რჩეულ დ�გეგმვის პრ�ვ�იდერებთ�ნ" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "მ�ირგეთ თქვენი სურვილის�მებრ" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "მ�ირგეთ თქვენი გვერდითი პ�ნელი" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "გეგმების დ�მ�ტებ� ნებისმიერი �დგილიდ�ნ" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "მ�რქ�ფი �ნ დ�მგეგმ�ვიდ�ნ მიგრ�ცი�." #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "ს�სწ�ვლ� პრ�ექტის შექმნ�" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "ისწ�ვლეთ �პი ნ�ბიჯ-ნ�ბიჯ მ�კლე ს�სწ�ვლ� პრ�ექტით" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "გნებ�ვთ, ს�სმელი შემიძინ�თ?" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "დ�გვიკ�ვშირდით" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "დ�გვიკ�ვშირდით" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "მ�ითხ�ვეთ ფუნქცი�, �ნ გვკითხეთ, რ�ც გნებ�ვთ" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "დ�გვიკ�ვშირდით Twitter-ზე" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "გ�გვიზი�რეთ სიყვ�რული" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "გ�გვიზი�რეთ თქვენი გ�მ�ცდილებ�" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodon" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "პირ�დი ინფ�რმ�ცი�" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "კ�ნფიდენცი�ლ�ბის პ�ლიტიკ�" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "თქვენზე �რ�ფერი გვ�ქვს" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "�პლიკ�ციის მ�ნ�ცემების წ�შლ�" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "ს�სწ�ვლ� პრ�ექტი შექიმნ�" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "წ�ვშ�ლ� სრულ�დ მ�ნ�ცემები?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "შეუქცევ�დ�დ წ�შლის ყველ� თქვენს სი�ს, �მ�ც�ნ�ს დ� შეხსენებ�ს" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "შეჯ�მებ�" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "იხილეთ მეტი" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "�მ კვირ�ში" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "�მ თვეში" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "ვ�დ�გ�დ�ცილებული" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "�ხ�ლი პრ�ექტი" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "პრ�ექტის რედ�ქტირებ�" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "მი�ნიჭეთ თქვენს პრ�რექტის ს�ხელი" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "ემ�ჯის გ�მ�ყენებ�" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "პრ�ექტის დ�მ�ტებ�" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "პრ�ექტის გ�ნ�ხლებ�" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "პრ�ექტი წ�რმ�ტებით დ�ემ�ტ�!" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "გ�დ�ტ�ნ�" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "სწრ�ფი ძებნ�" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" "სწრ�ფ�დ გ�დ�რთეთ პრ�ექტები დ� ხედები, იპ�ვეთ �მ�ც�ნები, მ�ძებნეთ ჭდეებით" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "�ხ�ლი გ�ნყ�ფილებ�" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "სექციის ჩ�სწ�რებ�" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "სექციის ს�ხელი" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "სექციის დ�მ�ტებ�" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "სექციის გ�ნ�ხლებ�" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 #, fuzzy msgid "Section added" msgstr "სექციის ს�ხელი" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "გვერდითი პ�ნელის გ�ხსნ�/დ�ხურვ�" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "ჩ�მ�ხსნ�" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "დ�სრულდ�. შემდეგი დრ�: %s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "ქვე�მ�ც�ნის დ�მ�ტებ�" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "ჩ�სწ�რებ�" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "დუბლირებ�" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "�მ�ც�ნის წ�შლ�" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "მიმდევრ�ბ� შეიცვ�ლ� 'მ�რგებულ დ�ლ�გების მიმდევრ�ბ�ზე'" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s წ�შლილი�" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "დ�ბრუნებ�" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "ქვე�მ�ც�ნების დ�მ�ტებ�" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "ქვე�მ�ც�ნების დ�მ�ლვ�" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "ქვე�მ�ც�ნების ჩვენებ�" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "შენიშვნის ს�ხით გ�მ�ყენებ�" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "ბუფერში კ�პირებ�" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "მიმ�გრებული ფ�ილების დ�მ�ტებ�" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "დეტ�ლის დ�ხურვ�" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "ს�თ�ური" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "თვისებები" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "მ�რთლ� გნებ�ვთ წ�შლ�?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "ჭდის წ�შლ�" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "პრ�ექტის დ�ლ�გების წესი შეიცვ�ლ� 'მ�რგებული დ�ლ�გების მიმდევრ�ბ�ზე'" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "რჩეულებიდ�ნ წ�შლ�" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "რჩეულებში დ�მ�ტებ�" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "გ�ნ�ხლებ�" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "პრ�ექტის წ�შლ�" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "გ�ზი�რებ�" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "ელფ�სტით გ�გზ�ვნ�" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 #, fuzzy msgid "Add tasks" msgstr "ქვე�მ�ც�ნების დ�მ�ტებ�" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 #, fuzzy msgid "completed tasks" msgstr "დ�სრულებული �მ�ც�ნები" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "სექციის გ�დ�ტ�ნ�" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "სექციების მიმდევრ�ბის მ�რთვ�" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "დ�სრულებული �მ�ც�ნების ჩვენებ�" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "გ�ნყ�ფილების წ�შლ�" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "ს�ნიშნეები" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "ს�ნიშნეები ხელმის�წვდ�მი �რ��. შექმენით ის '+' ღილ�კზე დ�წკ�პუნებით" #: src/Layouts/Sidebar.vala:122 #, fuzzy msgid "Add Account" msgstr "�ნგ�რიშები" #: src/Layouts/Sidebar.vala:123 #, fuzzy msgid "Customize Sidebar" msgstr "მ�ირგეთ თქვენი გვერდითი პ�ნელი" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "დღევ�ნდელზე გ�დ�სვლ�" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "გეგმებზე გ�დ�სვლ�" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "ჭდეებზე გ�დ�სვლ�" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "დ�ფ�ზე გ�დ�სვლ�" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "პრ�ექტები ხელმის�წვდ�მი �რ��. შექმენით �ხ�ლი '+' ღილ�კზე დ�წკ�პუნებით" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "მთ�ვ�რი მენიუ" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "სწრ�ფი ძებნის გ�ხსნ�" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "Planify-ის შეს�ხებ" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "ვ�ი! რ�ღ�ც მ�ხდ�" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "�მ�ც�ნ� დ�სრულდ�" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "მ�ნ�ცემთ� ბ�ზის მთლი�ნ�ბის შემ�წმებ� ჩ�ვ�რდ�" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "მ�ნ�ცემთ� ბ�ზის ჩ�მ�ყრ�" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "მ�რქ�ფის წ�შლ�" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "მ�რქ�ფის შემ�ტ�ნ� წ�რმ�ტებული�" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "Planify-ის მ�რქ�ფის ფ�ილები" #: src/Services/Notification.vala:99 #, fuzzy msgid "Snooze for 10 minutes" msgstr "30 წუთში" #: src/Services/Notification.vala:100 #, fuzzy msgid "Snooze for 30 minutes" msgstr "30 წუთში" #: src/Services/Notification.vala:101 #, fuzzy msgid "Snooze for 1 hour" msgstr "1 ს��თში" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "მ�რგების მენიუს ნ�ხვ�" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "�მ�ც�ნების დ�მ�ტებ�" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "�ხ�ლი �მ�ც�ნის შეს�ქმნელ�დ დ��ჭირეთ ღილ�კს 'a'" #: src/Views/Filter.vala:129 #, fuzzy msgid "All tasks completed!" msgstr "�მ�ც�ნ� დ�სრულდ�" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 #, fuzzy msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "ყველ� დ�სრულებული �მ�ც�ნის წ�შლ�" msgstr[1] "ყველ� დ�სრულებული �მ�ც�ნის წ�შლ�" #: src/Views/Filter.vala:627 #, fuzzy, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "ეს წ�შლის %d დ�სრულებულ �მ�ც�ნ�ს დ� მ�თ ქვე�მ�ც�ნებს" msgstr[1] "ეს წ�შლის %d დ�სრულებულ �მ�ც�ნ�ს დ� მ�თ ქვე�მ�ც�ნებს" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "ჭდეები ხელმის�წვდ�მი �რ��. შექმენით ის '+' ღილ�კზე დ�წკ�პუნებით" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "შენიშვნ�" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "გ�ნრიგი" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "რ�დის?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "პრ�ექტის ქმედებები" #: src/Views/Project/Project.vala:259 #, fuzzy msgid "New Task" msgstr "�ხ�ლი �მ�ც�ნის მდებ�რე�ბ�" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "�რჩევ�" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "ჩ�სმ�" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "ყველ�ს �მ�კეცვ�" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "�ხ�ლი" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "ყველ�ს ჩ�კეცვ�" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "ჩ�მ�ნ�თვ�ლი" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "ბ�რდი" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "დ�ლ�გებ�" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "დ�ლ�გების მ�მხმ�რებლის მიმდევრ�ბ�" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "დ�მ�ტებული�" #: src/Views/Project/Project.vala:547 #, fuzzy msgid "Ascending Order" msgstr "ზრდის მიხედვით" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "შესრულების დრ�" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "ყველ� (ნ�გულისხმევი)" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "შემდეგი 7 დღე" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "შემდეგი 30 დღე" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "P1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "P2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "P3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "P4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "ჭდეებით გ�ფილტვრ�" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 #, fuzzy msgid "Search completed tasks" msgstr "დ�სრულებული �მ�ც�ნების ჩვენებ�" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "დ�ხ�რისხებ�" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "გ�ნრიგში თ�ვიდ�ნ ჩ�მ�ტებ�" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "დ�ნ�რთი" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "გ�ხსნ�" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "მიმ�გრებული ფ�ილები �ღმ�ჩენილი �რ��. დ��მ�ტეთ ფ�ილები �ქ." #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "ქვედ�ვ�ლებ�" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 #, fuzzy msgid "Show less" msgstr "დ�სრულებული �მ�ც�ნების ჩვენებ�" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "პრ�ბლემის შეტყ�ბინებ�" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "კ�ლენდ�რი" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "�მ�ც�ნ� დ�უსრულებელი�" #: src/Widgets/ItemChangeHistoryRow.vala:51 #, fuzzy msgid "Task moved to project" msgstr "�მ�ც�ნ� გ�დ�ტ�ნილი� პრ�ექტში: %s" #: src/Widgets/ItemChangeHistoryRow.vala:61 #, fuzzy msgid "Task moved to" msgstr "�მ�ც�ნ� გ�დ�ტ�ნილი� %s-ში" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "წინ�" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "მიმ�გრებ�: �ქტიური�" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "მიმ�გრებ�: �რ��ქტიური�" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "დ�სრულების დრ��" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "დ�სრულებულ�დ მ�ნიშვნ�" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "გ�ნრიგის წ�შლ�" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "მ�რთლ� გნებ�ვთ �მ გეგმის წ�შლ�?" #: src/Widgets/MultiSelectToolbar.vala:299 #, fuzzy, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "%d გეგმის წ�შლ�" msgstr[1] "%d გეგმის წ�შლ�" #: src/Widgets/MultiSelectToolbar.vala:305 #, fuzzy, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "მ�რთლ� გნებ�ვთ �მ გეგმის წ�შლ�?" msgstr[1] "მ�რთლ� გნებ�ვთ �მ გეგმის წ�შლ�?" #: src/Widgets/MultiSelectToolbar.vala:402 #, fuzzy, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "�მ�ც�ნ� გ�დ�ტ�ნილი� %s-ში" msgstr[1] "�მ�ც�ნ� გ�დ�ტ�ნილი� %s-ში" #: src/Widgets/NewVersionPopup.vala:42 #, fuzzy msgid "New version available!" msgstr "ხელმიუწვდ�მელი�" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 #, fuzzy msgid "Update Now" msgstr "გ�ნ�ხლების დრ�" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "დე�რქივირებ�" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "ჯერ ქვე�მ�ც�ნები �რ დ�გიმ�ტები�თ. დ�ვიწყ�თ!" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "სერვერთ�ნ მიერთების შეცდ�მ�" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "Planify - სწრ�ფი დ�მ�ტებ�" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "გლ�ბ�ლური კ�მბინ�ციები" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "�ხ�ლი �მ�ც�ნის შექმნ�" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "ჩ�სვით უბრ�ლ� ტექსტი �ხ�ლი �მ�ც�ნის შეს�ქმნელ�დ" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "�ხ�ლი პრ�ექტის შექმნ�" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "�ხ�ლი სექციის შექმნ� პრ�ექტში" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "ძებნ�" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "სწრ�ფი ძებნის გ�ხსნ�" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "ფ�ნჯრების მ�რთვ�" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "გ�სვლ�" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "მ�რგების ფ�ნჯრის გ�ხსნ�" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "გვერდითი პ�ნელის ჩვენების ჩ�რთ/გ�მ�რთ" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "კლ�ვი�ტურის მ�ლს�ხმ�ბების გ�ხსნ�" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "ნ�ვიგ�ცი�" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "ს�წყისი გვერდის გ�ხსნ�" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "ს�ფ�სტ� ყუთის გ�ხსნ�" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "დღევ�ნდლის გ�ხსნ�" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "დ�გეგმილის გ�ხსნ�" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "ჭდეების გ�ხ�ნ" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "დ�ფის გ�ხსნ�" #, fuzzy #~ msgid "Server URL examples:" #~ msgstr "სერვერის URL" #~ msgid "Please Enter Your Credentials" #~ msgstr "შეიყვ�ნეთ თქვენი �ვტ�რიზ�ციის დეტ�ლები" #~ msgid "Loading…" #~ msgstr "ჩ�ტვირთვ�…" #~ msgid "Network Is Not Available" #~ msgstr "ქსელი ხელმის�წვდ�მი �რ��" #~ msgid "Set a Due Date" #~ msgstr "დრ�ის დ�ყენებ�" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "იქ�ნიეთ Planify ფ�ნში დ� ის გ�ფრთხილებებს გ�მ�გიგზ�ვნით" #~ msgid "Whether Planify should run on startup" #~ msgstr "უნდ� გ�ეშვ�ს თუ �რ� Planify ჩ�ტვირთვის�ს" #~ msgid "Clear" #~ msgstr "გ�სუფთ�ვებ�" #~ msgid "Menu" #~ msgstr "მენიუ" #~ msgid "Add Time" #~ msgstr "დრ�ის დ�მ�ტებ�" #, fuzzy #~ msgid "Planify is syncing your tasks, this may take a few minutes" #~ msgstr "" #~ "Planify �სინქრ�ნებს თქვენს �მ�ც�ნებს. �მ�ს რ�მდენიმე წუთი შეიძლებ�, " #~ "დ�სჭირდეს" #~ msgid "Todoist Sync" #~ msgstr "სინქრ�ნიზ�ცი� Todoist-თ�ნ" #~ msgid "Loading" #~ msgstr "იტვირთებ�" #~ msgid "Planner is sync your tasks, this may take a few minutes" #~ msgstr "" #~ "დ�მგეგმ�ვი �სინქრ�ნებს თქვენს �მ�ც�ნებს. �მ�ს რ�მდენიმე წუთი შეიძლებ�, " #~ "დ�სჭირდეს" #~ msgid "Please enter your credentials" #~ msgstr "შეიყვ�ნეთ თქვენი �ვტ�რიზ�ციის დეტ�ლები" #, c-format #~ msgid "Every %d minutes" #~ msgstr "ყ�ველ %d წუთში" #, c-format #~ msgid "Every %d hours" #~ msgstr "ყ�ველ %d ს��თში" #, c-format #~ msgid "Every %d days" #~ msgstr "ყ�ველ %d დღეში" #, c-format #~ msgid "Every %d weeks" #~ msgstr "ყ�ველ %d კვირ�ში" #, c-format #~ msgid "Every %d months" #~ msgstr "ყ�ველ %d თვეში" #, c-format #~ msgid "Every %d years" #~ msgstr "ყ�ველ %d წელიწ�დში" #, c-format #~ msgid "" #~ "This will delete %d completed tasks and their subtasks from project %s" #~ msgstr "ეს წ�შლის %d დ�სრულებულ �მ�ც�ნ�ს დ� მ�თ ქვე�მ�ც�ნებს პრ�ექტიდ�ნ %s" #, c-format #~ msgid "Load more history from %d weeks ago…" #~ msgstr "მეტი ისტ�რიის ჩ�ტვირთვ� %d კვირის წინიდ�ნ…" #, fuzzy #~ msgid "Delete Completed Tasks" #~ msgstr "ყველ� დ�სრულებული �მ�ც�ნის წ�შლ�" #, c-format #~ msgid "This will delete %d completed tasks and their subtasks" #~ msgstr "ეს წ�შლის %d დ�სრულებულ �მ�ც�ნ�ს დ� მ�თ ქვე�მ�ც�ნებს" #, c-format #~ msgid "Delete %d To-Dos" #~ msgstr "%d გეგმის წ�შლ�" #, c-format #~ msgid "Are you sure you want to delete these %d to-dos?" #~ msgstr "მ�რთლ� გნებ�ვთ, წ�შ�ლ�თ ეს %d გეგმ�?" #, fuzzy #~ msgid "Backup" #~ msgstr "მ�რქ�ფები" #~ msgid "Task Setting" #~ msgstr "�მ�ც�ნის პ�რ�მეტრი" #~ msgid "Personal Data" #~ msgstr "პირ�დი მ�ნ�ცემებები" #~ msgid "" #~ "We collect absolutely nothing and all your data is stored in a database " #~ "on your computer." #~ msgstr "" #~ "ჩვენ �რ�ფერს ვ�გრ�ვებთ დ� ყველ� თქვენი მ�ნ�ცემი თქვენს კ�მპიუტერზე, " #~ "მ�ნ�ცემთ� ბ�ზ�ში ინ�ხებ�." #~ msgid "Do you have any questions?" #~ msgstr "კითხვები გ�ქვთ?" #~ msgid "Supporting Us" #~ msgstr "ჩვენი დ�ხმ�რებ�" #~ msgid "Support Planify" #~ msgstr "დ�უჭირეთ ხმ�რი Planify-ს" #, fuzzy #~ msgid "Clear Schedule" #~ msgstr "გ�ნრიგი" #~ msgid "Process completed, you need to start Planify again" #~ msgstr "პრ�ცესი დ�სრულდ�. ს�ჭირ��, Planify თ�ვიდ�ნ გ�უშვ�თ" #~ msgid "Task Detail" #~ msgstr "�მ�ც�ნის დეტ�ლები" #~ msgid "Create a new to-do" #~ msgstr "გ�ნრიგის შექმნ�" #~ msgid "Tag your to-dos!" #~ msgstr "დ��დეთ ჭდეები თქვენს გეგმებს!" #~ msgid "What’s new in Planify" #~ msgstr "რ� �რის �ხ�ლი Planify-ში" #~ msgid "Inbox as Independent Project" #~ msgstr "ს�ფ�სტ� ყუთი დ�მ�უკიდებელი პრ�ექტის ს�ხით" #~ msgid "Enhanced Task Duplication" #~ msgstr "გ�უმჯ�ბესებული �მ�ც�ნების დუბლირებ�" #~ msgid "Duplication of Sections and Projects" #~ msgstr "სექციების დ� პრ�ექტის დუბლირებ�" #~ msgid "Project Expiry Date" #~ msgstr "პრ�ექტის ვ�დი �მ�წურვის თ�რიღი" #~ msgid "Archiving of Projects and Sections" #~ msgstr "პრ�ექტების დ� სექციების დ��რქივებ�" #~ msgid "What's New" #~ msgstr "რ� �რის �ხ�ლი" #~ msgid "Are you sure you want to reset all? (y/n): " #~ msgstr "მ�რთლ� გნებ�ვთ ყველ�ფრის ჩ�მ�ყრ�? (y/n): " #~ msgid "y" #~ msgstr "ი�" #~ msgid "yes" #~ msgstr "yes" #~ msgid "Couldn't find an app to handle file URIs" #~ msgstr "�მ ფ�ილის URI-ების დ�ს�მუშ�ვებლ�დ �პი �ღმ�ჩენილი �რ��" #, fuzzy #~ msgid "Planify" #~ msgstr "გ�იც�ნით Planify" #~ msgid "" #~ "Up to 3 tasks can be pinned and they will appear at the top of the " #~ "project page" #~ msgstr "" #~ "შეგიძლი�თ, მი�მ�გრ�თ 3-მდე �მ�ც�ნ� დ� ისინი პრ�ექტის გვერდის თ�ვსი " #~ "გ�მ�ჩნდებ�" #~ msgid "No Provider Available" #~ msgstr "პრ�ვ�იდერი ხელმის�წვდ�მი �რ��" #~ msgid "Go to Inbox" #~ msgstr "ს�ფ�სტ� ყუთზე გ�დ�სვლ�" #~ msgid "Order by" #~ msgstr "დ�ლ�გების პირ�ბ�" #~ msgid "Integrations" #~ msgstr "ინტეგრ�ციები" #~ msgid "Wait 2500 Milliseconds" #~ msgstr "2500 მილიწ�მის შემდეგ" #~ msgid "Complete Task" #~ msgstr "�მ�ც�ნის დ�სრულებ�" #~ msgid "" #~ "Complete your to-do instantly or wait 2500 milliseconds with the undo " #~ "option" #~ msgstr "" #~ "დ��სრულეთ თქვენი გეგმ� უცებ, �ნ მ�ითმინეთ 2500 მილიწ�მი გ�უქმების " #~ "შეს�ძლებლ�ბით" #~ msgid "Top" #~ msgstr "ზემ�თ" #~ msgid "Bottom" #~ msgstr "ქვემ�თ" #~ msgid "Create More" #~ msgstr "მეტის შექმნ�" #~ msgid "App Theme" #~ msgstr "�პის თემ�" #, c-format #~ msgid "Task moved to: %s" #~ msgstr "�მ�ც�ნ� გ�დ�ტ�ნილი� ს�დ: %s" #~ msgid "Telegram" #~ msgstr "ტელეგრ�მი" #~ msgid "Matrix Room" #~ msgstr "Matrix-ის �თ�ხი" #~ msgid "Attention at One" #~ msgstr "ყურ�დღებ� ერთზე" #~ msgid "Add To-Do" #~ msgstr "გეგმის დ�მ�ტებ�" #~ msgid "Nextcloud Setup" #~ msgstr "Nextcloud-ის მ�რგებ�" #~ msgid "Provider" #~ msgstr "მ�მწ�დებელი" alainm23-planify-69962f8/po/kab.po000066400000000000000000002531151517337276100166150ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: alainmh23@gmail.com\n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2026-04-07 12:09+0000\n" "Last-Translator: ButterflyOfFire \n" "Language-Team: Kabyle \n" "Language: kab\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.17-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Isenfaren" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Tigezmiwin" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Tibzimin" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Imsizdigen" #: core/Enum.vala:186 msgid "Lists" msgstr "Tibdarin" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "Tabzimt" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Tigezmi" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "Agbur" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Aglam" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "Akk" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Tanaka n urmas" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "Tanaka n urmas" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Ass-a" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "ass-a" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Azekka" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "azekka" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "azemz" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Semmet" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Kkes" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Inegzumen n unasiw" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "I�elli" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "n wussan" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "n wass" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "%-l:%M:%S %p" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "%-l:%M %p" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "%H:%M:%S" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "%H:%M" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Ari," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Ara," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "Aha," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Amh," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Sem," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "Sed," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "Ace," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "%b %-e" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "%a %Y" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "%a" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "%b" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Azeggaɣ" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "A�ini" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Awṛaɣ" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Adal" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Azegzaw" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Aceɛlal" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Ubrik" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Ula d yiwen" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Assa + Tanaka n urmas" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "Ih" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "Deg uselkim-a" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼�Axeddim" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒�Aɣerbaz" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "Ce" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Ri" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Ra" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "Ha" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Mh" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Sm" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "Sd" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Yal ass" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "Ussan n umalas" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Yal ddurt" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Yal ayyur" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Yal aseggas" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "Udmawan" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "Tagara" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "Nadi" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "Imi�anen" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "Isem n useqdac" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "Awal n uɛeddi" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "Aɣbalu" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "Acer" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "Arim" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "Aram" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "Ahad" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "Amhad" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "Sem" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "Sed" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "Iɣewwaren" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodon" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "Taba�nit" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "Agzul" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "Asenfar amaynut" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "Ẓreg asenfar" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "Rnu asenfar" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "Ẓreg" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "Azwel" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "Rnu ami�an" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "Fren" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "Senṭe�" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "Amaynut" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "Tabdart" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "Tafelwit" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "Asmizzwer" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "P1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "P2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "P3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "P4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "Ldi" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Awitay" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "Ldi tanaka n urmas" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" #~ msgid "- https://cloud.example.com/" #~ msgstr "- https://cloud.example.com/" #~ msgid "- https://example.com/nextcloud/" #~ msgstr "- https://example.com/nextcloud/" #~ msgid "Clear" #~ msgstr "Sfe�" #~ msgid "Menu" #~ msgstr "Umuɣ" #~ msgid "Close" #~ msgstr "Mdel" alainm23-planify-69962f8/po/kk.po000066400000000000000000003574471517337276100165020ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:08+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Kazakh \n" "Language: kk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Жобалар" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Бөлімдер" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Тап�ырмалар" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Белгілер" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Сүзгілер" #: core/Enum.vala:186 msgid "Lists" msgstr "Тізімдер" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "Қайталамау" #: core/Enum.vala:216 #, fuzzy, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Әр минут �айын" msgstr[1] "Әр минут �айын" #: core/Enum.vala:218 #, fuzzy, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Әр �ағат �айын" msgstr[1] "Әр �ағат �айын" #: core/Enum.vala:220 #, fuzzy, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Әр күн �айын" msgstr[1] "Әр күн �айын" #: core/Enum.vala:222 #, fuzzy, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Әр апта �айын" msgstr[1] "Әр апта �айын" #: core/Enum.vala:224 #, fuzzy, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Әр ай �айын" msgstr[1] "Әр ай �айын" #: core/Enum.vala:226 #, fuzzy, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Әр жыл �айын" msgstr[1] "Әр жыл �айын" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Ба�ымдылық" #: core/Enum.vala:348 msgid "Label" msgstr "Белгі" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Мерзімі" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Бөлім" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "Тап�ырма жа�алды" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Тап�ырма жаңартылды" #: core/Enum.vala:528 msgid "Content" msgstr "Мазмұн" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Сипаттама" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Жо�парланған" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Бекіту" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Барлық тап�ырмалар" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "барлық тап�ырмалар" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "бәрі" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "Кез келген уақытта" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "кез келген уақытта" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "�үзгілер" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "күні жоқ" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "��қталған" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "а�қталған" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "журнал" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Кірі� жәшігі" #: core/Objects/Filters/Inbox.vala:36 #, fuzzy msgid "inbox" msgstr "Кірі� жәшігі" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "белгілер" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Жап�ырма тақта�ы" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Ба�ымдылық 1: жоғары" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Ба�ымдылық 2: орташа" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Ба�ымдылық 3: төмен" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Ба�ымдылық 4: жоқ" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "жоғары" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "орташа" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "төмен" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "жоқ" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Қайталанатын" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "қайталанатын" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "жо�парланған" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "алдағы" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Бүгін" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "бүгін" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Ертең" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "ертең" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "күн" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Белгі�із" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "белгі жоқ" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "белгі�із" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Тап�ырма буферге көшірілді" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "Тап�ырма %s дегенге жылжытылды" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "%s белгі�ін жою" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Бұны қайтаруға болмайды" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Болдырмау" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Жою" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "Жоба буферге көшірілді." #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "%s жоба�ын жою керек пе?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "Мұрағаттау керек пе?" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "Бұл %s және оның барлық тап�ырмаларын мұрағаттайды." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "Мұрағат" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "%s бөлімін жою" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 #, fuzzy msgid "Task added successfully!" msgstr "Жоба �әтті қо�ылды!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Тап�ырма атауы" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "Бұл өрі� міндетті" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Сипаттама қо�у…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Белгілер қо�у" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Ба�ымдылықты орнату" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Е�ке �алғыштар қо�у" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Тап�ырма қо�у" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Жобаны таңдау" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "Кешіріңіз, Жылдам қо�у қолжетімді жобаларды таба алмады, Planify арқылы жоба " "жа�ауға тыры�ыңыз." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Пернетақта қы�қартулары" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 #, fuzzy msgid "Set priority" msgstr "Ба�ымдылықты орнату" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 #, fuzzy msgid "Add labels" msgstr "Белгілер қо�у" #: core/QuickAddCore.vala:1427 #, fuzzy msgid "Opens label selector" msgstr "Белгілерді ашу" #: core/QuickAddCore.vala:1428 #, fuzzy msgid "Assign project" msgstr "Жоба қо�у" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 #, fuzzy msgid "Set reminder" msgstr "Уақтылы е�ке �алғыштар орнатыңыз!" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 #, fuzzy msgid "Tip" msgstr "Жоғары" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, fuzzy, c-format msgid "Loading tasks for %s…" msgstr "Жүктелуде…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, fuzzy, c-format msgid "Syncing %s…" msgstr "Синхрондалуда…" #: core/Services/CalDAV/Core.vala:260 #, fuzzy msgid "Sync completed" msgstr "а�қталған" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "О�ы компьютерде" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "Сұраны� дұры� еме�." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "�утентификаци� қажет, бірақ �әт�із болды неме�е әлі берілмеген." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "Сұраны� дұры�, бірақ тыйым �алынған нәр�е үшін." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "Сұралған ре�ур� табылмады." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "Пайдаланушы белгілі бір уақыт ішінде тым көп �ұраны� жіберді." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "Сервер қате�і �ебебінен �ұраны� �әт�із болды." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "Сервер қазіргі уақытта �ұраны�ты өңдей алмайды." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "Белгі�із қате" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "Кеше" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "күн" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "күн" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "%s %s бұрын" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "%s %s қалды" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Дү," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Се," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "Сә," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Бе," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Жұ," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "Се," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "Жк," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Жидек қызыл" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Қызыл" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Сарғыш" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Сары" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Зәйтүн жа�ыл" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Лайм жа�ыл" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Жа�ыл" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "Жалбыз жа�ыл" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Теңіз толқыны" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "��пан көк" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "�шық көк" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Көк" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Жүзім" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Күлгін" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Лаванда" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "Қызғылт" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "Ло�о�ь" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "Көмір" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Сұр" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "Қоңыр �ұр" #: core/Utils/Util.vala:218 msgid "Light" msgstr "�шық" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Қараңғы" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Қою көк" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Ешқандай" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Бүгін + Кірі� жәшігі" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Барлығын жою" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "Проце�� а�қталды, Planify қайта қо�у керек." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "Жарайды" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "О�ы компьютерде" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Planify-мен таны�у" #: core/Utils/Util.vala:590 #, fuzzy msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "Бұл жоба �ізге жұмы�ты ба�тау үшін білу қажет барлық нәр�ені көр�етеді. Онда " "тәжірибе жа�ауға тартынбаңыз – әрқашан параметрлерден жаңа�ын жа�ай ала�ыз." #: core/Utils/Util.vala:597 #, fuzzy msgid "Tap this task" msgstr "О�ы тап�ырманы түртіңіз" #: core/Utils/Util.vala:598 #, fuzzy msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" "Сіз тап�ырманы қарап тұр�ыз! Оны �ол жақтағы белгі қорапша�ын түрту арқылы " "а�қтаңыз. ��қталған тап�ырмалар жобаның төменгі жағында жиналады." #: core/Utils/Util.vala:603 #, fuzzy msgid "Create a new task" msgstr "Жаңа тап�ырма жа�ау" #: core/Utils/Util.vala:604 #, fuzzy msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Енді �іздің кезек, жобаңыздың төменгі жағындағы '+' түйме�ін түртіп, кез " "келген тап�ырманы енгізіп, көк 'Сақтау' түйме�ін түртіңіз." #: core/Utils/Util.vala:609 #, fuzzy msgid "Plan this to-do for today or later" msgstr "Бұл тап�ырманы бүгінге неме�е кейінге жо�парлау" #: core/Utils/Util.vala:610 #, fuzzy msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" "О�ы тап�ырманы қашан орындауды шешу үшін төмендегі күнтізбе түйме�ін " "түртіңіз." #: core/Utils/Util.vala:615 #, fuzzy msgid "Reorder your to-dos" msgstr "Тап�ырмаларыңызды қайта реттеу" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "Тізімді қайта реттеу үшін тап�ырманы түртіп ұ�тап, оны болу керек жерге " "�үйреңіз." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Жоба жа�ау" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "Тап�ырмаларыңызды жақ�ырақ ұйымда�тырыңыз! Сол жақ панельге өтіп, 'О�ы " "компьютерде' бөлімінде '+' түйме�ін ба�ып, өз жобаңызды қо�ыңыз." #: core/Utils/Util.vala:627 #, fuzzy msgid "You’re done!" msgstr "Дайын!" #: core/Utils/Util.vala:628 #, fuzzy msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "Міне, білу керек барлық нәр�е. Өз жобаларыңыз бен тап�ырмаларыңызды қо�уды " "ба�тауға еркін.\n" "Төмендегі кеңейтілген мүмкіндіктерді үйрену үшін кейін о�ы жобаға оралуға " "болады.\n" "Planify қолдануға ұнайды деп үміттенеміз!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "Баптауларды реттеу" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Күнтізбе оқиғаларын көр�ету" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "Жүйеңіздің күнтізбе оқиғаларын Planify-да көр�ете ала�ыз. 'Параметрлер' 🡒 " "Жалпы 🡒 Күнтізбе оқиғаларына өтіп қо�ыңыз." #: core/Utils/Util.vala:657 #, fuzzy msgid "Enable synchronization with third-party services" msgstr "Үшінші тарап қызметімен �инхрондауды қо�у." #: core/Utils/Util.vala:658 #, fuzzy msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "Planify тек жергілікті тап�ырмалар жа�ап қана қоймайды, �онымен қатар " "Todoist аккаунтыңызды �инхрондай алады. 'Параметрлер' 🡒 '�ккаунттар' " "бөліміне өтіңіз." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "Өнімділікті арттыру" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "Плю� түйме�ін �үйреңіз!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "Әр �кранның төменгі жағында көрген көк түйме көрінгенінен әлдеқайда күшті: " "ол қозғалу үшін жа�алған! Қалаған жерде тап�ырма жа�ау үшін оны жоғары " "�үйреңіз." #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 #, fuzzy msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "Тегтер Planify-дағы жұмы� ағымын жақ�артуға мүмкіндік береді. Тег қо�у үшін " "төмендегі тег түйме�ін ба�ыңыз." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "Уақтылы е�ке �алғыштар орнатыңыз!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼�Жұмы�" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒�Мектеп" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉�Тап�ырылған" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "��Үй" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀��Қадағалау" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Тап�ырма көшірілді" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Бөлім көшірілді" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Жоба көшірілді" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "Мерзім кезінде" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 минут бұрын" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 минут бұрын" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 минут бұрын" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 �ағат бұрын" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 �ағат бұрын" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 �ағат бұрын" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%OB" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "�ртқа" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Күнді таңдау" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "Жк" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Дү" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Се" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "Сә" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Бе" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Жұ" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "Се" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Уақыт" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "дейін" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "үшін" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "рет" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "рет" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Қайталау" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "Келе�і апта" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Күн �айын" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 #, fuzzy msgid "Weekdays" msgstr "�пта �айын" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 #, fuzzy msgid "Weekends" msgstr "�пта" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "�пта �айын" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "�й �айын" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Жыл �айын" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "�рнайы" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "Минут" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "Сағат" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "Күн" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 #, fuzzy msgid "Week(s)" msgstr "�пта �айын" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "�й" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "Жыл" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "Ешқашан" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "Күнінде" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "Кейін" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "Әр... �айын қайталау" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "Соңы" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "Белгілерді таңдау" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" "Сүзгілер тізімі о�ы жерде көр�етіледі. �тауын енгізіп, Enter перне�ін ба�у " "арқылы жаңа�ын жа�аңыз." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "'%s' жа�ау" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "Сүзгілер тізімі о�ы жерде көр�етіледі." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "Іздеу" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "Іздеу неме�е жа�ау" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 #, fuzzy msgid "Remove link" msgstr "�лып та�тау" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "Ба�ымдылық 4: Жоқ" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "Ба�ымдылық 1: Жоғары" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "Ба�ымдылық 2: Орташа" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "Ба�ымдылық 3: Төмен" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "Ба�ымдылық 1: Орташа" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "Ба�ымдылық 1: Төмен" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "Бөлімдер тізімі о�ы жерде көр�етіледі." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "Бөлім жоқ" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "Іздеу енгізіңіз" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "Е�ке �алғыштар" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" "Е�ке �алғыштар тізімі о�ы жерде көр�етіледі. '+' түйме�ін ба�у арқылы " "қо�ыңыз." #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "Е�ке �алғыш қо�у" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "5 минуттан кейін" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "15 минуттан кейін" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "30 минуттан кейін" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "1 �ағаттан кейін" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "3 �ағаттан кейін" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "6 �ағаттан кейін" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "Бөлімді орнату" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "Бөлімді таңдау" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "Мәртебені орнату" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "Мәртебе" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "Орындауға" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "��қтау" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "Planify құрылғы қо�ылғанда автоматты түрде і�ке қо�ылады және терезе " "жабылғанда жұмы� і�тей береді, �онда тап�ырма хабарламаларын жібере алады." #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "��қталған тап�ырмалар" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "Сүзгі мәзірін көру" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "Әлі а�қталған тап�ырмалар жоқ." #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "Барлық а�қталған тап�ырмаларды жою" #: src/Dialogs/CompletedTasks.vala:165 #, fuzzy, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" "Бұл %s жоба�ынан %d а�қталған тап�ырма мен олардың қо�ымша тап�ырмаларын " "жо�ды" msgstr[1] "" "Бұл %s жоба�ынан %d а�қталған тап�ырма мен олардың қо�ымша тап�ырмаларын " "жо�ды" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "Сүзу түрі" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "Келе�і апта" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "Күні жоқ" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Дайын" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "Өзгері�тер тарихы" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "Қо�ылған уақыт" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "Қолжетімді еме�" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "Жаңартылған уақыт" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" "Өзгері�тер жа�ай ба�тағаннан кейін өзгері�тер тарихы о�ы жерде көр�етіледі." #: src/Dialogs/ItemChangeHistory.vala:138 #, fuzzy, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "%d апта бұрынғы тарихты көбірек жүктеу…" msgstr[1] "%d апта бұрынғы тарихты көбірек жүктеу…" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "Жаңа белгі" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "Белгіні өңдеу" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "Белгіңізге ат беріңіз" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "Белгі қо�у" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "Белгіні жаңарту" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "Сүзгі" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "Мұрағатталған жобалар" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "Бөлімдерді ба�қару" #: src/Dialogs/ManageSectionOrder.vala:54 #, fuzzy msgid "You can sort your sections by dragging and dropping" msgstr "�ккаунттарды �үйреп апару арқылы реттеуге болады" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "Мұрағатталған" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(Бөлім жоқ)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "�ккаунттар" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "Көз қо�у" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 #, fuzzy msgid "Inbox Page" msgstr "Кірі� жәшігі" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 #, fuzzy msgid "You can sort your accounts by dragging and dropping" msgstr "�ккаунттарды �үйреп апару арқылы реттеуге болады" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 #, fuzzy msgid "Change Inbox" msgstr "Кірі� жәшігін ашу" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 #, fuzzy msgid "Syncing…" msgstr "Синхрондалуда…" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "Сервер URL" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 #, fuzzy msgid "Username" msgstr "Пайдаланушы аты" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "Құпи� �өз" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 #, fuzzy msgid "Calendar Home URL" msgstr "Күнтізбе" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "Кіру" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 #, fuzzy msgid "Inbox Project" msgstr "Жаңа жоба" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "Көз" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "Көр�етілетін аты" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "Синхрондау �ервері" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" "Planify аккаунтыңызбен әр 15 минут �айын автоматты �инхрондалуы үшін о�ы " "параметрді қо�ыңыз" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "Соңғы �инхрондау" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 #, fuzzy msgid "Delete Source" msgstr "Көзді жою керек пе?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "Көзді жою керек пе?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "Синхрондалуда…" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "Сыртқы түр" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "Жүйе параметрлерін пайдалану" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 #, fuzzy msgid "Select theme" msgstr "Таңдау" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "�шық �тиль" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "Қараңғы �тиль" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "Қою көк �тиль" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "Сақтық көшірмелер" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" "Деректеріңіздің жоғалуы туралы ешқашан уайымдамаңыз. Бел�енді жобаларыңыз, " "тап�ырмаларыңыз бен тү�ініктемелеріңіздің �ақтық көшірмелерін жа�ап, кейін " "оларды импорттай ала�ыз." #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "Сақтық көшірме жа�ау" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "Сақтық көшірмені импорттау" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "Сақтық көшірме файлдары" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "Сақтық көшірмелер табылмады, жоғарыдағы түймені ба�ып жаңа�ын жа�аңыз." #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "Көшіру" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "Planner-ден көшіру" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "Сақтық көшірме �әтті жа�алды." #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "Тап�ырмалар �әтті көшірілді" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "Дерекқор файлы жоқ." #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "Таңдалған файл жарам�ыз" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "Сақтық көшірмені көру" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "Жүктеп алу" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "Импорттау шолуы" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "Көздер" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "Тап�ырмалар" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "Ра�тау" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "Сақтық көшірмені қалпына келтіру" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" "Жалға�тыруды шынымен қалай�ыз ба? Бұл операци� ағымдағы деректеріңізді " "жойып, оларды �ақтық көшірме деректерімен ауы�тырады." #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "Сақтық көшірмені қалпына келтіру" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "Жалпы" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "�рнайы реттеу" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "�лфавит бойынша" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "Реттеу түрі" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "Ө�у ретімен" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "Кему ретімен" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "Реттелген" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "Жүйелік интеграци�" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "Қо�ылған кезде і�ке қо�у" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "Фонда жұмы� і�теу" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "Күнтізбе оқиғалары" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "Күн мен уақыт" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24�" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12�" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "Сағат форматы" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "Жек�енбі" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "Дүй�енбі" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "Сей�енбі" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "Сәр�енбі" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "Бей�енбі" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "Жұма" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "Сенбі" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "�пта ба�ы" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 #, fuzzy msgid "Home View" msgstr "Ба�ты бет" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "Жылдам қо�у" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 #, fuzzy msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" "Жұмы� ү�теліңіздің кез келген жерінен бірнеше пернені ба�у арқылы " "тап�ырмалар жа�ау үшін Жылдам қо�уды пайдаланыңыз. Тіпті қазірдегі " "қолданбадан шығудың қажеті жоқ." #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" "Жүйе параметрлері → Пернетақта → Қы�қартулар → �рнайы бөліміне өтіп, келе�і " "жаңа қы�қартуды қо�ыңыз:" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "Параметрлер" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "Соңғы таңдалған жобаны �ақтау" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "Белгіленбе�е, әдепкі таңдалған жоба Кірі� жәшігі болады" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "Команда буферге көшірілді" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "Бүйір тақта" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "Бүйір тақтада көр�ету" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "Тап�ырмалар �анын көр�ету" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "Бүйір тақта ені" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "Көріні�терді �үйреп апару арқылы реттеуге болады" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "Тап�ырма параметрлері" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 #, fuzzy msgid "Complete Instantly" msgstr "Лезде" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 #, fuzzy msgid "Complete with Undo" msgstr "��қталған" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 #, fuzzy msgid "Task Completion" msgstr "Тап�ырма а�қталу дыбы�ы" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "Ба�ымдылық 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "Ба�ымдылық 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "Ба�ымдылық 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "Әдепкі ба�ымдылық" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "��қталған тап�ырмаларды �ызу" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "Жаңа тап�ырма орны" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "��қталған қо�ымша тап�ырмаларды әрқашан көр�ету" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "Тап�ырма а�қталу дыбы�ы" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "Тап�ырмалар а�қталған кезде дыбы� ойнату" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 #, fuzzy msgid "Open Tasks in Sidebar View" msgstr "Тап�ырманы бүйір тақтада ашу" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "Markdown пішімдеуді қо�у" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "Тап�ырмалар үшін Markdown қолдауын қо�у неме�е өшіру" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "Толық ақпарат бүйір тақта�ын әрқашан көр�ету" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 #, fuzzy msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" "Тап�ырмалар ара�ында жеңіл навигаци� үшін толық ақпарат панелін әрқашан " "көрінетін етіп �ақтау, панельді үнемі ашу және жабу қажеттілігін болдырмау." #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "Қо�ылған" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "�втоматты е�ке �алғыштар" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 #, fuzzy msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" "Қо�ылған кезде тап�ырманың мерзімі алдында е�ке �алғыш әдепкі бойынша " "қо�ылады." #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "Параметрлер" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "Сүйікті тап�ырма провайдерлерімен �инхрондау" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "Өз талғамыңыз бойынша реттеу" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "Бүйір тақтаны реттеу" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "Кез келген жерден тап�ырмалар қо�у" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "Planner-ден �ақтық көшірме жа�ау неме�е көшіру." #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "Оқу жоба�ын жа�ау" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "Қы�қа оқу жоба�ымен қолданбаны қадам �айын үйрену" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "Маған �у�ын �атып алғыңыз келе ме?" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "Бізбен байланы�у" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "Бізбен хабарла�у" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "Мүмкіндік �ұрау неме�е кез келген �ұрақ қою" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "Бізге твит жазыңыз" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "Махаббатпен бөлі�іңіз" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "Талқылаңыз және пікіріңізбен бөлі�іңіз" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodon" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "Жеке өмір" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "Жеке өмір �а��аты" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "Сіз туралы ешнәр�е жинамаймыз" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "Қолданба деректерін жою" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "Оқу жоба�ы жа�алды" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "Барлық деректерді жою керек пе?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" "Барлық тізімдер, тап�ырмалар және е�ке �алғыштарды қайтарылмайтын түрде жо�ды" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "Қорытынды" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "Толығырақ көру" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "О�ы апта" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "О�ы ай" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "Мерзімі өткен" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "Жаңа жоба" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "Жобаны өңдеу" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "Жобаңызға ат беріңіз" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "Эмодзи пайдалану" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "Жоба қо�у" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "Жобаны жаңарту" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "Жоба �әтті қо�ылды!" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "Жылжыту" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "Жылдам іздеу" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" "Жобалар мен көріні� ара�ында жылдам ауы�у, тап�ырмаларды табу, белгілер " "бойынша іздеу" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "Жаңа бөлім" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "Бөлімді өңдеу" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "Бөлім атауы" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "Бөлім қо�у" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "Бөлімді жаңарту" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 #, fuzzy msgid "Section added" msgstr "Бөлім атауы" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "Бүйір тақтаны ашу/жабу" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "Бекітуді алып та�тау" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "��қталды. Келе�і кезде�у: %s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "Қо�ымша тап�ырма қо�у" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "Өңдеу" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "Көшіру" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "Тап�ырманы жою" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "Реттеу '�рнайы реттеу' болып өзгертілді" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s жойылды" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "Болдырмау" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "Қо�ымша тап�ырмалар қо�у" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "Қо�ымша тап�ырмаларды жа�ыру" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "Қо�ымша тап�ырмаларды көр�ету" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "Жазба ретінде пайдалану" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "Буферге көшіру" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "Қо�ымшалар қо�у" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "Толық ақпаратты жабу" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "�тауы" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "Қа�иеттер" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "Жоюды шынымен қалай�ыз ба?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "Белгіні жою" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "Жобалар реті '�рнайы реттеу' болып өзгертілді" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "Таңдаулылардан шығару" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "Таңдаулыларға қо�у" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "Жаңарту" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "Жобаны жою" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "Бөлі�у" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "Эл. пошта арқылы жіберу" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 #, fuzzy msgid "Add tasks" msgstr "Қо�ымша тап�ырмалар қо�у" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 #, fuzzy msgid "completed tasks" msgstr "��қталған тап�ырмалар" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "Бөлімді жылжыту" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "Бөлімдер ретін ба�қару" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "��қталған тап�ырмаларды көр�ету" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "Бөлімді жою" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "Таңдаулылар" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "Таңдаулылар жоқ. '+' түйме�ін ба�у арқылы жа�аңыз" #: src/Layouts/Sidebar.vala:122 #, fuzzy msgid "Add Account" msgstr "�ккаунттар" #: src/Layouts/Sidebar.vala:123 #, fuzzy msgid "Customize Sidebar" msgstr "Бүйір тақтаны реттеу" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "Бүгінге өту" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "Жо�парланғанға өту" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "Белгілерге өту" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "Жап�ырма тақта�ына өту" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "Қолжетімді жоба жоқ. '+' түйме�ін ба�у арқылы жа�аңыз" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "�егізгі мәзір" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "Жылдам іздеуді ашу" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "Planify туралы" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "Кешіріңіз! Бірдеңе болды" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "Тап�ырма а�қталды" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "Дерекқор тұта�тығын тек�еру �әт�із болды" #: src/MainWindow.vala:864 #, fuzzy msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" "Қолданбаның дұры� жұмы� і�теуіне кедергі келтіруі мүмкін дерекқор " "құрылымындағы мә�елелерді анықтадық. Бұл ке�телер неме�е бағандардың " "жоқтығынан болуы мүмкін, ықтимал деректердің зақымдалуы неме�е толық еме� " "жаңарту �ебебінен. Қалыпты жұмы�ты қалпына келтіру үшін дерекқор қазір " "қалпына келтіріледі және барлық деректер жойылады. Қалпына келтіргеннен " "кейін бұрын жа�аған кез келген �ақтық көшірмені қалпына келтіре ала�ыз. " "Шыдамдылығыңыз үшін рахмет" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "Дерекқорды қалпына келтіру" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "Сақтық көшірмені жою" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "Сақтық көшірме �әтті импортталды" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "Planify �ақтық көшірме файлдары" #: src/Services/Notification.vala:99 #, fuzzy msgid "Snooze for 10 minutes" msgstr "30 минуттан кейін" #: src/Services/Notification.vala:100 #, fuzzy msgid "Snooze for 30 minutes" msgstr "30 минуттан кейін" #: src/Services/Notification.vala:101 #, fuzzy msgid "Snooze for 1 hour" msgstr "1 �ағаттан кейін" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "Көру опци�лары мәзірі" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "Тап�ырмалар қо�ыңыз" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "Жаңа тап�ырма жа�ау үшін 'a' ба�ыңыз" #: src/Views/Filter.vala:129 #, fuzzy msgid "All tasks completed!" msgstr "Тап�ырма а�қталды" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 #, fuzzy msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "Барлық а�қталған тап�ырмаларды жою" msgstr[1] "Барлық а�қталған тап�ырмаларды жою" #: src/Views/Filter.vala:627 #, fuzzy, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" "Бұл %d а�қталған тап�ырманы және олардың қо�ымша тап�ырмаларын жо�ды" msgstr[1] "" "Бұл %d а�қталған тап�ырманы және олардың қо�ымша тап�ырмаларын жо�ды" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "Қолжетімді белгілер жоқ. '+' түйме�ін ба�у арқылы жа�аңыз" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "Жазба" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "Жо�парлау" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "Қашан?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "Жоба әрекеттері" #: src/Views/Project/Project.vala:259 #, fuzzy msgid "New Task" msgstr "Жаңа тап�ырма орны" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "Таңдау" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "Қою" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "Барлығын жаю" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "Жаңа" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "Барлығын жию" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "Тізім" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "Тақта" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "Реттеу" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "�рнайы реттеу" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "Қо�ылған күні" #: src/Views/Project/Project.vala:547 #, fuzzy msgid "Ascending Order" msgstr "Ө�у ретімен" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "Мерзімі" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "Барлығы (әдепкі)" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "Келе�і 7 күн" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "Келе�і 30 күн" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "Б1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "Б2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "Б3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "Б4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "Белгілер бойынша �үзу" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 #, fuzzy msgid "Search completed tasks" msgstr "��қталған тап�ырмаларды көр�ету" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "Реттеу түрі" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "Қайта жо�парлау" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "Қо�ымшалар" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "�шу" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "Қо�ымшалар табылмады. Файлдарды о�ы жерге қо�ыңыз." #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "Қо�ымша тап�ырмалар" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 #, fuzzy msgid "Show less" msgstr "��қталған тап�ырмаларды көр�ету" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "Мә�еле туралы хабарлау" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Күнтізбе" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "Тап�ырма а�қталмады" #: src/Widgets/ItemChangeHistoryRow.vala:51 #, fuzzy msgid "Task moved to project" msgstr "Тап�ырма жобаға жылжытылды: %s" #: src/Widgets/ItemChangeHistoryRow.vala:61 #, fuzzy msgid "Task moved to" msgstr "Тап�ырма %s дегенге жылжытылды" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "�лдыңғы" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "Бекіту: Бел�енді" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "Бекіту: Бел�енді еме�" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "��қталған уақыт" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "��қталған деп белгілеу" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "Тап�ырманы жою" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "Бұл тап�ырманы жоюды шынымен қалай�ыз ба?" #: src/Widgets/MultiSelectToolbar.vala:299 #, fuzzy, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "%d тап�ырманы жою" msgstr[1] "%d тап�ырманы жою" #: src/Widgets/MultiSelectToolbar.vala:305 #, fuzzy, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "Бұл тап�ырманы жоюды шынымен қалай�ыз ба?" msgstr[1] "Бұл тап�ырманы жоюды шынымен қалай�ыз ба?" #: src/Widgets/MultiSelectToolbar.vala:402 #, fuzzy, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "Тап�ырма %s дегенге жылжытылды" msgstr[1] "Тап�ырма %s дегенге жылжытылды" #: src/Widgets/NewVersionPopup.vala:42 #, fuzzy msgid "New version available!" msgstr "Қолжетімді еме�" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 #, fuzzy msgid "Update Now" msgstr "Жаңартылған уақыт" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "Мұрағаттан шығару" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "Қо�ымша тап�ырмалар әлі қо�ылмаған. Ба�таңыз!" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "Серверге қо�ылу �әт�із болды" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" "Сервер қолжетім�із �и�қты,\n" "интернетке қо�ылған�ыз ба?\n" "Байланы� болмаған кезде жа�аған\n" "кез келген өзгері�тер қайта қо�ылғанда �инхрондалады." #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "Planify - Жылдам қо�у" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "Кез келген жерде қолданылады" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "Жаңа тап�ырма жа�ау" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "Жаңа тап�ырма жа�ау үшін қарапайым мәтінді қою" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "Жаңа жоба жа�ау" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "Жобада жаңа бөлім жа�ау" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "Іздеу" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "Жылдам іздеуді ашу" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "Терезелерді ба�қару" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "Шығу" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Параметрлерді ашу" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "Бүйір тақтаны ауы�тыру" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "Пернетақта қы�қартуларын ашу" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "�авигаци�" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "Ба�ты бетті ашу" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "Кірі� жәшігін ашу" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "Бүгінді ашу" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "Жо�парланғанды ашу" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "Белгілерді ашу" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "Жап�ырма тақта�ын ашу" #, fuzzy #~ msgid "Server URL examples:" #~ msgstr "Сервер URL" #~ msgid "" #~ "Planify is being developed with love and passion for open source. " #~ "However, if you like Planify and want to support its development, please " #~ "consider supporting us." #~ msgstr "" #~ "Planify ашық кодқа деген махаббат пен ықыла�пен дамытылуда. �лайда, егер " #~ "Planify ұна�а және оның дамуын қолдағыңыз кел�е, бізді қолдауды " #~ "қара�тырыңыз." #~ msgid "Please Enter Your Credentials" #~ msgstr "Тіркелгі деректеріңізді енгізіңіз" #~ msgid "Loading…" #~ msgstr "Жүктелуде…" #~ msgid "Network Is Not Available" #~ msgstr "Желі қолжетімді еме�" #~ msgid "Set a Due Date" #~ msgstr "Мерзімді орнату" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "Planify фонда жұмы� і�теп, хабарламалар жіберуіне рұқ�ат беру" #~ msgid "Whether Planify should run on startup" #~ msgstr "Planify жүйе қо�ылған кезде і�ке қо�ылу керек пе" #~ msgid "Clear" #~ msgstr "Тазалау" #~ msgid "Menu" #~ msgstr "Мәзір" #~ msgid "Add Time" #~ msgstr "Уақыт қо�у" #, fuzzy #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "Planify маңызды оқиға неме�е ерекше нәр�е туралы е�ке �алу хабарлама�ын " #~ "жіберуін қалай�ыз. Е�ке �алғыш қо�у үшін төмендегі қоңырау түйме�ін " #~ "түртіңіз." #, fuzzy #~ msgid "Planify is syncing your tasks, this may take a few minutes" #~ msgstr "" #~ "Planify тап�ырмаларыңызды �инхрондауда, бұл бірнеше минут алуы мүмкін" #~ msgid "Todoist Sync" #~ msgstr "Todoist �инхрондауы" #~ msgid "Loading" #~ msgstr "Жүктелуде" #~ msgid "Planner is sync your tasks, this may take a few minutes" #~ msgstr "Planner тап�ырмаларды �инхрондауда, бұл бірнеше минут алуы мүмкін" #~ msgid "Please enter your credentials" #~ msgstr "Тіркелгі деректеріңізді енгізіңіз" #, c-format #~ msgid "Every %d minutes" #~ msgstr "Әр %d минут �айын" #, c-format #~ msgid "Every %d hours" #~ msgstr "Әр %d �ағат �айын" #, c-format #~ msgid "Every %d days" #~ msgstr "Әр %d күн �айын" #, c-format #~ msgid "Every %d weeks" #~ msgstr "Әр %d апта �айын" #, c-format #~ msgid "Every %d months" #~ msgstr "Әр %d ай �айын" #, c-format #~ msgid "Every %d years" #~ msgstr "Әр %d жыл �айын" #, c-format #~ msgid "" #~ "This will delete %d completed tasks and their subtasks from project %s" #~ msgstr "" #~ "Бұл %s жоба�ынан %d а�қталған тап�ырма мен олардың қо�ымша тап�ырмаларын " #~ "жо�ды" #, c-format #~ msgid "Load more history from %d weeks ago…" #~ msgstr "%d апта бұрынғы тарихты көбірек жүктеу…" #, fuzzy #~ msgid "Delete Completed Tasks" #~ msgstr "Барлық а�қталған тап�ырмаларды жою" #, c-format #~ msgid "This will delete %d completed tasks and their subtasks" #~ msgstr "" #~ "Бұл %d а�қталған тап�ырманы және олардың қо�ымша тап�ырмаларын жо�ды" #, c-format #~ msgid "Delete %d To-Dos" #~ msgstr "%d тап�ырманы жою" #, c-format #~ msgid "Are you sure you want to delete these %d to-dos?" #~ msgstr "О�ы %d тап�ырманы жоюды шынымен қалай�ыз ба?" #, fuzzy #~ msgid "Backup" #~ msgstr "Сақтық көшірмелер" #~ msgid "Task Setting" #~ msgstr "Тап�ырма параметрлері" #~ msgid "Personal Data" #~ msgstr "Жеке деректер" #~ msgid "" #~ "We collect absolutely nothing and all your data is stored in a database " #~ "on your computer." #~ msgstr "" #~ "Біз мүлдем ештеңе жинамаймыз және барлық деректеріңіз компьютеріңіздегі " #~ "дерекқорда �ақталады." #~ msgid "" #~ "If you choose to integrate Todoist, which is optional and not selected by " #~ "default, your data will be stored on their private servers, we only " #~ "display your configured tasks and manage them for you." #~ msgstr "" #~ "Егер Todoist-ты интеграци�лауды таңда�аңыз (бұл міндетті еме� және әдепкі " #~ "бойынша таңдалмаған), деректеріңіз олардың жеке �ерверлерінде �ақталады, " #~ "біз тек конфигураци�ланған тап�ырмаларыңызды көр�етеміз және оларды " #~ "ба�қарамыз." #~ msgid "Do you have any questions?" #~ msgstr "Сұрақтарыңыз бар ма?" #~ msgid "" #~ "If you have any questions about your data or any other issue, please " #~ "contact us. We will be happy to answer you." #~ msgstr "" #~ "Деректеріңіз неме�е ба�қа мә�елелер туралы �ұрақтарыңыз бол�а, бізбен " #~ "хабарла�ыңыз. Біз �ізге жауап беруге қуанышпыз." #~ msgid "Supporting Us" #~ msgstr "Бізді қолдау" #~ msgid "" #~ "Our mission is to provide the best open source task management " #~ "application for users all over the world. Your donations support this " #~ "work. Want to donate today?" #~ msgstr "" #~ "Біздің ми��и�мыз әлем бойынша пайдаланушылар үшін ең жақ�ы ашық кодты " #~ "тап�ырма ба�қару қолданба�ын ұ�ыну болып табылады. Сіздің ақшалай " #~ "көмегіңіз о�ы жұмы�ты қолдайды. Бүгін көмек көр�еткіңіз келе ме?" #~ msgid "Support Planify" #~ msgstr "Planify қолдау" #, fuzzy #~ msgid "Clear Schedule" #~ msgstr "Жо�парлау" #~ msgid "Process completed, you need to start Planify again" #~ msgstr "Проце�� а�қталды, Planify қайта қо�у керек" #~ msgid "Task Detail" #~ msgstr "Тап�ырма толық ақпараты" #~ msgid "Create a new to-do" #~ msgstr "Жаңа тап�ырма жа�ау" #~ msgid "Tag your to-dos!" #~ msgstr "Тап�ырмаларыңызға тег қойыңыз!" #, fuzzy #~ msgid "What’s new in Planify" #~ msgstr "Planify-дағы жаңалықтар" #~ msgid "Inbox as Independent Project" #~ msgstr "Кірі� жәшігі дербе� жоба ретінде" #, fuzzy #~ msgid "" #~ "The Inbox is the default place to add new tasks, allowing you to quickly " #~ "get your ideas out of your head and then plan them when you’re ready." #~ msgstr "" #~ "Кірі� жәшігі жаңа тап�ырмалар қо�атын әдепкі орын болып табылады, " #~ "иде�ларыңызды тез ойыңыздан шығарып, дайын болғанда оларды жо�парлауға " #~ "мүмкіндік береді." #~ msgid "Enhanced Task Duplication" #~ msgstr "Жақ�артылған тап�ырма көшіру" #~ msgid "" #~ "When you duplicate a task now, all subtasks and labels are automatically " #~ "duplicated, saving you time and effort in managing your projects." #~ msgstr "" #~ "Тап�ырманы көшіргенде барлық қо�ымша тап�ырмалар мен белгілер автоматты " #~ "түрде көшіріледі, жобаларды ба�қарудағы уақыт пен күш-жігерді үнемдейді." #~ msgid "Duplication of Sections and Projects" #~ msgstr "Бөлімдер мен жобаларды көшіру" #~ msgid "" #~ "You can now easily duplicate entire sections and projects, making it " #~ "easier to create new projects based on existing structures." #~ msgstr "" #~ "Енді бүкіл бөлімдер мен жобаларды оңай көшіре ала�ыз, бұл бар құрылымдар " #~ "негізінде жаңа жобалар жа�ауды жеңілдетеді." #~ msgid "Project Expiry Date" #~ msgstr "Жоба мерзімі" #, fuzzy #~ msgid "" #~ "Your project’s expiry date now clearly shows the remaining days, helping " #~ "you keep track of your deadlines more effectively." #~ msgstr "" #~ "Жобаңыздың мерзімі енді қалған күндерді айқын көр�етеді, мерзімдерді " #~ "тиімдірек бақылауға көмекте�еді." #~ msgid "Archiving of Projects and Sections" #~ msgstr "Жобалар мен бөлімдерді мұрағаттау" #~ msgid "" #~ "You can now archive entire projects and sections! This feature helps you " #~ "keep your workspace organized and clutter-free." #~ msgstr "" #~ "Енді бүкіл жобалар мен бөлімдерді мұрағаттай ала�ыз! Бұл мүмкіндік жұмы� " #~ "кеңі�тігін ұйымда�тырып, тәртіпті ұ�тауға көмекте�еді." #~ msgid "What's New" #~ msgstr "Жаңалықтар" #~ msgid "Are you sure you want to reset all? (y/n): " #~ msgstr "Барлығын қалпына келтіруді шынымен қалай�ыз ба? (y/n): " #~ msgid "y" #~ msgstr "y" #~ msgid "yes" #~ msgstr "иә" #~ msgid "Couldn't find an app to handle file URIs" #~ msgstr "Файл URI-лерін өңдейтін қолданба табылмады" #, fuzzy #~ msgid "Planify" #~ msgstr "Planify-мен таны�у" #~ msgid "" #~ "Up to 3 tasks can be pinned and they will appear at the top of the " #~ "project page" #~ msgstr "" #~ "3 тап�ырмаға дейін бекітуге болады және олар жоба бетінің жоғарғы жағында " #~ "көр�етіледі" #~ msgid "No Provider Available" #~ msgstr "Қолжетімді провайдер жоқ" #~ msgid "Go to Inbox" #~ msgstr "Кірі� жәшігіне өту" #~ msgid "Order by" #~ msgstr "Реттеу түрі" #~ msgid "Integrations" #~ msgstr "Интеграци�лар" #~ msgid "Wait 2500 Milliseconds" #~ msgstr "2500 милли�екунд күту" #~ msgid "Complete Task" #~ msgstr "Тап�ырманы а�қтау" #~ msgid "" #~ "Complete your to-do instantly or wait 2500 milliseconds with the undo " #~ "option" #~ msgstr "" #~ "Тап�ырманы лезде а�қтау неме�е болдырмау опци��ымен 2500 милли�екунд күту" #~ msgid "Top" #~ msgstr "Жоғары" #~ msgid "Bottom" #~ msgstr "Төмен" #~ msgid "Create More" #~ msgstr "Тағы жа�ау" #~ msgid "App Theme" #~ msgstr "Қолданба тақырыбы" #, c-format #~ msgid "Task moved to: %s" #~ msgstr "Тап�ырма жылжытылды: %s" #~ msgid "Telegram" #~ msgstr "Telegram" #~ msgid "Matrix Room" #~ msgstr "Matrix бөлме�і" #~ msgid "Attention at One" #~ msgstr "Біреуіне назар аудару" #~ msgid "Add To-Do" #~ msgstr "Тап�ырма қо�у" #~ msgid "Nextcloud Setup" #~ msgstr "Nextcloud баптауы" #~ msgid "Provider" #~ msgstr "Провайдер" alainm23-planify-69962f8/po/kn.po000066400000000000000000002510651517337276100164720ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:04+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Kannada \n" "Language: kn\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/ko.po000066400000000000000000003302701517337276100164670ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:55+0000\n" "Last-Translator: 권나연 \n" "Language-Team: Korean \n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "프로�트" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "섹션" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "할 �" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "�벨" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "필터" #: core/Enum.vala:186 msgid "Lists" msgstr "목�" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "반복 안 함" #: core/Enum.vala:216 #, fuzzy, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "매분" #: core/Enum.vala:218 #, fuzzy, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "매시간" #: core/Enum.vala:220 #, fuzzy, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "매�" #: core/Enum.vala:222 #, fuzzy, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "매주" #: core/Enum.vala:224 #, fuzzy, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "매달" #: core/Enum.vala:226 #, fuzzy, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "매년" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "우선순위" #: core/Enum.vala:348 msgid "Label" msgstr "�벨" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "기한" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "섹션" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "작업� 복제�었습니다" #: core/Enum.vala:472 msgid "Task Updated" msgstr "작업� 복제�었습니다" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "설명" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "�정" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "고정" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "모든 작업" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "모든 작업" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "전체" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "언제든지" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "언제든지" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "필터" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "날짜 없�" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "완료�" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "완료�" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "기�" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "수신함" #: core/Objects/Filters/Inbox.vala:36 #, fuzzy msgid "inbox" msgstr "수신함" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "�벨" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "게시�" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "우선순위 1: 높�" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "우선순위 2: 보통" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "우선순위 3: 낮�" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "우선순위 4: 없�" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "높�" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "보통" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "낮�" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "없�" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "반복 중" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "반복 중" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "�정" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "예정�" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "오늘" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "오늘" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "내�" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "내�" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "날짜" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "�벨 없�" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "�벨 없�" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "�벨 없�" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "작업� �립보드� 복사�었습니다" # # c-format #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "작업� %s(으)로 ���었습니다" # # c-format #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "�벨 %s 삭제" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "� 작업� 취소할 수 없습니다" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "취소" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "삭제" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "프로�트가 �립보드� 복사�었습니다." # # c-format #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "프로�트 %s�(를) 삭제하시겠습니까?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "보관하시겠습니까?" # # c-format #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "%s � 모든 작업� 보관�니다." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "보관" # # c-format #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "섹션 %s 삭제" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 #, fuzzy msgid "Task added successfully!" msgstr "프로�트가 성공�으로 추가�었습니다!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "할 � �름" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "설명" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "�벨 추가" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "우선순위를 설정하세요" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "리마�� 추가" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "작업 추가" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 #, fuzzy msgid "Select a Project" msgstr "프로�트 삭제" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "죄송합니다, 빠른 추가 기능으로 가능한 프로�트를 찾� 수 없습니다. Planify� " "기본 프로�트를 �성해 보세요." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "키보드 단축키" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 #, fuzzy msgid "Set priority" msgstr "우선순위를 설정하세요" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 #, fuzzy msgid "Add labels" msgstr "�벨 추가" #: core/QuickAddCore.vala:1427 #, fuzzy msgid "Opens label selector" msgstr "�벨 열기" #: core/QuickAddCore.vala:1428 #, fuzzy msgid "Assign project" msgstr "프로�트 추가" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 #, fuzzy msgid "Set reminder" msgstr "시기�절한 리마��를 설정하세요!" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 #, fuzzy msgid "Tip" msgstr "�단" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, fuzzy, c-format msgid "Loading tasks for %s…" msgstr "로딩 중…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, fuzzy, c-format msgid "Syncing %s…" msgstr "�기화 중..." #: core/Services/CalDAV/Core.vala:260 #, fuzzy msgid "Sync completed" msgstr "완료�" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "� 컴퓨터�서" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "요청� 잘못�었습니다." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "��� 필요하지만 실패했거나 아� 제공�지 않았습니다." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "요청� 유효하지만 금지� 항목� 대한 것입니다." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "요청한 리소스를 찾� 수 없습니다." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "사용�가 �정 시간 내� 너무 많� 요청� 보냈습니다." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "서버 오류로 �해 요청� 실패했습니다." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "서버가 현재 요청� 처리할 수 없습니다." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "알 수 없는 오류" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "어제" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "�" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "�" # # c-format #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "%s %s 전" # # c-format #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "%s %s 남�" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "월," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "화," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "수," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "목," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "금," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "토," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "�," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%년" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "딸기색" #: core/Utils/Util.vala:42 msgid "Red" msgstr "빨간색" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "주황색" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "노란색" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "올리브색" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "�임색" #: core/Utils/Util.vala:47 msgid "Green" msgstr "초�색" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "민트색" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "청�색" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "하늘색" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "연하늘색" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "파란색" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "��색" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "보�색" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "�벤�색" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "��색" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "살몬색" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "차콜색" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "회색" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "회갈색" #: core/Utils/Util.vala:218 msgid "Light" msgstr "��색" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "어�운색" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "남색" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "없�" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "오늘 + 수신함" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "전부 삭제" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "처리 완료, Planify를 재시작해야 합니다." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "확�" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "� 컴퓨터�서" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Planify를 만나보세요" #: core/Utils/Util.vala:590 #, fuzzy msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "� 프로�트는 시작하는 � 필요한 모든 것� 보여�니다. �유롭게 �색해 보세" "요 - 설정�서 언제든지 프로�트를 만들 수 있습니다." #: core/Utils/Util.vala:597 #, fuzzy msgid "Tap this task" msgstr "� 할 �� 탭하세요" #: core/Utils/Util.vala:598 #, fuzzy msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" "지금 할 �� 보고 있어요! 왼쪽� 체�박스를 탭하여 완료하세요. 완료� 할 �" "� 프로�트 하단� 모입니다." #: core/Utils/Util.vala:603 #, fuzzy msgid "Create a new task" msgstr "새 작업 �성" #: core/Utils/Util.vala:604 #, fuzzy msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "�제 당신 차례입니다. 프로�트 하단� '+' 버튼� 탭하고, 대기 중� 작업� 입" "력한 후 파란색 '저장' 버튼� 탭하세요." #: core/Utils/Util.vala:609 #, fuzzy msgid "Plan this to-do for today or later" msgstr "� 할 �� 나중� 계�하세요" #: core/Utils/Util.vala:610 #, fuzzy msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "� 할 �� 언제 할지 결정하려면 하단� 캘린� 버튼� 탭하세요." #: core/Utils/Util.vala:615 #, fuzzy msgid "Reorder your to-dos" msgstr "할 �� 순서를 변경하세요" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "리스트를 재정렬하려면, 할 �� 탭하고 길게 누른 후 �하는 위치로 드래그하세" "요." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "새 프로�트를 �성하세요" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "할 �� � 잘 정리하세요! 왼쪽 패�로 ��하여 '� 컴퓨터' 섹션�서 '+' 버튼" "� �릭하고, �접 프로�트를 추가하세요." #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "모든 과정� 완료�었습니다. 잘 하셨어요!" #: core/Utils/Util.vala:628 #, fuzzy msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "�제 기본�� 내용� 다 알게 �셨습니다.\n" "�유롭게 �신� 프로�트와 할 �� 추가해 보세요.\n" "나중� � 프로�트로 �아와 아래� 고급 기능� 배울 수 있습니다.\n" "Planify를 ��게 사용하시길 바�니다!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "설정� 조정하세요" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "캘린� �벤트를 표시하세요" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "Planify�서 시스템� 캘린� �벤트를 표시할 수 있습니다." #: core/Utils/Util.vala:657 #, fuzzy msgid "Enable synchronization with third-party services" msgstr "서드파티 서비스와� �기화를 활성화하세요." #: core/Utils/Util.vala:658 #, fuzzy msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "Planify는 로컬�서만 작업� �성할 수 있� �만 아니�, Todoist 계정과� �기" "화할 수 있습니다. '설정' 🡒 '계정'으로 ��하세요." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "�산성� 향�하세요" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "플러스 버튼� 드래그하세요!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "� 화면 하단� 있는 파란 버튼� 보기보다 강력합니다: ��할 수 있�� 설계�" "었습니다! 위로 드래그하여 �하는 곳� 작업� �성하세요." #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 #, fuzzy msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "태그를 사용하면 Planify�서 워�플로우를 개선할 수 있습니다. 태그를 추가하려" "면 하단� 태그 버튼� �릭하세요." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "시기�절한 리마��를 설정하세요!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼�업무" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒�학�" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉�할당�" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "��집" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "����확� 필요" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "작업� 복제�었습니다" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "섹션� 복제�었습니다" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "프로�트가 복제�었습니다" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%월" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "뒤로" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "날짜 선�" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "�" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "월" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "화" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "수" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "목" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "금" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "토" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "시간" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "까지" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "�안" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "횟수" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "시간" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "반복" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "다� 주" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "매�" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 #, fuzzy msgid "Weekdays" msgstr "매주" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 #, fuzzy msgid "Weekends" msgstr "주" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "매주" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "매월" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "매년" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "사용� 정�" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "분" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "시간" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "�" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 #, fuzzy msgid "Week(s)" msgstr "매주" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "개월" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "년" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "없�" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "날짜�" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "후�" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "반복 간격" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "종료" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "�벨 선�" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "여기� 알림 목�� 표시�니다. '+' 버튼� �릭하여 알림� 추가하세요." # c-format # c-format #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, fuzzy, c-format msgid "Create '%s'" msgstr "추가 �성" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "여기� 알림 목�� 표시�니다. '+' 버튼� �릭하여 알림� 추가하세요." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "검색" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "우선순위 4: 없�" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "우선순위 1: 높�" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "우선순위 2: 보통" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "우선순위 3: 낮�" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "우선순위 1: 보통" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "우선순위 1: 낮�" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 #, fuzzy msgid "Your list of section will show up here." msgstr "여기� 알림 목�� 표시�니다. '+' 버튼� �릭하여 알림� 추가하세요." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "섹션 없�" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "검색 입력" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "리마��" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "여기� 알림 목�� 표시�니다. '+' 버튼� �릭하여 알림� 추가하세요." #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "리마�� 추가" # # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 #, fuzzy msgid "In 5 minutes" msgstr "%d분마다" # # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 #, fuzzy msgid "In 15 minutes" msgstr "%d분마다" # # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 #, fuzzy msgid "In 30 minutes" msgstr "%d분마다" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "섹션 설정" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "섹션 선�" #: core/Widgets/StatusButton.vala:32 #, fuzzy msgid "Set The Status" msgstr "우선순위를 설정하세요" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "�태" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "할 �" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "완료" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "� 기기가 켜지면 Planify가 ��으로 시작�고 창� 닫힌 �태�서� 할 � 알림" "� 보낼 수 있�� 실행�니다." #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 #, fuzzy msgid "Completed Tasks" msgstr "작업 완료" #: src/Dialogs/CompletedTasks.vala:59 #, fuzzy msgid "View Filter Menu" msgstr "옵션 메뉴 보기" #: src/Dialogs/CompletedTasks.vala:95 #, fuzzy msgid "No completed tasks yet." msgstr "완료� 작업 표시" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "모든 완료� 작업 삭제" # # c-format #: src/Dialogs/CompletedTasks.vala:165 #, fuzzy, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "%d개� 완료� 작업 � 하위 작업� 프로�트 %s�서 삭제합니다" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "필터 기준" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "다� 주" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "날짜 없�" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "완료" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "추가� 시간" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "사용할 수 없�" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "업��트� 시간" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "새 �벨" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "�벨 편집" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "�벨 �름 지정" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "�벨 추가" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "�벨 업��트" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "필터" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "보관� 프로�트" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "섹션 관리" #: src/Dialogs/ManageSectionOrder.vala:54 #, fuzzy msgid "You can sort your sections by dragging and dropping" msgstr "�어다 놓기로 보기를 정렬할 수 있습니다" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "보관�" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(섹션 없�)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "계정" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "소스" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 #, fuzzy msgid "Inbox Page" msgstr "수신함" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 #, fuzzy msgid "You can sort your accounts by dragging and dropping" msgstr "�어다 놓기로 보기를 정렬할 수 있습니다" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 #, fuzzy msgid "Change Inbox" msgstr "수신함 열기" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 #, fuzzy msgid "Syncing…" msgstr "�기화 중..." #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "서버 URL" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 #, fuzzy msgid "Username" msgstr "사용� �름" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "비밀번호" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 #, fuzzy msgid "Calendar Home URL" msgstr "캘린� �벤트" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "로그�" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 #, fuzzy msgid "Inbox Project" msgstr "새 프로�트" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "소스" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "�기화 서버" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" "� 설정� 활성화하여 Planify가 15분마다 Todoist 계정과 ��으로 �기화��� " "하세요" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "마지막 �기화" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 #, fuzzy msgid "Delete Source" msgstr "섹션 삭제" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "섹션 삭제" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "�기화 중..." #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "모양" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "시스템 설정 사용" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 #, fuzzy msgid "Select theme" msgstr "선�" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "��색 스타�" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "어�운색 스타�" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "남색 스타�" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "백업" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" "��터 �실� 걱정하지 마세요. 활성 프로�트, 작업 � 댓글� 백업하고 나중� " "가져올 수 있습니다." #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "백업 �성" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "백업 가져오기" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "백업 파�" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "사용 가능한 계정� 없습니다. '+' 버튼� �릭하여 �기화하세요" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "마�그레�션" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "플래너�서 마�그래�션" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "작업� 성공�으로 마�그레�션�었습니다" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "작업� 성공�으로 마�그레�션�었습니다" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "��터베�스 파�� 존재하지 않습니다." #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "선�한 파�� 유효하지 않습니다" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "백업 보기" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "다운로드" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "개요 가져오기" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "소스" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "할 �" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "확�" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "백업 복�" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" "계�하시겠습니까? � 작업� 현재 ��터를 삭제하고 백업 ��터로 �체합니다." #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "백업 복�" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "�반" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "사용� 정� 순서" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "알파벳 순" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "정렬 기준" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "오름차순" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "내림차순" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "정렬�" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "DE 통합" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "시작 시 실행" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "백그�운드�서 실행" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "캘린� �벤트" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "날짜 � 시간" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24h" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12h" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "시계 형�" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "�요�" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "월요�" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "화요�" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "수요�" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "목요�" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "금요�" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "토요�" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "주 시작" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 #, fuzzy msgid "Home View" msgstr "홈 페�지" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "빠른 추가" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" "빠른 추가를 사용하여 �스�톱� 어디서나 몇 번� 키 입력으로 할 �� �성하세" "요. 현재 사용 중� 앱� 떠날 필요� 없습니다." #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" "시스템 설정 → 키보드 → 단축키 → 사용� 정�로 ��한 다�, 다�과 같� 새 단" "축키를 추가하세요:" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "설정" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "마지막으로 선�� 프로�트 저장" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "선�하지 않으면 기본 프로�트는 수신함으로 설정�니다" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "명령� �립보드� 복사�었습니다" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "사�드바" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "사�드바� 표시" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "작업 수 표시" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "사�드바 너비" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "�어다 놓기로 보기를 정렬할 수 있습니다" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "작업 설정" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 #, fuzzy msgid "Complete Instantly" msgstr "즉시" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 #, fuzzy msgid "Complete with Undo" msgstr "완료�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 #, fuzzy msgid "Task Completion" msgstr "작업 완료�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "우선순위 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "우선순위 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "우선순위 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "기본 우선순위" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "완료� 작업 취소선 긋기" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "새 작업 위치" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "완료� 하위 작업 항� 표시" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "작업 완료�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "작업� 완료�면 소리를 재�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 #, fuzzy msgid "Open Tasks in Sidebar View" msgstr "사�드바 보기�서 작업 열기" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 #, fuzzy msgid "Always Show Details Sidebar" msgstr "사�드바� 표시" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "시기�절한 리마��를 설정하세요!" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "설정" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "�겨 사용하는 할 � 제공�와 �기화" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "�하는 대로 사용� 정�" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "사�드바 사용� 정�" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "어디서나 할 � 추가" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "플래너�서 백업 �는 마�그레�션." #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "튜토리얼 프로�트 �성" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "짧� 튜토리얼 프로�트로앱� 단계별로 배우세요" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "제게 �료수를 사주고 싶으신가요?" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "연�처" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "문�하기" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "기능 요청 �는 문� 사항" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "트윗 보내기" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "애정� 공유하세요" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "피드백 논� � 공유" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "개�정보 보호" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "개�정보 보호정책" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "우리는 당신� 대해 아무것� 모릅니다" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "앱 ��터 삭제" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "튜토리얼 프로�트가 �성�었습니다" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "모든 ��터를 삭제하시겠습니까?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "모든 목�, 작업 � 알림� ��릴 수 없게 삭제합니다" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "요약" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "추가 �성" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "�번 주" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "�번 달" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "기한 초과" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "새 프로�트" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "프로�트 편집" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "프로�트 �름 지정" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "�모지 사용" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "프로�트 추가" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "프로�트 업��트" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "프로�트가 성공�으로 추가�었습니다!" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "��" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "빠른 검색" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "빠르게 프로�트와 보기를 전환하고, 작업� 찾고, �벨로 검색하세요" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "새 섹션" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "섹션 편집" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "섹션 �름" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "섹션 추가" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "섹션 업��트" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 #, fuzzy msgid "Section added" msgstr "섹션 �름" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "사�드바 열기/닫기" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" # # c-format #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "완료�었습니다. 다� 발�: %s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "하위 작업 추가" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "편집" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "복제" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "작업 삭제" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "정렬� '사용� 정� 순서'로 변경�었습니다" # # c-format #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s�(가) 삭제�었습니다" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "��리기" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "하위 작업 추가" #: src/Layouts/ItemRow.vala:1057 #, fuzzy msgid "Hide Sub-tasks" msgstr "하위 작업" #: src/Layouts/ItemRow.vala:1057 #, fuzzy msgid "Show Sub-tasks" msgstr "하위 작업" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "날짜 선�" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "�립보드� 복사" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "첨부 팡리 추가" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "세부 사항 닫기" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "제목" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "�성" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "삭제하시겠습니까?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "�벨 삭제" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "프로�트 정렬� '사용� 정� 순서'로 변경�었습니다" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "�겨찾기�서 제거" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "�겨찾기� 추가" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "새로고침" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "프로�트 삭제" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "공유" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "�메�로 보내기" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 #, fuzzy msgid "Add tasks" msgstr "하위 작업 추가" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 #, fuzzy msgid "completed tasks" msgstr "작업 완료" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "섹션 ��" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "섹션 순서 관리" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "완료� 작업 표시" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "섹션 삭제" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "�겨찾기" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "�겨찾기가 없습니다. '+' 버튼� �릭하여 하나 만들어 보세요" #: src/Layouts/Sidebar.vala:122 #, fuzzy msgid "Add Account" msgstr "계정" #: src/Layouts/Sidebar.vala:123 #, fuzzy msgid "Customize Sidebar" msgstr "사�드바 사용� 정�" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "오늘로 ��" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "�정으로 ��" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "�벨로 ��" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "게시�으로 ��" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" "사용 가능한 프로�트가 없습니다. '+' 버튼� �릭하여 하나 만들어 보세요" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "메� 메뉴" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "빠른 검색 열기" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "Planify 정보" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 #, fuzzy msgid "Task completed" msgstr "완료�" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "백업 삭제" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "백업� 성공�으로 가져와졌습니다" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "Planify 백업 파�" # # c-format #: src/Services/Notification.vala:99 #, fuzzy msgid "Snooze for 10 minutes" msgstr "%d분마다" # # c-format #: src/Services/Notification.vala:100 #, fuzzy msgid "Snooze for 30 minutes" msgstr "%d분마다" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "옵션 메뉴 보기" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "작업 추가" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 #, fuzzy msgid "Press 'a' to create a new task" msgstr "새 작업� �성하려면 a를 누르세요" #: src/Views/Filter.vala:129 #, fuzzy msgid "All tasks completed!" msgstr "완료�" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 #, fuzzy msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "모든 완료� 작업 삭제" # # c-format #: src/Views/Filter.vala:627 #, fuzzy, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "� 작업� %d개� 완료� 작업 � 하위 작업� 삭제합니다" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "�겨찾기가 없습니다. '+' 버튼� �릭하여 하나 만들어 보세요" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "노트" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "�정" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "언제?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "프로�트 작업" #: src/Views/Project/Project.vala:259 #, fuzzy msgid "New Task" msgstr "새 작업 위치" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "선�" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "붙여넣기" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "모� 확장" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "모� 축소" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "리스트" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "보드" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "정렬" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "사용� 정� 순서" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "추가� 날짜" #: src/Views/Project/Project.vala:547 #, fuzzy msgid "Ascending Order" msgstr "오름차순" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "기한" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "전체 (기본)" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "다� 7�" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "다� 30�" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "P1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "P2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "P3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "P4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "�벨로 필터�" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 #, fuzzy msgid "Search completed tasks" msgstr "완료� 작업 표시" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "정렬 기준" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "�정 변경" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "첨부 팡리 추가" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "하위 작업" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 #, fuzzy msgid "Show less" msgstr "완료� 작업 표시" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 #, fuzzy msgid "Calendar" msgstr "캘린� �벤트" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 #, fuzzy msgid "Task uncompleted" msgstr "완료�" # # c-format #: src/Widgets/ItemChangeHistoryRow.vala:51 #, fuzzy msgid "Task moved to project" msgstr "작업� %s(으)로 ���었습니다" # # c-format #: src/Widgets/ItemChangeHistoryRow.vala:61 #, fuzzy msgid "Task moved to" msgstr "작업� %s(으)로 ���었습니다" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 #, fuzzy msgid "Completed At" msgstr "완료�" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "완료로 표시" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "할 � 삭제" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "� 할 �� 삭제하시겠습니까?" # # c-format #: src/Widgets/MultiSelectToolbar.vala:299 #, fuzzy, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "%d개� 할 �� 삭제하시겠습니까" #: src/Widgets/MultiSelectToolbar.vala:305 #, fuzzy, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "� 할 �� 삭제하시겠습니까?" # # c-format #: src/Widgets/MultiSelectToolbar.vala:402 #, fuzzy, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "작업� %s(으)로 ���었습니다" #: src/Widgets/NewVersionPopup.vala:42 #, fuzzy msgid "New version available!" msgstr "사용할 수 없�" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 #, fuzzy msgid "Update Now" msgstr "업��트� 시간" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "보관 해제" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 #, fuzzy msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" "�터넷� 연결�지 않� 것 같습니다. \n" "오프�� 모드�서 변경한 내용� \n" "재연결 시 �기화�니다" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "Planify - 빠른 추가" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "어디서나 사용" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "새 작업 �성" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "�반 �스트 붙여넣기로 새 작업 �성" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "새 프로�트 �성" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "프로�트� 새 섹션 �성" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "검색" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "빠른 검색 열기" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "창 제어" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "종료" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "설정 열기" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "사�드바 전환" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "키보드 단축키 열기" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "�색" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "홈페�지 열기" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "수신함 열기" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "오늘 열기" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "�정 열기" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "�벨 열기" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "게시� 열기" #, fuzzy #~ msgid "Server URL examples:" #~ msgstr "서버 URL" #~ msgid "" #~ "Planify is being developed with love and passion for open source. " #~ "However, if you like Planify and want to support its development, please " #~ "consider supporting us." #~ msgstr "" #~ "Planify는 오픈 소스를 사랑하고 열정� 가지고 개발�고 있습니다. Planify를 " #~ "좋아하고 개발� 지�하고 싶다면, 지�� 고려해 주세요." #~ msgid "Please Enter Your Credentials" #~ msgstr "�격 �명� 입력하세요" #~ msgid "Loading…" #~ msgstr "로딩 중…" #~ msgid "Network Is Not Available" #~ msgstr "네트워�를 사용할 수 없습니다" #~ msgid "Set a Due Date" #~ msgstr "기한� 설정하세요" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "Planify를 백그�운드�서 실행하고 알림� 보내�� 설정하세요" #~ msgid "Whether Planify should run on startup" #~ msgstr "Planify가 시작 시 실행할지 여부" #~ msgid "Clear" #~ msgstr "지우기" #, fuzzy #~ msgid "Menu" #~ msgstr "메� 메뉴" #, fuzzy #~ msgid "Add Time" #~ msgstr "시간" #, fuzzy #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "중요한 �벤트나 특별한 �� 기억하기 위해 Planify�서 알림� 받고 싶으시다" #~ "면, 아래� 종 버튼� 눌러 알림� 추가하세요." #, fuzzy #~ msgid "Planify is syncing your tasks, this may take a few minutes" #~ msgstr "Planify가 작업� �기화 중입니다. 몇 분 정� 소요� 수 있습니다" #~ msgid "Todoist Sync" #~ msgstr "Todoist �기화" #~ msgid "Loading" #~ msgstr "로딩 중" #~ msgid "Planner is sync your tasks, this may take a few minutes" #~ msgstr "플래너가 작업� �기화 중입니다. 몇 분 정� 소요� 수 있습니다" #~ msgid "Please enter your credentials" #~ msgstr "�격 �명� 입력하세요" # # c-format #, c-format #~ msgid "Every %d minutes" #~ msgstr "%d분마다" # # c-format #, c-format #~ msgid "Every %d hours" #~ msgstr "%d시간마다" # # c-format #, c-format #~ msgid "Every %d days" #~ msgstr "%d�마다" # # c-format #, c-format #~ msgid "Every %d weeks" #~ msgstr "%d주마다" # # c-format #, c-format #~ msgid "Every %d months" #~ msgstr "%d달마다" # # c-format #, c-format #~ msgid "Every %d years" #~ msgstr "%d년마다" # # c-format #, c-format #~ msgid "" #~ "This will delete %d completed tasks and their subtasks from project %s" #~ msgstr "%d개� 완료� 작업 � 하위 작업� 프로�트 %s�서 삭제합니다" #, fuzzy #~ msgid "Delete Completed Tasks" #~ msgstr "모든 완료� 작업 삭제" # # c-format #, c-format #~ msgid "This will delete %d completed tasks and their subtasks" #~ msgstr "� 작업� %d개� 완료� 작업 � 하위 작업� 삭제합니다" # # c-format #, c-format #~ msgid "Delete %d To-Dos" #~ msgstr "%d개� 할 �� 삭제하시겠습니까" # # c-format #, c-format #~ msgid "Are you sure you want to delete these %d to-dos?" #~ msgstr "� %d개� 할 �� 삭제하시겠습니까?" #, fuzzy #~ msgid "Backup" #~ msgstr "백업" #~ msgid "Task Setting" #~ msgstr "작업 설정" #~ msgid "Personal Data" #~ msgstr "개� ��터" #~ msgid "" #~ "We collect absolutely nothing and all your data is stored in a database " #~ "on your computer." #~ msgstr "" #~ "우리는 어떤 ��터� 수집하지 않으며 모든 ��터는 사용�� 컴퓨터� 있는 " #~ "��터베�스� 저장�니다." #~ msgid "" #~ "If you choose to integrate Todoist, which is optional and not selected by " #~ "default, your data will be stored on their private servers, we only " #~ "display your configured tasks and manage them for you." #~ msgstr "" #~ "Todoist와 통합� 선�하면 선� 사항�며 기본�으로 선��지 않습니다. � " #~ "경우 ��터는 그들� 개� 서버� 저장�며, 우리는 사용�가 설정한 작업만 " #~ "표시하고 관리합니다." #~ msgid "Do you have any questions?" #~ msgstr "별�� 질문� 있으십니까?" #~ msgid "" #~ "If you have any questions about your data or any other issue, please " #~ "contact us. We will be happy to answer you." #~ msgstr "" #~ "��터나 기타 문제� 대한 질문� 있으시면 문�해 주세요. �거운 마�으로 " #~ "답변해 드리겠습니다." #~ msgid "Supporting Us" #~ msgstr "지�하기" #~ msgid "" #~ "Our mission is to provide the best open source task management " #~ "application for users all over the world. Your donations support this " #~ "work. Want to donate today?" #~ msgstr "" #~ "우리� 목표는 전 세계 사용��게 최고� 오픈 소스 작업 관리 애플리케�션" #~ "� 제공하는 것입니다. 여러분� 기부는 � 작업� 지�합니다. 오늘 기부하고 " #~ "싶으신가요?" #~ msgid "Support Planify" #~ msgstr "Planify 지�" #, fuzzy #~ msgid "Clear Schedule" #~ msgstr "�정" #~ msgid "Process completed, you need to start Planify again" #~ msgstr "처리 완료, Planify를 재시작해야 합니다" #, fuzzy #~ msgid "Task Detail" #~ msgstr "세부 사항 닫기" #~ msgid "Create a new to-do" #~ msgstr "새로운 할 �� �성하세요" #~ msgid "Tag your to-dos!" #~ msgstr "할 �� 태그를 추가하세요!" #~ msgid "What’s new in Planify" #~ msgstr "Planify� 새로운 기능" #~ msgid "Inbox as Independent Project" #~ msgstr "�립 프로�트로서� 수신함" #~ msgid "" #~ "The Inbox is the default place to add new tasks, allowing you to quickly " #~ "get your ideas out of your head and then plan them when you’re ready." #~ msgstr "" #~ "수신함� 새 작업� 추가하는 기본 위치로, 빠르게 아�디어를 기�하고 준비" #~ "가 �면 계�할 수 있습니다." #~ msgid "Enhanced Task Duplication" #~ msgstr "향�� 작업 복제" #~ msgid "" #~ "When you duplicate a task now, all subtasks and labels are automatically " #~ "duplicated, saving you time and effort in managing your projects." #~ msgstr "" #~ "�제 작업� 복제할 때 모든 하위 작업과 �벨� ��으로 복제�어 프로�트 " #~ "관리 시 시간과 노력� 절약할 수 있습니다." #~ msgid "Duplication of Sections and Projects" #~ msgstr "섹션 � 프로�트 복제" #~ msgid "" #~ "You can now easily duplicate entire sections and projects, making it " #~ "easier to create new projects based on existing structures." #~ msgstr "" #~ "�제 전체 섹션 � 프로�트를 쉽게 복제할 수 있어 기존 구조를 기반으로 새 " #~ "프로�트를 만들기 � 쉬워졌습니다." #~ msgid "Project Expiry Date" #~ msgstr "프로�트 만료 날짜" #~ msgid "" #~ "Your project’s expiry date now clearly shows the remaining days, helping " #~ "you keep track of your deadlines more effectively." #~ msgstr "" #~ "프로�트� 만료 날짜가 �제 남� �수를 명확히 표시하여 기한� � 효과�으" #~ "로 관리할 수 있습니다." #~ msgid "Archiving of Projects and Sections" #~ msgstr "프로�트 � 섹션 보관" #~ msgid "" #~ "You can now archive entire projects and sections! This feature helps you " #~ "keep your workspace organized and clutter-free." #~ msgstr "" #~ "�제 전체 프로�트와 섹션� 보관할 수 있습니다! � 기능� 작업 공간� 정리" #~ "�고 깔�하게 유지하는 � �움� �니다." #~ msgid "What's New" #~ msgstr "새로운 기능" #~ msgid "Are you sure you want to reset all? (y/n): " #~ msgstr "모� 초기화하시겠습니까? (y/n): " #~ msgid "y" #~ msgstr "y" #~ msgid "yes" #~ msgstr "yes" #, fuzzy #~ msgid "Planify" #~ msgstr "Planify를 만나보세요" #~ msgid "Add" #~ msgstr "추가" #~ msgid "No Provider Available" #~ msgstr "사용할 수 없�" #~ msgid "Go to Inbox" #~ msgstr "수신함으로 ��" #~ msgid "Order by" #~ msgstr "정렬 순서" #~ msgid "Integrations" #~ msgstr "통합" #~ msgid "Wait 2500 Milliseconds" #~ msgstr "2500 밀리초 대기" #~ msgid "Complete Task" #~ msgstr "작업 완료" #~ msgid "" #~ "Complete your to-do instantly or wait 2500 milliseconds with the undo " #~ "option" #~ msgstr "" #~ "할 �� 즉시 완료하거나 ��리기 옵션으로 2500 밀리초 �안 기다리세요" #~ msgid "Top" #~ msgstr "�단" #~ msgid "Bottom" #~ msgstr "하단" #~ msgid "Create More" #~ msgstr "추가 �성" #~ msgid "App Theme" #~ msgstr "앱 테마" # # c-format #, fuzzy, c-format #~ msgid "Task moved to: %s" #~ msgstr "작업� %s(으)로 ���었습니다" #~ msgid "Telegram" #~ msgstr "텔레그램" #~ msgid "Matrix Room" #~ msgstr "매트릭스 룸" #~ msgid "Attention at One" #~ msgstr "집중 모드" #~ msgid "Add To-Do" #~ msgstr "할 �" #~ msgid "Nextcloud Setup" #~ msgstr "Nextcloud 설정" #~ msgid "Offline Mode Is On" #~ msgstr "오프�� 모드가 켜져 있습니다" #~ msgid "Provider" #~ msgstr "제공�" #~ msgid "Pinned" #~ msgstr "고정�" #~ msgid "View Details" #~ msgstr "세부 정보 보기" #~ msgid "All" #~ msgstr "전체" #~ msgid "Attach File" #~ msgstr "백업 파�" #~ msgid "Hide Completed Tasks" #~ msgstr "완료� 작업 숨기기" #~ msgid "CalDAV - " #~ msgstr "CalDAV" #~ msgid "On this Computer" #~ msgstr "� 컴퓨터�서" #~ msgid "Labels: On This Computer" #~ msgstr "�벨: � 컴퓨터�서" #~ msgid "Labels: Todoist" #~ msgstr "�벨: Todoist" #~ msgid "Labels: Nextcloud" #~ msgstr "�벨: Nextcloud" #~ msgid "Synchronize with your Todoist Account" #~ msgstr "Todoist 계정과 �기화" #~ msgid "Synchronization based on open Internet standards" #~ msgstr "오픈 �터넷 표준� 기반으로 한 �기화" #~ msgid "" #~ "Activate this setting so that Planify automatically synchronizes with " #~ "your CalDAV account every 15 minutes" #~ msgstr "" #~ "� 설정� 활성화하여 Planify가 15분마다 CalDAV 계정과 ��으로 �기화��" #~ "� 하세요" #~ msgid "Failed to login" #~ msgstr "로그� 실패" #~ msgid "" #~ "Are you sure you want to remove the Todoist sync? This action will delete " #~ "all your tasks and settings." #~ msgstr "" #~ "Todoist �기화를 제거하시겠습니까? � 작업� 모든 작업과 설정� 삭제합니" #~ "다." #~ msgid "" #~ "Are you sure you want to remove the CalDAV sync? This action will delete " #~ "all your tasks and settings." #~ msgstr "" #~ "CalDAV �기화를 제거하시겠습니까? � 작업� 모든 작업과 설정� 삭제합니다." #~ msgid "Sign Off" #~ msgstr "로그아웃" alainm23-planify-69962f8/po/ku.po000066400000000000000000002511161517337276100164760ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2026-01-22 18:03+0000\n" "Last-Translator: \"Aso A. Sdiq\" \n" "Language-Team: Kurdish \n" "Language: ku\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.16-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "پرۆژەکان" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/kw.po000066400000000000000000002517411517337276100165040ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: kw\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=(n == 0) ? 0 : ((n == 1) ? 1 : (((n % 100 " "== 2 || n % 100 == 22 || n % 100 == 42 || n % 100 == 62 || n % 100 == 82) || " "n % 1000 == 0 && (n % 100000 >= 1000 && n % 100000 <= 20000 || n % 100000 == " "40000 || n % 100000 == 60000 || n % 100000 == 80000) || n != 0 && n % " "1000000 == 100000) ? 2 : ((n % 100 == 3 || n % 100 == 23 || n % 100 == 43 || " "n % 100 == 63 || n % 100 == 83) ? 3 : ((n != 1 && (n % 100 == 1 || n % 100 " "== 21 || n % 100 == 41 || n % 100 == 61 || n % 100 == 81)) ? 4 : 5))));\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/lb.po000066400000000000000000002510741517337276100164570ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:09+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Luxembourgish \n" "Language: lb\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/lg.po000066400000000000000000002510661517337276100164650ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:06+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Luganda \n" "Language: lg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/lt.po000066400000000000000000002515471517337276100165060ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:59+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Lithuanian \n" "Language: lt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "(n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/lv.po000066400000000000000000003270641517337276100165060ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:11+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Latvian \n" "Language: lv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Projekti" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Sadaļas" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Uzdevumi" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Birkas" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Atlases" #: core/Enum.vala:186 msgid "Lists" msgstr "Saraksti" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "Neatk�rtot" #: core/Enum.vala:216 #, fuzzy, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Katru minūti" msgstr[1] "Katru minūti" msgstr[2] "Katru minūti" #: core/Enum.vala:218 #, fuzzy, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Katru stundu" msgstr[1] "Katru stundu" msgstr[2] "Katru stundu" #: core/Enum.vala:220 #, fuzzy, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Katru dienu" msgstr[1] "Katru dienu" msgstr[2] "Katru dienu" #: core/Enum.vala:222 #, fuzzy, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Katru nedēļu" msgstr[1] "Katru nedēļu" msgstr[2] "Katru nedēļu" #: core/Enum.vala:224 #, fuzzy, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Katru mēnesi" msgstr[1] "Katru mēnesi" msgstr[2] "Katru mēnesi" #: core/Enum.vala:226 #, fuzzy, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Katru gadu" msgstr[1] "Katru gadu" msgstr[2] "Katru gadu" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Priorit�te" #: core/Enum.vala:348 msgid "Label" msgstr "Birka" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Termiņš" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Sadaļa" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "Uzdevums izveidots" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Uzdevums mainīts" #: core/Enum.vala:528 msgid "Content" msgstr "Saturs" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Apraksts" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Iepl�nots" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Piespraust" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Visi uzdevumi" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "visi uzdevumi" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "viss" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "Bez termiņa" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "bez termiņa" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "atlases" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "nav termiņa" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Paveikts" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "paveikts" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "Uzskaites žurn�ls" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Iesūtne" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "iesūtne" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "birkas" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Piespraustie" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "1. priorit�te: augsta" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "2. priorit�te: viduvēja" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "3. priorit�te: zema" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "4. priorit�te: nav" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "augsta" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "viduvēja" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "zema" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "nav" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Atk�rtojas" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "atk�rtojas" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "iepl�nots" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "Tuvojas" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Šodien" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "šodien" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Rītdien" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "rītdien" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "datums" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Bez birk�m" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "nav birkas" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "bez birk�m" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Uzdevums nokopēts starpliktuvē" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "Uzdevums p�rvietots uz %s" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Birka %s izdzēsta" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Šī darbība ir neatgriezeniska" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Atcelt" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Dzēst" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "Projekts kopēts starpliktuvē." #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "Dzēst projektu %s?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "Arhivēt?" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "Šī darbība arhivēs projektu %s un visus t� uzdevumus." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "Arhivēt" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Dzēst sadaļu %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "Uzdevums pievienots!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Uzdevuma nosaukums" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "Šī aile ir oblig�ta" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Pievienot aprakstu…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Pievienot birkas" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Noteikt priorit�ti" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Noteikt atg�din�jumus" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Pievienot uzdevumu" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "Turpin�t pievienot" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Izvēlēties projektu" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "Baidos, ka �tr�s pievienošanas logs nevar atrast nevienu pieejamu projektu, " "pamēģiniet izveidot jaunu projektu." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Tastatūras īsceļi" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "Pa�triniet uzdevumu izveidi ar šiem īsceļiem" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "Noteikt priorit�ti" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = augst�k�, p4 = zem�k�" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "Pievienot birkas" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "Atver birku izvēlni" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "Iecelt projektu" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "Atver projektu izvēlni" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "Noteikt atg�din�jumu" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "Atver atg�din�jumu iestatījumus" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "Ieteikums" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "Kombinējiet īsceļus nosaukuma ailē �tr�kai uzdevumu izveidei" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "Iel�dē uzdevumus no %s…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "Avots jau past�v" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "Neizdevies atrisin�t princip�lo saiti" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "Uzs�k sinhroniz�ciju…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "Sinhronizē %s…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "Sinhroniz�cija pabeigta" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "Šaj� dator�" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "Pieprasījums bijis nepareizs." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" "Autentifik�cija ir oblig�ta un nav izdevusies vai arī vēl nav tikusi " "pasniegta." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "Pieprasījums bija derīgs, bet aizliegtai darbībai." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "Nav izdevies atrast pieprasīto resursu." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "Lietot�js ir nosūtījis p�r�k daudz pieprasījumus dotaj� laika sprīdī." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "Servera kļūmes dēļ, pieprasījums nav izdevies." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "Serveris pašreiz nevar uzņemt pieprasījumu." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "Nezin�ma kļūme" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "Vakar" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "dienas" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "diena" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "Pirms %s %s" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "Palikušas %s %s" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "%-l:%M:%S %p" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "%-l:%M %p" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "%H:%M:%S" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "%H:%M" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Pr," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Ot," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "Tr," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Ce," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Pk," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "Se," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "Sv," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "%a, %b %-e, %Y" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "%b %-e %Y" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "%b %-e" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "%a %Y" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "%a" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "%a, %b %-e" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "%b" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Ogu sarkans" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Sarkans" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Oranžs" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Dzeltens" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Olīvzaļš" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Laima zaļš" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Zaļš" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "Piparmētru zaļš" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Zaļzils" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "Debeszils" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Gaiši zils" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Zils" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Vīnogu violets" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Violets" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Lavandas zils" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "Fuksīns" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "Laša roz�" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "Kokogļu meln�" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Pelēks" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "Pelēkbrūns" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Gaišs" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Tumšs" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Tumši zils" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Nav" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Šodiena + Iesūtne" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Dzēst visu" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "Process pabeigts, Jums ir j�restartē Planify." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "Labi" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "Šaj� dator�" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Iepazīstiet Planify" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "Šis projekts iem�ca visu, kas būtu j�zina, lai s�ktu str�d�t. Droši " "eksperimentējiet ar to – Jūs vienmēr variet to izveidot pa jaunam " "iestatījumos." #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "Nospiediet uz šī uzdevuma" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "Jūs skatieties uz uzdevumu! Paveiciet to spiežot uz rūtiņu pa kreisi. " #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "Izveidot uzdevumu" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Pien�kusi Jūsu k�rta! Spiediet uz pogu '+' projekta apakš�, ievadiet " "aprakstu un tad spiediet uz 'Pievienot uzdevumu' pogu." #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "Iepl�nojiet šo uzdevumu šodienai vai vēl�kam" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" "Spiediet uz kalend�ra pogas lej�, lai izvēlētos kad paveikt šo uzdevumu." #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "P�rk�rtojiet savus uzdevumus" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "Lai p�rk�rtotu savu sarakstu, spiediet un turiet uz uzdevuma, tad velciet to " "tur, kur tam būtu j�būt." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Izveidot projektu" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "Organizējiet savus uzdevumus vēl lab�k! Apskatiet krieso paneli un spiediet " "pogu '+' sadaļ� 'Šaj� dator�' un pievienojiet jaunu projektu." #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "Gatavs!" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "Tas ir viss, kas Jums patieš�m j�zina. Droši s�ciet pievienot Jūsu pašu " "projektus un uzdevumus.\n" "Jūs variet atgriezties pie šī projekta vēl�k, lai iem�cītos paplašin�t�s " "funkcijas zem�k.\n" "Mēs ceram, ka Jūs izbaudīsiet Planify lietošanu!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "Iestatiet savus uzst�dījumus" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Uzr�dīt kalend�ra notikumus" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "Jūs variet attēlot savas sistēmas kalend�ra notikumus Planify. Dodieties uz " "Iestatījumi 🡒 Visp�rīgi 🡒 Kalend�ra notikumi un iespējojiet tos." #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "Iespējojiet sinhroniz�ciju ar trešo pušu pakalpojumiem" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "Planify ne vien var veidot uzdevumus lok�li, bet arī sinhronizēties ar Jūsu " "Todoist kontu. Dodieties uz 'Iestatījumi' 🡒 'Konti'." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "Uzlabojiet savu produktivit�ti" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "Velciet plus pogu!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "T� zil� poga, kuru Jūs redziet sava ekr�na lej� ir daudz spējīg� nek� varētu " "šķist: t� var tikt p�rvietota! Velciet to, lai izveidotu uzdevumu tur, kur " "vēlaties." #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "Pievienojiet birkas uzdevumiem!" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "Birkas palīdz organizēt un iedalīt Jūsu uzdevumus. Lai pievienotu birku, " "spiediet uz birku pogu lej�." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "Nosakiet laicīgus atg�din�jumus!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼Darbs" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒Skola" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉Deleģēti" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "�M�jas" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "�P�rbaudīt" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Uzdevums dublēts" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Sadaļa dublēta" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Projekts dublēts" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "Termiņa sasniegšanas brīdī" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 minūtes pirms" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 minūtes pirms" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 minūtes pirms" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 stundu pirms" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 stundas pirms" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 stundas pirms" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "%A, %B %e, %Y" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%OB" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "Atpakaļ" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "Pag�jušais mēnesis" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "Uz priekšu" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "N�kamais mēnesis" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "Pag�jušais mēnesis, %s" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "%B %Y" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "N�kamais mēnesis, %s" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Izvēlēties datumu" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "Sv" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Pr" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Ot" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "Tr" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Ce" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Pk" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "Se" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Laiks" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "līdz" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr " " #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "reizes" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "reizi" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Atk�rtot" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "N�kam� nedēļa" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Katru dienu" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "Darbdien�s" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "Nedēļas nogalēs" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Katru nedēļu" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Katru mēnesi" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Katru gadu" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "Piel�gots" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "Minūte(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "Stunda(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "Diena(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "Nedēļa(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "Mēnesis(-šus)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "Gadu(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "Nekad" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "S�kot ar" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "Pēc" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "Piemērot" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "Atk�rtot katru" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "Beigas" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "Izvēlēties birkas" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" "Jūsu saraksts ar atlasēm uzr�dīsies šeit. Izveidojiet jaunu, ievadot " "nosaukumu un spiežot taustiņu Enter." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "Izveidot '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "Jūsu atlašu saraksts uzr�dīsies šeit." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "Meklēt" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "Meklēt vai izveidot" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "Noņemt saiti" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "4. priorit�te: nav" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "1. priorit�te: augsta" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "2. priorit�te: viduvēja" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "3. priorit�te: zema" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "1. priorit�te: viduvēja" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "1. priorit�te: zema" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "Jūsu sadaļu uzskaite uzr�dīsies šeit." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "Nav sadaļas" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "Ievadiet atslēgv�rdus" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "Atg�din�jumi" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" "Jūsu atg�din�jumu saraksts uzr�dīsies šeit. Pievienojiet jaunu, spiežot pogu " "'+'." #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "Pievienot atg�din�jumu" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "Pēc 5 minūtēm" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "Pēc 15 minūtēm" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "Pēc 30 minūtēm" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "Pēc 1 stundas" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "Pēc 3 stund�m" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "Pēc 6 stund�m" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "Noteikt sadaļu" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "Izvēlēties sadaļu" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "Noteikt virzību" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "Virzība" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "Paveikt" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "Izpildīts" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "Planify autom�tiski uzs�ks darbību, kad šī ierīce ieslēgsies un darbosies " "arī kamēr Planify logs būs aizvērts, lai varētu nosūtīt paziņojumus." #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "Paveikti uzdevumi" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "Skatīt atlašu izvēlni" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "Paveiktu uzdevumu vēl nav." #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "Dzēst visus paveiktos uzdevumus" #: src/Dialogs/CompletedTasks.vala:165 #, fuzzy, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" "Šī darbība dzēsīs %d paveiktos uzdevumus un to apakšuzdevumus no projekta %s" msgstr[1] "" "Šī darbība dzēsīs %d paveiktos uzdevumus un to apakšuzdevumus no projekta %s" msgstr[2] "" "Šī darbība dzēsīs %d paveiktos uzdevumus un to apakšuzdevumus no projekta %s" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "Atlasīt pēc" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "N�kam� nedēļa" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "Nav termiņa" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Gatavs" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "Mainīt vēsturi" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "Pievienots" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "Nav pieejams" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "Mainīts" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "Kad s�ksiet veikt izmaiņas, Jūsu izmaiņu vēsture uzr�dīsies šeit." #: src/Dialogs/ItemChangeHistory.vala:138 #, fuzzy, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "Iel�dēt sen�ku vēsturi pirms %d nedēļas…" msgstr[1] "Iel�dēt sen�ku vēsturi pirms %d nedēļas…" msgstr[2] "Iel�dēt sen�ku vēsturi pirms %d nedēļas…" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "Jauna birka" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "Rediģēt birku" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "Nosauciet savu birku" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "Pievienot birku" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "Mainīt birku" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "Atlasīt" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "Arhivētie projekti" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "P�rvaldīt sadaļas" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "Jūs varat sak�rtot savas sadaļas velkot un nometot" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "Arhivēts" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(Nav sadaļas)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "Konti" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "Pievienot avotu" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "Iesūtnes lapa" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "Jūs varat sak�rtot savus kontus velkot un nometot" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "Šo kontu nevar paslēpt" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "Šis konts satur Jūsu pašreizējo iesūtnes projektu. Vispirms, lūdzu, " "izmainiet savu iesūtnes projektu." #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "Mainīt iesūtni" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "Sinhronizē…" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "Servera saite" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "Lietot�jv�rds" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "Parole" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "Kalend�ra s�kumlapas saite" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "Pieslēgties" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "Iesūtnes projekts" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" "Jaunie uzdevumi atradīsies Jūsu iesūtnē pēc noklusējuma. Pamatojoties uz " "Deivida Allena \"Getting Things Done\" metodoloģiju, iesūtne ir Jūsu ideju " "un uzdevumu uztveršanas punkts, kuru Jūs sak�rtosiet vēl�k" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "Avots" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "Nosaukums attēlošanai" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "Sinhroniz�cijas serveris" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" "Iespējojiet šo iestatījumu, lai Planify autom�tiski sinhronizētu Jūsu kontu " "katras 15 minūtes" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "Pēdēj� sinhroniz�cija" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "Dzēst avotu" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "Dzēst avotu?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "1. Dodieties uz Todoist → Settings → Integrations → Developer" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "3. Ielīmējiet to ailē augst�k" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "Sinhronizējas…" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "Izskats" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "Lietot sistēmas iestatījumus" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "Izvēlēties paleti" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "Gaiš� palete" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "Tīr� gaiš� palete" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "Tumš� palete" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "Elegant� tumš� palete" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "Tumši zil� palete" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "Profesion�l� zil� palete" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" "Piel�got�s paletes nav pieejamas, kad tiek lietota sistēmas gaiš� palete" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "Burtu izmērs" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "Dublējumkopijas" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" "Nekad nesatraucieties par savu datu zudumu. Jūs variet veidot " "dublējumkopijas saviem aktīvajiem projektiem, uzdevumiem un koment�riem un " "importēt tos vēl�k." #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "Veidot dublējumkopiju" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "Importēt dublējumkopiju" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "Dublējumkopijas datnes" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" "Neviena dublējumkopija netika atrasta, izveidojiet pirmo, spiežot pogu " "augst�k." #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "Migrēt" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "Migrēt no Planner" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "Dublējumkopija tika izveidota." #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "Uzdevumi migrēti" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "Datub�zes datne nepast�v." #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "Izvēlēt� datne ir nederīga" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "Skatīt dublējumkopiju" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "Lejupl�dēt" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "Importēt p�rskatu" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "Avoti" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "Uzdevumi" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "Apstiprin�t" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "Atjaunot dublējumkopiju" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" "Vai Jūs esat p�rliecin�ti, ka vēlaties turpin�t? Šī darbība dzēsīs Jūsu " "pašreizējos datus un aizvietos tos ar dublējumkopijas datiem." #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "Atjaunot dublējumkopiju" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "Visp�rēji" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "Piel�gota secība" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "Alfabētiski" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "K�rtot pēc" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "Augoši" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "Dilstoši" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "Sak�rtots" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "Darbvirsmas vides integr�cija" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "Palaist ieslēdzot datoru" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "Str�d�t fon�" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "Kalend�ra notikumi" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "Datums un laiks" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24 stundas" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12 stundas" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "Pulkstens form�ts" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "Svētdiena" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "Pirmdiena" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "Otrdiena" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "Trešdiena" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "Ceturtdiena" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "Piektdiena" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "Sestdiena" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "Nedēļ�s s�kums" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "S�kumlapas skats" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "Ātr� pievienošana" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" "Izmantojiet \"�tro pievienošanu\", lai izveidotu uzdevumus jebkur� brīdi " "lietojot datoru ar vien dažiem taustiņsitieniem. Jums pat nen�ksies pamest " "lietotni, kuru Jūs lietosiet." #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" "Dodieties uz Settings → Keyboard → Shortcuts → Custom, tad pievienojiet " "jaunu īsceļu ar šo:" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "Iestatījumi" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "Paturēt pēdējo izvēlēto projektu" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "Ja neiespējots, noklusējuma projekts ir iesūtne" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "Komanda kopēta starpliktuvē" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "S�njosla" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "R�dīt s�njosl�" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "R�dīt uzdevumu skaitu" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "S�njoslas platums" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "R�dīt atlašu skatu" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "R�dīt atlases vienk�rš� sarakst� nevis režģī" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "Jūs varat k�rtot skatus velkot un nometot" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "Uzdevumu iestatījumi" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "Paveikt tūlīteji" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "Paveikt ar atsaukšanas iespēju" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "Uzdevuma paveikšana" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "Izvēlieties kas notiks ar uzdevumiem, kad tie tiks paveikti" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "1. priorit�te" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "2. priorit�te" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "3. priorit�te" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "Noklusējuma priorit�te" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "P�rsvītrot paveiktos uzdevumus" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "Uzs�kt" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "Jauno uzdevumu izvietojums" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "Vienmēr uzr�dīt paveiktos apakšuzdevumus" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "Uzr�dīt visus izpildītos apakšuzdevumus nesavēršot tos" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "Uzdevumu izpildes skaņas sign�ls" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "Atskaņot skaņas sign�lu, kad uzdevums tiek paveikts" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "Atvērt uzdevumus s�njoslas skat�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" "Vienmēr uzr�dīt uzdevumu inform�ciju s�njosl�, nevis izvēršot saraksta skat�." #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "Viena uzdevuma fokusa režīms" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "Ļaut tikai vienam uzdevumam būt izvērstam saraksta skat� vienlaicīgi" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "Iespējot Markdown formatējumu" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "Iespējot vai atspējot Markdown atbalstu uzdevumiem" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "Vienmēr uzr�dīt inform�ciju s�njosl�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" "Vienmēr uzturēt s�njoslu atvērtu atr�kai uzdevumu p�riešanai, bez atk�rtotas " "atvēršanas un aizvēršanas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "Iespējots" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "Autom�tiskie atg�din�jumi" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" "Kad iespējots, tiks pievienots atg�din�jums pirms uzdevuma termiņa pēc " "noklusējuma." #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "Iestatījumi" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "Sinhronizējiet Jūsu mīļ�kos uzdevumu apg�dniekus" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "Nosakiet skatu, kas uzr�d�s pirmaj� atvēršanas reizē" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "Maniet k� Jums tīkami" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "Piel�gojiet Jūsu s�njoslu" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "Pievienojiet uzdevumus no jebkurienes" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "Dublēt vai migrēt no Planner." #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "Izveidot pam�cības projektu" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "Apgūstiet lietotni soli pa solim ar īsu pam�cības projektu" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "Uzsauksiet man dzērienu?" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "Ziņot par kļūmēm vai pieprasīt funkciju" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "Dalieties ar kļūmēm vai idej�m platform� GitHub" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "Iesaistieties" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "Sasniedziet mūs" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "Sazinieties ar mums" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "Pieprasiet funkciju vai noskaidrojiet jebko" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "Tvītojiet" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "Dalieties ar mīlestību" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "Discord" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "Apspriedieties un dalieties ar sav�m atsauksmēm" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodon" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "Priv�tums" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "Priv�tuma politika" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "Mums nav nek�du ziņu par Jums" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "Dzēst lietotnes datus" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "Pam�cības projekts ticis izveidots" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "Dzēst visus datus?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "Dzēš visus jūsu sarakstus, uzdevumus un atg�din�jums neatgriezeniski" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "Apkopojums" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "Skatīt vair�k" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "Šonedēļ" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "Šomēnes" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "Nokavēts" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "Jauns projekts" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "Rediģēt projektu" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "Nosauciet savu projektu" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "Lietot emocijzīmes" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "Pievienot projektu" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "Rediģēt projektu" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "Projekts izveidots!" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "P�rvietot" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "Ātr� meklēšana" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" "Ātri p�rvietojieties starp projektiem un skatiem, atrodiet uzdevumus un " "meklējiet pēc birk�m" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "Jauna sadaļa" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "Rediģēt sadaļu" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "Sadaļas nosaukums" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "Pievienot sadaļu" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "Rediģēt sadaļu" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "Sadaļa pievienota" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "Atvērt/aizvērt s�njoslu" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "Atspraust" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "Paveikts. N�kam� reize: %s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "Pievienot apakšuzdevumu" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "Rediģēt" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "Dublēt" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "Dzēst uzdevumu" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "K�rtojums nomainīts uz 'Piel�goto secību'" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s tika dzēsts" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "Atsaukt" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "Pievienot apakšuzdevumus" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "Slēpt apakšuzdevumus" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "R�dīt apakšuzdevumus" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "Lietot k� piezīmi" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "Kopēt starpliktuvē" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "Pievienot pielikumus" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "Aizvērt paplašin�to skatu" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "Nosaukums" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "Īpašības" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "Vai Jūs esat p�rliecin�ti, ka vēlaties dzēst?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "Dzēst birku" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "Projekta k�rtojums nomainīts uz 'Piel�goto secību'" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "Noņemt no favorītiem" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "Pievienot pie favorītiem" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "P�rl�dēt" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "Dzēst projektu" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "Dalīties" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "Sūtīt pa e-pastu" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "Pievienot uzdevumus" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "Iel�dēt vair�k" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "paveiktie uzdevumi" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "P�rvietot sadaļu" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "P�rvaldīt sadaļu sak�rtojumu" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "R�dīt paveiktos uzdevumus" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "Dzēst sadaļu" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "Favorītī" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "Nav neviena favorīta. Izveidojiet jaunu spiežot pogu '+'" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "Pievienot kontu" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "Piel�got s�njoslu" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "R�dīt šodienu" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "R�dīt iepl�notos" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "R�dīt birkas" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "R�dīt piespraustos" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "Nav neviena projekta. Izveidojiet jaunu spiežot pogu '+'" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "Galven� izvēlne" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "Atvērt �tro meklēšanu" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "Par Planify" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "Ak vai! Kaut kas negaidīts noticis" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "Uzdevums paveikts" #: src/MainWindow.vala:825 msgid "View" msgstr "Skatīt" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "Datub�zes veseluma p�rbaude neizturēta" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" "Mēs esam atkl�juši problēmas datub�zes struktūr�, kas var traucēt pareizu " "programmatūras darbību. Iespējams, šo izraisījušas iztrūkstošas tabulas vai " "kolonnas, kuras izraisījusi datu boj�šan�s vai nepilnīgs atjaunin�jums.\n" "\n" "Datub�ze tiks atiestatīta, lai atjaunotu pareizu darbību, un visi past�vošie " "dati tiks dzēsti.\n" "\n" "Pēc atiestatīšanas, Jūs varēsiet atjaunot jebkuru dublējumkopiju, ko " "iepriekš esat veidojuši. Paldies par Jūsu pacietību" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "Atiestatīt datub�zi" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "Dzēst dublējumkopiju" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "Dublējumkopija veiksmīgi importēta" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "Planify dublējumkopijas datnes" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "Atlikt par 10 minūtēm" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "Atlikt par 30 minūtēm" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "Atlikt par 1 stundu" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "Skatīt izvēlni" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "Pievienot jaunus uzdevumus" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "Spiediet 'a', lai izveidotu jaunu uzdevumu" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "Visi uzdevumi paveikti!" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "Lielisks darbs, viss paveikts 🎉" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 #, fuzzy msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "Dzēst paveikto uzdevumu" msgstr[1] "Dzēst paveikto uzdevumu" msgstr[2] "Dzēst paveikto uzdevumu" #: src/Views/Filter.vala:627 #, fuzzy, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "Šī darbība dzēsīs %d paveiktos uzdevumus un to apakšuzdevumus" msgstr[1] "Šī darbība dzēsīs %d paveiktos uzdevumus un to apakšuzdevumus" msgstr[2] "Šī darbība dzēsīs %d paveiktos uzdevumus un to apakšuzdevumus" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "Nav nevienas birkas. Izveidojiet jaunu spiežot pogu '+'" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "Piezīme" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "Grafiks" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "Kad?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" "Pievienojiet jaunus uzdevumus. Spiediet 'a', lai pievienotu jaunu uzdevumu" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "Projekta darbības" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "Jauns uzdevums" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "Izvēlēties" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "Ielīmēt" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "Izvērst visus" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "Izveidots" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "Savērst visus" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "Saraksts" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "T�fele" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "K�rtošana" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "Piel�gota secība" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "Izveides datums" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "Augoš� secīb�" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "Termiņš" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "Visi (noklusējums)" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "Turpm�k�s 7 dienas" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "Turpm�k�s 30 dienas" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "P1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "P2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "P3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "P4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "Atlasīt pēc birk�m" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "Meklēt paveiktos uzdevumus" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "K�rtot pēc" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "P�rlikt uz" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "Pielikumi" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "Atvērts" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "Nav neviena pielikuma. Pievienojiet datnes šeit." #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "Izlaist atrašan�s vietas atrisin�šanu" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" "Aprisin�jums CalDAV savienojuma problēmam ar savienojumiem, kas lieto " "nenoklusējuma portus" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "Brīdin�jums" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" "Šis atslēgs CalDAV atrisin�šanas procesu.\n" "Turpiniet uz savu atbildību" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "T�pat turpin�t" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "Apakšuzdevumi" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "R�dīt vair�k" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "R�dīt maz�k" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "Ziņot par kļūmi" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Kalend�rs" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "Atspējot SSL sertifik�tu derīguma p�rbaudi" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "Nav iesak�ms – pakļauj Jūs drošības ievainojamīb�m" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" "Šī darbība atslēgs SSL sertifik�tu derīguma p�rbaudi un pakļaus Jūs " "kiberuzbrukumiem.\n" "Turpiniet uz savu atbildību" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "Uzdevums nepaveikts" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "Uzdevums p�rvietots uz citu projektu" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "Uzdevums p�rvietots uz" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "Iepriekšējais" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "Piesprausts: J�" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "Piesprausts: Nē" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "Paveikts" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "Atzīmēt k� paveiktu" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "Dzēst uzdevumus" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "Vai Jūs esat p�rliecin�ti, ka vēlaties dzēst šo uzdevumu?" #: src/Widgets/MultiSelectToolbar.vala:299 #, fuzzy, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "Dzēst %d uzdevumu" msgstr[1] "Dzēst %d uzdevumu" msgstr[2] "Dzēst %d uzdevumu" #: src/Widgets/MultiSelectToolbar.vala:305 #, fuzzy, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "Vai Jūs esat p�rliecin�ti, ka vēlaties dzēst šo %d uzdevumu?" msgstr[1] "Vai Jūs esat p�rliecin�ti, ka vēlaties dzēst šo %d uzdevumu?" msgstr[2] "Vai Jūs esat p�rliecin�ti, ka vēlaties dzēst šo %d uzdevumu?" #: src/Widgets/MultiSelectToolbar.vala:402 #, fuzzy, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "Uzdevums p�rvietots uz %s" msgstr[1] "Uzdevums p�rvietots uz %s" msgstr[2] "Uzdevums p�rvietots uz %s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "Jauns laidiens pieejams!" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" "Atjauniniet lietotni, lai baudītu jaun�kos uzlabojumus, kļūmju labojumus un " "jaun�s funkcijas, kas padara Planify vēl lab�ku" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "Atjaunin�t tagad" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "Atarhivēt" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "Vēl nav neviena apakšuzdevuma. Variet s�kt!" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "Neizdevies savienoties ar serveri" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" "Izskat�s, ka serveris ir nesasniedzams,\n" "vai Jūs esat savienoti ar tīkl�ju?\n" "Jebk�das izmaiņas, kuras Jūs veiksiet bezsaistē\n" "tiks sinhronizētas, kad Jūs atjaunosiet savienojumu." #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" "%s tulkojums ir %.0f%% pabeigts. Jūs variet palīdzēt to pabeigt!" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "Tulkojumi" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "Palīdziet veidot Planify pieejamu vis� pasaulē" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "Palīdziet uzlabot tulkojumus" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "S�kt jaunu tulkojumu" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "%s vēl nav pieejams. Esiet pirmie, kas taj� tulko!" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "Planify – �tr� pievienošana" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "Lietots visur" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "Izveidot jaunu uzdevumu" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "Ielīmējiet tekstu, lai izveidotu jaunu uzdevumu" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "Izveidot jaunu projektu" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "Izveidot jaunu sadaļu projekt�" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "Meklēt" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "Atver �tro meklēšanu" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "P�rvaldīt logus" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "Beigt" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Atver iestatījumus" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "Iespējot s�njoslu" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "R�da tastatūras īsceļus" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "P�rvietoties" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "R�da s�kumlapu" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "R�da iesūtni" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "R�da šodienu" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "R�da iepl�notos" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "R�da birkas" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "R�da piespraustos" #~ msgid "Advanced Options" #~ msgstr "Paplašin�tie iestatījumi" #~ msgid "Server URL examples:" #~ msgstr "Servera saites piemēri:" #~ msgid "- https://cloud.example.com/" #~ msgstr "- https://cloud.example.com/" #~ msgid "- https://example.com/nextcloud/" #~ msgstr "- https://example.com/nextcloud/" #~ msgid "Token" #~ msgstr "Pilnvara" #~ msgid "How to get your token?" #~ msgstr "K� iegūt Jūsu pilnvaru?" #~ msgid "2. Find 'API token' and copy your token" #~ msgstr "2. Atrodiet 'API token' un kopējiet Jūsu pilnvaru" #~ msgid "Connect with Token" #~ msgstr "Savienoties ar pilnvaru" #~ msgid "" #~ "Planify is being developed with love and passion for open source. " #~ "However, if you like Planify and want to support its development, please " #~ "consider supporting us." #~ msgstr "" #~ "Planify tiek izstr�d�ts atvērtajam pirmkodam ar mīlestību un degsmi. " #~ "Tomēr, ja Jums patīk Planify un Jūs vēlaties atbalstīt t� izstr�di, lūdzu " #~ "izvērtējiet atbalstīt mūs." #~ msgid "Enter token" #~ msgstr "Ievietojiet pilnvaru" #~ msgid "Please Enter Your Credentials" #~ msgstr "Lūdzu ievadiet savus pieslēgšan�s datus" #~ msgid "Loading…" #~ msgstr "Iel�dē…" #~ msgid "Network Is Not Available" #~ msgstr "Tīkl�js nav pieejams" #~ msgid "Set a Due Date" #~ msgstr "Noteikt termiņu" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "Ļaut Planify darboties fon� un sūtīt paziņojumus" #~ msgid "Whether Planify should run on startup" #~ msgstr "Vai Planify būtu j�palaižas ieslēdzot datoru" #~ msgid "Clear" #~ msgstr "Noņemt" #~ msgid "Menu" #~ msgstr "Izvēlne" #~ msgid "Add Time" #~ msgstr "Pievienot laiku" #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "Saņemiet paziņojumus par būtiskiem uzdevumiem vai notikumiem. Spiediet uz " #~ "zvana pogu lej�, lai pievienotu atg�din�jumu." #, c-format #~ msgid "Processing task %d of %d" #~ msgstr "Apstr�d� uzdevumu %d no %d" #~ msgid "Planify is syncing your tasks, this may take a few minutes" #~ msgstr "Planify sinhronizē Jūsu uzdevumus, šis var aizņemt dažas minūtes" #~ msgid "Todoist Sync" #~ msgstr "Todoist sinhroniz�cija" #~ msgid "Loading" #~ msgstr "Iel�dē" #~ msgid "Planner is sync your tasks, this may take a few minutes" #~ msgstr "Pl�not�js sinhronizē Jūsu uzdevumus, šis var aizņemt dažas minūtes" #~ msgid "Please enter your credentials" #~ msgstr "Lūdzu ievadiet savus pieslēgšan�s datus" #, c-format #~ msgid "Every %d minutes" #~ msgstr "Katras %d minūtes" #, c-format #~ msgid "Every %d hours" #~ msgstr "Katras %d stundas" #, c-format #~ msgid "Every %d days" #~ msgstr "Katras %d dienas" #, c-format #~ msgid "Every %d weeks" #~ msgstr "Katras %d nedēļas" #, c-format #~ msgid "Every %d months" #~ msgstr "Katrus %d mēnešus" #, c-format #~ msgid "Every %d years" #~ msgstr "Katrus %d gadus" #, c-format #~ msgid "" #~ "This will delete %d completed tasks and their subtasks from project %s" #~ msgstr "" #~ "Šis dzēsīs %d paveiktos uzdevumus un to apakšuzdevumus no projekta %s" #, c-format #~ msgid "Load more history from %d weeks ago…" #~ msgstr "Iel�dēt sen�ku vēsturi pirms %d nedēļ�m…" #~ msgid "Delete Completed Tasks" #~ msgstr "Dzēst paveiktos uzdevumus" #, c-format #~ msgid "This will delete %d completed tasks and their subtasks" #~ msgstr "Šī darbība dzēsīs %d paveiktos uzdevumus un to apakšuzdevumus" #, c-format #~ msgid "Delete %d To-Dos" #~ msgstr "Dzēst %d uzdevumus" #, c-format #~ msgid "Are you sure you want to delete these %d to-dos?" #~ msgstr "Vai Jūs esat p�rliecin�ti, ka vēlaties dzēst šos %d uzdevumus?" #~ msgid "Backup" #~ msgstr "Dublējumkopija" #~ msgid "Task Setting" #~ msgstr "Uzdevumu iestatījumi" #~ msgid "Close" #~ msgstr "Aizvērt" #~ msgid "Personal Data" #~ msgstr "Personīgie dati" #~ msgid "" #~ "We collect absolutely nothing and all your data is stored in a database " #~ "on your computer." #~ msgstr "" #~ "Mēs neiev�cam pilnīgi nek�dus datus, visi Jūsu dati tiek glab�ti Jūsu " #~ "dator�." #~ msgid "" #~ "If you choose to integrate Todoist, which is optional and not selected by " #~ "default, your data will be stored on their private servers, we only " #~ "display your configured tasks and manage them for you." #~ msgstr "" #~ "Ja jūs izvēlaties savienoties ar Todoist, kas ir neoblig�ti un nav " #~ "iespējots pēc noklusējuma, Jūsu dati tiks glab�ti viņu priv�tajos " #~ "serveros, mēs vienīgi uzr�d�m Jūsu konfigurētos uzdevumus un p�rvald�m " #~ "tos." #~ msgid "Do you have any questions?" #~ msgstr "Vai Jums ir jebk�di jaut�jumi?" #~ msgid "" #~ "If you have any questions about your data or any other issue, please " #~ "contact us. We will be happy to answer you." #~ msgstr "" #~ "Ja Jums ir jebk�di jaut�jumi par Jūsu datiem vai jebkuru citu tēmu, lūdzu " #~ "sazinieties ar mums. Mēs ar liel�ko prieku Jums atbildēsim." #~ msgid "Supporting Us" #~ msgstr "Atbalstīt mūs" #~ msgid "" #~ "Our mission is to provide the best open source task management " #~ "application for users all over the world. Your donations support this " #~ "work. Want to donate today?" #~ msgstr "" #~ "Mūsu uzdevums ir g�d�t par lab�ko atvērt� pirmkoda uzdevumu p�rvaldības " #~ "programmatūru visiem lietot�jiem, vis� pasaulē. Jūsu ziedojumi atbalsta " #~ "mūsu darbu. Vai vēlaties šodien ziedot?" #~ msgid "Support Planify" #~ msgstr "Atbalstīt Planify" #~ msgid "Clear Schedule" #~ msgstr "Dzēst grafiku" #~ msgid "Stay open after creating task" #~ msgstr "Paturēt atvērtu pēc uzdevuma izveides" #~ msgid "Process completed, you need to start Planify again" #~ msgstr "Process pabeigts, Jums j�restartē Planify" alainm23-planify-69962f8/po/meson.build000066400000000000000000000001611517337276100176510ustar00rootroot00000000000000i18n.gettext(application_id, args: '--directory=' + meson.source_root(), preset: 'glib' ) subdir('extra')alainm23-planify-69962f8/po/mg.po000066400000000000000000002510661517337276100164660ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:55+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Malagasy \n" "Language: mg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/mk.po000066400000000000000000002511121517337276100164620ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:10+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Macedonian \n" "Language: mk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n==1 || n%10==1 ? 0 : 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/mn.po000066400000000000000000002510701517337276100164700ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:58+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Mongolian \n" "Language: mn\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/mr.po000066400000000000000000002510661517337276100165010ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:02+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Marathi \n" "Language: mr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/ms.po000066400000000000000000002505051517337276100164770ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:53+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Malay \n" "Language: ms\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/my.po000066400000000000000000002505071517337276100165070ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:05+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Burmese \n" "Language: my\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/nb.po000066400000000000000000003201311517337276100164500ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: alainmh23@gmail.com\n" "POT-Creation-Date: 2025-11-02 17:57+0000\n" "PO-Revision-Date: 2026-03-10 22:54+0000\n" "Last-Translator: Theodor Onarheim \n" "Language-Team: Norwegian Bokmål \n" "Language: nb\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.17-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Prosjekter" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Seksjoner" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Oppgaver" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Etiketter" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Filtere" #: core/Enum.vala:186 msgid "Lists" msgstr "Lister" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "Ikke gjenta" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Hvert minutt" msgstr[1] "Hvert %d minutt" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Hver time" msgstr[1] "Hver %d time" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Hver dag" msgstr[1] "Hver %d dag" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Hver uke" msgstr[1] "Hver %d uke" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Hver måned" msgstr[1] "Hver %d måned" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Hvert år" msgstr[1] "Hvert %d år" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Prioritet" #: core/Enum.vala:348 msgid "Label" msgstr "Etikett" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Forfallsdato" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Seksjon" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "Oppgave" #: core/Enum.vala:469 msgid "Task Created" msgstr "Oppgave opprettet" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Oppgave oppdatert" #: core/Enum.vala:528 msgid "Content" msgstr "Innhold" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Beskrivelse" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Planlagt" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Pin-kode" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Alle oppgaver" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "alle oppgaver" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "alle" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "Når som helst" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "når som helst" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "filtere" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "ingen dato" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Fullført" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "fullført" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "loggbok" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Innboks" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "innboks" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "etiketter" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Oppslagstavle" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Prioritet 1:høy" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Prioritet 2:middels" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Prioritet 3:lav" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Prioritet 4:ingen" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "høy" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "middels" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "lav" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "ingen" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Gjentakende" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "gjentakende" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "planlagt" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "kommende" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "I dag" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "i dag" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "I morgen" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "i morgen" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "dato" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Umerket" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "ingen etikett" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "umerket" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Oppgave kopiert til utklippstavlen" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "Oppgave flyttet til %s" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Slett etikett %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Dette kan ikke angres" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Avbryt" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Slett" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "Prosjektet ble kopiert til utklippstavlen." #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "Slett prosjekt %s?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "Arkiver?" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "Dette vil arkivere %s og alle tilhørende oppgaver." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "Arkiver" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Slett seksjon %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "Oppgaven er lagt til!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Navn på gjøremål" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "Dette feltet er obligatorisk" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Legg til en beskrivelse…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "Angi dato" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Legg til etiketter" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Angi prioriteten" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Legg til påminnelser" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Legg til oppgave" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "Fortsett å legge til" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Velg et prosjekt" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "Beklager, men Hurtigtillegg finner ingen tilgjengelige prosjekter. Prøv å " "opprette et prosjekt fra Planify." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Tastatursnarveier" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "Få fart på oppgaveopprettingen med disse snarveiene" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "Angi prioritet" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = høyest, p4 = lavest" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "Legg til etiketter" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "Åpner etikettvelgeren" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "Tilordne prosjekt" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "Åpner prosjektvelgeren" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "Angi påminnelse" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "Åpner påminnelsesalternativer" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "Veksle mellom å holde åpent etter at oppgaven er opprettet" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "Tips" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "Kombiner snarveier i tittelfeltet for raskere oppretting" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "Laster oppgaver for %s…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "Kilde finnes allerede" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "Kunne ikke løse hoved-URL-en" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "Starter synk…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "Synker %s…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "Synk fullført" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "På denne datamaskinen" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" "Todoist har oppdatert API-en sin. Koble til din konto på nytt i Instillinger " "for å kunne synkronisere videre." #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "Forespørselen var feilaktig." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "Autentisering kreves, og har mislyktes, eller ikke blitt angitt." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "Forespørselen var gyldig, men for noe som var forbudt." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "Kunne ikke finne forespurt ressurs." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" "Brukeren har sendt for mange forespørsler i løpet av en gitt tidsperiode." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "Forespørselen mislyktes som følge av tjenerfeil." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "Tjeneren kan ikke håndtere forespørselen nå." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "Ukjent feil" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "I går" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "dager" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "dag" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "%s %s siden" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "%s %s igjen" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "%-H:%M:%S" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "%-H:%M" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "%H:%M:%S" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "%H:%M" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Ma," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Ti," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "On," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "To," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Fr," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "Lø," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "Sø," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "om %d dag" msgstr[1] "om %d dager" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d dag siden" msgstr[1] "%d dager siden" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "%a, %b %-e, %Y" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "%b %-e %Y" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "%b %-e" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "%a %Y" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "%a" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "%a, %b %-e" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "%b" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Bærrød" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Rød" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Oransje" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Gul" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Olivengrønn" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Limegrønn" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Grønn" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "Mintgrønn" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Turkis" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "Himmelblå" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Lyseblå" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Blå" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Drue" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Fiolett" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Lavendel" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "Magenta" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "Lakserosa" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "Trekull" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Grå" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "Gråbrun" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Lys" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Mørk" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Mørkeblå" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Ingen" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "I dag + innboks" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Slett alt" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "Prosessen er fullført, du må starte Planify på nytt." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "OK" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "På denne datamaskinen" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Møt Planify" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "Dette prosjektet viser deg alt du trenger å vite for å komme i gang. Ikke " "nøl med å eksperimentere med det – du kan alltids gjenskape det fra " "Innstillinger." #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "Trykk på denne oppgaven" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" "Du ser på en gjøremålsoppgave! Fullfør den ved å trykke på avmerkingsboksen " "til venstre. Fullførte gjøremål samles nederst i prosjektet ditt. " #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "Opprett et nytt gjøremål" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Nå er det din tur! Trykk på «+»-knappen nederst i prosjektet ditt, skriv inn " "en oppgavebeskrivelse, og trykk på «Legg til oppgave»-knappen." #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "Planlegg dette gjøremålet for i dag eller senere" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" "Trykk på kalenderknappen nederst for å bestemme når du skal fullføre denne " "gjøremålsoppgaven." #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "Endre rekkefølgen på gjøremålene dine" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "For å endre rekkefølgen på listen, trykk og hold på en gjøremålsoppgave, og " "dra den deretter dit den skal være." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Opprett et prosjekt" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "Organiser gjøremålene dine bedre! Gå til venstre panel og klikk på «+»-" "knappen i «På denne datamaskinen»-delen, og legg til ditt eget prosjekt." #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "Du er ferdig!" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "Det er alt du egentlig trenger å vite. Begynn gjerne å legge til dine egne " "prosjekter og gjøremål.\n" "Du kan komme tilbake til dette prosjektet senere for å lære de avanserte " "funksjonene nedenfor.\n" "Vi håper du liker å bruke Planify!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "Finjuster oppsettet ditt" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Vis kalenderhendelsene dine" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "Du kan vise systemets kalenderhendelser i Planify. Gå til «Innstillinger» 🡒 " "Generelt 🡒 Kalenderhendelser for å slå det på." #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "Aktiver synkronisering med tredjepartstjenester" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "Planify oppretter ikke bare oppgaver lokalt, men kan også synkronisere med " "Todoist-kontoen din. Gå til «Innstillinger» 🡒 «Kontoer»." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "Øk produktiviteten din" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "Dra plussknappen!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "Den blå knappen du ser nederst på hver skjerm er kraftigere enn den ser ut " "til: den er laget for å bevege seg! Dra den opp for å opprette en oppgave " "hvor du vil." #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "Legg til etiketter på oppgavene dine!" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "Etiketter hjelper deg med å organisere og kategorisere oppgavene dine. For å " "legge til en etikett, klikk på etikettknappen nederst." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "Sett påminnelser i tide!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" "Få varsel om viktige oppgaver eller hendelser. Trykk på klokke-ikonet " "nedenfor for å legge til påminnelse." #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼�Arbeid" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒�Skole" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉�Delegert" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "��Hjem" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀�� Følg opp" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Oppgave duplisert" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Seksjon duplisert" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Prosjekt duplisert" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "Til rett tid" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 minutter før" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 minutter før" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 minutter før" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 time før" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 timer før" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 timer før" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "%A, %B %e, %Y" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%OB" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "Tilbake" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "Forrige måned" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "Forover" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "Neste måned" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "Forrige måned, %s" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "%B %Y" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "Neste måned, %s" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Velg en dato" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "Sø" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Ma" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Ti" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "On" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "To" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Fr" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "Lø" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Tid" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "til" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "for" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "ganger" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "tid" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Gjenta" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "Skriv inn en dato…" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "Neste uke" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "Lagre" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Daglig" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "Ukedager" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "Helger" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Ukentlig" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Månedlig" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Årlig" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "Tilpasset" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "Ingen dato" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "Minutt(er)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "Time(r)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "Dag(er)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "Uke(r)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "Måned(er)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "År" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "Aldri" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "På dato" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "Etter" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "Bruk" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "Gjenta hver" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "Slutt" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "Dato" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "Fjern dato" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "Angi frist" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "Frist" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "Velg etiketter" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "Etikett ikke funnet: Opprett '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" "Filtrene dine vises her. Opprett et ved å skrive inn navnet og trykke på " "Enter-tasten." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "Opprett '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "Listen over filtre vil vises her." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "Søk" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "Søk eller opprett" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "Fjern lenken" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "Prioritet 4: Ingen" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "Prioritet 1: Høy" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "Prioritet 2: Middels" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "Prioritet 3: Lav" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "Prioritet 1: Middels" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "Prioritet 1: Lav" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "Seksjonslisten din vil vises her." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "Ingen seksjon" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "Skriv inn et søk" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "Påminnelser" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" "Listen over påminnelser vises her. Legg til en ved å klikke på «+»-knappen." #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "Legg til påminnelse" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "Om 5 minutter" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "Om 15 minutter" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "Om 30 minutter" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "Om 1 time" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "Om 3 timer" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "Om 6 timer" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "Angi seksjon" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "Velg seksjon" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "Angi statusen" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "Status" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "Gjøremål" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "Fullført" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "Planify starter automatisk når denne enheten slås på og kjører når vinduet " "lukkes, slik at den kan sende gjøremålsvarsler." #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "Kalendersynk" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" "Gjør oppgavene dine automatisk om til kalenderhendelser. Alle oppgaver med " "en dato vises i kalenderen din, noe som gjør det enklere å planlegge dagen " "din." #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" "Krav: Du trenger en kalenderkonto konfigurert i GNOME Kalender (Google, " "Nextcloud osv.)" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" "Få mobilvarsler for oppgavene dine via Google Kalender, Outlook eller en " "hvilken som helst kalenderapp" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" "Oppgavene dine synkroniseres overalt: telefon, nettbrett, nettleser og alle " "enheter med kalenderen din" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "Velg kalender" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "Velg en kalender fra listen" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "Aktiver synk" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "Kalendersynk er deaktivert" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "Kalendersynk aktiv" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" "Oppgavene dine er for øyeblikket synkronisert med kalenderen din. Alle " "oppgaver med en dato vises automatisk som en kalenderhendelse." #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "Deaktiver synk" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "Synket med: %s" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "Synk aktivert!" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" "Oppgavene dine er nå synkronisert med kalenderen din. Alle oppgaver med en " "dato vises automatisk som en kalenderhendelse." #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "OK" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "Fullførte oppgaver" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "Vis filtermeny" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "Ingen fullførte oppgaver ennå." #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "Slett alle fullførte oppgaver" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" "Dette sletter %d fullført oppgave og dens underoppgaver fra prosjektet %s" msgstr[1] "" "Dette sletter %d fullført oppgaver og deres underoppgaver fra prosjektet %s" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "Filtrer etter" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "Neste uke" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "Ingen dato" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Ferdig" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "Endringslogg" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "Lagt til" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "Ikke tilgjengelig" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "Oppdatert" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "Endringsloggen din vises her når du begynner å gjøre endringer." #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "Ny etikett" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "Rediger etikett" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "Gi etiketten din et navn" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "Legg til etikett" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "Oppdater etikett" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "Filtrer" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "Arkivert prosjekter" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "Administrer seksjoner" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "Du kan sortere seksjonene dine ved å dra og slippe" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "Arkivert" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(Ingen seksjon)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "Kontoer" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "Legg til kilde" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "Innboks side" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "Du kan sortere kontoene dine ved å dra og slippe" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "Planify synkroniserer oppgavene dine - dette bør ikke ta lang tid" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "SSL-verifisering er deaktivert" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "Flytting av konto kreves" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "Koble til igjen" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "Kan ikke skjule denne kontoen" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "Denne kontoen inneholder ditt nåværende Innboks-prosjekt. Vennligst endre " "Innboks-prosjektet ditt først." #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "Endre Innboks" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "Synker…" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "Server URL" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "Brukernavn" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "Passord" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "Logg inn" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "Innboks prosjekt" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" "Innboksen din er der nye oppgaver som standard lander. Basert på David " "Allens Getting Things Done-metodikk, er det ditt innsamlingspunkt for raske " "ideer og oppgaver som du skal organisere senere" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "Kilde" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "Visningsnavn" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "Synk Server" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" "Aktiver denne innstillingen slik at Planify automatisk synkroniseres med " "kontoen din hvert 15. minutt" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "Siste synk" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "Slett kilde" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "Slett kilde?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "Kilden kan ikke slettes" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "Denne kilden inneholder Innboks-prosjektet ditt. Bytt Innboks-prosjekt først." #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "1. Gå til Todoist → Innstillinger → Integrasjoner → Utvikler" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "3. Lim det inn i feltet ovenfor" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "Sunkroniserer…" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "Utseende" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "Bruk systeminnstillinger" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "Velg tema" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "Lys stil" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "Rent lyst tema" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "Mørk stil" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "Elegant mørkt tema" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "Mørk blå stil" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "Profesjonelt blått tema" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" "Tilpassede temaer er ikke tilgjengelige når du bruker system lyst-temaet" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "Skriftstørrelse" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "Sikkerhetskopier" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" "Du trenger aldri å bekymre deg for å miste data. Du kan ta sikkerhetskopier " "av aktive prosjekter, oppgaver og kommentarer og importere dem senere." #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "Opprett sikkerhetskopi" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "Importer sikkerhetskopi" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "Sikkerhetskopi filer" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" "Ingen sikkerhetskopier funnet. Opprett en ved å klikke på knappen ovenfor." #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "Sikkerhetskopieringsfiler er lagret i: %s" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "Migrer" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "Migrer fra Planner" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "Sikkerhetskopien ble opprettet." #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "Databasefilen finnes ikke." #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "Valgt fil er ugyldig" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "Vis sikkerhetskopi" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "Last ned" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "Kilder" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "Gjøremål" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "Bekreft" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "Gjenopprett sikkerhetskopi" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" "Er du sikker på at du vil fortsette? Denne operasjonen vil slette dine " "nåværende data og erstatte dem med sikkerhetskopidataene." #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "Gjenopprett sikkerhetskopi" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "Doner" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "Støtt Planify-utvikling" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" "Hjelp oss med å holde Planify gratis og åpen kildekode! Dine donasjoner " "støtter direkte utvikling, nye funksjoner og vedlikehold. Hvert bidrag, " "uansett størrelse, utgjør en forskjell." #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "Månedlig gjentakende support" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "Engangsdonasjon" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "Ukentlige gjentakende donasjoner" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "Kjøp meg en kaffe ☕" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "Velg din foretrukne plattform" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "Takk for støtten! �" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "Ditt bidrag bidrar til å holde Planify levende og voksende." #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "Generelt" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "Tilpasset sorteringsrekkefølgeq" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "Alfabetisk" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "Sorter etter" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "Stigende" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "Synkende" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "DE Integrasjon" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "Kjør ved oppstart" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "Kjør i bakgrunnen" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "Kalenderhendelser" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "Dato og tid" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24t" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12t" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "Klokkeformat" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "Søndag" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "Mandag" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "Tirsdag" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "Onsdag" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "Torsdag" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "Fredag" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "Lørdag" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "Starten på uken" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "Smart datogjenkjenning" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "Oppdag automatisk datoer som «i morgen» eller «neste uke»" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "Hjem visning" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "Hurtigtillegg" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" "Bruk Hurtigtillegg for å opprette gjøremål fra hvor som helst på " "skrivebordet med bare noen få tastetrykk. Du trenger ikke engang å forlate " "appen du er i." #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" "Gå til Systeminnstillinger → Tastatur → Snarveier → Tilpasset, og legg " "deretter til en ny snarvei med følgende:" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "Innstillinger" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "Lagre sist valgte prosjekt" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" "Hvis den ikke er avmerket, er det standardprosjektet som er valgt Innboks" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "Kommandoen ble kopiert til utklippstavlen" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "Sidefelt" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "Vis i sidefelt" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "Vis antall oppgaver" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "Bredde på sidefeltet" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "Vis filtre i en enkel liste i stedet for et rutenett" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "Du kan dra og slippe for å sortere visningene dine" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "Oppgaveinnstillinger" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "Fullfør med Angre" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "Oppgavefullføring" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "Velg hvordan oppgaver oppfører seg når de er merket som fullførte" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "Prioritet 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "Prioritet 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "Prioritet 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "Standard prioritet" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "Stryk ut fullførte oppgaver" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "Start" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "Plassering for ny oppgave" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "Vis alltid fullførte deloppgaver" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "Hold alle fullførte deloppgaver synlige uten å skjule dem" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "Lyd for fullført oppgave" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "Spill av en lyd når oppgavene er fullført" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" "Vis alltid oppgavedetaljer i sidefeltet i stedet for å utvide dem i " "listevisning." #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "Tillat at bare én oppgave utvides om gangen i listevisning" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "Aktiver markdown-formatering" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "Slå av eller på Markdown-støtte for oppgaver" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "Vis alltid detaljer sidefeltet" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" "Hold detaljsidefeltet alltid synlig for raskere oppgavenavigasjon, uten å " "måtte åpne og lukke det gjentatte ganger" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "Aktiver stavekontroll" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "Sjekk stavemåte i oppgavebeskrivelser og notater" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "Aktivert" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "Automatiske påminnelser" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" "Når dette er aktivert, legges det som standard til en påminnelse før " "oppgavens forfallstid." #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "Innstillinger" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "Synkroniser dine favoritt gjøremålsleverandører" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "Angi visningen som vises ved første oppstart" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "Tilpass etter din smak" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "Tilpass sidefeltet" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "Legge til gjøremål fra hvor som helst" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "Sikkerhetskopier eller migrer fra Planner." #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "Opprett veiledningsprosjekt" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "Lær appen trinn for trinn med et kort veiledningsprosjekt" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "Vil du kjøpe meg en drink?" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "Rapporter problem eller be om funksjon" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "Del feil eller ideer på GitHub" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "Bli involvert" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "Nå oss" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "Kontakt oss" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "Be om en funksjon eller spør oss om hva som helst" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "Tweet oss" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "Del litt kjærlighet" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "Discord" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "Diskuter og del tilbakemeldingene dine" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodon" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "Personvern" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "Personvernregler" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "Vi har ingenting på deg" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "Slett App data" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "Et veiledningsprosjekt er opprettet" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "Slett alle data?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "Sletter alle listene, oppgavene og påminnelsene dine permanent" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "Sammendrag" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "Se mer" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "Denne uken" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "Denne måneden" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "Forsinket" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "Nytt prosjekt" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "Rediger prosjekt" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "Gi prosjektet ditt et navn" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "Bruk Emoji" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "Legg til prosjekt" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "Oppdater prosjekt" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "Prosjekt lagt til!" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "Flytt" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "Hurtigsøk" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "Bytt raskt prosjekter og visninger, finn oppgaver, søk etter etiketter" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "Ny seksjon" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "Rediger seksjon" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "Seksjonsnavn" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "Legg til Seksjon" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "Oppdater seksjon" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "Seksjon lagt til" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "Åpne/lukk sidefelt" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "Fullført. Neste forekomst: %s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "Legg til deloppgaver" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "Rediger" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "Dupliser" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "Slett oppgave" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s ble slettet" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "Angre" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "Legg til deloppgaver" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "Skjul deloppgaver" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "Vis deloppgaver" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "Bruk som Merknad" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "Kopier til utklippstavlen" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "Legg til vedlegg" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "Lukk detalj" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "Tittel" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "Egenskaper" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "Er du sikker på at du vil slette?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "Slett etikett" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "Fjern fra Favoritter" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "Legg til Favoritter" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "Oppfrisk" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "Slett prosjekt" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "Del" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "Send med e-post" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "Legg til oppgaver" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "Last mer" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "fullførte oppgaver" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "Flytt seksjon" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "Administrer seksjonsrekkefølge" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "Vis fullførte oppgaver" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "Slett seksjon" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "Favorittter" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "Ingen favoritter tilgjengelig. Opprett en ved å klikke på «+»-knappen" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "Legg til konto" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "Tilpass sidefeltet" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "Gå til I dag" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "Gå til Planlagt" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "Gå til Etiketter" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "Gå til oppslagstavle" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "Ingen prosjekter tilgjengelig. Opprett et ved å klikke på «+»-knappen" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "Hovedmeny" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "Åpne hurtigsøk" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "Om Planify" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "Ups! Noe skjedde" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "Oppgave fullført" #: src/MainWindow.vala:825 msgid "View" msgstr "Vis" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "Integritetssjekk av databasen mislyktes" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" "Vi har oppdaget problemer med databasestrukturen som kan forhindre at " "applikasjonen fungerer som den skal. Dette kan skyldes manglende tabeller " "eller kolonner, sannsynligvis forårsaket av datafeil eller en ufullstendig " "oppdatering.\n" "\n" "Databasen vil nå bli tilbakestilt for å gjenopprette normal funksjonalitet, " "og eventuelle eksisterende data vil bli fjernet.\n" "\n" "Etter tilbakestillingen vil du kunne gjenopprette eventuelle " "sikkerhetskopier du har opprettet tidligere. Takk for tålmodigheten" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "Tilbakestill database" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "Slett sikkerhetskopi" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "Sikkerhetskopien er importert" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "Planify vil starte på nytt for å implementere endringene" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "Omstart nå" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "Planify sikkerhetskopi-filer" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "Slumre i 10 minutter" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "Slumre i 30 minutter" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "Slumre i 1 time" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "Legg til noen oppgaver" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "Trykk på «a» for å opprette en ny oppgave" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "Alle oppgaver fullført!" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "Godt jobba, ingenting igjen å gjøre 🎉" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "Slett fullført oppgave" msgstr[1] "Slett fullførtw oppgaver" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "Dette vil slette %d fullført oppgave og dens deloppgaver" msgstr[1] "Dette vil slette %d fullførte oppgaver og deres deloppgaver" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "Ingen etiketter tilgjengelig. Opprett en ved å klikke på «+»-knappen" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "Merknad" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "Planlegg" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "Når?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "Legg til noen oppgaver. Trykk på 'a' for å opprette en ny oppgave" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "Prosjekthandlinger" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "Ny oppgave" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "Prosjektfrist" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "Velg" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "Lim inn" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "Utvid alle" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "Ny" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "Trekk sammen alle" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "Sortering" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "Tilpasset sorteringsrekkefølge" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "Dato lagt til" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "Stigende rekkefølge" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "Forfallsdato" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "Alle (standard)" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "Neste 7 dger" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "Neste 30 dager" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "P1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "P2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "P3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "P4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "Vis fullført" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "Vis fullførte oppgaver i listen" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "Søk etter fullførte oppgaver" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "Sorter etter" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "Planlegge på nytt" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "Vedlegg" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "Åpne" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "Ingen vedlegg funnet. Legg til filer her." #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "Advarsel" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "Advarsel" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" "Dette vil deaktivere CalDAV-løsningsprosessen.\n" "Fortsett på egen risiko" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "Fortsett uansett" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "Deloppgaver" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "Vis mer" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "Vis mindre" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "Rapporter problem" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "Om %d minutt" msgstr[1] "Om %d minutter" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "Om %d time" msgstr[1] "Om %d timer" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "Skjer nå" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "Plassering" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "Arrangør" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "URL" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Kalender" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "Deaktiver validering av SSL-sertifikat" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "Ikke anbefalt – utsetter deg for sikkerhetsrisikoer" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" "Dette vil deaktivere SSL-validering og eksponere deg for angrep.\n" "Fortsett på egen risiko" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "Oppgaven er ikke fullført" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "Oppgave flyttet til prosjekt" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "Oppgave flyttet til" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "Forrige" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "Fullført" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "Flytt til prosjekt" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "Merk som fullført" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "Slett gjøremål" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "Er du sikker på at du vil slette denne gjøremålsoppgaven?" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "Slett %d gjøremål" msgstr[1] "Slett %d gjøremål" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "Er du sikker på at du vil slette dette %d gjøremålet?" msgstr[1] "Er du sikker på at du vil slette disse %d gjøremålene?" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "Oppgave flyttet til %s" msgstr[1] "%d oppgaver flyttet til %s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "Ny versjon tilgjengelig!" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" "Oppdater nå for å få de nyeste forbedringene, feilrettingene og nye " "funksjonene som gjør Planify enda bedre" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "Oppdater nå" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "Avvis" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "Ingen deloppgaver er lagt til ennå. Kom i gang!" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "Kunne ikke koble til serveren" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" "Det ser ut som serveren ikke kan nås.\n" "Er du koblet til internett?\n" "Alle endringer du gjør mens du er frakoblet, \n" "vil bli synkronisert når du kobler til igjen." #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "%s er %.0f%% fullført. Du kan hjelpe til med å fullføre det!" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "Oversettelser" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "Hjelp med å gjøre Planify tilgjengelig over hele verden" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "Hjelp med å forbedre oversettelsene" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "Start en ny oversettelse" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" "%s er ikke tilgjengelig ennå. Bli den første til å oversette det!" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "Opprett en ny oppgave" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "Lim inn ren tekst for å opprette ny oppgave" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "Opprett nytt prosjekt" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "Oppsett ny seksjon i prosjekt" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "Søk" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "Åpne hurtigsøk" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "Kontroller vinduer" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "Avslutt" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Åpne innstillinger" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "Vis/skjul sidefelt" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "Åpne hurtigtaster" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "Naviger" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "Åpne hjemmeside" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "Åpne Innboks" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "Åpne I dag" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "Åpne planlagte" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "Åpne etiketter" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "Åpne oppslagstavle" #~ msgid "Advanced Options" #~ msgstr "Avanserte innstillinger" #~ msgid "Server URL examples:" #~ msgstr "Eksempler på server-URLer:" #~ msgid "- https://cloud.example.com/" #~ msgstr "- https://cloud.eksempel.no/" #~ msgid "- https://example.com/nextcloud/" #~ msgstr "- https://eksempel.no/nextcloud/" #~ msgid "Token" #~ msgstr "Token" #~ msgid "How to get your token?" #~ msgstr "Hvordan får du tak i tokenet ditt?" #~ msgid "2. Find 'API token' and copy your token" #~ msgstr "2. Finn «API-token» og kopier tokenet ditt" #~ msgid "Connect with Token" #~ msgstr "Koble til med token" #~ msgid "" #~ "Planify is being developed with love and passion for open source. " #~ "However, if you like Planify and want to support its development, please " #~ "consider supporting us." #~ msgstr "" #~ "Planify utvikles med kjærlighet og lidenskap for åpen kildekode. Men hvis " #~ "du liker Planify og ønsker å støtte utviklingen, bør du vurdere å støtte " #~ "oss." #~ msgid "Donate Now" #~ msgstr "Doner nå" #~ msgid "Set a Due Date" #~ msgstr "Sett en forfallsdato" #~ msgid "Set a Deadline" #~ msgstr "Angi en frist" #~ msgid "Enter token" #~ msgstr "Skriv inn token" #~ msgid "Please Enter Your Credentials" #~ msgstr "Vennligst skriv inn legitimasjonen din" #~ msgid "Loading…" #~ msgstr "Laster…" #~ msgid "Network Is Not Available" #~ msgstr "Nettverket er ikke tilgjengelig" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "La Planify kjøre i bakgrunnen og sende varsler" #~ msgid "Whether Planify should run on startup" #~ msgstr "Om Planify skal kjøres ved oppstart" #~ msgid "Menu" #~ msgstr "Meny" #~ msgid "Add Time" #~ msgstr "Legg til tid" #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "Få varsler om viktige oppgaver eller hendelser. Trykk på bjelleknappen " #~ "nedenfor for å legge til en påminnelse." #, c-format #~ msgid "Processing task %d of %d" #~ msgstr "Behandler oppgave %d av %d" #~ msgid "Todoist Sync" #~ msgstr "Todoist Synk" #~ msgid "Loading" #~ msgstr "Laster" #~ msgid "Planner is sync your tasks, this may take a few minutes" #~ msgstr "" #~ "Planleggeren synkroniserer oppgavene dine. Dette kan ta noen minutter" #~ msgid "Please enter your credentials" #~ msgstr "Vennligst skriv inn påloggingsinformasjonen din" #~ msgid "Planify is syncing your tasks, this may take a few minutes" #~ msgstr "Planify synkroniserer oppgavene dine. Dette kan ta noen minutter" alainm23-planify-69962f8/po/nl.po000066400000000000000000003551721517337276100164770ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: alainmh23@gmail.com\n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2026-04-07 12:09+0000\n" "Last-Translator: Bart Ratgers \n" "Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.17-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Projecten" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Onderverdelingen" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Taken" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Labels" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Filters" #: core/Enum.vala:186 msgid "Lists" msgstr "Lijsten" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "Niet herhalen" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Elke minuut" msgstr[1] "Elke %d minuten" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Elk uur" msgstr[1] "Elk %d uren" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Elke dag" msgstr[1] "Elke %d dagen" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Elke week" msgstr[1] "Elke %d weken" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Elke maand" msgstr[1] "Elke %d maanden" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Elk jaar" msgstr[1] "Elk %d jaren" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Prioriteit" #: core/Enum.vala:348 msgid "Label" msgstr "Label" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Deadline" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Onderverdeling" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "Toewijzing" #: core/Enum.vala:469 msgid "Task Created" msgstr "Taak aangemaakt" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Taak bijgewerkt" #: core/Enum.vala:528 msgid "Content" msgstr "Inhoud" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Beschrijving" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Gepland" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Vastgeprikt" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Alle taken" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "alle taken" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "alle" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "Eender wanneer" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "eender wanneer" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "filters" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "geen datum" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Afgewerkt" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "afgewerkt" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "logboek" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Postvak" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "postvak" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "labels" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Prikbord" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Prioriteit 1: hoog" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Prioriteit 2: gemiddeld" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Prioriteit 3: laag" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Prioriteit 4: geen" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "hoog" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "gemiddeld" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "laag" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "geen" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Terugkerend" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "terugkerend" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "gepland" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "aankomend" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Vandaag" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "vandaag" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Morgen" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "morgen" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "datum" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Ongelabeld" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "geen label" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "ongelabeld" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Taak gekopieerd naar klembord" # # c-format #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "Taak verplaatst naar %s" # # c-format #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Label %s verwijderen" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Dit kan niet ongedaan gemaakt worden" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Annuleren" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Verwijderen" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "Het project werd naar het klembord gekopieerd." # # c-format #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "Project %s verwijderen?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "Archiveren?" # # c-format #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "Dit zal %s en alle bijhorende taken archiveren." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "Archiveren" # # c-format #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Onderverdeling %s verwijderen" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "Taak succesvol toegevoegd!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Naam taak" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "Dit veld is verplicht" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Voeg een beschrijving toe…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "Stel datum in" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Labels toevoegen" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Prioriteit instellen" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Herinneringen toevoegen" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Taak toevoegen" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "Blijf toevoegen" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Project selecteren" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "Sorry, snel toevoegen lukt niet zonder een project, probeer eerst een " "project aan te maken." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Sneltoetsen" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "Versnel het maken van taken met deze snelkoppelingen" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "Prioriteit instellen" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = hoogste, p4 = laagste" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "Label(s) toevoegen" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "Toont de labelselectie" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "Project toewijzen" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "Opent projectselector" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "herinnering instellen" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "Opent herinneringsopties" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "Open blijven na aanmaken nieuwe taak" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "Tip" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "Combineer sneltoetsen in het titelveld om het aanmaken te versnellen" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "Taken van %s worden geladen…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "Taken geladen voor %s…" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "Taak %d van de %d synchroniseren" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "Bron bestaat al" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "Mislukt om primaire URL op te lossen" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "Sync wordt gestart…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "%s Synchroniseren…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "Synchronisatie voltooid" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "Op deze computer" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" "Todoist heeft zijn API bijgewerkt. Koppel je account opnieuw via de " "voorkeuren om te blijven synchroniseren." #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "De aanvraag was incorrect." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "Aanmelden is vereist en is mislukt of werd nog niet ingesteld." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "De aanvraag was geldig, maar er werd geen toegang gegeven." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "De opgevraagde bron kon niet teruggevonden worden." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "De gebruiker heeft te veel aanvragen verstuurd op korte tijd." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "De aanvraag is mislukt door een fout aan de serverkant." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "De server kan de aanvraag momenteel niet behandelen." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "Onbekende fout" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "Gisteren" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "dagen" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "dag" # # c-format #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "%s %s geleden" # # c-format #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "%s %s over" #: core/Utils/Datetime.vala:103 #, fuzzy msgid "%-l:%M:%S %p" msgstr "%-l:%M:%S %p" #: core/Utils/Datetime.vala:106 #, fuzzy msgid "%-l:%M %p" msgstr "%-l:%M %p" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "%U:%M:%S" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "%U:%M" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Ma," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Di," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "Wo," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Do," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Vr," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "Za," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "Zo," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "In %d dag" msgstr[1] "In %d dagen" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d dag geleden" msgstr[1] "%d dagen geleden" #: core/Utils/Datetime.vala:660 #, fuzzy msgid "%a, %b %-e, %Y" msgstr "%a, %b %-e, %Y" #: core/Utils/Datetime.vala:663 #, fuzzy msgid "%b %-e %Y" msgstr "%b %-e %Y" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 #, fuzzy msgid "%b %-e" msgstr "%b %-e" #: core/Utils/Datetime.vala:672 #, fuzzy msgid "%a %Y" msgstr "%a %Y" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "%a" #: core/Utils/Datetime.vala:678 #, fuzzy msgid "%a, %b %-e" msgstr "%a, %b %-e" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "%b" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Bessenrood" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Rood" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Oranje" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Geel" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Olijfgroen" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Lijmgroen" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Groen" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "Muntgroen" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Groenblauw" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "Hemelblauw" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Lichtblauw" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Blauw" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Druif" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Violet" # Assumed error "Lavander" -> "Lavender" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Lavendel" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "Magenta" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "Zalm" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "Houtskool" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Grijs" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "Taupe" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Licht" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Donker" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Donkerblauw" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Geen" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Vandaag + Postvak" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Alles verwijderen" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "Proces afgerond, gelieve Planify opnieuw op te starten." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "Ok" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "Op deze computer" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Planify leren kennen" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "Dit project toont alles was je moet weten om snel aan de slag te kunnen. " "Voel je vrij om ermee te klooien - je kan het altijd herstellen in " "Voorkeuren." #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "Klik op deze taak" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" "Dit is dus een taak! Markeer als afgerond door het linker vakje aan te " "vinken. " #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "Nieuwe taak aanmaken" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Nu is het aan jou. Klik op de '+'-knop onderaan je project, voer een " "beschrijving in en druk op de 'Taak Toevoegen'-knop om op te slaan." #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "Plan deze taak voor vandaag of een later moment" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" "Druk op de kalenderknop onderaan om te bepalen tegen wanneer deze taak klaar " "moet zijn." #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "Verander je taken van volgorde" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "Om de lijst van volgorde te veranderen, houd je de muis ingedrukt op een " "taak en sleep je deze naar zijn nieuwe bestemming." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Maak een project aan" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "Deel je taken beter in! Ga naar het linkerpaneel en klik op de '+'-knop in " "de sectie 'Op deze computer' en voeg een eigen project toe." #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "Je bent klaar!" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "Dat was alles dat je echt moest weten. Begin gerust met het toevoegen van " "eigen projecten en taken.\n" "Je kan altijd later terugkomen naar dit project om over de meer geavanceerde " "functionaliteiten onderaan te leren.\n" "We hopen dat het gebruik van Planify je blij zal maken!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "Stel je omgeving af" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Toon je kalenderevenementen" # Assumed error "turn ir on" -> "turn it on" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "Je kan de kalenderevenementen uit je systeem ook in Planify weergeven. Ga " "naar 'Voorkeuren' 🡒 Algemeen 🡒 Kalenderevenementen om dit aan te zetten." #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "Synchronisatie met diensten van derde partijen activeren" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "Planify maakt taken niet enkel lokaal aan, maar kan deze ook synchroniseren " "naar je Todoist-account. Navigeer hiervoor naar 'Voorkeuren' 🡒 'Accounts'." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "Wees productiever dan ooit tevoren" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "Sleep de plus-knop!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "De blauwe knop die je onderaan elk scherm ziet is krachtiger dan hij eruit " "ziet: hij kan bewegen! Sleep deze naar een plaats waar je een taak wil " "aanmaken." #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "Geef je taken een label!" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "Met labels kan je je workflow in Planify verbeteren. Om een label toe te " "voegen, klik je op de label-knop onderaan." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "Stel herinneringen op tijd in!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" "Ontvang meldingen over belangrijke taken of gebeurtenissen. Tik op de knop " "met klok symbool hieronder om een herinnering toe te voegen." #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼� Werk" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒� School" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉� Gedelegeerd" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "�� Thuis" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀�� Opvolging" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Taak gedupliceerd" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Onderverdeling gedupliceerd" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Project gedupliceerd" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "Met deadline" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 minuten ervoor" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 minuten ervoor" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 minuten ervoor" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 uur ervoor" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 uren ervoor" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 uren ervoor" #: core/Widgets/Calendar/CalendarDay.vala:103 #, fuzzy msgid "%A, %B %e, %Y" msgstr "%A, %B %e, %Y" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%OB" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "Terug" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "Vorige maand" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "Volgende" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "Volgende maand" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "Vorige maand, %s" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 #, fuzzy msgid "%B %Y" msgstr "%B %Y" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "Volgende maand, %s" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Datum kiezen" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "Zo" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Ma" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Di" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "Wo" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Do" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Vr" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "Za" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Tijd" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "tot" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "voor" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "tijden" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "tijd" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Herhalen" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "Voer datum in…" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "Volgende week" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "Opslaan" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Dagelijks" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "Weekdagen" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "Weekends" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Wekelijks" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Maandelijks" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Jaarlijks" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "Aangepast" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "Geen datum" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "Minu(u)t(en)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "U(u)r(en)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "Dag(en)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "We(e)k(en)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "Maand(en)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "Ja(a)r(en)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "Nooit" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "Op datum" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "Na" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "Toepassen" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "Herhalen elke" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "Einde" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "Datum" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "Datum verwijderen" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "Deadline instellen" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "Deadline" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "Labels selecteren" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "Label niet gevonden: Maak '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" "Je filters zullen hier getoond worden. Creëer er één door een naam in te " "geven en op Enter te drukken." # # c-format #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "'%s' aanmaken" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "Je filters zullen hier getoond worden." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "Zoeken" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "Zoeken of Aanmaken" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "Link verwijderen" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "Prioriteit 4: geen" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "Prioriteit 1: hoog" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "Prioriteit 2: gemiddeld" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "Prioriteit 3: laag" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "Prioriteit 1: gemiddeld" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "Prioriteit 1: laag" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "Je secties zullen hier getoond worden." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "Zonder onderverdeling" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "Zoekterm ingeven" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "Herinneringen" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" "Je herinneringen zullen hier getoond worden. Voeg er één toe via de '+'-knop." #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "Herinnering toevoegen" # # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "Binnen 5 minuten" # # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "Binnen 15 minuten" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "Binnen 30 minuten" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "Binnen 1 uur" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "Binnen 3 uren" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "Binnen 6 uren" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "Onderverdeling instellen" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "Onderverdeling selecteren" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "Status instellen" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "Status" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "Open" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "Afgerond" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "Planify zal automatisch mee opstarten met uw computer en blijven draaien bij " "het sluiten van het venster zodat meldingen verstuurd kunnen worden." #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "Kalendersynchronisatie" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" "Taken automatisch omzetten naar kalenderevenementen. Taken met een datum " "zullen automatisch in je kalender verschijnen, wat het eenvoudiger maakt om " "je dag te plannen." #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" "Vereiste: Je moet een kalenderaccount configureren via GNOME Calendar " "(Google, Nextcloud, enzovoorts)" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" "Ontvang mobiele notificaties voor je taken via Google Calendar, Outlook of " "andere kalenderapplicaties" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" "Je taken synchroniseren overal: smartphone, tablet, webbrowser of andere " "toestellen met je kalender" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "Kalender kiezen" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "Kies een kalender uit de lijst" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "Synchronisatie activeren" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "Kalendersynchronisatie succesvol uitgeschakeld" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "Kalendersynchronisatie actief" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" "Je taken worden momenteel gesynchroniseerd met je kalender. Taken met een " "datum verschijnen automatisch als kalenderevenement." #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "Synchronisatie uitschakelen" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "Gesynchroniseerd met: %s" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "Synchronisatie ingeschakeld!" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" "Je taken worden nu gesynchroniseerd met je kalender. Taken met een datum " "zullen automatisch als kalenderevenement verschijnen." #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "OK" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "Afgeronde taken" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "Filtermenu weergeven" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "Nog geen afgeronde taken." #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "Alle afgeronde taken verwijderen" # # c-format #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" "Dit zal %d afgeronde taak en alle onderliggende subtaken uit project %s " "verwijderen" msgstr[1] "" "Dit zal %d afgeronde taken en hun onderliggende subtaken uit project %s " "verwijderen" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "Filteren op" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "Volgende week" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "Geen datum" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Toepassen" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "Geschiedenis wijzigen" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "Toegevoegd op" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "Niet beschikbaar" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "Bijgewerkt op" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" "Een wijzigingslogboek zal hier getoond worden zodra je aanpassingen maakt." # # c-format #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "Meer geschiedenis van %d week geleden laden…" msgstr[1] "Meer geschiedenis van %d weken geleden laden…" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "Label aanmaken" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "Label bewerken" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "Geef je label een naam" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "Label toevoegen" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "Label bewerken" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "Filteren" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "Gearchiveerde projecten" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "Onderverdelingen beheren" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "Je kan onderverdelingen sorteren door te slepen" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "Gearchiveerd" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(Geen onderverdeling)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "Accounts" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "Bron toevoegen" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "Postvak-pagina" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "Je kan accounts sorteren door te slepen" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "Planify synchroniseert je taken, even geduld" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "SSL-verificatie staat uit" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "Accountmigratie vereist" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "Opnieuw verbinden" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "Dit account kan niet worden verborgen" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "Deze account bevat je huidige postvak-project. Gelieve je postvak-project " "eerst te wijzigen." #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "Postvak veranderen" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "Synchroniseren…" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "Server-URL" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "Gebruikersnaam" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "Wachtwoord" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "Home-URL kalender" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "Aanmelden" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "Standaardproject postvak" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" "Nieuwe taken worden standaard toegevoegd aan uw postvak. Gebaseerd op de " "\"David Allen's Getting Things Done\"-methode, dit is het verzamelpunt voor " "snelle ideeën en taken die je later ordent" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "Bron" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "Weergavenaam" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "Met server synchroniseren" # Assumed error "Planner" -> "Planify" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" "Activeer deze instelling om Planify elke 15 minuten automatisch te laten " "synchroniseren met je account" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "Laatste synchronisatie" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "Bron verwijderen" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "Bron verwijderen?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "Deze bron kan niet worden verwijderd" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "Deze bron bevat je huidige Inbox-project. Wijzig eerst je Inbox-project." #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "Verbinden met Todoist" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "Meld je aan met je Todoist-account om je taken te synchroniseren" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "Aanmelden met browser" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "Gebruik in plaats daarvan een API-token" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "1. Ga naar Todoist → Instellingen → Integraties → Ontwikkelaar" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "3. Plak dit in het bovenstaande veld" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "Wachten op inloggen…" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "Synchroniseren…" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "Uiterlijk" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "Systeeminstellingen volgen" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "Thema selecteren" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "Lichte stijl" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "Strak licht thema" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "Donkere stijl" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "Elegant donker thema" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "Donkerblauwe stijl" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "Professioneel blauw thema" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" "Gepersonaliseerde thema's zijn niet beschikbaar wanneer systeemweergave " "wordt gebruikt" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "Lettergrootte" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "Back-ups" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" "Wees niet ongerust over dataverlies. Je kan altijd back-ups van je actieve " "projecten, taken en opmerkingen maken en deze later weer importeren." #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "Back-up maken" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "Back-up importeren" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "Bestanden back-uppen" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "Geen back-ups teruggevonden, maak er één aan via de '+'-knop." #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "Back-upbestanden worden opgeslagen in: %s" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "Migreren" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "Migreren van Planner" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "De back-up werd met succes aangemaakt." #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "Taken succesvol gemigreerd" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "Het database-bestand bestaat niet." #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "Geselecteerd bestand is ongeldig" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "Back-up bekijken" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "Downloaden" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "Import-overzicht" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "Bronnen" # Maybe just "Hinzufügen" because of space issues #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "To-do's" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "Bevestigen" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "Back-up terugzetten" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" "Weet je zeker dat je verder wil gaan? Dit zal alle huidige data verwijderen " "en vervangen met die uit de back-up." #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "Back-up terugzetten" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "Doneren" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "Planify-ontwikkeling steunen" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" "Help Planify gratis en open source te houden! Donaties steunen ontwikkeling " "en onderhoud rechtstreeks. Elke bijdrage, groot of klein, maakt een verschil." #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "Maandelijkse bijdrage" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "Éénmalige donatie" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "Wekelijkse bijdrage" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "Trakteer me op een koffie ☕" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "Voorkeursplatform selecteren" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "Bedankt voor je steun! �" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "Jouw bijdrage helpt Planify levend te houden." #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "Algemeen" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "Aangepaste volgorde" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "Alfabetisch" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "Sorteren op" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "Oplopend" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "Aflopend" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "Gesorteerd" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "DE-integratie" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "Mee opstarten met systeem" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "Op de achtergrond draaien" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "Kalenderevenementen" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "Datum en tijd" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24-uur" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12-uur" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "Klokformaat" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "Zondag" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "Maandag" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "Dinsdag" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "Woensdag" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "Donderdag" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "Vrijdag" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "Zaterdag" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "Start van de week" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "Slimme datumherkenning" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "Detecteert automatisch datums zoals \"morgen\" of \"volgende week\"" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "Startpagina" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "Snel toevoegen" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" "Gebruik snel toevoegen om taken van eender waar aan te maken met een paar " "toetsaanslagen. Je hoeft niet eens van applicatie te wisselen." #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" "Ga naar Instellingen → Toetsenbord → Sneltoetsen bekijken en aanpassen → " "Aangepaste sneltoets, en voeg een sneltoets toe met onderstaande inhoud:" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "Instellingen" # Assumed task is saved to the last selected project #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "Laatst geselecteerde project onthouden" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "Wanneer uitgeschakeld zal het standaardproject het postvak zijn" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "Onthou taak eigenschappen" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" "Als \"Blijven toevoegen\" aanstaat, onthou de datum, labels en pin status" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "Het commando werd naar het klembord gekopieerd" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "Zijbalk" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "In zijbalk tonen" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "Hoeveelheid taken tonen" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "Breedte zijbalk" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "Lijstweergave voor filters" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "Filters in een eenvoudige lijst tonen i.p.v. een tabel" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "Je kan je weergaves sorteren door drag-'n-drop" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "Taakinstellingen" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "Onmiddellijk afronden" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "Afronden met mogelijkheid ongedaan te maken" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "Taakafrondingsmodus" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "Bepaal hoe taken zich gedragen wanneer ze afgerond worden" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "Prioriteit 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "Prioriteit 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "Prioriteit 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "Standaardprioriteit" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "Afgeronde taken doorstrepen" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "Begin" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "Positie nieuwe taken" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "Afgeronde subtaken altijd tonen" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "Houd alle afgeronde subtaken zichtbaar zonder ze in te klappen" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "Tint afgeronde taak" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "Geluid afspelen bij afronden van taken" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "Taken in zijbalk openen" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" "Taakdetails als weergeven in de zijbalk i.p.v. de lijstweergave te vergroten." #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "Concentratiemodus één taak" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "Altijd slechts één taak tegelijk uitgeklapt houden in lijstweergave" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "Markdown-formattering inschakelen" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" "Of Markdown-ondersteuning in taken in- of uitgeschakeld dient te worden" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "Zijbalk met details altijd tonen" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" "Houd de zijbalk altijd zichtbaar om eenvoudiger te wisselen tussen taken, " "zodat je deze niet steeds opnieuw moet openen" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "Spellingscontrole inschakelen" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "Spelling in taakbeschrijvingen en -notities controleren" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "Ingeschakeld" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "Automatische herinneringen" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" "Wanneer ingeschakeld zal er standaard een herinnering ingesteld worden " "vooraleer de deadline van de taak afloopt." #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "Voorkeuren" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "Synchroniseer met je favoriete providers" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "De pagina instellen die getoond wordt bij het opstarten" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "Planify naar wens aanpassen" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "Pas de zijbalk aan" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "Taken van eender waar toevoegen" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "Back-up maken of migreren van Planner." #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "Voorbeeldproject aanmaken" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "Leer stap voor stap hoe de applicatie werkt via een voorbeeldproject" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "Wil je me trakteren op een koffie?" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "Probleem rapporteren of uitbreiding aanvragen" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "Deel bugs of ideeën via GitHub" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "Geraak betrokken" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "Bereik ons" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "Contacteer ons" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "Stel een nieuwe functionaliteit voor of stel ons een vraag" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "Tweet ons" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "Deel in de liefde" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "Discord" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "Bespreek en deel je feedback" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodon" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "Privacy" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "Privacy-verklaring" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "We weten niets over jou" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "App-data verwijderen" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "Een voorbeeldproject werd aangemaakt" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "Alle data verwijderen?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "Verwijdert permanent al je lijsten, taken, en herinneringen" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "Samenvatting" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "Meer tonen" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "Deze week" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "Deze maand" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "Over tijd" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "Project aanmaken" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "Project bewerken" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "Geef je project een naam" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "Emoji gebruiken" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "Project toevoegen" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "Project bewerken" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "Project met succes toegevoegd!" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "Verplaatsen" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "Snel zoeken" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" "Schakel snel tussen projecten en weergaves, vind taken terug, of zoek op " "labels" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "Nieuwe onderverdeling" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "Onderverdeling bewerken" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "Naam onderverdeling" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "Onderverdeling toevoegen" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "Onderverdeling bewerken" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "Onderverdeling toegevoegd" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "Zijbalk tonen/verbergen" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "Losmaken" # # c-format #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "Afgewerkt. Volgende datum: %s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "Subtaak toevoegen" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "Bewerken" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "Dupliceren" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "Taak verwijderen" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "Volgorde aangepast naar 'Aangepaste volgorde'" # # c-format #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s werd verwijderd" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "Ongedaan maken" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "Subtaken toevoegen" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "Subtaken verbergen" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "Subtaken tonen" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "Als opmerking gebruiken" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "Naar klembord kopiëren" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "Bijlagen toevoegen" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "Details verbergen" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "Titel" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "Eigenschappen" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "Ben je zeker dat je wilt verwijderen?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "Label verwijderen" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "Sortering van projecten aangepast naar 'Aangepaste volgorde'" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "Uit favorieten verwijderen" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "Aan favorieten toevoegen" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "Herladen" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "Project verwijderen" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "Delen" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "Per e-mail verzenden" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "Taken toevoegen" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "Meer ophalen" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "afgeronde taken" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "Onderverdeling verplaatsen" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "Volgorde onderverdelingen beheren" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "Afgeronde taken tonen" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "Onderverdeling verwijderen" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "Favorieten" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" "Geen favorieten beschikbaar. Maak er één aan door op de '+'-knop te drukken" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "Account toevoegen" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "Zijbalk personaliseren" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "Naar Vandaag navigeren" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "Naar Gepland navigeren" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "Naar Labels navigeren" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "Naar Prikbord navigeren" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" "Geen project beschikbaar. Maak er één aan door op de '+'-knop te klikken" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "Accountmigratie vereist" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "Hoofdmenu" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "Snel zoeken openen" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "Over Planify" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "Oeps! Er is iets gebeurd" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "Taak afgewerkt" #: src/MainWindow.vala:825 msgid "View" msgstr "Weergave" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "Integriteitscheck database mislukt" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" "We hebben problemen gedetecteerd met de databasestructuur die ervoor kunnen " "zorgen dat de applicatie niet goed werkt. Dit kan te wijten zijn aan " "ontbrekende tabellen of kolommen en is waarschijnlijk te wijten aan " "corruptie of een onvolledige update. \n" "\n" "De database zal nu opnieuw ingesteld worden, en alle bestaande data wordt " "verwijderd. \n" "\n" "Hierna kan je één van je vorige back-ups terugzetten. Bedankt voor je geduld." #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "Database opnieuw instellen" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "Back-up verwijderen" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "Back-up met succes geïmporteerd" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "Planify zal nu herstarten om de wijzigingen door te voeren" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "Nu herstarten" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "Back-up-bestanden van Planify" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "10 minuten uitstellen" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "30 minuten uitstellen" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "1 uur uitstellen" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "Optiemenu bekijken" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "Voeg enkele taken toe" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "Druk op 'a' om een nieuwe taak aan te maken" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "Alle taken afgewerkt!" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "Goed gedaan, er is niets meer te doen 🎉" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "taken" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "Afgeronde taak verwijderen" msgstr[1] "Afgeronde taken verwijderen" # # c-format #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "Dit zal %d afgeronde taak en de bijhorende subtaken verwijderen" msgstr[1] "Dit zal %d afgeronde taken en de bijhorende subtaken verwijderen" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "Geen labels beschikbaar. Maak er één aan via de '+'-knop" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "Opmerking" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "Inplannen" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "Wanneer?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "Voeg enkele taken toe. Druk op 'a' om een nieuwe taak aan te maken" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "Projectacties" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "Nieuwe taak" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "Deadline project" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "Selecteren" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "Plakken" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "Alles uitklappen" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "Nieuw" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "Alles inklappen" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "Lijst" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "Bord" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "Sortering" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "Aangepaste volgorde" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "Datum ingesteld" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "Oplopende volgorde" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "Deadline" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "Alles (standaard)" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "Volgende 7 dagen" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "Volgende 30 dagen" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "P1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "P2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "P3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "P4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "Op label filteren" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "Afgeronde taken weergeven" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "Afgeronde taken in de lijst weergeven" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "Afgeronde taken doorzoeken" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "Sorteren op" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "Uitstellen" #: src/Views/Today.vala:761 msgid "Me" msgstr "Ik" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "Bijlagen" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "Openen" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "Nog geen bijlagen. Voeg deze hier toe." #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "Locatieoplossing omzeilen" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" "Werk rond CalDAV-verbindingsproblemen heen bij gebruik van connecties met " "poorten die niet standaard zijn" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "Waarschuwing" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" "Dit zal het CalDAV-oplossingsproces uitschakelen.\n" "Ga op eigen risico verder" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "Toch doorgaan" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "Subtaken" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "Meer tonen" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "Minder tonen" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "Probleem rapporteren" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "Accountmigratie vereist." #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "In %d minuut" msgstr[1] "In %d minuten" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "In %d uur" msgstr[1] "In %d uren" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "Vindt nu plaats" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "Locatie" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "Organisator" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "URL" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Kalender" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "Toetreden" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "Validatie SSL-certificaten uitschakelen" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "Niet aangeraden – stelt je bloot aan veiligheidsrisico's" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" "Dit zal SSL-validatie uitschakelen en stelt je bloot aan aanvallen.\n" "Ga verder op eigen risico" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "Taak opnieuw geopend" # # c-format #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "Taak verplaatst naar project" # # c-format #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "Taak verplaatst naar" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "Vorige" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "Vastgeprikt: Actief" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "Vastgeprikt: Inactief" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "Afgewerkt op" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "Naar project verplaatsen" # Assumed error "Mask" -> "Mark" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "Als afgerond markeren" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "Taak verwijderen" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "Ben je zeker dat je deze taak wil verwijderen?" # # c-format #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "%d taak verwijderen" msgstr[1] "%d taken verwijderen" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "Ben je zeker dat je deze %d taak wil verwijderen?" msgstr[1] "Ben je zeker dat je deze %d taken wil verwijderen?" # # c-format #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "Taak verplaatst naar %s" msgstr[1] "%d taken verplaatst naar %s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "Nieuwe versie beschikbaar!" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" "Werk nu bij om de laatste verbeteringen, bugfixes en nieuwe functies te " "verkrijgen die Planify nog beter maken" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "Nu bijwerken" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "Negeren" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "Dearchiveren" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "Nog geen subtaken. Voeg er nu één toe!" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "Verbinden met server mislukt" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" "Het lijkt erop dat je niet online bent.\n" "Aanpassingen wanneer offline worden\n" "gesynchroniseerd zodra je terug online bent." #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "%s is %.0f%% compleet. Je kan helpen deze compleet te maken!" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "Vertalingen" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "Help Planify wereldwijd beschikbaar te maken" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "Help met verbeteren van vertalingen" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "Een nieuwe vertaling starten" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" "%s is nog niet beschikbaar. Wees de eerste om ernaar te vertalen!" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "Planify - Snel Toevoegen" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "Overal gebruikt" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "Nieuwe taak aanmaken" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "Onopgemaakte tekst plakken om nieuwe taak aan te maken" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "Nieuw project aanmaken" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "Nieuwe onderverdeling in een project aanmaken" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "Zoeken" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "Snel zoeken weergeven" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "Vensters beheren" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "Afsluiten" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Voorkeuren weergeven" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "Zijbalk tonen/verbergen" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "Sneltoetsen weergeven" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "Navigeren" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "Homepagina weergeven" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "Postvak weergeven" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "Vandaag weergeven" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "Gepland weergeven" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "Labels weergeven" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "Prikbord weergeven" #~ msgid "Advanced Options" #~ msgstr "Geavanceerde instellingen" #~ msgid "Server URL examples:" #~ msgstr "Server-URL voorbeelden:" #~ msgid "- https://cloud.example.com/" #~ msgstr "- https://cloud.voorbeeld.com/" #~ msgid "- https://example.com/nextcloud/" #~ msgstr "- https://voorbeeld.com/nextcloud/" #~ msgid "Token" #~ msgstr "Token" #~ msgid "How to get your token?" #~ msgstr "Hoe krijg je jouw token?" #~ msgid "2. Find 'API token' and copy your token" #~ msgstr "Zoek 'API token' en kopieer deze" #~ msgid "Connect with Token" #~ msgstr "Verbind met Token" #~ msgid "" #~ "Planify is being developed with love and passion for open source. " #~ "However, if you like Planify and want to support its development, please " #~ "consider supporting us." #~ msgstr "" #~ "Planify wordt met liefde en een passie voor open-source ontwikkeld. Als " #~ "je de ontwikkeling van Planify graag wil steunen, gelieve ons dan te " #~ "steunen." #~ msgid "Donate Now" #~ msgstr "Nu doneren" #~ msgid "Enter token" #~ msgstr "Token invoeren" #~ msgid "Please Enter Your Credentials" #~ msgstr "Gelieve je aanmeldgegevens in te voeren" #~ msgid "Loading…" #~ msgstr "Laden…" #~ msgid "Network Is Not Available" #~ msgstr "Netwerk is niet beschikbaar" #~ msgid "Set a Due Date" #~ msgstr "Stel een deadline in" #~ msgid "Set a Deadline" #~ msgstr "Stel een deadline in" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "" #~ "Laat Planify op de achtergrond draaien om meldingen te kunnen sturen" #~ msgid "Whether Planify should run on startup" #~ msgstr "Of Planify mee moet opstarten met het systeem" #~ msgid "Clear" #~ msgstr "Wissen" #~ msgid "Menu" #~ msgstr "Menu" #~ msgid "Add Time" #~ msgstr "Tijd instellen" #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "Wil je herinnerd worden bij belangrijke taken of gebeurtenissen? Klik " #~ "onderaan op de bel-knop om een herinnering in te stellen." #, c-format #~ msgid "Processing task %d of %d" #~ msgstr "Taak %d van %d wordt verwerkt" # Assumed error "Planner" -> "Planify" and "is sync" -> "is syncing" #, fuzzy #~ msgid "Planify is syncing your tasks, this may take a few minutes" #~ msgstr "" #~ "Planify synchroniseert momenteel je taken, dit kan enkele minuten in " #~ "beslag nemen" #~ msgid "Todoist Sync" #~ msgstr "Todoist-synchronisatie" #~ msgid "Loading" #~ msgstr "Aan het laden" # Assumed error "Planner" -> "Planify" and "is sync" -> "is syncing" #~ msgid "Planner is sync your tasks, this may take a few minutes" #~ msgstr "Planner synchroniseert je taken, dit kan enkele minuten duren" #~ msgid "Please enter your credentials" #~ msgstr "Gelieve je aanmeldgegevens in te geven" # # c-format #, c-format #~ msgid "Every %d minutes" #~ msgstr "Elke %d minuten" # # c-format #, c-format #~ msgid "Every %d hours" #~ msgstr "Elke %d uren" # # c-format #, c-format #~ msgid "Every %d days" #~ msgstr "Elke %d dagen" # # c-format #, c-format #~ msgid "Every %d weeks" #~ msgstr "Elke %d weken" # # c-format #, c-format #~ msgid "Every %d months" #~ msgstr "Elke %d maanden" # # c-format #, c-format #~ msgid "Every %d years" #~ msgstr "Elke %d jaren" # # c-format #, c-format #~ msgid "" #~ "This will delete %d completed tasks and their subtasks from project %s" #~ msgstr "" #~ "Dit zal %d afgeronde taken en alle onderliggende subtaken uit project %s " #~ "verwijderen" # # c-format #, c-format #~ msgid "Load more history from %d weeks ago…" #~ msgstr "Meer geschiedenis van %d weken geleden laden…" #, fuzzy #~ msgid "Delete Completed Tasks" #~ msgstr "Alle afgeronde taken verwijderen" # # c-format #, c-format #~ msgid "This will delete %d completed tasks and their subtasks" #~ msgstr "Dit zal %d afgeronde taken en alle bijhorende subtaken verwijderen" # # c-format #, c-format #~ msgid "Delete %d To-Dos" #~ msgstr "%d taken verwijderen" # # c-format #, c-format #~ msgid "Are you sure you want to delete these %d to-dos?" #~ msgstr "Weet je zeker dat je deze %d taken wil verwijderen?" #, fuzzy #~ msgid "Backup" #~ msgstr "Back-ups" #~ msgid "Task Setting" #~ msgstr "Taakinstelling" #~ msgid "Personal Data" #~ msgstr "Persoonlijke gegevens" #~ msgid "" #~ "We collect absolutely nothing and all your data is stored in a database " #~ "on your computer." #~ msgstr "" #~ "We verzamelen helemaal niets en al je data wordt lokaal op je computer " #~ "bewaard in een database." #~ msgid "" #~ "If you choose to integrate Todoist, which is optional and not selected by " #~ "default, your data will be stored on their private servers, we only " #~ "display your configured tasks and manage them for you." #~ msgstr "" #~ "Als je ervoor kiest Todoist te gebruiken, wat optioneel en standaard niet " #~ "het geval is, zal je data op hun privé-servers bewaard worden; we tonen " #~ "en beheren je taken in dat geval enkel." #~ msgid "Do you have any questions?" #~ msgstr "Heb je nog vragen?" #~ msgid "" #~ "If you have any questions about your data or any other issue, please " #~ "contact us. We will be happy to answer you." #~ msgstr "" #~ "Als je nog vragen hebt over je data of een ander probleem, gelieve ons te " #~ "contacteren. We helpen je graag verder." #~ msgid "Supporting Us" #~ msgstr "Ons steunen" #~ msgid "" #~ "Our mission is to provide the best open source task management " #~ "application for users all over the world. Your donations support this " #~ "work. Want to donate today?" #~ msgstr "" #~ "Onze missie is om de beste open-source taakbeheerder voor alle gebruikers " #~ "overal ter wereld te bieden. Jouw donaties helpen ons hiermee. Wil je " #~ "vandaag al doneren?" #~ msgid "Support Planify" #~ msgstr "Steun Planify" #, fuzzy #~ msgid "Clear Schedule" #~ msgstr "Inplannen" #~ msgid "Stay open after creating task" #~ msgstr "Blijf open na het toevoegen van taak" #~ msgid "Process completed, you need to start Planify again" #~ msgstr "Proces afgerond, gelieve Planify opnieuw op te starten" #~ msgid "Task Detail" #~ msgstr "Details taak" #~ msgid "Create a new to-do" #~ msgstr "Creëer een nieuwe taak" #~ msgid "Tag your to-dos!" #~ msgstr "Label je taken!" #~ msgid "What’s new in Planify" #~ msgstr "Wat is er nieuw in Planify" #~ msgid "Inbox as Independent Project" #~ msgstr "Inbox als onafhankelijk project" #~ msgid "" #~ "The Inbox is the default place to add new tasks, allowing you to quickly " #~ "get your ideas out of your head and then plan them when you’re ready." #~ msgstr "" #~ "De Inbox is de eerste plaats om nieuwe taken toe te voegen, zodat je " #~ "nieuwe ideeën snel kan neerschrijven en deze op een later moment kan " #~ "inplannen." #~ msgid "Enhanced Task Duplication" #~ msgstr "Verbeterde duplicatie taken" #~ msgid "" #~ "When you duplicate a task now, all subtasks and labels are automatically " #~ "duplicated, saving you time and effort in managing your projects." #~ msgstr "" #~ "Om tijd en moeite te besparen zullen alle subtaken en labels nu ook mee " #~ "gedupliceerd worden wanneer je een taak dupliceert." #~ msgid "Duplication of Sections and Projects" #~ msgstr "Dupliceren van onderverdelingen en projecten" #~ msgid "" #~ "You can now easily duplicate entire sections and projects, making it " #~ "easier to create new projects based on existing structures." #~ msgstr "" #~ "Om het eenvoudiger te maken om nieuwe projecten te maken die gebaseerd " #~ "zijn op bestaande structuren kan je nu eenvoudig volledige " #~ "onderverdelingen en projecten dupliceren." #~ msgid "Project Expiry Date" #~ msgstr "Afloopdatum project" #~ msgid "" #~ "Your project’s expiry date now clearly shows the remaining days, helping " #~ "you keep track of your deadlines more effectively." #~ msgstr "" #~ "Om je te helpen bij het opvolgen van je deadlines, toont de verloopdatum " #~ "van je project nu duidelijk het resterende aantal dagen." #~ msgid "Archiving of Projects and Sections" #~ msgstr "Archiveren van projecten en onderverdelingen" #~ msgid "" #~ "You can now archive entire projects and sections! This feature helps you " #~ "keep your workspace organized and clutter-free." #~ msgstr "" #~ "Je kan nu volledige projecten en onderverdelingen archiveren! Deze " #~ "mogelijkheid helpt je bij het organiseren en overzichtelijk houden van je " #~ "werkruimte." #~ msgid "What's New" #~ msgstr "Wat is er nieuw" #~ msgid "Are you sure you want to reset all? (y/n): " #~ msgstr "Weet je zeker dat je alles opnieuw wil instellen? (j/n): " #~ msgid "y" #~ msgstr "j" #~ msgid "yes" #~ msgstr "ja" #~ msgid "Couldn't find an app to handle file URIs" #~ msgstr "Kon geen applicatie terugvinden om bestands-URI's mee te openen" #~ msgid "Planify" #~ msgstr "Planify" #~ msgid "Add" #~ msgstr "Toevoegen" #~ msgid "" #~ "Up to 3 tasks can be pinned and they will appear at the top of the " #~ "project page" #~ msgstr "" #~ "Tot 3 taken kunnen vastgemaakt worden en zullen bovenaan de projectpagina " #~ "getoond worden" #~ msgid "No Provider Available" #~ msgstr "Geen provider beschikbaar" #~ msgid "Go to Inbox" #~ msgstr "Naar Inbox navigeren" #~ msgid "Order by" #~ msgstr "Sorteren op" #~ msgid "Integrations" #~ msgstr "Integraties" #~ msgid "Wait 2500 Milliseconds" #~ msgstr "2500 milliseconden wachten" #~ msgid "Complete Task" #~ msgstr "Taak afronden" #~ msgid "" #~ "Complete your to-do instantly or wait 2500 milliseconds with the undo " #~ "option" #~ msgstr "" #~ "Taken onmiddellijk afronden of een vertraging van 2500 milliseconden " #~ "gebruiken met optie om deze ongedaan maken?" #~ msgid "Top" #~ msgstr "Bovenaan" #~ msgid "Bottom" #~ msgstr "Onderaan" #~ msgid "Create More" #~ msgstr "Nog één aanmaken" #~ msgid "App Theme" #~ msgstr "Applicatiethema" # # c-format #, c-format #~ msgid "Task moved to: %s" #~ msgstr "Taak verplaatst naar: %s" #~ msgid "Telegram" #~ msgstr "Telegram" #~ msgid "Matrix Room" #~ msgstr "Matrix-ruimte" #~ msgid "Attention at One" #~ msgstr "Attentie vragen bij één" # Maybe just "Hinzufügen" because of space issues #~ msgid "Add To-Do" #~ msgstr "Taak toevoegen" #~ msgid "Nextcloud Setup" #~ msgstr "Nextcloud-configuratie" #~ msgid "Offline Mode Is On" #~ msgstr "Offline-modus is ingeschakeld" #~ msgid "Provider" #~ msgstr "Provider" #~ msgid "Pinned" #~ msgstr "Vastgeprikt" #~ msgid "View Details" #~ msgstr "Details weergeven" #~ msgid "All" #~ msgstr "Alle" #~ msgid "Attach File" #~ msgstr "Bijlage toevoegen" #~ msgid "Hide Completed Tasks" #~ msgstr "Afgeronde taken verbergen" #~ msgid "CalDAV - " #~ msgstr "CalDAV - " #~ msgid "On this Computer" #~ msgstr "Op deze computer" #~ msgid "Labels: On This Computer" #~ msgstr "Labels: Op deze computer" #~ msgid "Labels: Todoist" #~ msgstr "Labels: Todoist" #~ msgid "Labels: Nextcloud" #~ msgstr "Labels: Nextcloud" #~ msgid "Synchronize with your Todoist Account" #~ msgstr "Synchroniseer met je Todoist-account" #~ msgid "Synchronization based on open Internet standards" #~ msgstr "Synchronisatie gebaseerd op open internetstandaarden" # Assumed error "Planner" -> "Planify" #~ msgid "" #~ "Activate this setting so that Planify automatically synchronizes with " #~ "your CalDAV account every 15 minutes" #~ msgstr "" #~ "Activeer deze instelling om Planify elke 15 minuten automatisch te laten " #~ "synchroniseren met je CalDAV-account" #~ msgid "Failed to login" #~ msgstr "Aanmelden mislukt" #~ msgid "" #~ "Are you sure you want to remove the Todoist sync? This action will delete " #~ "all your tasks and settings." #~ msgstr "" #~ "Weet je zeker dat je de Todoist-synchronisatie wil uitschakelen? Dit zal " #~ "al je taken en instellingen verwijderen." #~ msgid "" #~ "Are you sure you want to remove the CalDAV sync? This action will delete " #~ "all your tasks and settings." #~ msgstr "" #~ "Weet je zeker dat je de CalDAV-synchronisatie wil uitschakelen? Dit zal " #~ "al je taken en instellingen verwijderen." #~ msgid "Sign Off" #~ msgstr "Afmelden" #~ msgid "CalDAV Setup" #~ msgstr "CalDAV-setup" #~ msgid "Underline Completed Tasks" #~ msgstr "Afgeronde taken onderstrepen" #~ msgid "Items" #~ msgstr "Items" #~ msgid "Tasks Synced Successfully" #~ msgstr "Taken met succes gesynchroniseerd" #~ msgid "Do you want to use Todoist as your default Inbox Project?" #~ msgstr "Wil je Todoist gebruiken als je standaardproject voor de Inbox?" # # c-format #~ msgid "Are you sure you want to delete %s?" #~ msgstr "Ben je zeker dat je %s wil verwijderen?" #~ msgid "Custom Sorting in Today View" #~ msgstr "Aangepaste volgorde" #~ msgid "Efficient Management of Completed Tasks" #~ msgstr "Afgeronde taken onderstrepen" #~ msgid "New filters available in Quick Add." #~ msgstr "Nieuwe filters beschikbaar in Snel toevoegen." #~ msgid "All your repeating to-dos in one, convenient place (finally!)." #~ msgstr "Al je terugkerende taken op één handige plaats (eindelijk!)" #~ msgid "A nice focused list to plan tomorrow, today." #~ msgstr "Een mooie gefocuste lijst om morgen vandaag te plannen." #~ msgid "All your unlabel to-dos in one place." #~ msgstr "Al je ongelabelde taken op één plaats." #~ msgid "Search by Sections" #~ msgstr "Op onderverdelingen zoeken" #~ msgid "Quick Find now supports section searching." #~ msgstr "Snel zoeken ondersteunt nu het zoeken naar onderverdelingen." #~ msgid "" #~ "The process removes all stored information without the possibility of " #~ "undoing it" #~ msgstr "" #~ "Dit proces verwijdert alle opgeslagen informatie zonder mogelijkheid om " #~ "dit ongedaan te maken" #~ msgid "Delete project" #~ msgstr "Project verwijderen" #~ msgid "Delete label" #~ msgstr "Label verwijderen" #~ msgid "Move tasks" #~ msgstr "Taken verplaatsen" # # c-format #~ msgid "Are you sure you want to move your task to %s?" #~ msgstr "Weet je zeker dat je je taak naar %s wil verplaatsen?" #~ msgid "Add subtask" #~ msgstr "Subtaak toevoegen" #~ msgid "New look" #~ msgstr "Nieuwe look" #~ msgid "" #~ "The design has been improved and new icons have been added making the " #~ "user interface simpler to understand and use.." #~ msgstr "" #~ "Het design is verbeterd en nieuwe icoontjes werden toegevoegd zodat de " #~ "gebruikersinterface makkelijker te begrijpen en gebruiken is." #~ msgid "pinboard" #~ msgstr "prikbord" #~ msgid "Add reminder(s)" #~ msgstr "Herinnering(en) toevoegen" #~ msgid "To-do added" #~ msgstr "Aufgabe hinzugefügt" #~ msgid "Press 'a' or tap the plus button to create a new to-do" #~ msgstr "" #~ "Drücke 'a' oder tippe auf den Plus-Knopf, um eine neue Aufgabe zu " #~ "erstellen." #~ msgid "Google Tasks" #~ msgstr "Google Tasks" #~ msgid "No to-dos for this filter yet" #~ msgstr "Keine Aufgaben für diesen Filter vorhanden" #~ msgid "Synchronize with your Google Account" #~ msgstr "Mit deinem Google Account synchronisieren" #~ msgid "" #~ "Are you sure you want to remove the Google Tasks sync? This action will " #~ "delete all your tasks and settings." #~ msgstr "" #~ "Bist du sicher, dass du die Google Tasks-Synchronisierung entfernen " #~ "möchtest? Dadurch werden alle deine Aufgaben und Einstellungen gelöscht." alainm23-planify-69962f8/po/nn.po000066400000000000000000002511001517337276100164630ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:59+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Norwegian Nynorsk \n" "Language: nn\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/pa.po000066400000000000000000002510651517337276100164620ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:02+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Punjabi \n" "Language: pa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/pl.po000066400000000000000000002652731517337276100165030ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: alainmh23@gmail.com\n" "POT-Creation-Date: 2025-11-02 17:57+0000\n" "PO-Revision-Date: 2026-03-31 12:10+0000\n" "Last-Translator: Krzysztof Raczkowski \n" "Language-Team: Polish \n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" "X-Generator: Weblate 5.17-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Projekty" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Sekcje" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Zadania" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Etykiety" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Filtry" #: core/Enum.vala:186 msgid "Lists" msgstr "Listy" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "Nie powtarzaj" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Co minutę" msgstr[1] "Co %d minuty" msgstr[2] "Co %d minut" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Co godzinę" msgstr[1] "Co %d godziny" msgstr[2] "Co %d godzin" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Codziennie" msgstr[1] "Co %d dni" msgstr[2] "Co %d dni" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Co tydzień" msgstr[1] "Co %d tygodnie" msgstr[2] "Co %d tygodni" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Co miesiąc" msgstr[1] "Co %d miesiące" msgstr[2] "Co %d miesięcy" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Co rok" msgstr[1] "Co %d lata" msgstr[2] "Co %d lat" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Priorytet" #: core/Enum.vala:348 msgid "Label" msgstr "Etykieta" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Termin" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Sekcja" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "Zadanie" #: core/Enum.vala:469 msgid "Task Created" msgstr "Zadanie utworzone" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Zadanie zaktualizowane" #: core/Enum.vala:528 msgid "Content" msgstr "Treść" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Opis" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Zaplanowane" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Przypnij" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Wszystkie zadania" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "wszystkie zadania" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "wszystko" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "Kiedykolwiek" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "kiedykolwiek" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "filtry" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "bez daty" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Zakończone" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "zakończone" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "dziennik" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Skrzynka odbiorcza" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "skrzynka odbiorcza" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "etykiety" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Tablica" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Priorytet 1: wysoki" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Priorytet 2: średni" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Priorytet 3: niski" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Priorytet 4: brak" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "wysoki" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "średni" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "niski" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "brak" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Powtarzanie" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "powtarzanie" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "zaplanowane" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "nadchodzące" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Dzisiaj" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "dzisiaj" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Jutro" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "jutro" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "data" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Bez etykiety" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "bez etykiety" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "nieoznaczone" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Zadanie skopiowane do schowka" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "Zadanie przeniesione do %s" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Usuń etykietę %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Tej czynności nie można cofnąć" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Anuluj" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Usuń" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "Projekt został skopiowany do schowka." #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "Usunąć projekt %s?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "Zarchiwizować?" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "To zarchiwizuje %s i wszystkie jego zadania." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "Zarchiwizuj" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Usuń sekcję %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "Pomyślnie dodano zadanie!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Nazwa zadania" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "To pole jest wymagane" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Dodaj opis…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "Ustaw datę" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Dodaj etykiety" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Ustaw priorytet" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Dodaj przypomnienia" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Dodaj zadanie" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "Kontynuuj dodawanie" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Wybierz projekt" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "Przykro mi, szybkie dodawanie nie może znaleźć żadnego dostępnego projektu. " "Spróbuj utworzyć projekt w Planify." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Skróty klawiszowe" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "Przyśpiesz tworzenie zadań z tymi skrótami" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "Ustaw priorytet" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = najwyższy, p4 = najniższy" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "Dodaj etykiety" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "Otwórz wybór etykiet" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "Przypisz projekt" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "Otwórz wybór projektów" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "Ustaw przypomnienie" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "Otwiera opcje przypomnienia" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "Okno pozostanie otwarte po utworzeniu zadania" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "Wskazówka" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "Twórz zadania szybciej, wpisując skróty bezpośrednio w tytule" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "Wczytywanie zadań dla %s…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "Wczytano zadania dla %s…" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "Synchronizacja zadania %d z %d" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "Źródło już istnieje" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "Nie można odnaleźć głównego adresu url" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "Rozpoczęto synchronizację…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "Synchronizuję %s…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "Synchronizacja ukończona" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "Na tym komputerze" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" "Todoist zaktualizował swoje API. Połącz swoje konto ponownie w " "Preferencjach, aby synchronizować." #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "Błędne zapytanie." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "Błąd uwierzytelniania: brak poświadczeń lub dane są nieprawidłowe." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "Żądanie jest poprawne, ale dostęp do zasobu jest zabroniony." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "Szukany element nie został znaleziony." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "Przekroczono limit zapytań w danym przedziale czasowym." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "Wystąpił błąd serwera podczas przetwarzania żądania." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "Usługa jest chwilowo niedostępna." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "Nieznany błąd" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "Wczoraj" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "dni" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "dzień" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "%s %s temu" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Pn," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Wt," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "Śr," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Cz," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Pt," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "So," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "Nd," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "w %d dzień" msgstr[1] "w %d dni" msgstr[2] "w %d dni" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d dzień temu" msgstr[1] "%d dni temu" msgstr[2] "%d dni temu" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "%a, %b %-e, %Y" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "%b %-e %Y" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "%b %-e" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "%a %Y" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "%a" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "%a, %b %-e" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "%b" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Fuksja" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Czerwony" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Pomarańczowy" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Żółty" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Oliwkowy" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Limonkowy" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Zielony" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "Miętowy" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Turkusowy" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "Błękitny" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Jasnoniebieski" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Niebieski" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Winogronowy" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Fioletowy" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Liliowy" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "Różowy" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "�ososiowy" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "Grafitowy" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Szary" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "Beżowy" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Jasny" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Ciemny" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Granatowy" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Żaden" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Dzisiaj + Skrzynka odbiorcza" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Usuń wszystko" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "Przetwarzanie zakończone, należy zrestartować Planify." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "Ok" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "Na tym komputerze" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Poznaj Planify" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "Ten projekt zawiera wszystkie informacje niezbędne do szybkiego rozpoczęcia " "pracy. Zachęcamy do testowania jego funkcji – w każdej chwili możesz go " "przywrócić w Preferencjach." #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "Zaznacz to zadanie" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" "Spoglądasz na element listy zadań. Ukończ go, klikając checkbox po lewej. " #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "Utwórz nowe zadanie" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Twoja kolej! Użyj przycisku '+' na dole, wpisz opis zadania i zapisz je " "przyciskiem 'Dodaj zadanie'." #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "Zaplanuj wykonanie na dziś lub inny termin" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "Użyj przycisku kalendarza na dole, by zaplanować termin wykonania." #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "Uporządkuj swoje zadania" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "Aby zmienić kolejność zadań na liście, przytrzymaj jedno z nich, a następnie " "przeciągnij je w wybrane miejsce." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Utwórz projekt" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "Zorganizuj swoje zadania jeszcze lepiej! Przejdź do lewego panelu, kliknij " "przycisk '+' w sekcji 'Na tym komputerze' i dodaj własny projekt." #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "Gotowe!" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "To już wszystko, co musisz wiedzieć na początek. Możesz śmiało dodawać " "własne projekty i zadania.\n" "Możesz wrócić do tego projektu później, aby poznać zaawansowane funkcje " "opisane poniżej.\n" "Dobrej zabawy z Planify!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "Dostosuj aplikację do siebie" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Wyświetlaj wydarzenia kalendarza" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "Możesz wyświetlać wydarzenia z kalendarza systemowego bezpośrednio w " "Planify. Przejdź do sekcji 'Ustawienia' 🡒 Ogólne 🡒 Wydarzenia kalendarza, " "aby włączyć tę funkcję." #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "Synchronizuj z zewnętrznymi kontami" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "Planify nie tylko tworzy zadania lokalnie, ale może również synchronizować " "się z Twoim kontem Todoist. Przejdź do sekcji 'Ustawienia' 🡒 'Konta'." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "Pracuj wydajniej" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "Chwyć i przesuń przycisk '+'!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "Ten niebieski przycisk na dole ekranu ma większe możliwości, niż mogłoby się " "wydawać: stworzono go do przesuwania! Przeciągnij go w miejsce, w którym " "chcesz dodać nowe zadanie." #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "Dodawaj etykiety do swoich zadań!" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "Etykiety pomagają porządkować i kategoryzować zadania. Aby dodać etykietę, " "kliknij przycisk etykiety." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "Otrzymuj przypomnienia w odpowiednim momencie!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" "Otrzymuj powiadomienia o ważnych zadaniach lub wydarzeniach. Dotknij ikony " "zegara poniżej, aby dodać przypomnienie." #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼Praca" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒Szkoła" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉Zlecone" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "�Dom" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀��W toku" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Zadanie zduplikowane" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Sekcja zduplikowana" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Projekt zduplikowany" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "W terminie" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 minut przed" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 minut przed" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 minut przed" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 godzinę przed" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 godziny przed" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 godziny przed" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "Wstecz" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "Poprzedni miesiąc" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "Do przodu" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "Następny miesiąc" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "Poprzedni miesiąc, %s" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "Następny miesiąc, %s" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Wybierz datę" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "Nd" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Pn" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Wt" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "Śr" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Cz" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Pt" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "So" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Godzina" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "do" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "powtarzaj" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "razy" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "raz" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Powtarzaj" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "Wpisz datę…" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "Następny tydzień" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "Zapisz" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Codziennie" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "W dni robocze" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "W weekendy" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Co tydzień" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Co miesiąc" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Co rok" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "Niestandardowe" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "Zadanie przeniesione do %s" msgstr[1] "%d zadania przeniesione do %s" msgstr[2] "%d zadań przeniesionych do %s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" #, c-format #~ msgid "Every %d minutes" #~ msgstr "Co %d minut" #, c-format #~ msgid "Every %d hours" #~ msgstr "Co %d godz" #, c-format #~ msgid "Every %d days" #~ msgstr "Co każde %d dni" #, c-format #~ msgid "Every %d weeks" #~ msgstr "Co każde %d tygodnie" #, fuzzy, c-format #~ msgid "Every %d months" #~ msgstr "Co %d miesiąc" #, fuzzy, c-format #~ msgid "Every %d years" #~ msgstr "Co %d lat" alainm23-planify-69962f8/po/pt_BR.po000066400000000000000000003506111517337276100170650ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: alainmh23@gmail.com\n" "POT-Creation-Date: 2025-11-02 17:57+0000\n" "PO-Revision-Date: 2026-04-22 14:09+0000\n" "Last-Translator: Matheus Moura \n" "Language-Team: Portuguese (Brazil) \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.17.1-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Projetos" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Seções" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Tarefas" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Rótulos" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Filtros" #: core/Enum.vala:186 msgid "Lists" msgstr "Listas" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "Não Repetir" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "A cada minuto" msgstr[1] "A cada %d minutos" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "A cada hora" msgstr[1] "A cada %d horas" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "A cada dia" msgstr[1] "A cada %d dias" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Toda semana" msgstr[1] "A cada %d semanas" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Todo mês" msgstr[1] "A cada %d meses" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Todo ano" msgstr[1] "A cada %d anos" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Prioridade" #: core/Enum.vala:348 msgid "Label" msgstr "Rótulo" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Data de vencimento" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Seções" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "Atribuição" #: core/Enum.vala:469 msgid "Task Created" msgstr "Duplicar" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Duplicar" #: core/Enum.vala:528 msgid "Content" msgstr "Contente" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Descrição" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Agendado" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Fixado" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Todas as Tarefas" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "todas as tarefas" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "todos" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "A qualquer momento" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "a qualquer momento" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "filtros" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "sem data" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Concluído" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "concluído" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "registro de eventos" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Caixa de Entrada" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "Caixa de Entrada" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "rótulos" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Quadro de anúncios" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Prioridade 1: alta" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Prioridade 2: média" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Prioridade 3: baixa" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Prioridade 4: nenhuma" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "alto" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "médio" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "baixo" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "nenhum" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Repetindo" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "repetindo" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "agendado" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "por vir" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Hoje" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "hoje" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Amanhã" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "amanhã" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "data" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Sem rótulos" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "sem rótulos" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "sem rótulo" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Tarefa copiada para a área de transferência" # c-format #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "Tarefas adicionadas a %s" # c-format #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Excluir rótulo %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Isso não pode ser desfeito" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Cancelar" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Deletar" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "Este projeto foi copiado para a �rea de Transferência." # c-format #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "Excluir Projeto %s?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "Arquivar?" # # c-format #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "Isto irá arquivar %s e todas suas tarefas." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "Arquivar" # c-format #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Deletar Seção %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "Tarefa adicionada com sucesso!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Nome da tarefa" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "Este campo é obrigatório" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Adicionar uma descrição…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "Definir data" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Adicionar Rótulos" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Defina a Prioridade" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Adicionar Lembretes" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Adicionar Tarefa" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "Continue adicionando" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Selecione um Projeto" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "Sinto muito, o Quick Add não consegue encontrar nenhum projeto disponível, " "tente criar um projeto no Planify." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Atalhos do Teclado" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "Acelere a criação de tarefas com esses atalhos" # # c-format #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "Definir Prioridade" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = mais alto, p4 = mais baixo" #: core/QuickAddCore.vala:1427 #, fuzzy msgid "Add labels" msgstr "Adicionar rótulo(s)" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "Abrir Seletor de Rótulos" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "Atribuir projeto" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "Abre o seletor de projeto" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "Definir lembrete" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "Abrir opções de lembrete" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "Manter aberto após criar tarefa" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "Dica" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "Combine atalhos no campo de título para uma criação rápida" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "Carregando em %s…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "Tarefas carregadas para %s…" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "Sincronizando tarefa %d de %d" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "O arquivo de origem já existe" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "Falha ao resolver URL principal" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "Inicializando a sincronização…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "Sincronizando %s…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "Sincronização completa" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "Neste computador" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" "O Todoist atualizou sua API. Por favor, reconecte sua conta em " "\"Preferências\" para continuar a sincronização." #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "A requisição foi incorreta." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "Autenticação é requerida, mas falhou ou não foi provida ainda." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "A requisição foi válida, mas por algum motivo é proibida." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "O recurso requerido não pôde ser encontrado." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "O usuário mandou muitas requisições em um dado período de tempo." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "A requisição falhou devido a um erro de servidor." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "O servidor não pode processar a requisição no momento." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "Erro desconhecido" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "Ontem" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "dias" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "dia" # # c-format #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "%s %s atrás" # # c-format #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "%s %s restantes" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Seg," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Ter," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "Qua," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Qui," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Sex," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "Sáb," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "Dom," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "em %d dia" msgstr[1] "em %d dias" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d dia atrás" msgstr[1] "%d dias atrás" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Vermelho Baga" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Vermelho" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Laranja" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Amarelo" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Verde Oliva" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Verde Limão" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Verde" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "Verde Menta" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Cerceta" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "Azul Céu" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Azul claro" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Azul" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Verde Uva" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Violeta" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Lavanda" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "Magenta" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "Salmão" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "Carvão" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Cinza" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "Taupe" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Claro" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Escuro" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Azul Escuro" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Nenhum" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Hoje + Caixa de Entrada" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Deletar todos" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "Processo concluído, você precisa iniciar o Planify novamente." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "Ok" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "Neste Computador" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Conheça o Planify" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "Este projeto mostra tudo o que você precisa saber para começar a trabalhar. " "Não hesite em brincar com ele – você sempre pode criar um novo nas " "Preferências." #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "Clique nesta tarefa" #: core/Utils/Util.vala:598 #, fuzzy msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" "Você está olhando para uma tarefa! Conclua tocando na caixa de seleção à " "esquerda. As tarefas concluídas são coletadas na parte inferior do seu " "projeto. " #: core/Utils/Util.vala:603 #, fuzzy msgid "Create a new task" msgstr "Criar uma Nova Tarefa" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Agora é a sua vez, toque no botão ‘+’ na parte inferior do seu projeto, " "insira alguma pendência e toque no botão azul ‘Adicionar tarefa’." #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "Planeje esta tarefa hoje ou mais tarde" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" "Toque no botão de Agendar na parte inferior para decidir quando fazer esta " "tarefa." #: core/Utils/Util.vala:615 #, fuzzy msgid "Reorder your to-dos" msgstr "Reordene suas tarefas" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "Para reordenar sua lista, toque e segure uma tarefa e arraste-a para onde " "ela deveria ir." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Crie um projeto" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "Organize melhor suas tarefas! Vá para o painel esquerdo e clique no botão " "'+' na seção ‘Neste computador’ e adicione seu próprio projeto." #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "Você Terminou!" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "Isso é tudo que você realmente precisa saber. Sinta-se à vontade para " "começar a adicionar seus próprios projetos e tarefas.\n" "\n" "Você pode voltar a este projeto mais tarde para aprender os recursos " "avançados abaixo.\n" "\n" "Esperamos que você goste de usar o Planify!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "Ajuste sua configuração" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Mostre os eventos do seu calendário" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "Você pode exibir os eventos do calendário do seu sistema no Planify. Vá para " "'Preferências' 🡒 Eventos do calendário para ativá-lo." #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "Habilite a sincronização com serviço de terceiros." #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "O Planify não apenas cria tarefas localmente, mas também pode sincronizar " "sua conta Todoist. Vá para 'Preferências' 🡒 'Contas'." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "Aumente sua produtividade" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "Arraste o botão de adição!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "Aquele botão azul que você vê na parte inferior de cada tela é mais poderoso " "do que parece: foi feito para se mover! Arraste-o para criar uma tarefa onde " "quiser." #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "Adicione etiqueta(s) às suas tarefas!" #: core/Utils/Util.vala:682 #, fuzzy msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "As tags permitem que você melhore seu fluxo de trabalho no Planify. Para " "adicionar uma tag, clique no botão tag na parte inferior." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "Defina lembretes oportunos!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" "Seja notificado sobre tarefas ou eventos importantes. Clique no botão do " "relógio abaixo para adicionar um lembrete." #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼�Trabalho" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒�Escola" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉�Delegado" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "��Casa" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀��Acompanhamento" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Duplicar" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Nome da Seção" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Projeto duplicado" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "No devido tempo" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 minutos antes" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 minutos antes" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 minutos antes" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 hora antes" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 horas antes" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 horas antes" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%OB" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "Voltar" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "Mês anterior" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "Próximo mês" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "Mês anterior, %s" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "Próximo mês, %s" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Escolha uma data" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "Dom" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Seg" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Ter" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "Qua" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Qui" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Sex" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "Sáb" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Tempo" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "até" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "para" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "vezes" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "tempo" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Repetir" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "Digite uma data…" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "Próxima semana" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Diariamente" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 #, fuzzy msgid "Weekdays" msgstr "Semanalmente" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 #, fuzzy msgid "Weekends" msgstr "Semana(s)" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Semanalmente" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Mensalmente" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Anualmente" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "Personalizado" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "Sem data" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "Minuto(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "Hora(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "Dia(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 #, fuzzy msgid "Week(s)" msgstr "Semanalmente" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "Mês(es)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "Ano(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "Nunca" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "Na Data" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "Depois" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "Aplicar" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "Repita todos" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "Fim" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "Data" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "Remover data" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "Definir prazo" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "Prazo" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "Deletar Rótulo" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "Rótulo não encontrado: Criar '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" "Sua lista de filtros aparecerá aqui. Crie um digitando o nome e pressionando " "a tecla Enter." # # c-format #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "Criar '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "Sua lista de filtros aparecerá aqui." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "Pesquisar" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "Procure ou Crie" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "Remover link" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "Prioridade 4: Nenhuma" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "Prioridade 1: Alta" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "Prioridade 2: Média" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "Prioridade 3: Baixa" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "Prioridade 2: Média" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "Prioridade 3: Baixa" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "Sua lista de seções aparecerá aqui." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "Nenhuma Seção" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "Digite uma busca" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "Lembretes" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" "Sua lista de lembretes aparecerá aqui. Adicione um clicando no botão '+'." #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "Adicionar Lembrete" # # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "Em 5 minutos" # # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "Em 15 minutos" # # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "Em 30 minutos" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "Em 1 hora" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "Em 3 horas" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "Em 6 horas" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "Nova Seção" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "Deletar Seção" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "Definir o status" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "Status" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "Pendência" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "Completar" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "O Planify será iniciado automaticamente quando este dispositivo for ligado e " "executado quando sua janela for fechada para que possa enviar notificações " "de tarefas." #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "Sincronizar calendário" #: src/Dialogs/CalendarSync.vala:45 #, fuzzy msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" "Transforme suas tarefas em eventos de calendário automaticamente. Qualquer " "tarefa com uma data aparecerá em seu calendário, tornando mais fácil " "planejar seu dia." #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" "Requisito: é necessário uma conta de calendário configurada no \"GNOME " "Calendar\" (Google, Nextcloud, etc.)" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" "Receba notificações para as suas tarefas através do Google Calendar, " "Outlook, ou qualquer aplicativo de calendário" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" "Suas tarefas são sincronizadas em todos os lugares: celular, tablet, " "navegador da web e qualquer dispositivo com seu calendário conectado" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "Escolha o calendário" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "Selecione um calendário da lista" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "Ativar a sincronização" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "Sincronização do calendário desativada com sucesso" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "Sincronização do calendário ativa" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "Desabilitar a sincronização" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "Sincronização habilitada!" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "OK" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "Tarefas concluídas" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "Ver menu de filtro" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "Nenhuma tarefa concluída ainda." #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "Deletar Todas Tarefas Concluídas" # # c-format #: src/Dialogs/CompletedTasks.vala:165 #, fuzzy, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" "Isto irá deletar %d tarefas concluídas e suas subtarefas do projeto %s" msgstr[1] "" "Isto irá deletar %d tarefas concluídas e suas subtarefas do projeto %s" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "Filtrar por" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "Próxima Semana" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "Sem Data" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Feita" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "Histórico de alterações" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "Adicionado em" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "Não disponível" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "Atualizado em" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" "Seu histórico de alterações será exibido aqui quando você começar a fazer " "alterações." # # c-format #: src/Dialogs/ItemChangeHistory.vala:138 #, fuzzy, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "Carregar mais histórico de %d semanas atrás…" msgstr[1] "Carregar mais histórico de %d semanas atrás…" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "Novo Rótulo" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "Editar Rótulo" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "Dê um nome ao seu rótulo" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "Adicionar Rótulo" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "Atualizar Rótulo" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "Filtro" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "Projetos Arquivados" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "Gerenciar Seções" #: src/Dialogs/ManageSectionOrder.vala:54 #, fuzzy msgid "You can sort your sections by dragging and dropping" msgstr "Você pode classificar suas visualizações arrastando e soltando" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "Arquivado" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(Sem seção)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "Contas" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "Adicionar Fonte" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 #, fuzzy msgid "Inbox Page" msgstr "Caixa de Entrada" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "Você pode classificar suas contas arrastando e soltando" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 #, fuzzy msgid "Change Inbox" msgstr "Abrir Caixa de Entrada" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 #, fuzzy msgid "Syncing…" msgstr "Sincronizando…" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "URL do servidor" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 #, fuzzy msgid "Username" msgstr "Nome de Usuário" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "Senha" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 #, fuzzy msgid "Calendar Home URL" msgstr "Calendário" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "Login" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 #, fuzzy msgid "Inbox Project" msgstr "Caixa de Entrada de Projetos padrão" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "Fonte" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "Nome de exibição" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "Sincronizar Servidor" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" "Ative esta configuração para que o Planify sincronize automaticamente com " "sua conta Todoist a cada 15 minutos" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "Última Sincronização" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "Excluir fonte" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "Excluir fonte?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "Não foi possível deletar esta fonte" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "Sincronizando…" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "Aparência" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "Usar Configurações do Sistema" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 #, fuzzy msgid "Select theme" msgstr "Selecionar" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "Tema Claro" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "Tema Escuro" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "Tema Azul-Escuro" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "Tema azul profissional" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "Tamanho da letra" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "Backups" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" "Nunca se preocupe em perder seus dados. Você pode criar backups de seus " "projetos, tarefas e comentários ativos e importá-los posteriormente." #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "Criar Backup" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "Importar Backup" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "Arquivos de Backup" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "Nenhum backup encontrado, crie um clicando no botão acima." #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "Migrar" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "Migrar do Planner" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "O backup foi criado com sucesso." #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "Tarefas Migradas com Sucesso" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "O arquivo de banco de dados não existe." #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "O arquivo selecionado é inválido" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "Visualizar Backup" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "Download" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "Visão geral da importação" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "Fontes" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "Tarefas" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "Confirmar" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "Restaurar Backup" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" "Você tem certeza que quer continuar? Esta operação excluirá seus dados " "atuais e os substituirá pelos dados de backup." #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "Restaurar Backup" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "Geral" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "Ordem de Classificação Personalizada" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "Alfabeticamente" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "Ordenar por" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "Ascendente" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "Descendente" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "Ordenado" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "Integração DE" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "Executar ao Iniciar" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "Executar em Segundo Plano" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "Eventos de Calendário" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "Data e Tempo" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24h" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12h" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "Formato de Relógio" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "Domingo" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "Segunda-feira" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "Terça-feira" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "Quarta-feira" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "Quinta-feira" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "Sexta-feita" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "Sábado" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "Começo da Semana" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 #, fuzzy msgid "Home View" msgstr "Pagina inicial" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "Adição Rápida" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" "Use a Adição Rápida para criar tarefas em qualquer lugar da sua área de " "trabalho com apenas alguns toques no teclado. Você nem precisa sair do " "aplicativo em que está." #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" "Vá para Configurações do sistema → Teclado → Atalhos → Personalizado e " "adicione um novo atalho com o seguinte:" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "Configurações" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "Salvar Último Projeto Selecionado" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "Se desmarcado, o projeto padrão selecionado será Caixa de Entrada" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "O comando foi copiado para a área de transferência" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "Barra Lateral" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "Mostrar na Barra Lateral" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "Mostrar Contagem de Tarefas" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "Largura da Barra Lateral" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 #, fuzzy msgid "List View for Filters" msgstr "Novos Filtros" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "Você pode classificar suas visualizações arrastando e soltando" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "Configurações da Tarefa" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 #, fuzzy msgid "Complete Instantly" msgstr "Imediatamente" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 #, fuzzy msgid "Complete with Undo" msgstr "Concluído" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 #, fuzzy msgid "Task Completion" msgstr "Concluir Tarefa" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "Prioridade 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "Prioridade 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "Prioridade 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "Prioridade Padrão" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "Mostrar Tarefas Concluídas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "Nova Posição de Tarefa" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "Sempre Mostrar Subtarefas Concluídas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "Concluir Tarefa" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "Tocar um som quando as tarefas forem concluídas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 #, fuzzy msgid "Open Tasks in Sidebar View" msgstr "Abrir tarefa na visualização da barra lateral" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "Habilitar formatação Markdown" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "Ativar ou desativar o suporte a Markdown para tarefas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "Sempre mostrar detalhes na barra lateral" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 #, fuzzy msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" "Mantenha o painel de detalhes sempre visível para facilitar a navegação " "entre as tarefas, evitando a necessidade de abrir e fechar o painel " "constantemente." #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "Habilitado" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "Lembretes automáticos" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" "Quando ativado, um lembrete antes do horário de vencimento da tarefa será " "adicionado por padrão." #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "Preferências" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "Sincronize seus provedores de tarefas favoritos" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "Personalize ao seu gosto" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "Personalize sua barra lateral" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "Adicionando tarefas de qualquer lugar" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "Faça backup ou migre do Planner." #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "Criar Projeto Tutorial" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "Aprenda o aplicativo passo a passo com um breve projeto tutorial" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "Quer me pagar uma bebida?" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "Chegue Até Nós" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "Contate-nos" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "Solicite um recurso ou pergunte-nos qualquer coisa" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "Envie-nos um tweet" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "Compartilhe um pouco de amor" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "Discuta e compartilhe seus comentários" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodonte" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "Privacidade" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "Política de Privacidade" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "Não temos nada contra você" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "Excluir Dados do Aplicativo" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "Um projeto tutorial foi criado" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "Excluir Todos os Dados?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "Exclui todas as suas listas, tarefas e lembretes de forma irreversível" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "Resumo" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "Crie mais" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "Esta semana" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "Este mês" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "Atrasado" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "Novo Projeto" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "Editar Projeto" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "Dê um nome ao seu projeto" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "Use Emoji" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "Adicionar Projeto" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "Atualizar Projeto" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "Projeto adicionado com sucesso!" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "Mover" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "Busca Rápida" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" "Alterne rapidamente projetos e visualizações, encontre tarefas, pesquise por " "rótulos" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "Nova Seção" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "Editar Seção" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "Nome da Seção" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "Adicionar Seção" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "Atualizar Seção" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 #, fuzzy msgid "Section added" msgstr "Nome da Seção" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "Alternar Barra Lateral" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "Desafixar" # # c-format #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "Concluído. Próxima ocorrência: %s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "Adicionar Subtarefa" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "Editar" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "Duplicar" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "Deletar Tarefa" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "Ordem alterada para 'Ordem de classificação personalizada'" # # c-format #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s foi deletado" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "Desfazer" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "Adicionar Subtarefa" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "Ocultar subtarefas" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "Mostrar subtarefas" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "Escolha uma data" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "Copiar para �rea de Transferência" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "Adicionar tarefa" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "Ver Detalhes" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "Título" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "Propriedades" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "Tem certeza de que deseja excluir %s?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "Deletar Rótulo" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" "Classificação de projetos alterada para 'Ordem de classificação " "personalizada'" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "Remover dos Favoritos" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "Adicionar aos Favoritos" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "Atualizar" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "Deletar Projeto" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "Compartilhar" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "Enviar por E-Mail" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 #, fuzzy msgid "Add tasks" msgstr "Adicionar tarefa" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 #, fuzzy msgid "completed tasks" msgstr "Tarefas concluídas" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "Mover Seção" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "Gerenciar Ordem de Seção" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "Mostrar Tarefas Concluídas" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "Deletar Seção" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "Favoritos" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "Nenhum favorito disponível. Crie um clicando no botão '+'" #: src/Layouts/Sidebar.vala:122 #, fuzzy msgid "Add Account" msgstr "Contas" #: src/Layouts/Sidebar.vala:123 #, fuzzy msgid "Customize Sidebar" msgstr "Personalize sua barra lateral" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "Ir para Hoje" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "Ir para Agendado" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "Ir para Rótulos" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "Ir para o Quadro de Anúncios" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "Nenhum projeto disponível. Crie um clicando no botão '+'" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "Menu principal" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "Abra a Busca Rápida" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "Sobre o Planify" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "Ops! Aconteceu alguma coisa" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "Tarefa concluída" #: src/MainWindow.vala:825 #, fuzzy msgid "View" msgstr "Exibição de Lista" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "Falha na verificação de integridade do banco de dados" #: src/MainWindow.vala:864 #, fuzzy msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" "Detectamos problemas com a estrutura do banco de dados que podem impedir o " "funcionamento correto do aplicativo. Isso pode ser devido à ausência de " "tabelas ou colunas, provavelmente causadas por corrupção de dados ou uma " "atualização incompleta. O banco de dados será redefinido para restaurar a " "funcionalidade normal e todos os dados existentes serão removidos. Após a " "redefinição, você poderá restaurar qualquer backup criado anteriormente. " "Agradecemos a sua paciência" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "Redefinir banco de dados" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "Criar Backup" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "Backup importado com sucesso" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "Planeje Arquivos de Backup" # # c-format #: src/Services/Notification.vala:99 #, fuzzy msgid "Snooze for 10 minutes" msgstr "Em 30 minutos" # # c-format #: src/Services/Notification.vala:100 #, fuzzy msgid "Snooze for 30 minutes" msgstr "Em 30 minutos" #: src/Services/Notification.vala:101 #, fuzzy msgid "Snooze for 1 hour" msgstr "Em 1 hora" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "Ver menu de opções" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "Adicione Algumas Tarefas" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "Pressione 'a' para criar uma nova tarefa" #: src/Views/Filter.vala:129 #, fuzzy msgid "All tasks completed!" msgstr "Tarefa concluída" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 #, fuzzy msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "Deletar Todas Tarefas Concluídas" msgstr[1] "Deletar Todas Tarefas Concluídas" # # c-format #: src/Views/Filter.vala:627 #, fuzzy, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "Isto irá deletar %d tarefas completadas e suas subtarefas" msgstr[1] "Isto irá deletar %d tarefas completadas e suas subtarefas" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "Nenhum favorito disponível. Crie um clicando no botão '+'" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "Observação" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "Agendar" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "Quando?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "Descrição do Projeto" #: src/Views/Project/Project.vala:259 #, fuzzy msgid "New Task" msgstr "Mover tarefas" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "Selecionar" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "Colar" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "Expandir todas" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "Novo" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "Recolher todas" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "Lista" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "Quadro" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "Nos Apoiando" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "Ordem de classificação personalizada" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "Dados adicionados" #: src/Views/Project/Project.vala:547 #, fuzzy msgid "Ascending Order" msgstr "Ascendente" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "Data de vencimento" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "Todas (padão)" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "Próximos 7 dias" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "Próximos 30 dias" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "P1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "P2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "P3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "P4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "Filtrar por Rótulos" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 #, fuzzy msgid "Search completed tasks" msgstr "Esconder tarefas concluídas" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "Ordenar por" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "Reagendar" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "Adicionar tarefa" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "Abrir" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "Nenhum anexo encontrado. Adicione os arquivos aqui." #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "Subtarefas" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 #, fuzzy msgid "Show less" msgstr "Mostrar Tarefas Concluídas" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "Relatar problema" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Calendário" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "Tarefa não concluída" # c-format #: src/Widgets/ItemChangeHistoryRow.vala:51 #, fuzzy msgid "Task moved to project" msgstr "Tarefa movida para o projeto: %s" # c-format #: src/Widgets/ItemChangeHistoryRow.vala:61 #, fuzzy msgid "Task moved to" msgstr "Tarefas adicionadas a %s" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "Anterior" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "Pin: Ativo" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "Pin: Inativo" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "Concluído em" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "Marcar como Concluída" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "Deletar To-Do" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "Você tem certeza que quer deletar este to-do?" # # c-format #: src/Widgets/MultiSelectToolbar.vala:299 #, fuzzy, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "Excluir %d Tarefas" msgstr[1] "Excluir %d Tarefas" #: src/Widgets/MultiSelectToolbar.vala:305 #, fuzzy, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "Você tem certeza que quer deletar este to-do?" msgstr[1] "Você tem certeza que quer deletar este to-do?" # c-format #: src/Widgets/MultiSelectToolbar.vala:402 #, fuzzy, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "Tarefas adicionadas a %s" msgstr[1] "Tarefas adicionadas a %s" #: src/Widgets/NewVersionPopup.vala:42 #, fuzzy msgid "New version available!" msgstr "Não disponível" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" "Atualize agora para aproveitar as últimas melhorias, correção de bugs, e " "novas funções que fazem o Planify ainda melhor" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "Atualizar agora" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "Desarquivar" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "Nenhuma subtarefa adicionada ainda. Comece já!" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "Falha de conexão com o servidor" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" "Parece que não é possível se conectar ao servidor,\n" "você está conectado na internet?\n" "As mudanças que você fez no modo offline\n" "serão sincronizadas quando você reconectar." #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "%s está %.0f%% completa. Você pode ajudar a terminar!" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "Traduções" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "Ajude a fazer o Planify disponível mundialmente." #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "Ajude a melhorar as traduções" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "Começar uma nova tradução" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "%s não está disponível ainda. Seja o primeiro a traduzir!" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "Planify - Adição Rápida" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "Usado em Qualquer Lugar" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "Criar uma Nova Tarefa" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "Cole Texto Simples para Criar uma Nova Tarefa" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "Crie um Novo Projeto" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "Crie uma Nova Seção em um Projeto" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "Pesquisar" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "Abra a Busca Rápida" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "Controlar Janelas" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "Sair" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Abrir Preferências" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "Alternar Barra Lateral" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "Abrir Atalhos de Teclado" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "Navegar" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "Abrir Página Inicial" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "Abrir Caixa de Entrada" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "Abrir Hoje" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "Abrir Agendado" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "Abrir Rótulos" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "Abrir Quadro de Anúncios" #~ msgid "Advanced Options" #~ msgstr "Configurações Avançadas" #, fuzzy #~ msgid "Server URL examples:" #~ msgstr "URL do servidor" #~ msgid "" #~ "Planify is being developed with love and passion for open source. " #~ "However, if you like Planify and want to support its development, please " #~ "consider supporting us." #~ msgstr "" #~ "Planify está sendo desenvolvido com amor e paixão pelo código aberto. No " #~ "entanto, se você gosta do Planify e deseja apoiar o seu desenvolvimento, " #~ "considere nos apoiar." #~ msgid "Set a Due Date" #~ msgstr "Data de vencimento" #~ msgid "Set a Deadline" #~ msgstr "Definir um prazo" #~ msgid "Please Enter Your Credentials" #~ msgstr "Por Favor, Insira suas Credenciais" #~ msgid "Loading…" #~ msgstr "Carregando…" #~ msgid "Network Is Not Available" #~ msgstr "A Internet Não Está Disponível" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "Deixe o Planify rodar em segundo plano e enviar notificações" #~ msgid "Whether Planify should run on startup" #~ msgstr "Se o Planify deve ser executado na inicialização" #~ msgid "Clear" #~ msgstr "Limpar" #~ msgid "Menu" #~ msgstr "Menu" #~ msgid "Add Time" #~ msgstr "Adicionar tempo" #, fuzzy #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "Você deseja que o Planify envie uma notificação para lembrá-lo de um " #~ "evento importante ou algo especial. Toque no botão do sino abaixo para " #~ "adicionar um lembrete." #, c-format #~ msgid "Processing task %d of %d" #~ msgstr "Processando tarefa %d de %d" #, fuzzy #~ msgid "Planify is syncing your tasks, this may take a few minutes" #~ msgstr "" #~ "Planify está sincronizando suas tarefas, isso pode levar alguns minutos" #~ msgid "Todoist Sync" #~ msgstr "Sincronizar todoist" #~ msgid "Loading" #~ msgstr "Carregando" #~ msgid "Planner is sync your tasks, this may take a few minutes" #~ msgstr "Planner is sync your tasks, this may take a few minutes" #~ msgid "Please enter your credentials" #~ msgstr "Insira suas credenciais" # # c-format #, c-format #~ msgid "Every %d minutes" #~ msgstr "A cada %d minutos" # # c-format #, c-format #~ msgid "Every %d hours" #~ msgstr "A cada %d horas" # # c-format #, c-format #~ msgid "Every %d days" #~ msgstr "A cada %d dias" # # c-format #, c-format #~ msgid "Every %d weeks" #~ msgstr "A cada %d semanas" # # c-format #, c-format #~ msgid "Every %d months" #~ msgstr "A cada %d meses" # # c-format #, c-format #~ msgid "Every %d years" #~ msgstr "A cada %d anos" # # c-format #, c-format #~ msgid "" #~ "This will delete %d completed tasks and their subtasks from project %s" #~ msgstr "" #~ "Isto irá deletar %d tarefas concluídas e suas subtarefas do projeto %s" # # c-format #, c-format #~ msgid "Load more history from %d weeks ago…" #~ msgstr "Carregar mais histórico de %d semanas atrás…" #, fuzzy #~ msgid "Delete Completed Tasks" #~ msgstr "Deletar Todas Tarefas Concluídas" # # c-format #, c-format #~ msgid "This will delete %d completed tasks and their subtasks" #~ msgstr "Isto irá deletar %d tarefas completadas e suas subtarefas" # # c-format #, c-format #~ msgid "Delete %d To-Dos" #~ msgstr "Excluir %d Tarefas" # # c-format #, c-format #~ msgid "Are you sure you want to delete these %d to-dos?" #~ msgstr "Você tem certeza que quer deletar esses %d to-dos?" #, fuzzy #~ msgid "Backup" #~ msgstr "Backups" #~ msgid "Task Setting" #~ msgstr "Configurações da Tarefa" #~ msgid "Close" #~ msgstr "Fechar" #~ msgid "Personal Data" #~ msgstr "Dados Pessoais" #~ msgid "" #~ "We collect absolutely nothing and all your data is stored in a database " #~ "on your computer." #~ msgstr "" #~ "Não coletamos absolutamente nada e todos os seus dados são armazenados em " #~ "um banco de dados no seu computador." #~ msgid "" #~ "If you choose to integrate Todoist, which is optional and not selected by " #~ "default, your data will be stored on their private servers, we only " #~ "display your configured tasks and manage them for you." #~ msgstr "" #~ "Se você optar por integrar o Todoist, que é opcional e não selecionado " #~ "por padrão, seus dados serão armazenados em seus servidores privados, " #~ "apenas exibimos suas tarefas configuradas e as gerenciamos para você." #~ msgid "Do you have any questions?" #~ msgstr "Você tem alguma pergunta?" #~ msgid "" #~ "If you have any questions about your data or any other issue, please " #~ "contact us. We will be happy to answer you." #~ msgstr "" #~ "Se você tiver alguma dúvida sobre seus dados ou qualquer outro assunto, " #~ "entre em contato conosco. Teremos o maior prazer em responder-lhe." #~ msgid "Supporting Us" #~ msgstr "Nos Apoiando" #~ msgid "" #~ "Our mission is to provide the best open source task management " #~ "application for users all over the world. Your donations support this " #~ "work. Want to donate today?" #~ msgstr "" #~ "Nossa missão é fornecer o melhor aplicativo de gerenciamento de tarefas " #~ "de código aberto para usuários em todo o mundo. Suas doações apoiam este " #~ "trabalho. Quer doar hoje?" #~ msgid "Support Planify" #~ msgstr "Suporte ao Planify" #, fuzzy #~ msgid "Clear Schedule" #~ msgstr "Agendar" #~ msgid "Stay open after creating task" #~ msgstr "Manter aberto após criar tarefa" #~ msgid "Process completed, you need to start Planify again" #~ msgstr "Processo concluído, você precisa iniciar o Planify novamente" #~ msgid "Task Detail" #~ msgstr "Detalhe da tarefa" #~ msgid "Create a new to-do" #~ msgstr "Crie uma nova tarefa" #~ msgid "Tag your to-dos!" #~ msgstr "Marque suas tarefas!" #~ msgid "What’s new in Planify" #~ msgstr "O que há de novo no Planify" #~ msgid "Inbox as Independent Project" #~ msgstr "Caixa de entrada como projeto independente" #~ msgid "" #~ "The Inbox is the default place to add new tasks, allowing you to quickly " #~ "get your ideas out of your head and then plan them when you’re ready." #~ msgstr "" #~ "A Caixa de entrada é o local padrão para adicionar novas tarefas, " #~ "permitindo que você tire suas ideias da cabeça rapidamente e planeje-as " #~ "quando estiver pronto." #~ msgid "Enhanced Task Duplication" #~ msgstr "Duplicação de tarefas aprimorada" #~ msgid "" #~ "When you duplicate a task now, all subtasks and labels are automatically " #~ "duplicated, saving you time and effort in managing your projects." #~ msgstr "" #~ "Agora, ao duplicar uma tarefa, todas as subtarefas e rótulos são " #~ "duplicados automaticamente, economizando tempo e esforço no gerenciamento " #~ "de seus projetos." #~ msgid "Duplication of Sections and Projects" #~ msgstr "Crie uma Nova Seção em um Projeto" #~ msgid "" #~ "You can now easily duplicate entire sections and projects, making it " #~ "easier to create new projects based on existing structures." #~ msgstr "" #~ "Agora você pode duplicar facilmente seções e projetos inteiros, " #~ "facilitando a criação de novos projetos com base em estruturas existentes." #~ msgid "Project Expiry Date" #~ msgstr "Data de expiração do projeto" #~ msgid "" #~ "Your project’s expiry date now clearly shows the remaining days, helping " #~ "you keep track of your deadlines more effectively." #~ msgstr "" #~ "A data de validade do seu projeto agora mostra claramente os dias " #~ "restantes, ajudando você a controlar seus prazos com mais eficiência." #~ msgid "Archiving of Projects and Sections" #~ msgstr "Abra mais ações do projeto" #~ msgid "" #~ "You can now archive entire projects and sections! This feature helps you " #~ "keep your workspace organized and clutter-free." #~ msgstr "" #~ "Agora você pode arquivar projetos e seções inteiras! Este recurso ajuda a " #~ "manter seu espaço de trabalho organizado e organizado." #~ msgid "What's New" #~ msgstr "O que há de Novo" #~ msgid "Are you sure you want to reset all? (y/n): " #~ msgstr "Tem certeza de que deseja redefinir tudo? (s/n): " #~ msgid "y" #~ msgstr "s" #~ msgid "yes" #~ msgstr "Sim" #~ msgid "Couldn't find an app to handle file URIs" #~ msgstr "" #~ "Não foi possível encontrar um aplicativo para manipular URIs de arquivo" #, fuzzy #~ msgid "Planify" #~ msgstr "Conheça o Planify" #~ msgid "" #~ "Up to 3 tasks can be pinned and they will appear at the top of the " #~ "project page" #~ msgstr "" #~ "Até 3 tarefas podem ser fixadas e elas aparecerão no topo da página do " #~ "projeto" #~ msgid "No Provider Available" #~ msgstr "Não disponível" #~ msgid "Go to Inbox" #~ msgstr "Ir para a Caixa de Entrada" #~ msgid "Order by" #~ msgstr "Order by" #~ msgid "Integrations" #~ msgstr "Integrações" #~ msgid "Wait 2500 Milliseconds" #~ msgstr "Aguarde 2500 Milisegundos" #~ msgid "Complete Task" #~ msgstr "Concluir Tarefa" #~ msgid "" #~ "Complete your to-do instantly or wait 2500 milliseconds with the undo " #~ "option" #~ msgstr "" #~ "Conclua sua tarefa instantaneamente ou espere 2.500 milissegundos com a " #~ "opção de desfazer" #~ msgid "Top" #~ msgstr "Superior" #~ msgid "Bottom" #~ msgstr "Inferior" #~ msgid "Create More" #~ msgstr "Crie mais" #~ msgid "App Theme" #~ msgstr "Tema do Aplicativo" # c-format #, c-format #~ msgid "Task moved to: %s" #~ msgstr "Tarefa movida para: %s" #~ msgid "Telegram" #~ msgstr "Telegram" #~ msgid "Matrix Room" #~ msgstr "Sala Matrix" #~ msgid "Attention at One" #~ msgstr "Atenção em Um" #~ msgid "Add To-Do" #~ msgstr "Adicionar tarefa" #~ msgid "Nextcloud Setup" #~ msgstr "Nextcloud" #~ msgid "Offline Mode Is On" #~ msgstr "O modo Offline está Ativado" #~ msgid "Provider" #~ msgstr "Provedor" #~ msgid "Pinned" #~ msgstr "Fixado" #~ msgid "View Details" #~ msgstr "Ver Detalhes" #~ msgid "All" #~ msgstr "Todos" #~ msgid "Attach File" #~ msgstr "Arquivos de Backup" #~ msgid "Hide Completed Tasks" #~ msgstr "Esconder Tarefas Concluídas" #~ msgid "CalDAV - " #~ msgstr "CalDAV" #~ msgid "On this Computer" #~ msgstr "Neste computador" #~ msgid "Labels: On This Computer" #~ msgstr "Rótulos: Neste Computador" #~ msgid "Labels: Todoist" #~ msgstr "Rótulos: Todoist" #~ msgid "Labels: Nextcloud" #~ msgstr "Marcadores: Nextcloud" #~ msgid "Synchronize with your Todoist Account" #~ msgstr "Sincronize com sua Conta Todoist" #~ msgid "Synchronization based on open Internet standards" #~ msgstr "Sincronização baseada em padrões abertos da Internet" #~ msgid "" #~ "Activate this setting so that Planify automatically synchronizes with " #~ "your CalDAV account every 15 minutes" #~ msgstr "" #~ "Ative esta configuração para que o Planify sincronize automaticamente com " #~ "sua conta CalDAV a cada 15 minutos" #~ msgid "Failed to login" #~ msgstr "Falha ao fazer login" #~ msgid "" #~ "Are you sure you want to remove the Todoist sync? This action will delete " #~ "all your tasks and settings." #~ msgstr "" #~ "Tem certeza de que deseja remover a sincronização do Todoist? Esta ação " #~ "excluirá todas as suas tarefas e configurações." #~ msgid "" #~ "Are you sure you want to remove the CalDAV sync? This action will delete " #~ "all your tasks and settings." #~ msgstr "" #~ "Tem certeza de que deseja remover a sincronização do CalDAV? Esta ação " #~ "excluirá todas as suas tarefas e configurações." #~ msgid "Sign Off" #~ msgstr "Sair" #~ msgid "CalDAV Setup" #~ msgstr "Configuração do CalDAV" #~ msgid "Underline Completed Tasks" #~ msgstr "Sublinhar Tarefas Concluídas" #~ msgid "Items" #~ msgstr "Itens" #~ msgid "Tasks Synced Successfully" #~ msgstr "Tarefas Sincronizadas com Sucesso" #~ msgid "Do you want to use Todoist as your default Inbox Project?" #~ msgstr "" #~ "Você quer usar o Todoist como sua Caixa de Entrada de Projetos padrão?" # # c-format #~ msgid "Are you sure you want to delete %s?" #~ msgstr "Tem certeza de que deseja excluir %s?" #~ msgid "Custom Sorting in Today View" #~ msgstr "Ordem de Classificação Personalizada" #~ msgid "Efficient Management of Completed Tasks" #~ msgstr "Sublinhar Tarefas Concluídas" #~ msgid "New filters available in Quick Add." #~ msgstr "Novos filtros disponíveis em Adição Rápida." #~ msgid "All your repeating to-dos in one, convenient place (finally!)." #~ msgstr "" #~ "Todas as suas tarefas repetidas em um só lugar conveniente (finalmente!)." #~ msgid "A nice focused list to plan tomorrow, today." #~ msgstr "Uma boa lista focada para planejar amanhã, hoje." #~ msgid "All your unlabel to-dos in one place." #~ msgstr "Todas as suas tarefas sem rótulo em um só lugar." #~ msgid "Search by Sections" #~ msgstr "Pesquisar por Seções" #~ msgid "Quick Find now supports section searching." #~ msgstr "A Localização Rápida agora oferece suporte à pesquisa de seção." #~ msgid "" #~ "The process removes all stored information without the possibility of " #~ "undoing it" #~ msgstr "" #~ "O processo remove todas as informações armazenadas sem possibilidade de " #~ "desfazê-lo" #~ msgid "Delete project" #~ msgstr "Deletar projeto" #~ msgid "Delete label" #~ msgstr "Deletar rótulo" #~ msgid "Move tasks" #~ msgstr "Mover tarefas" # # c-format #~ msgid "Are you sure you want to move your task to %s?" #~ msgstr "Tem certeza de que deseja mover sua tarefa para %s?" #~ msgid "Add subtask" #~ msgstr "Adicionar subtarefa" #~ msgid "pinboard" #~ msgstr "Quadro de fixados" #~ msgid "Add reminder(s)" #~ msgstr "Adicionar lembrete(s)" #~ msgid "Press 'a' or tap the plus button to create a new to-do" #~ msgstr "Pressione 'a'ou toque no botão mais para criar um novo to-do" #~ msgid "Support for sub-projects" #~ msgstr "Classificar projetos" #~ msgid "Board View" #~ msgstr "Exibição de Quadro" #~ msgid "Google Tasks" #~ msgstr "Google Tasks" #~ msgid "Move Tasks" #~ msgstr "Mover tarefas" #~ msgid "No to-dos for this filter yet" #~ msgstr "Nenhum to_do para este filtro ainda." #~ msgid "Synchronize with your Google Account" #~ msgstr "Sincronize com sua Conta do Google" #~ msgid "" #~ "Are you sure you want to remove the Google Tasks sync? This action will " #~ "delete all your tasks and settings." #~ msgstr "" #~ "Você tem certeza que deseja remover a sincronização do Todoist? Esta ação " #~ "irá deletar todas as suas tarefas e configurações." #~ msgid "Delete section" #~ msgstr "Deletar Seção" #~ msgid "Add a description" #~ msgstr "Adicionar uma descrição" #~ msgid "Add section" #~ msgstr "Adicionar Seção" #~ msgid "Synchronizing. Wait a moment please." #~ msgstr "Sincronizando. Aguarde um momento, por favor." # # c-format #~ msgid "Diplicate" #~ msgstr "Duplicar" #~ msgid "Move to Section" #~ msgstr "Mover para Seção" #~ msgid "Sidebar filter settings" #~ msgstr "Usar as configurações do sistema" #~ msgid "Description preview" #~ msgstr "Pré-visualização da descrição" #~ msgid "AM" #~ msgstr "AM" #~ msgid "PM" #~ msgstr "PM" #~ msgid ":" #~ msgstr ":" #~ msgid "Move to project" #~ msgstr "Mover para projeto" #~ msgid "No label available, click to add one" #~ msgstr "Nenhum rótulo disponível, clique para adicionar um" #~ msgid "Sync" #~ msgstr "Sincronizar" #~ msgid "Dark mode" #~ msgstr "Modo escuro" #~ msgid "Planner" #~ msgstr "Planner" #~ msgid "" #~ "You are running an early stage development version. Be aware it is a work " #~ "in progress and far from complete yet." #~ msgstr "" #~ "Você está executando uma versão de desenvolvimento em estágio inicial. " #~ "Esteja ciente de que é um trabalho em andamento e ainda está longe de ser " #~ "concluído." alainm23-planify-69962f8/po/pt_PT.po000066400000000000000000003444531517337276100171140ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: alainmh23@gmail.com\n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2026-04-18 20:13+0000\n" "Last-Translator: André Barata \n" "Language-Team: Portuguese (Portugal) \n" "Language: pt_PT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.17.1-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Projetos" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Secções" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Tarefas" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Etiquetas" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Filtros" #: core/Enum.vala:186 msgid "Lists" msgstr "Listas" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "Não repetir" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "A cada minuto" msgstr[1] "A cada %d minutos" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "A cada hora" msgstr[1] "A cada %d horas" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Todos os dias" msgstr[1] "A cada %d dias" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Todas as semanas" msgstr[1] "A cada %d semanas" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Todos os meses" msgstr[1] "A cada %d meses" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Todos os anos" msgstr[1] "A cada %d anos" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Prioridade" #: core/Enum.vala:348 msgid "Label" msgstr "Etiqueta" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Expiradas" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Secção" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "Atribuição" #: core/Enum.vala:469 msgid "Task Created" msgstr "Tarefa criada" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Tarefa atualizada" #: core/Enum.vala:528 msgid "Content" msgstr "Conteúdo" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Descrição" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Agendadas" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Afixar" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Tarefas todas" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "Tarefas todas" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "todas" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "Data qualquer" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "Data qualquer" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "filtros" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "sem data" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Terminadas" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "terminadas" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "diário" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Início" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "início" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "etiquetas" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Afixados" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Prioridade 1: alta" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Prioridade 2: média" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Prioridade 3: baixa" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Prioridade 4: nenhuma" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "alta" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "média" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "baixa" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "nenhuma" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "A repetir" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "A repetir" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "agendadas" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "próximas" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Hoje" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "hoje" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Amanhã" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "amanhã" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "data" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Sem etiqueta" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "nenhuma etiqueta" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "sem etiqueta" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "Tempo limite:" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "A tarefa foi copiada para a área de transferência" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "A tarefa foi movida para %s" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Eliminar a etiqueta %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Isto não pode ser revertido" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Cancelar" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Eliminar" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "O projeto foi copiado para a área de transferência." #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "Eliminar o projeto %s?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "Arquivar?" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "Isto vai arquivar o %s e todas as respetivas tarefas." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "Arquivar" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Eliminar a secção %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "A tarefa foi adicionada com sucesso!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Nome da tarefa" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "É necessário preencher este campo" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Adicione uma descrição…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "Definir a data" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Adicionar Etiquetas" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Definir a prioridade" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Adicionar lembretes" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Nova tarefa" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "Continuar a adicionar" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Selecione um projeto" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "Lamentamos mas o 'Adicionar rápido' não encontrou nenhum projeto disponível, " "tente criar um a partir do Planify." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Atalhos do teclado" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "Acelerar a criação de tarefas com este atalhos" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "Definir prioridade" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = mais alta, p4 = mais baixa" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "Adicionar etiquetas" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "Abre o selecionador de etiquetas" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "Atribuir projeto" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "Abre o seletor de projetos" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "Definir lembrete" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "Abre as opções do lembrete" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "Ative para manter a tarefa criada aberta" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "Sugestão" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "Combinar atalhos no campo do título para uma criação mais rápida" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "A carregar tarefas para %s…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "Tarefas carregadas para %s…" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "A sincronizar tarefas %d de %d" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "A fonte já existe" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "Não foi possível resolver o url principal" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "A iniciar sincronização…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "A sincronizar %s…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "Sincronização terminada" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "A autenticação expirou" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" "A sua sessão expirou. Remova e adicione novamente a sua conta em Definições, " "por favor." #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "Demasiados pedidos" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" "O servidor está a limitar a fequência de pedidos. Aguarde alguns minutos e " "tente novamente, por favor." #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "Neste computador" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" "O Todoist atualizou a sua 'API'. Volte a ligar a sua conta em Definições " "para continuar a sincronização, por favor." #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "API de Token inválido" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "A solicitação estava incorreta." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" "É necessário fazer a autenticação, esta falhou ou ainda não foi fornecida." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "A solicitação foi válida mas para algo que é proibido." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "Os recursos solicitados não foram encontrados." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "O utilizador enviou demasiadas solicitações num curto espaço de tempo." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "A solicitação falhou devido a um erro de servidor." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "Neste momento o servido é incapaz de gerir a solicitação." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "Erro desconhecido" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "Ontem" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "dias" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "dia" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "Há %s %s" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "Faltam %s %s" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "%-l:%M:%S %p" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "%-l:%M %p" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "%H:%M:%S" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "%H:%M" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Se," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Te," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "Qa," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Qi," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Sx," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "Sa," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "Do," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "dentro de %d dia" msgstr[1] "dentro de %d dias" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "há %d dia atrás" msgstr[1] "há %d dias atrás" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "%a, %b %-e, %Y" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "%b %-e %Y" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "%b %-e" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "%a %Y" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "%a" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "%a, %b %-e" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "%b" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Vermelho-uva" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Vermelho" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Laranja" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Amarelo" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Verde-azeitona" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Verde-limão" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Verde" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "Verde-hortelã" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Verde-azulado" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "Azul-celeste" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Azul claro" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Azul" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Verde-Uva" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Roxo" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Roxo-lavanda" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "Magenta" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "Vermelho-salmão" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "Preto-carvão" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Cinzento" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "Cinzento-acastanhado" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Claro" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Escuro" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Azul escuro" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Nenhum" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Hoje + Início" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Eliminar todos" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "O processo foi terminado, é necessário reiniciar o Planify." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "Ok" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "Neste Computador" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Conheça o Planify" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "Este projeto mostra-lhe tudo o que precisa de saber para começar com o pé " "direito. Não hesite em experimentar - pode sempre voltar ás predefinições " "originais a partir de 'Definições'." #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "Clique nesta tarefa" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" "Está a visualizar uma tarefa! Clique na caixa de verificação à sua esquerda " "quando terminar a sua tarefa. " #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "Criar uma nova tarefa" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Agora é a sua vez! Clique no botão '+' no fundo da janela do seu projeto, " "adicione uma descrição da tarefa e clique no botão 'Nova tarefa'." #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "Agende esta tarefa para hoje ou mais tarde" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" "Clique no botão 'Calendário' em baixo para decidir quando quiser começar " "esta tarefa." #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "Reordenar as suas tarefas" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "Para reordenar a sua lista, clique numa tarefa mantendo o botão do rato " "pressionado, depois arraste a mesma para onde quiser." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Criar um projeto" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "Organize as suas tarefas de forma mais eficaz! Vá ao painel à sua esquerda e " "clique no botão '+' na secção 'Neste computador' e crie um projeto seu." #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "Está feito!" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "Já tem tudo o que necessita de saber. Tenha a liberdade de começar a " "adicionar os seus projetos e as suas tarefas.\n" "Pode sempre voltar a este projeto mais tarde para aprender novas " "funcionalidades, que estão em baixo.\n" "Esperamos que vai desfrutar de usar o Planify!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "Aperfeiçoe a forma de como se organiza" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Mostrar os eventos do seu calendário" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "Pode exibir os eventos do calendário do seu sistema no Planify. Vá a " "'Definições' 🡒 'Geral' 🡒 'Eventos do calendário' e ative a funcionalidade." #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "Ativar a sincronização com serviços de terceiros" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "O Planify não só cria tarefas localmente mas consegue também sincronizar com " "a sua conta Todoist. Vá a 'Definições' 🡒 'Contas'." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "Aumentar a sua produtividade" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "Arraste o botão de adicionar!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "O botão azul que está a ver em baixo de cada janela é mais poderoso do que " "parece: foi criado para ser arrastado! Arraste-o para onde quiser para criar " "uma tarefa." #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "Adicione etiquetas ás suas tarefas!" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "As etiquetas ajudam-no a organizar e categorizar as suas tarefas. Para " "adicionar uma etiqueta, clique no botão de 'etiquetas' em baixo." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "Defina lembretes atempadamente!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" "Seja notificado sobre tarefas e eventos importantes. Clique no botão do " "relógio abaixo para adicionar um lembrete." #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼�Trabalho" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒�Escola" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉Atribuído" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "��Casa" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀�Dar seguimento" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "A tarefa foi duplicada" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "A secção foi duplicada" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "O projeto foi duplicado" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "Ao expirar a data" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 minutos antes" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 minutos antes" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 minutos antes" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 hora antes" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 horas antes" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 horas antes" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "%A, %B %e, %Y" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%OB" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "Atrás" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "Mês anterior" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "Seguinte" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "Mês seguinte" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "Mês anterior, %s" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "%B %Y" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "Mês seguinte, %s" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Escolha a data" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "Do" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Se" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Te" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "Qa" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Qi" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Sx" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "Sa" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Hora" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "até" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "para" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "horas" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "hora" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Repetir" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "Escreva uma data…" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "Próxima semana" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "Guardar" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Diário" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "Dias de semana" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "Fins de semana" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Semanal" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Mensal" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Anual" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "Personalizado" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "Sem data" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "Minuto(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "Hora(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "Dia(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "Semana(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "Mês(eses)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "Ano(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "Nunca" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "Na data" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "Depois" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "Aplicar" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "Repetir a cada" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "No fim" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "Data" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "A data em que pretende trabalhar nesta tarefa" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "Remover data" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "Quando é que pretende trabalhar nisto?" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "Definir data limite" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "A data final para terminar esta tarefa" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "Qual é a data final para terminar isto?" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "Data limite" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "Selecionar etiquetas" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "A etiqueta não foi encontrada: Criar '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" "A sua lista de filtros vai ser exibida aqui. Crie uma ao inserir o nome " "desta e depois de pressionar a tecla Enter." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "Criar '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "A sua lista de filtros vai ser exibida aqui." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "Procurar" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "Procurar ou criar" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "Ocultar etiquetas não usadas" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "Sem etiquetas" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "Todas ocultadas" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" "Todas as etiquetas foram ocultadas pelo filtro. Desative o filtro para as " "ver." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "Pressione Enter para a criar e atribuir" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "Remover ligação" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "Prioridade 4: Nenhuma" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "Prioridade 1: Alta" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "Prioridade 2: Média" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "Prioridade 3: Baixa" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "Prioridade 1: Média" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "Prioridade 1: Baixa" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "A sua lista de secções vai ser exibida aqui." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "Nenhuma secção" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "Escreva para procurar" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "Lembretes" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" "A sua lista de lembretes vai ser exibida aqui. Adicione uma ao clicar no " "botão '+'." #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "Adicionar lembrete" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "Dentro de 5 minutos" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "Dentro de 15 minutos" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "Dentro de 30 minutos" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "Dentro de 1 hora" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "Dentro de 2 horas" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "Dentro de 6 horas" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "Definir secção" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "Selecionar secção" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "Definir o estado" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "Estado" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "Tarefa" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "Terminado" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "O Planify vai iniciar automaticamente quando este dispositivo for ligado e " "vai continuar a funcionar quando a janela for fechada, para que lhe consiga " "enviar notificações sobre tarefas." #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "Sincronizar calendário" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" "Transforme automaticamente as suas tarefas em eventos no calendário. " "Qualquer tarefa com uma data vai aparecer neste, tornando mais fácil planear " "o seu dia." #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" "Requisito: Necessita de uma conta com calendário configurada no Calendário " "GNOME (Google, Nextcloud, etc.)" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" "Obtenha notificações no telemóvel para as suas tarefas a partir do " "Calendário Google, Outlook ou de qualquer outra aplicação" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" "Sincronize as suas tarefas em qualquer lugar: telemóvel, navegador web ou em " "qualquer dispositivo com o seu calendário" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "Escolher calendário" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "Selecionar um calendário da lista" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "Ativar sincronização" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "A sincronização do calendário foi desativada com sucesso" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "A sincronização do calendário está ligada" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" "As suas tarefas estão atualmente sincronizadas com o seu calendário. " "Qualquer tarefa com uma data vai aparecer automaticamente como um evento no " "calendário." #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "Desativar sincronização" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "Sincronizado com: %s" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "Sincronização ativa!" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" "As suas tarefas estão agora sincronizadas com o seu calendário. Qualquer " "tarefa com uma data vai aparecer automaticamente como um evento no mesmo." #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "OK" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "Tarefas terminadas" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "Ver o menu de filtros" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "Ainda não existem tarefas terminadas." #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "Eliminar todas as tarefas terminadas" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" "Isto vai eliminar %d tarefa terminada e as respetivas subtarefas do projeto " "%s" msgstr[1] "" "Isto vai eliminar %d tarefas terminadas e as respetivas subtarefas do " "projeto %s" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "Filtrar por" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "Próxima Semana" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "Sem data" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Feito" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "Histórico de alterações" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "Adicionado a" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "Não está disponível" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "Atualizado em" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" "O seu histórico de alterações vai ser exibido aqui quando começar a fazer " "alterações." #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "Carregar mais histórico de %d semana atrás…" msgstr[1] "Carregar mais histórico de %d semanas atrás…" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "Nova etiqueta" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "Editar etiqueta" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "Dê um nome à sua etiqueta" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "Adicionar etiqueta" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "Atualizar etiqueta" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "Filtro" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "Arquivar projetos" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "Gerir secções" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "Pode ordenar as suas secções ao clicar, arrastar e largar" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "Arquivado" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(Nenhuma secção)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "Contas" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "Adicionar fonte" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "Página de Início" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "Pode ordenar as suas contas ao clicar, arrastar e largar" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" "O Planify está a sincronizar as suas tarefas, isto pode demorar algum tempo" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "A verificação 'SSl' está desativada" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "A autenticação expirou" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "É necessário migrar a conta" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "Restabelecer ligação" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "Não é possível ocultar esta conta" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "Esta conta contém o seu projeto atual do Início. Altere primeiro o seu " "projeto no Início, por favor." #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "Alterar Início" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "A sincronizar…" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "Ligar ao CalDAV" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "Ligar a um servidor compatível CalDAV para sincronizar as suas tarefas" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "URL do servidor" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "Nome de utilizador" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "Palavra-passe" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "URL do calendário" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "Avançado" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "Mostrar opções avançadas" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "Ocultar opções avançadas" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "Iniciar sessão" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "Projeto do 'Início'" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" "Por predefinição, o Início é o local onde irá conter as tarefas criadas. " "Baseado na metodologia 'Getting Things Done' (fazer o que tem que ser feito) " "por David Allen, este local serve como o foco central para as suas ideias " "rápidas e tarefas que poderá querer organizar mais tarde" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "Ligar ao Nextcloud" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" "Inicie a sessão com a sua conta Nextcloud para sincronizar as suas tarefas " "via CalDAV" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "https://cloud.exemplo.com" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "https://exemplo.com/nextcloud" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "Exemplos de URL" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "Fonte" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "Nome da conta" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "Sincronizar Servidor" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" "Ative esta funcionalidade para que o Planify sincronize automaticamente com " "a sua conta a cada 15 minutos" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "Última sincronização" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "Eliminar fonte" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "Apagar a fonte?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "Não é possível eliminar esta fonte" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "Esta fonte contém o seu projeto atual do �nicio. Altere o projeto do seu " "�nicio primeiro, por favor." #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "Ligar ao Todoist" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "Inicie sessão com a sua conta Todoist para sincronizar as suas tarefas" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "Iniciar sessão com o navegador" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "Em alternativa, use um Token de uma API" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "API de Token" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "Ligar usando o seu API de Token pessoal do Todoist" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "Colar o seu API de Token" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "Ligar" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "1. Vá a Todoist → Definições → Integrações → Programador" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "2. Copiar o seu API de Token" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "3. Insira o código ao colar no campo em cima" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "Como obter o seu Token" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "A aguardar pelo inicio da sessão…" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "A sincronizar…" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "Aspeto" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "Usar as definições do sistema" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "Selecionar tema" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "Tema claro" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "Tema claro limpo" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "Tema escuro" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "Tema escuro elegante" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "Tema azul escuro" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "Tema azul profissional" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" "Os temas personalizados não estão disponíveis quando está a usar o tema " "claro do sistema" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "Tamanho da fonte" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "Cópias de segurança" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" "Não se preocupe se vai perder os seus dados. Pode criar cópias de segurança " "dos seus projetos, tarefas, comentários e fazer a importação dos mesmos mais " "tarde." #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "Criar cópia de segurança" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "Importar cópia de segurança" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "Ficheiros de cópias de segurança" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" "Não foram encontradas cópias de segurança, crie uma clicando no botão em " "cima." #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "Os ficheiros das cópias de segurança estão armazenadas em: %s" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "Migrar" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "Migrar a partir do Planner" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "A cópia de segurança foi criada com sucesso." #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "As tarefas foram migradas com sucesso" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "O ficheiro da base de dados não existe." #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "O ficheiro selecionado é inválido" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "Ver cópia de segurança" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "Transferir" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "Importar vista geral" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "Fontes" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "Tarefas" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "Confirmar" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "Restaurar cópia de segurança" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" "Tem a certeza de que pretende continuar? Este procedimento vai eliminar os " "seus dados atuais e substituir os mesmos pelos dados da cópia de segurança." #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "Restaurar cópia de segurança" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "Doar" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "Suporte o desenvolvimento do Planify" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" "Ajude a manter o Planify grátis e em código aberto! As suas doações suportam " "diretamente o desenvolvimento, novas funcionalidades e manutenção. Todas as " "contribuições, independentemente do valor, fazem a diferença." #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "Doações recorrentes mensais" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "Doação única" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "Doações recorrentes semanais" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "Ofereça um café ☕" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "Escolha a sua plataforma preferencial" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "obrigado pelo seu suporte! �" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "A sua contribuição ajuda a manter o Planify vivo e a crescer." #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "Geral" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "Ordenação personalizada" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "Alfabeticamente" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "Ordenar por" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "Ascendente" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "Descendente" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "Ordenação" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "Integração do ambiente de área de trabalho" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "Executar ao iniciar o computador" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "Executar automaticamente o Planify quando iniciar o seu computador" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "Executar em segundo plano" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" "Manter o Planify em execução no tabuleiro do sistema quando fechar a janela" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "Eventos do calendário" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "Pesquisa do GNOME Shell" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" "Pesquise diretamente por tarefas e projetos a partir do GNOME Shell. Ative " "em Definições → Pesquisar" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "Data e hora" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24h" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12h" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "Formato do relógio" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "Domingo" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "Segunda-feira" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "Terça-feira" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "Quarta-feira" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "Quinta-feira" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "Sexta-feira" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "Sábado" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "Começo da semana" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "Reconhecimento inteligente de data" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "Deteta automaticamente as datas como \"amanhã\" ou \"próxima semana\"" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "Página principal" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "Adicionar rápido" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" "Utilize o 'Adicionar rápido' para criar tarefas em qualquer parte do seu " "ambiente de trabalho, bastando apenas usar algumas teclas. Nem é necessário " "sair da aplicação enquanto a está a usar." #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" "Abra as 'Definições do sistema' → 'Teclado' → 'Atalhos' → 'Personalizar' ou " "'Adicionar um comando' e depois adicione um novo atalho com o seguinte " "comando:" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "Definições" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "Guardar o último projeto selecionado" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" "Se estive desativado, o projeto a ser selecionado por estará predefinição em " "Início" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "Manter propriedades da tarefa" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" "Quando o 'Continuar a adicionar' estiver ativado, preservar datas, etiquetas " "e estado do fixar" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "O comando foi copiado para a sua área de transferência" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "Barra lateral" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "Mostrar na barra lateral" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "Mostrar a contagem de tarefas" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "Largura da barra lateral" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "Modo de vista em lista para os filtros" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "Mostra os filtros com uma lista simples em vez de uma grelha" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "Pode ordenar as suas visualizações ao clicar, arrastar e largar" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "Definições de tarefas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "Terminar instantaneamente" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "Terminar com reverter" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "Concretização das tarefas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" "Escolha o comportamento das tarefas quando estas forem marcadas como " "terminadas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "Prioridade 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "Prioridade 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "Prioridade 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "Prioridade padrão" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "Riscar as tarefas terminadas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "No inicio" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "Posição de uma nova tarefa" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "Mostrar sempre as subtarefas terminadas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "Mantém visíveis todas as subtarefas terminadas sem as colapsar" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "Sinal sonoro de tarefa terminada" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "Faz um sinal sonoro quando as tarefas são terminadas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "Abrir tarefas no painel lateral" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" "Exibir sempre os detalhes da tarefa no painel de detalhes em vez de os " "expandir no modo de vista em lista." #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "Modo de foco para uma única tarefa" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" "Só permite que uma tarefa seja expandida de cada vez no modo de vista em " "lista" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "Ativar formatação em linguagem de marcação" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "Ative ou desative a formatação de tarefas em linguagem de marcação" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "Mostrar sempre o painel de detalhes" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" "Mantém sempre visível o painel de detalhes para uma navegação mais rápida " "das tarefas, assim evita o abrir e fechar constante das mesmas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "Ativar a verificação ortográfica" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "Faz a verificação de ortografia nas descrições de tarefas e notas" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "Ativado" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "Lembretes automáticos" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" "Quando ativado, vai ser notificado de que tem uma tarefa a aproximar-se do " "tempo limite." #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "Definições" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "Sincronizar com os seus gestores de tarefas favoritos" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "Defina o que deseja ver na página principal ao iniciar a aplicação" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "Personalize ao seu gosto" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "Personalizar a sua barra lateral" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "Adicionar tarefas a partir de qualquer lado" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "Cópia de segurança ou migrar a partir do Planner." #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "Criar o projeto de tutorial" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" "Aprenda como usar a aplicação passo a passo, com um projeto de tutorial " "pequeno" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "Quer pagar-me uma bebida?" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "Reportar um problema ou solicitar uma funcionalidade" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "Partilhe problemas ou ideias no GitHub" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "Junte-se a nós" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "Venha até nós" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "Contacte-nos" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "Solicite uma funcionalidade ou coloque as questões que quiser" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "Envie-nos um tweet" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "Partilhe o seu carinho" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "Discord" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "Converse ou partilhe as suas opiniões" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodon" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "Privacidade" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "Política de privacidade" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "Não guardamos nada sobre si" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "Eliminar dados da aplicação" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "O projeto do tutorial foi criado" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "Eliminar todos os dados?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" "Isto vai eliminar todas as suas listas, tarefas e lembretes de forma " "irreversível" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "Resumo & Produtividade" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "Definir objetivos" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "Defina quantas tarefas pretende terminar por dia e semana" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "Detalhes do resumo" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "Os detalhes do resumo irão aparecer aqui" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "Resumo" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "Detalhes de produtividade" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "Os detalhes da produtividade irão aparecer aqui" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "Produtividade" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "Ver mais" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "Todos os objetivos alcançados! Você é imparável" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "Objetivo diário alcançado! Continue com o mesmo ritmo" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "Objetivo semanal alcançado! Desfrute do resto da semana" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "Comece o seu dia, a sua primeira tarefa está à sua espera" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "Quase lá! Só mais umas tarefas por hoje" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "Bom ritmo esta semana, está quase a atingir o seu objetivo" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" "Está a meio do caminho para atingir o seu objetivo diário, bom progresso" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "Semana solida até agora, mantenha o ritmo" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "Cada tarefa que terminar é um passo em frente" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" "Defina os seus objetivos diários e semanais para começar a analisar a sua " "produtividade" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "Esta semana" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "Este mês" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "Objetivo diário" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "Objetivo semanal" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "Editar objetivos" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "Total" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "Pendentes" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "Expirou" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "Progresso" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "Novo projeto" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "Editar projeto" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "Dê um nome ao seu projeto" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "Usar um emoji" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "Adicionar projeto" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "Atualizar projeto" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "Predefinição global" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "Desativado" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "Formatação em 'markdown'" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "Substituir a definição global do 'markdown' para este projeto" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "O projeto foi adicionado com sucesso!" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "Mover" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "Procura rápida" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" "Altere de forma rápida entre projetos e modos de vista, encontrar tarefas, " "procurar por etiquetas" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "Nova secção" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "Editar secção" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "Nome da secção" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "Adicionar secção" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "Atualizar secção" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "Secção adicionada" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "Abrir/fechar painel lateral" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "Desafixar" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "Terminado. Próxima ocorrência: %s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "Adicionar subtarefa" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "Editar" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "Duplicar" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "Eliminar tarefa" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "Ordem alterada para 'Ordenação personalizada'" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s foi eliminado" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "Reverter" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "Adicionar subtarefas" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "Ocultar subtarefas" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "Mostrar subtarefas" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "Usar como nota" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "Copiar para a área de trabalho" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "Adicionar anexos" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "Fechar detalhes" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "Título" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "Propriedades" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "Tem a certeza de que pretende eliminar?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "Eliminar etiqueta" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "Ordem de projetos alterada para 'Ordenação personalizada'" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "Remover dos favoritos" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "Adicionar aos favoritos" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "Atualizar" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "Eliminar projeto" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "Partilhar" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "Enviar por e-mail" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "Exportar como PDF" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "O projeto foi exportado como PDF" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "Adicionar tarefas" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "Carregar mais" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "tarefas terminadas" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "Mover secção" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "Gerir a ordem das secções" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "Mostrar tarefas terminadas" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "Eliminar secção" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "Favoritos" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "Não existem favoritos disponíveis. Crie um ao clicar no botão '+'" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "Adicionar conta" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "Personalizar a barra lateral" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "Ir para 'Hoje'" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "Ir para 'Agendadas'" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "Ir para 'Etiquetas'" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "Ir para 'Afixados'" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "Não existem projetos disponíveis. Crie um ao clicar no botão '+'" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "É necessário migrar a conta" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "Menu principal" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "Abrir procura rápida" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "Acerca do Planify" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "Ups! Ocorreu algum problema" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "Tarefa terminada" #: src/MainWindow.vala:825 msgid "View" msgstr "Vista" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "A verificação de integridade da base de dados falhou" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" "Foram detetados problemas com a estrutura da base de dados que podem impedir " "que a aplicação funcione corretamente. Isto pode ter sido causado pela " "inexistência de tabelas ou colunas, provavelmente devido à corrupção de " "dados ou por uma atualização incompleta.\n" "\n" "A base de dados vai ser agora reconstruida para restaurar a funcionalidade " "normal e todos os dados existentes vão ser removidos.\n" "\n" "Após o processo terminar, vai poder restaurar uma das suas cópia de " "segurança que criou anteriormente. Obrigado pela sua compreensão" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "Restaurar base de dados" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "Eliminar cópia de segurança" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "Cópia de segurança importada com sucesso" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "O Planify vai reiniciar para aplicar as alterações feitas" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "Reiniciar agora" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "Ficheiros da cópia de segurança do Planify" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "Silenciar durante 10 minutos" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "Silenciar durante 30 minutos" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "Silenciar durante 1 hora" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "Ver menu de opções" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "Adicione algumas tarefas" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "Pressione a tecla 'a' para criar uma nova tarefa" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "Todas as tarefas foram terminadas!" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "Bom trabalho, não tem mais nada a fazer 🎉" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "tarefas" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "Eliminar tarefa terminada" msgstr[1] "Eliminar tarefas terminadas" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "Isto vai eliminar %d tarefa terminada e as respetivas subtarefas" msgstr[1] "Isto vai eliminar %d tarefas terminadas e as respetivas subtarefas" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "Não existem etiquetas disponíveis. Crie uma ao clicar no botão '+'" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "Todas as etiquetas estão ocultas pelo filtro" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "Só projetos ativos" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" "Só mostrar etiquetas em uso por tarefas em projetos ativos (não arquivados)" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "Nota" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "Agendar" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "Quando?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" "Adicione algumas tarefas. Pressione a tecla 'a' para criar uma nova tarefa" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "Ações do projeto" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "Nova tarefa" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "Data limite do projeto" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "Selecionar" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "Colar" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "Expandir todas" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "Novo" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "Colapsar todas" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "Lista" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "Quadro" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "Ordenar" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "Ordenação personalizada" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "Mais recentes" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "Ordem ascendente" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "A terminar" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "Todos (predefinido)" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "Nos próximos 7 dias" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "Nos próximos 30 dias" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "P1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "P2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "P3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "P4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "Filtrar por etiquetas" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "Mostrar terminadas" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "Mostrar tarefas terminadas na lista" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "Procurar por tarefas terminadas" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "Ordenar Por" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "Reagendar" #: src/Views/Today.vala:761 msgid "Me" msgstr "Eu" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "Anexos" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "Abrir" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "Não foram encontrados anexos. Adicione os ficheiros aqui." #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "Contornar a resolução da localização" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" "Solução alternativa para ligações em portas não predefinidas, caso esteja " "com problemas de conexão com o CalDAV" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "Aviso" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" "Isto vai desativar o processo de resolução do CalDAV.\n" "Prossiga pela sua conta e risco" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "Continuar na mesma" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "Subtarefas" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "Mostrar mais" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "Mostrar menos" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "Copiar mensagem de erro" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "Para mais detalhes, partilhe o seu ficheiro de registo: %s" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "Reportar problema" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "É necessário migrar a conta." #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "Dentro de %d minuto" msgstr[1] "Dentro de %d minutos" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "Dentro de %d hora" msgstr[1] "Dentro de %d horas" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "Neste momento" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "Localização" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "Organizador" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "URL" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Calendário" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "Juntar" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "Desativar a validação do certificado SSL" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "Não é recomendado - vai ser exposto a riscos de segurança" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" "Isto vai desativar a validação do SSL e vai ser exposto a ataques.\n" "Prossiga pela sua conta e risco" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "Tarefa não terminada" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "A tarefa foi movida para o projeto" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "A tarefa foi movida para" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "Anterior" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "Afixar: Ativo" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "Afixar: Inativo" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "Terminado em" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "Mover para projeto" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "Marcar como terminado" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "%d tarefa copiada para a área de transferência" msgstr[1] "%d tarefas copiadas para a área de transferência" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "Eliminar tarefa" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "Tem a certeza de que pretende eliminar esta tarefa?" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "Eliminar %d tarefa" msgstr[1] "Eliminar %d tarefas" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "Tem a certeza de que pretende eliminar esta %d tarefa?" msgstr[1] "Tem a certeza de que pretende eliminar estas %d tarefas?" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "A tarefa foi movida para %s" msgstr[1] "%d tarefas foram movidas para %s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "Nova versão disponível!" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" "Atualize agora para desfrutar dos últimos melhoramentos, correções de " "problemas e novas funcionalidades que tornam o Planify ainda melhor" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "Atualizar agora" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "Descartar" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "Desarquivar" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "Ainda não foram adicionadas subtarefas. Comece por fazer uma!" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "A conexão ao servidor falhou" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" "Parece que o servidor está inacessível,\n" "está conectado à Internet?\n" "Quaisquer alterações que fizer enquanto desconectado,\n" "estas vão sincronizar quando voltar a conectar-se." #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "%s está %.0f%% completado. Pode ajudar a terminar a tradução!" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "Traduções" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "Ajude o Planify para que este fique disponível no mundo inteiro" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "Ajude a melhorar as traduções" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "Iniciar uma nova tradução" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" "%s ainda não está disponível. Seja o primeiro a fazer a tradução!" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "Planify - 'Adicionar rápido'" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "Usado em qualquer lugar" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "Criar uma Nova Tarefa" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "Colar texto simples para criar uma nova tarefa" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "Criar um novo projeto" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "Criar uma nova secção num projeto" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "Procurar" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "Abrir a procura rápida" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "Controlo de janelas" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "Sair" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Abrir definições" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "Ativar/desativar barra lateral" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "Abrir os atalhos do teclado" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "Navegar" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "Abrir 'Página principal'" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "Abrir Início" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "Abrir 'Hoje'" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "Abrir 'Agendadas'" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "Abrir 'Etiquetas'" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "Abrir 'Afixados'" #~ msgid "Advanced Options" #~ msgstr "Opções avançadas" #~ msgid "Server URL examples:" #~ msgstr "Exemplos de URL de um servidor:" #~ msgid "- https://cloud.example.com/" #~ msgstr "- https://nuvem.exemplo.com/" #~ msgid "- https://example.com/nextcloud/" #~ msgstr "- https://exemplo.com/nextcloud/" #~ msgid "Token" #~ msgstr "Token" #~ msgid "How to get your token?" #~ msgstr "Como obter o seu token?" #~ msgid "2. Find 'API token' and copy your token" #~ msgstr "2. Procure por 'API tokem' e faça a copia do mesmo" #~ msgid "Connect with Token" #~ msgstr "Conectar com o token" #~ msgid "" #~ "Planify is being developed with love and passion for open source. " #~ "However, if you like Planify and want to support its development, please " #~ "consider supporting us." #~ msgstr "" #~ "O Planify está a ser desenvolvido com amor e paixão pelo código aberto. " #~ "Contudo, se gosta de usar o Planify e gostaria de suportar o seu " #~ "desenvolvimento, considere fazer uma doação, por favor." #~ msgid "Donate Now" #~ msgstr "Doar agora" #~ msgid "Enter token" #~ msgstr "Inserir token" #~ msgid "Please Enter Your Credentials" #~ msgstr "Insira as suas credenciais, por favor" #~ msgid "Loading…" #~ msgstr "A carregar…" #~ msgid "Network Is Not Available" #~ msgstr "A rede não se encontra disponível" #~ msgid "Set a Due Date" #~ msgstr "Definir data de expiração" #~ msgid "Set a Deadline" #~ msgstr "Definir uma data limite" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "Permitir que o Planify execute em segundo e envie notificações" #~ msgid "Whether Planify should run on startup" #~ msgstr "" #~ "Permitir que o Planify execute automaticamente quando iniciar o computador" #~ msgid "Clear" #~ msgstr "Limpar" #~ msgid "Menu" #~ msgstr "Menu" #~ msgid "Add Time" #~ msgstr "Adicionar hora" #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "Seja notificado sobre tarefas ou eventos importantes. Clique no botão do " #~ "'relógio' em baixo para adicionar um lembrete." #, c-format #~ msgid "Processing task %d of %d" #~ msgstr "A processar tarefa %d de %d" #~ msgid "Planify is syncing your tasks, this may take a few minutes" #~ msgstr "" #~ "O Planify está a sincronizar as suas tarefas, isto pode demorar alguns " #~ "minutos" #~ msgid "Todoist Sync" #~ msgstr "Sincronização Todoist" #~ msgid "Loading" #~ msgstr "A carregar" #~ msgid "Planner is sync your tasks, this may take a few minutes" #~ msgstr "" #~ "O Planner está a sincronizar as suas tarefas, isto pode demorar alguns " #~ "minutos" #~ msgid "Please enter your credentials" #~ msgstr "Insira as suas credenciais, por favor" #, c-format #~ msgid "Every %d minutes" #~ msgstr "A cada %d minutos" #, c-format #~ msgid "Every %d hours" #~ msgstr "A cada %d horas" #, c-format #~ msgid "Every %d days" #~ msgstr "A cada %d dias" #, c-format #~ msgid "Every %d weeks" #~ msgstr "A cada %d semanas" #, c-format #~ msgid "Every %d months" #~ msgstr "A cada %d meses" #, c-format #~ msgid "Every %d years" #~ msgstr "A cada %d anos" #, c-format #~ msgid "" #~ "This will delete %d completed tasks and their subtasks from project %s" #~ msgstr "" #~ "Isto vai eliminar %d tarefas terminadas e as respetivas subtarefas do " #~ "projeto %s" #, c-format #~ msgid "Load more history from %d weeks ago…" #~ msgstr "Carregar mais histórico de %d semanas atrás…" #~ msgid "Delete Completed Tasks" #~ msgstr "Eliminar tarefas terminadas" #, c-format #~ msgid "This will delete %d completed tasks and their subtasks" #~ msgstr "Isto vai eliminar %d tarefas terminadas e as respetivas subtarefas" #, c-format #~ msgid "In %d minutes" #~ msgstr "Dentro de %d minutos" #, c-format #~ msgid "In %d hours" #~ msgstr "Dentro de %d horas" #, c-format #~ msgid "Delete %d To-Dos" #~ msgstr "Eliminar %d tarefas" #, c-format #~ msgid "Are you sure you want to delete these %d to-dos?" #~ msgstr "Tem a certeza de que pretende eliminar estas %d tarefas?" #~ msgid "Backup" #~ msgstr "Cópia de segurança" #~ msgid "Task Setting" #~ msgstr "Definições de tarefas" #~ msgid "Close" #~ msgstr "Fechar" #~ msgid "Personal Data" #~ msgstr "Dados pessoais" #~ msgid "" #~ "We collect absolutely nothing and all your data is stored in a database " #~ "on your computer." #~ msgstr "" #~ "Não recolhemos absolutamente nada e todos os seus dados estão armazenados " #~ "numa base de dados no seu computador." #~ msgid "" #~ "If you choose to integrate Todoist, which is optional and not selected by " #~ "default, your data will be stored on their private servers, we only " #~ "display your configured tasks and manage them for you." #~ msgstr "" #~ "Se decidir fazer a integração do Todoist, que é opcional e não está " #~ "ativado por predefinição, os seus dados vão ser armazenados nos " #~ "servidores privados do mesmo. Nós só exibimos as suas tarefas " #~ "configuradas e fazemos a gestão das mesmas por si." #~ msgid "Do you have any questions?" #~ msgstr "Tem questões que gostaria de colocar?" #~ msgid "" #~ "If you have any questions about your data or any other issue, please " #~ "contact us. We will be happy to answer you." #~ msgstr "" #~ "Se tiver questões sobre os seus dados ou sobre um problema qualquer, " #~ "contacte-nos, por favor. Teremos todo o gosto em responder às suas " #~ "questões." #~ msgid "Supporting Us" #~ msgstr "Apoiar o desenvolvimento" #~ msgid "" #~ "Our mission is to provide the best open source task management " #~ "application for users all over the world. Your donations support this " #~ "work. Want to donate today?" #~ msgstr "" #~ "A nossa missão é fornecer a melhor aplicação de gestão de tarefas, em " #~ "código aberto, para todos os utilizadores do mundo inteiro. As suas " #~ "doações são importantes e ajudam a suportar o nosso trabalho. Gostaria de " #~ "fazer uma doação hoje?" #~ msgid "Support Planify" #~ msgstr "Suporte o Planify" #~ msgid "upcomings" #~ msgstr "próximas" #~ msgid "Clear Schedule" #~ msgstr "Limpar agenda" alainm23-planify-69962f8/po/ro.po000066400000000000000000002515241517337276100165020ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:53+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Romanian \n" "Language: ro\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " "20)) ? 1 : 2;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/ru.po000066400000000000000000004265351517337276100165160ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: com.github.alainm23.planner\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:01+0000\n" "Last-Translator: Localizer \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Weblate 5.16.1-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Проекты" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Разделы" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Задачи" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Метки" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Фильтры" #: core/Enum.vala:186 msgid "Lists" msgstr "Спи�ки" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "�е повтор�ть" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Каждую минуту" msgstr[1] "Каждую %d минуту" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Каждый ча�" msgstr[1] "Каждые %d ча�а (-ов)" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Каждый день" msgstr[1] "Каждый %d дн� (дней)" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Каждую неделю" msgstr[1] "Каждую (-ые) %d неделю (-ль)" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Каждый ме��ц" msgstr[1] "Каждый (-е) %d ме��ца (-ев)" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Каждый год" msgstr[1] "Каждые %d года (лет)" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Облако Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "протокол CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "По приоритету" #: core/Enum.vala:348 msgid "Label" msgstr "Метка" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "По �року выполнени�" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Раздел" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "�азначение" #: core/Enum.vala:469 msgid "Task Created" msgstr "Задача �оздана" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Задача обновлена" #: core/Enum.vala:528 msgid "Content" msgstr "Содержимое" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Опи�ание" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Пред�то�щее" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Закрепить" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "В�е задачи" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "в�е задачи" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "в�е" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "В любое врем�" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "в любое врем�" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "фильтры" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "по �року выполнени�" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Выполнено" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "выполнено" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "журнал дей�твий" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Вход�щие" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "вход�щие" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "метки" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Закреплённые" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Приоритет 1: вы�окий" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Приоритет 2: �редний" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Приоритет 3: низкий" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Приоритет 4: нет" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "вы�окий" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "�редний" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "низкий" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "нет" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Повтор�ющее��" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "повтор�ть" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "пред�то�щее" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "запланировано" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Сегодн�" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "�егодн�" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Завтра" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "завтра" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "дата" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Без метки" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "без метки" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "непомеченн" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Задача �копирована в буфер обмена" # c-format #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "Задача перемещена в %s" # c-format #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Удалить метку %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Это дей�твие не может быть отменено" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Отмена" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Удалить" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "Проект �копирован в буфер обмена." # c-format #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "Удалить проект %s?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "�рхивировать?" # # c-format #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "Это дей�твие заархивирует %s и в�е его задачи." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "�рхивировать" # c-format #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Удалить раздел %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "Задача у�пешно добавлена!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "�азвание задани�" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "Это поле об�зательно дл� заполнени�" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Добавить опи�ание…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "У�тановить дату" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Добавить Метки" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "У�тановить приоритет" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Добавить напоминани�" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Добавить задачу" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "Добавить заметку" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Выберите проект" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "Функци� бы�трого добавлени� не может найти ни одного до�тупного проекта. " "Попробуйте �оздать проект в Planify." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Комбинации клавиш" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "У�корьте �оздание задач � помощью �тих комбинаций клавиш" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "Задать важно�ть" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = вы�ший, p4 = низший" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "Добавить метки" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "Открыть �електор меток" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "�ачать проект" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "Открыть �електор проекта" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "У�тановить напоминани�" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "Открыть на�тройки напоминани�" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "Переключатель о�таёт�� открытым по�ле �оздани� задачи" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "Под�казка" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "Комбинируйте �рлыки в поле заголовка дл� более бы�трого �оздани�" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "Загрузка задач дл� %s…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "Загружено задач дл� %s…" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "Синхронизировано %d задач из %d" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "И�точник уже �уще�твует" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "�е удало�ь разрешить о�новной адре�" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "Запу�к �инхронизации…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "Синхронизаци� %s…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "Синхронизаци� завершена" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "�а �том компьютере" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" "Todoist обновил �вой API. Чтобы продолжить �инхронизацию, переподключите " "�вой аккаунт в на�тройках." #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "Запро� был неверным." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" "Требует�� аутентификаци�, но она завершила�ь неудачно или ещё не была " "выполнена." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "Запро� был корректным, но отно�ил�� к чему-то, что запрещено." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "Запрошенный ре�ур� не найден." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" "Пользователь отправил �лишком много запро�ов за определённый период времени." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "Запро� не был выполнен из-за ошибки �ервера." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "В на�то�щее врем� �ервер не может обработать запро�." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "�еизве�тна� ошибка" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "Вчера" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "д." #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "день" # # c-format #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "%s %s назад" # # c-format #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "%s %s о�тало�ь" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "%-l:%M:%S %p" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "%-l:%M %p" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "%H:%M:%S" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "%H:%M" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Пн," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Вт," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "Ср," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Чт," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Пт," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "Сб," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "В�," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "в %d день" msgstr[1] "в %d дней" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d день назад" msgstr[1] "%d дней назад" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "%a, %b %-e, %Y" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "%b %-e %Y" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "%b %-e" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "%a %Y" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "%a" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "%a, %b %-e" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "%b" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Ягодно-кра�ный" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Кра�ный" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Оранжевый" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Жёлтый" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Оливковый" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Лайм" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Зелёный" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "М�тно-зелёный" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Зеленовато-голубой" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "�ебе�но-голубой" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Светло-голубой" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Синий" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Виноградный" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Фиолетовый" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Лавандовый" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "Ярко-розовый" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "Розовый" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "��пидно-�ерый" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Серый" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "Тауп" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Светлый" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Тёмный" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Тёмно-�иний" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "�ет" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Сегодн� + Вход�щие" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Удалить в�е" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "Проце�� завершён, нужно �нова запу�тить Planify." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "ОК" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "�а Этом Компьютере" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "В�тречайте Planify" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "В �том проекте показано в�ё, что вам нужно знать, чтобы �разу при�тупить к " "работе. �е �те�н�йте�ь �к�периментировать — вы в�егда можете во��оздать " "проект в на�тройках." #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "�ажмите на �ту задачу" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "Вы �мотрите на задание! Выполните его, нажав на флажок �лева. " #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "Создать новую задачу" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Сейча� ваша очередь! �ажмите кнопку «+» в нижней ча�ти проекта, введите в�е " "о�тавшие�� данные и нажмите кнопку «Добавить задачу»." #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "Запланируйте �то задание на �егодн� или позже" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" "�ажмите кнопку календар� внизу, чтобы решить, когда выполнить �то задание." #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "Организуйте �вои задани�" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "Чтобы изменить �пи�ок, нажмите и удерживайте задание, а затем перетащите его " "на нужное ме�то." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Создайте проект" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "Организуйте �вои задани� лучше. Перейдите на боковую панель, нажмите кнопку " "«+» в разделе «�а �том компьютере» и добавьте �об�твенный проект." #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "Готово!" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "Это в�ё, что Вам дей�твительно нужно знать. �е �те�н�йте�ь добавл�ть �вои " "проекты и задани�.\n" "Вы можете вернуть�� к �тому проекту позже, чтобы изучить ра�ширенные " "функции, указанные ниже.\n" "Мы надеем��, что вам понравит�� и�пользовать Planify!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "�а�тройте параметры приложени�" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Отобразите �обыти� календар�" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "Вы можете отображать �обыти� календар� вашей �и�темы в Planify. Перейдите в " "«�а�тройки» 🡒 «Общие» 🡒 «Событи� календар�», чтобы включить их." #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "Включите �инхронизацию �о �торонними �ерви�ами" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "Planify не только �оздаёт задачи локально, но и может �инхронизировать�� � " "вашей учётной запи�ью Todoist. Перейдите в «�а�тройки» 🡒 «Учётные запи�и»." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "Повы�ьте �вою продуктивно�ть" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "Перетащите кнопку плю�!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "Син�� кнопка, которую вы видите в нижней ча�ти каждого �крана, мощнее, чем " "кажет��: она �оздана дл� перемещени�. Перетащите её вверх, чтобы �оздать " "задачу там, где вам нужно." #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "Добавьте метки к �воим задачам!" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "Метки помогают упор�дочивать и кла��ифицировать задачи. Чтобы добавить " "метку, нажмите на кнопку метки внизу." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "У�танавливайте �воевременные напоминани�!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" "Получайте уведомлени� о важных задачах и �обыти�х. �ажмите на кнопку � " "ча�ами ниже, чтобы добавить напоминание." #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼� Работа" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒� Учеба" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉� Делегировано" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "�� Дом" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀�� Ожидает продолжени�" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Задача дублирована" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Раздел дублирован" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Проект дублирован" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "В указанное врем�" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "За 10 минут" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "За 30 минут" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "За 45 минут" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "За 1 ча�" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "За 2 ча�а" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "За 3 ча�а" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "%A, %B %e, %Y" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%OB" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "�азад" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "Прошлый ме��ц" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "Пере�лать" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "Следующий ме��ц" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "Прошлый ме��ц, %s" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "%B %Y" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "Следующий ме��ц, %s" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Выбрать дату" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "В�" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Пн" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Вт" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "Ср" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Чт" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Пт" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "Сб" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Врем�" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "до" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr " " #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "раз(а)" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "раз" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Повтор�ть" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "Введите дату…" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "Следующа� недел�" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "Сохранить" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Ежедневно" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "По будн�м" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "Выходные" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Еженедельно" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Ежеме��чно" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Ежегодно" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "У�тановить вручную" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "�ет даты" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "Минуты(ут)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "Ча�а(ов)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "Дн�(ей)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "�едел�(и)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "Ме��ца(ев)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "Года(лет)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "�икогда" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "По дате" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "По�ле" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "Применить" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "Повтор�ть каждые" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "В конце" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "Дата" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "Удалить дату" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "У�тановить крайний �рок" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "Крайний �рок" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "Выбрать метки" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "Матка не найдена: Создать \"%s\"" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" "Зде�ь по�вит�� �пи�ок ваших фильтров. Создайте его, введ� им� и нажав " "клавишу Enter." # c-format #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "Создать «%s»" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "Зде�ь по�вит�� �пи�ок фильтров." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "Пои�к" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "Создать или найти" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "Удалить ��ылку" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "Приоритет 4: �ет" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "Приоритет 1: Вы�окий" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "Приоритет 2: Средний" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "Приоритет 3: �изкий" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "Приоритет 1: Средний" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "Приоритет 1: �изкий" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "Зде�ь по�вит�� ваш �пи�ок разделов." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "�ет раздела" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "Введите запро�" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "�апоминани�" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "Зде�ь по�вит�� �пи�ок напоминаний. Добавьте его, нажав кнопку «+»." #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "Добавить напоминание" # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "Через 5 минут" # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "Через 15 минут" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "Через 30 минут" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "Через 1 ча�" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "Через 3 ча�а" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "Через 6 ча�ов" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "Задать раздел" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "Выбрать раздел" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "У�тановите �о�то�ние" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "Со�то�ние" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "Задание" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "Выполнить" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "Planify будет автоматиче�ки запу�кать�� при входе в �и�тему и работать в " "фоновом режиме при закрытии его окна дл� отправки уведомлений заданий." #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "Синхронизаци� календар�" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" "�втоматиче�ки преобразуйте �вои задачи в �обыти� календар�. Люба� задача � " "датой по�вит�� в вашем календаре, что упро�тит планирование дн�." #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" "Требование: Вам нужна учетна� запи�ь календар�, на�троенна� в Календаре " "GNOME (Google, Nextcloud и т. д.)" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" "Получайте мобильные уведомлени� о �воих задачах через Google Календарь, " "Outlook или любое другое приложение дл� календар�" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" "Ваши задачи �инхронизируют�� везде: на телефоне, планшете, веб-браузере и " "любом у�трой�тве � вашим календарем" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "Выберете календарь" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "Выберите календарь из �пи�ка" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "Включить �инхронизацию" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "Синхронизаци� календар� у�пешно отключена" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "Синхронизаци� календар� активна" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" "Ваши задачи �инхронизированы � календарем. Люба� задача � датой " "автоматиче�ки отображает�� как �обытие календар�." #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "Отключить �инхронизацию" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "Синхронизировано �: %s" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "Синхронизаци� включена!" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" "Ваши задачи теперь �инхронизированы � календарем. Люба� задача � датой будет " "автоматиче�ки отображать�� как �обытие календар�." #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "ОК" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "Выполненные задачи" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "Показать меню фильтров" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "Выполненных задач ещё нет." #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "Удал�ть в�е выполненные задачи" # # c-format #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" "Это приведёт к удалению %d выполненной задачи и их подзадач из проекта %s" msgstr[1] "" "Это приведёт к удалению %d выполненных задач и их подзадач из проекта %s" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "Фильтровать по" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "Следующа� �едел�" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "Без �рока" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Готово" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "Изменить журнал" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "Добавлено" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "�е до�тупно" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "Обновлено" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" "Журнал ваших изменений будет отображать�� зде�ь, как только вы начнёте " "вно�ить изменени�." # # c-format #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "Загрузить журнал за %d-неделю назад…" msgstr[1] "Загрузить журнал за %d-недели (-ль) назад…" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "�ова� метка" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "Изменить метку" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "Введите название метки" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "Добавить метку" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "Обновить метку" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "Фильтр" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "�рхивированные проекты" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "Управление разделами" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "Вы можете �ортировать разделы перета�кива� их" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "�рхивированное" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(�ет раздела)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "Учётные запи�и" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "Добавить и�точник" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "Страница Вход�щие" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "Вы можете �ортировать�� �вои учётные запи�и, перета�кива� их" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "Planify �инхронизирует ваши задачи, �то может зан�ть не�колько минут" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "Верификаци� по SSL выключена" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "Требует�� перено� аккаунта" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "Переподключение" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "�евозможно �крыть �тот аккаунт" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "В �том аккаунте хранит�� ваш текущий проект «Вход�щие». Пожалуй�та, �начала " "измените проект «Вход�щие»." #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "Изменить «Вход�щие»" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "Синхронизирование…" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "URL-адре� �ервера" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "Им� пользовател�" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "Пароль" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "URL-адре� домашней �траницы календар�" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "Войти" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "Проект «Вход�щие»" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" "По умолчанию новые задачи попадают в папку «Вход�щие». Согла�но методологии " "Д�вида �ллена «Как приве�ти дела в пор�док», �то ме�то дл� �бора бы�трых " "идей и задач, которые вы упор�дочите позже" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "И�точник" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "Отображаемое им�" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "Синхронизаци� � �ервером" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" "�ктивируйте �ту на�тройку, чтобы Planify автоматиче�ки �инхронизировал�� � " "вашей учётной запи�ью каждые 15 минут" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "По�ледн�� �инхронизаци�" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "Удалить и�точник" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "Удалить и�точник?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "�евозможно удалить �тот и�точник" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "Этот и�точник �одержит ваш текущий проект «Вход�щие». Пожалуй�та, �начала " "измените �вой проект «Вход�щие»." #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "1. Зайти в Todoist → Параметры → Интеграции → Разработчикам" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "3. В�тавить его в поле �верху" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "Синхронизаци�…" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "Оформление" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "И�пользовать на�тройки �и�темы" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "Выбрать тему" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "Светлый �тиль" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "Чи�та� лёгка� тема" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "Тёмный �тиль" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "Элегантна� тёмна� тема" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "Тёмно-�иний �тиль" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "Профе��иональна� голуба� тема" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" "Пользователь�кие темы недо�тупны при и�пользовании �и�темной �ветлой темы" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "Размер шрифта" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "Резервные копии" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" "�икогда не бе�покойте�ь о потере ваших данных. Вы можете �оздавать резервные " "копии �воих активных проектов, задач и комментариев и импортировать их позже." #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "Создать резервную копию" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "Импорт резервной копии" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "Файлы резервных копий" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "Учётные запи�и не найдены. Создайте, нажав кнопку �верху." #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "Файлы резервных копий хран�т�� в: %s" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "Перене�ти" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "Перене�ти из планировщика" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "Резервна� копи� �оздана." #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "Миграци� задач у�пешна" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "Файл базы данных не �уще�твует." #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "Выбранный файл недей�твителен" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "Показать резервную копию" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "Скачать" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "Обзор импорта" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "И�точники" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "Задани�" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "Подтвердить" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "Во��тановление резервной копии" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" "Вы уверены, что хотите продолжить? Эта операци� приведет к удалению текущих " "данных и замене их резервной копией." #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "Во��тановить резервную копию" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "Пожертвовать" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "Поддержите разработку Planify" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" "Помогите Planify о�тавать�� бе�платным и � открытым и�ходным кодом! Ваши " "пожертвовани� напр�мую поддерживают разработку, новые функции и " "об�луживание. Каждый вклад, незави�имо от размера, имеет значение." #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "Ежеме��чна� регул�рна� поддержка" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "Разовое пожертвование" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "Еженедельные регул�рные пожертвовани�" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "Купи мне кофе ☕" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "Выберите предпочитаемую платформу" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "Спа�ибо за вашу поддержку! �" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "Ваш вклад помогает Planify о�тавать�� живым и развивать��." #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "Общие" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "Ручной Пор�док Сортировки" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "По алфавиту" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "Сортировать по" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "По возра�танию" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "По убыванию" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "Упор�дочить" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "Интеграци� � рабочим окружением" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "Запу�кать при �тарте �и�темы" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "Работа в фоновом режиме" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "Событи� календар�" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "Дата и врем�" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24-ча�овой" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12-ча�овой" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "Формат времени" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "Во�кре�енье" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "Понедельник" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "Вторник" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "Среда" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "Четверг" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "П�тница" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "Суббота" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "�ачало недели" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "Умное ра�познавание даты" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" "�втоматиче�ки ра�познавать даты по типу \"завтра\" или \"на �ледующей " "неделе\"" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "Вид домашней �траницы" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "Бы�трое добавление" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" "И�пользуйте функцию «Бы�трое добавление», чтобы �оздавать задани� из любого " "ме�та на рабочем �толе � помощью в�его лишь не�кольких нажатий клавиш. Вам " "даже не придёт�� выходить из приложени�, в котором вы �ейча� находите�ь." #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" "Откройте «Си�темные на�тройки» → «Клавиатура» → «Комбинации клавиш» → " "«Пользователь�ка� комбинаци� клавиш», затем добавьте новую комбинацию клавиш " "�о �ледующим тек�том:" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "�а�тройки" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "Сохранить в по�ледний выбранный проект" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" "Е�ли �та опци� не включена, по умолчанию будет выбран проект «Вход�щие»" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "Сохранить �вой�тва задачи" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" "Е�ли включен параметр «Продолжить добавление», �охран�ть дату, метки и " "закрепленное �о�то�ние" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "Команда �копирована в буфер обмена" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "Бокова� панель" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "Отображать на боковой панели" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "Показать количе�тво задач" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "Ширина боковой панели" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "Про�мотр �пи�ка фильтров" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "Отображение фильтров в виде про�того �пи�ка вме�то �етки" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "Вы можете мен�ть пор�док �воих �пи�ков, перета�кива� их" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "�а�тройки задач" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "Завершать мгновенно" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "Завершать � возвратом" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "Задача завершена" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "Выберите, как будут ве�ти �еб� задачи по�ле отметки о выполнении" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "Приоритет 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "Приоритет 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "Приоритет 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "Приоритет по умолчанию" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "Выполненные задачи вычёркивать" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "В начале" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "Размещение новой задачи" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "В�егда показывать выполненные подзадачи" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "В�е выполненные подзадачи должны быть видны, а не �вернуты" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "Звуковой �игнал о завершении задачи" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "Во�произведение звука при завершении задач" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "Открыть задачу на боковой панели" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" "В�егда отображать �ведени� о задаче на боковой панели, а не в виде �пи�ка." #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "Режим фоку�а на одной задаче" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "В режиме про�мотра �пи�ка можно развернуть только одну задачу за раз" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "Включить форматирование Markdown" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "Включить или отключить поддержку Markdown дл� задач" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "В�егда показывать боковую панель подробно�тей" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" "Чтобы бы�трее перемещать�� по задачам, о�тавьте боковую панель � подробной " "информацией открытой, не закрыва� и не открыва� её повторно" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "Включить проверку орфографии" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "Провер�ть орфографию в опи�ани�х задач и опи�ани�х" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "Включено" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "�втоматиче�кие напоминани�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" "Е�ли �та функци� включена, по умолчанию будет добавлено напоминание до " "на�туплени� �рока выполнени� задачи." #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "Параметры" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "Синхронизируйте �о �воими любимыми планировщиками задач" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "У�тановите вид, отображаемый при первом запу�ке" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "�а�тройте как вам нравит��" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "�а�тройте вашу боковую панель" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "Добавл�йте задачи из любого ме�та" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "Создать резервную копию или перене�ти из планировщика." #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "Создать обучающий проект" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "Изучите приложение шаг за шагом � помощью короткого обучающего проекта" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "Хотите уго�тить мен� выпивкой?" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "Сообщить об ошибке или запро�ить функционал" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "Делите�ь ошибками или иде�ми на GitHub" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "При�оедин�йте�ь" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "Св�зать�� � нами" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "Св�жите�ь � нами" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "Предложите функцию или задайте нам вопро�" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "Пишите нам в Twitter" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "Делите�ь любовью" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "Чат Discord" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "Об�уждайте и делите�ь �воим мнением" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Соц�еть Mastodon" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "Конфиденциально�ть" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "Политика конфиденциально�ти" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "У на� нет ничего на ва�" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "Удалить данные Planify" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "Обучающий проект был �оздан" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "Удалить в�е данные?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "Безвозвратно удал�ет �пи�ки, задачи и напоминани�" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "Сводка" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "Подробнее" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "�а �той неделе" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "В �том ме��це" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "Про�рочено" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "�овый проект" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "Изменить проект" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "Введите название проекта" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "И�пользовать Emoji" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "Добавить проект" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "Обновить проект" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "Проект у�пешно добавлен!" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "Переме�тить" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "Бы�трый пои�к" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" "Бы�тро переключайте проекты и �пи�ки, находите задачи, о�уще�твл�йте пои�к " "по меткам" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "�овый раздел" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "Изменить раздел" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "�азвание раздела" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "Добавить раздел" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "Обновить раздел" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "Добавлен раздел" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "Переключить боковую панель" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "Открепить" # # c-format #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "Выполнено. Следующий раз: %s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "Добавить подзадачу" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "Изменить" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "Дублировать" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "Удалить задачу" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "Сортировка изменена на �ортировку «Вручную»" # # c-format #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s удалено" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "Отменить" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "Добавить подзадачи" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "Скрыть подзадачи" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "Показать подзадачи" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "И�пользовать как Заметку" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "Скопировать в буфер обмена" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "Добавить вложени�" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "Скрыть подробно�ти" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "Заголовок" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "Свой�тва" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "Удалить?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "Удалить метку" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "Сортировка проектов изменена на �ортировку «Вручную»" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "Удалить из избранного" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "Добавить в избранное" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "Обновить" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "Удалить проект" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "Поделить��" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "Отправить по E-Mail" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "Добавить задачи" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "Загрузить ещё" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "выполненные задачи" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "Перене�ти раздел" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "Изменить пор�док разделов" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "Показать выполненные задачи" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "Удалить раздел" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "Избранное" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "В избранном ничего нет. Создайте, нажав кнопку «+»" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "Добавить учётную запи�ь" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "�а�тройте боковую панель" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "Перейти в Сегодн�" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "Перейти в Пред�то�щее" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "Перейти в Метки" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "Перейти в Закреплённые" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "�ет до�тупного проекта. Создайте его, нажав кнопку «+»" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "Требует�� перено� учетной запи�и" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "Главное меню" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "Открыть бы�трый пои�к" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "О Planify" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "Произошла ошибка" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "Задача выполнена" #: src/MainWindow.vala:825 msgid "View" msgstr "Обзор" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "Проверка цело�тно�ти базы данных не выполнена" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" "Мы обнаружили проблемы в �труктуре базы данных, которые могут помешать " "правильной работе приложени�. Это может быть �в�зано � от�ут�твием таблиц " "или �толбцов, что может быть вызвано повреждением данных или неполным " "обновлением. \n" "\n" "База данных будет �брошена дл� во��тановлени� нормальной функционально�ти, а " "в�е �уще�твующие данные будут удалены. \n" "\n" "По�ле �бро�а вы �можете во��тановить любую резервную копию, �озданную ранее. " "Благодарим ва� за терпение" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "Сбро�ить базу данных" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "Удалить резервную копию" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "Резервна� копи� у�пешно импортирована" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "Planify перезапу�тит��, чтобы применить изменени�" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "Перезапу�тить �ейча�" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "Резервные копии Planify" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "Отложить на 10 минут" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "Отложить на 30 минут" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "Отложить на 1 ча�" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "Показать меню параметров" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "Добавить не�колько задач" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "�ажмите клавишу «a», чтобы �оздать новую задачу" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "В�е задачи выполнены!" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "Отлична� работа, больше ничего не нужно делать 🎉" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "задачи" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "Удал�ть выполненную задачу" msgstr[1] "Удал�ть выполненные задачи" # # c-format #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "Это приведёт к удалению %d выполненной задачи и её подзадач" msgstr[1] "Это приведёт к удалению %d выполненных задач и их подзадач" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "�ет до�тупных меток. Создайте, нажав кнопку «+»" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "Примечание" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "Ра�пи�ание" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "Когда?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "Добавьте не�колько задач. �ажмите «a», чтобы �оздать новую задачу" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "Дей�тви� � проектом" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "�ова� Задача" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "Крайний �рок проекта" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "Выбрать" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "В�тавить" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "Развернуть в�е" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "Создать" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "Свернуть в�е" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "Спи�ок" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "До�ка" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "Сортировка" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "Вручную" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "По дате добавлени�" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "Пор�док по-возра�танию" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "Срок выполнени�" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "В�е (по умолчанию)" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "Следующие 7 дней" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "Следующие 30 дней" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "П1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "П2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "П3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "П4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "Фильтровать по меткам" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "Показать завершенные" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "Показывать выполненные задачи в �пи�ке" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "�айти завершённые задачи" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "Сортировать По" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "Перепланировать" #: src/Views/Today.vala:761 msgid "Me" msgstr "Я" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "Вложени�" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "Открыть" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "Вложени� не найдены. Добавьте файлы зде�ь." #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "Решение обхода ме�тоположений" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" "Обходной путь дл� решени� проблем � подключением CalDAV при и�пользовании " "портов, отличных от �тандартных" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "Предупреждение" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" "Это отключит проце�� разрешени� CalDAV.\n" "И�пользуйте на �вой �трах и ри�к" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "Продолжить в любом �лучае" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "Подзадачи" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "Показать больше" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "Показать меньше" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "Сообщить о проблеме" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "Требует�� перено� учетной запи�и." #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "В %d минуту" msgstr[1] "В %d минут" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "В %d ча�" msgstr[1] "В %d ча�ов" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "Прои�ходит �ейча�" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "Ме�тоположение" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "Организатор" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "С�ылка" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Календарь" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "При�оединить��" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "Отключить проверку �ертификатов SSL" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "�е рекомендует�� — подвергает ва� ри�ку безопа�но�ти" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" "Это отключает проверку SSL и �делает ва� у�звимыми дл� атак.\n" "И�пользуйте на �вой �трах и ри�к" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "Задача не выполнена" # c-format #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "Задача перене�ена в проект" # c-format #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "Задача перемещена в" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "Предыдущий" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "Закрепить: активный" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "Закрепить: неактивный" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "Выполнено в" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "Переме�тить в проект" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "Отметить как выполненные" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "Удалить задание" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "Вы уверены, что хотите удалить �то задание?" # # c-format #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "Удалить %d задание" msgstr[1] "Удалить %d заданий" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "Вы уверены, что хотите удалить �то задание %d?" msgstr[1] "Вы уверены, что хотите удалить �ти задани� %d?" # c-format #: src/Widgets/MultiSelectToolbar.vala:402 #, fuzzy, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "Задача перемещена в %s" msgstr[1] "Задача перемещена в %s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "�ова� вер�и� до�тупна!" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" "Обновите приложение пр�мо �ейча�, чтобы во�пользовать�� по�ледними " "улучшени�ми, и�правлени�ми ошибок и новыми функци�ми, которые делают Planify " "ещё лучше" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "Обновите �ейча�" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "Отклонить" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "Разархивировать" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "Подзадачи ещё не добавлены. �ачинайте!" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "�е удало�ь подключить�� к �ерверу" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" "Похоже �ервер недо�тупен\n" "вы подключены к Интернету?\n" "Изменени�, вне�ённые вами в автономном режиме,\n" "будут �инхронизированы при повторном подключении." #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "%s на %.0f%% закончен. Вы можете помочь закончить его!" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "Перевод" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "Помогите �делать Planify до�тупным по в�ему миру" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "Помогите улучшить перевод" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "�ачните новый перевод" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "%s недо�тупен �ейча�. Переведите �то первым!" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "Planify — Бы�трое добавление" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "Глобальные комбинации" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "Создать �овую Задачу" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "В�тавить тек�т дл� �оздани� новой задачи" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "Создать новый проект" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "Создать новый раздел в проекте" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "Пои�к" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "Открыть бы�трый пои�к" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "Управление окном" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "Выйти" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Открыть на�тройки" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "Показать или �крыть боковую панель" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "Открыть комбинации клавиш" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "�авигаци�" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "Открыть домашнюю �траницу" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "Открыть «Вход�щие»" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "Открыть «Сегодн�»" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "Открыть «Пред�то�щее»" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "Открыть «Метки»" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "Открыть «Закреплённые»" #~ msgid "Advanced Options" #~ msgstr "Продвинутые на�тройки" #~ msgid "Server URL examples:" #~ msgstr "Примеры URL-адре�ов �ерверов:" #~ msgid "- https://cloud.example.com/" #~ msgstr "- https://cloud.example.com/" #~ msgid "- https://example.com/nextcloud/" #~ msgstr "- https://example.com/nextcloud/" #~ msgid "Token" #~ msgstr "Токен" #~ msgid "How to get your token?" #~ msgstr "Как получить Ваш токен?" #~ msgid "2. Find 'API token' and copy your token" #~ msgstr "2. �айти \"Токен API\" и копировать Ваш токен" #~ msgid "Connect with Token" #~ msgstr "Подключите�ь � помощью токена" #~ msgid "" #~ "Planify is being developed with love and passion for open source. " #~ "However, if you like Planify and want to support its development, please " #~ "consider supporting us." #~ msgstr "" #~ "Разработка Planify опирает�� на открытый и�ходный код. Е�ли вам нравит�� " #~ "Planify и вы хотите поддержать его развитие, пожалуй�та, поддержите на�." #~ msgid "Donate Now" #~ msgstr "Пожертвовать �ейча�" #~ msgid "Enter token" #~ msgstr "Введите токен" #~ msgid "Please Enter Your Credentials" #~ msgstr "Введите данные �воей учётной запи�и" #~ msgid "Loading…" #~ msgstr "Загрузка…" #~ msgid "Network Is Not Available" #~ msgstr "Сеть недо�тупна" #~ msgid "Set a Due Date" #~ msgstr "Задать �рок выполнени�" #~ msgid "Set a Deadline" #~ msgstr "У�тановите крайний �рок" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "" #~ "Позвольте Planify работать в фоновом режиме и отправл�ть уведомлени�" #~ msgid "Whether Planify should run on startup" #~ msgstr "Должен ли Planify запу�кать�� при �тарте �и�темы" #~ msgid "Clear" #~ msgstr "Очи�тить" #~ msgid "Menu" #~ msgstr "Меню" #~ msgid "Add Time" #~ msgstr "Добавить врем�" #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "Получайте уведомлени� о важных задачах или �обыти�х. �ажмите на " #~ "колокольчик внизу, чтобы добавить напоминание." #, c-format #~ msgid "Processing task %d of %d" #~ msgstr "Обработка задачи %d из %d" #~ msgid "Planify is syncing your tasks, this may take a few minutes" #~ msgstr "" #~ "Planify �инхронизирует ваши задачи, �то может зан�ть не�колько минут" #~ msgid "Todoist Sync" #~ msgstr "Синхронизаци� � Todoist" #~ msgid "Loading" #~ msgstr "Загрузка" #~ msgid "Planner is sync your tasks, this may take a few minutes" #~ msgstr "" #~ "Планировщик �инхронизирует ваши задачи, �то может зан�ть не�колько минут" #~ msgid "Please enter your credentials" #~ msgstr "Введите данные Вашей учётной запи�и" # c-format #, c-format #~ msgid "Every %d minutes" #~ msgstr "Каждые %d мин" # c-format #, c-format #~ msgid "Every %d hours" #~ msgstr "Каждые %d ч" # # c-format #, c-format #~ msgid "Every %d days" #~ msgstr "Каждые %d дней" # # c-format #, c-format #~ msgid "Every %d weeks" #~ msgstr "Каждые %d недель" # # c-format #, c-format #~ msgid "Every %d months" #~ msgstr "Каждые %d ме��цев" # # c-format #, c-format #~ msgid "Every %d years" #~ msgstr "Каждые %d г. (лет)" # # c-format #, c-format #~ msgid "" #~ "This will delete %d completed tasks and their subtasks from project %s" #~ msgstr "" #~ "Это приведёт к удалению %d выполненных задач и их подзадач из проекта %s" # # c-format #, c-format #~ msgid "Load more history from %d weeks ago…" #~ msgstr "Загрузить журнал %d-недельной давно�ти…" #~ msgid "Delete Completed Tasks" #~ msgstr "Удал�ть выполненные задачи" # # c-format #, c-format #~ msgid "This will delete %d completed tasks and their subtasks" #~ msgstr "Будут удалены завершённые задачи (%d) и их подзадачи" #, c-format #~ msgid "In %d minutes" #~ msgstr "Через %d минут" #, c-format #~ msgid "In %d hours" #~ msgstr "Через %d ча�ов" # # c-format #, c-format #~ msgid "Delete %d To-Dos" #~ msgstr "Удалить задани� (%d)" # # c-format #, c-format #~ msgid "Are you sure you want to delete these %d to-dos?" #~ msgstr "Вы уверены, что хотите удалить �ти задани� (%d)?" #~ msgid "Backup" #~ msgstr "Резервна� копи�" #~ msgid "Task Setting" #~ msgstr "�а�тройка задач" #~ msgid "Supporting Us" #~ msgstr "Поддержать на�" #~ msgid "" #~ "Our mission is to provide the best open source task management " #~ "application for users all over the world. Your donations support this " #~ "work. Want to donate today?" #~ msgstr "" #~ "�аша ми��и� — предо�тавить лучшее приложение дл� управлени� задачами � " #~ "открытым и�ходным кодом дл� пользователей во в�ём мире. Ваши " #~ "пожертвовани� поддерживают �ту работу. Хотите �делать пожертвование " #~ "�егодн�?" #~ msgid "Support Planify" #~ msgstr "Поддержите Planify" #~ msgid "Personal Data" #~ msgstr "Личные данные" #~ msgid "" #~ "We collect absolutely nothing and all your data is stored in a database " #~ "on your computer." #~ msgstr "" #~ "Мы не �обираем аб�олютно ничего, а в�е ваши данные хран�т�� в базе данных " #~ "на вашем компьютере." #~ msgid "" #~ "If you choose to integrate Todoist, which is optional and not selected by " #~ "default, your data will be stored on their private servers, we only " #~ "display your configured tasks and manage them for you." #~ msgstr "" #~ "Е�ли вы решите интегрировать Todoist, что �вл�ет�� необ�зательным и не " #~ "выбирает�� по умолчанию, ваши данные будут хранить�� на их ча�тных " #~ "�ерверах, а мы лишь отобразим ваши на�троенные задачи и будем управл�ть " #~ "ими дл� ва�." #~ msgid "Do you have any questions?" #~ msgstr "У ва� е�ть вопро�ы?" #~ msgid "" #~ "If you have any questions about your data or any other issue, please " #~ "contact us. We will be happy to answer you." #~ msgstr "" #~ "Е�ли у ва� возникли вопро�ы по поводу ваших данных или по любому другому " #~ "поводу, пожалуй�та, �в�жите�ь � нами. Мы будем рады ответить вам." #~ msgid "Close" #~ msgstr "Закрыть" #~ msgid "Clear Schedule" #~ msgstr "Очи�тить ра�пи�ание" #~ msgid "Stay open after creating task" #~ msgstr "О�тавл�ть открытым по�ле �оздани� задачи" #~ msgid "Process completed, you need to start Planify again" #~ msgstr "Проце�� завершён, нужно �нова запу�тить Planify" #~ msgid "Task Detail" #~ msgstr "Сведени� о задаче" #~ msgid "Create a new to-do" #~ msgstr "Создайте новую задачу" #~ msgid "Tag your to-dos!" #~ msgstr "Помечайте �вои задачи." #~ msgid "What’s new in Planify" #~ msgstr "Что нового в Planify" #~ msgid "Inbox as Independent Project" #~ msgstr "Вход�щие как незави�имый проект" #~ msgid "" #~ "The Inbox is the default place to add new tasks, allowing you to quickly " #~ "get your ideas out of your head and then plan them when you’re ready." #~ msgstr "" #~ "«Вход�щие» — �то ме�то по умолчанию дл� добавлени� новых задач, " #~ "позвол�ющее бы�тро �планировать ваши идеи." #~ msgid "Enhanced Task Duplication" #~ msgstr "Улучшенное дублирование задач" #~ msgid "" #~ "When you duplicate a task now, all subtasks and labels are automatically " #~ "duplicated, saving you time and effort in managing your projects." #~ msgstr "" #~ "При дублировании задачи автоматиче�ки дублируют�� в�е подзадачи и метки, " #~ "что позвол�ет �кономить врем� и �илы при управлении проектами." #~ msgid "Duplication of Sections and Projects" #~ msgstr "Дублирование разделов и проектов" #~ msgid "" #~ "You can now easily duplicate entire sections and projects, making it " #~ "easier to create new projects based on existing structures." #~ msgstr "" #~ "Теперь можно легко дублировать целые разделы и проекты, что упрощает " #~ "�оздание новых проектов на о�нове �уще�твующих �труктур." #~ msgid "Project Expiry Date" #~ msgstr "Срок дей�тви� проекта" #~ msgid "" #~ "Your project’s expiry date now clearly shows the remaining days, helping " #~ "you keep track of your deadlines more effectively." #~ msgstr "" #~ "Дата окончани� �рока дей�тви� проекта теперь чётко отображает о�тавшие�� " #~ "дни, помога� �ффективнее �ледить за �роками." #~ msgid "Archiving of Projects and Sections" #~ msgstr "�рхивирование проектов и разделов" #~ msgid "" #~ "You can now archive entire projects and sections! This feature helps you " #~ "keep your workspace organized and clutter-free." #~ msgstr "" #~ "Теперь можно архивировать целые проекты и разделы. Эта функци� поможет " #~ "�охранить рабочее про�тран�тво организованным и чи�тым." #~ msgid "What's New" #~ msgstr "Что нового" #~ msgid "Are you sure you want to reset all? (y/n): " #~ msgstr "Вы уверены, что хотите �бро�ить в�ё? (y/n): " #~ msgid "y" #~ msgstr "y" #~ msgid "yes" #~ msgstr "да" #~ msgid "Couldn't find an app to handle file URIs" #~ msgstr "�е удало�ь найти приложение дл� обработки URI файлов" #~ msgid "Planify" #~ msgstr "Planify" #~ msgid "" #~ "Up to 3 tasks can be pinned and they will appear at the top of the " #~ "project page" #~ msgstr "" #~ "Можно закрепить до 3 задач, и они будут отображать�� вверху �траницы " #~ "проекта" #~ msgid "No Provider Available" #~ msgstr "�е до�тупно" #~ msgid "Go to Inbox" #~ msgstr "Вход�щие" #~ msgid "Order by" #~ msgstr "Сортировать" #~ msgid "Integrations" #~ msgstr "Интеграции" #~ msgid "Wait 2500 Milliseconds" #~ msgstr "" #~ "Подождав 2500\n" #~ "милли�екунд" #~ msgid "Complete Task" #~ msgstr "Выполнить задачу" #~ msgid "" #~ "Complete your to-do instantly or wait 2500 milliseconds with the undo " #~ "option" #~ msgstr "" #~ "Выполните задачу �разу или\n" #~ "подождав 2500 милли�екунд\n" #~ "� возможно�тью отмены" #~ msgid "Top" #~ msgstr "Вверху" #~ msgid "Bottom" #~ msgstr "Внизу" #~ msgid "Create More" #~ msgstr "Создайте проект" #~ msgid "App Theme" #~ msgstr "Тема приложени�" # c-format #, c-format #~ msgid "Task moved to: %s" #~ msgstr "Задача перемещена в: %s" #~ msgid "Telegram" #~ msgstr "Telegram" #~ msgid "Matrix Room" #~ msgstr "Комната в Matrix" #~ msgid "Attention at One" #~ msgstr "Внимание на одном" #~ msgid "Add To-Do" #~ msgstr "Добавить задачу" #~ msgid "Nextcloud Setup" #~ msgstr "�а�тройка Nextcloud" #~ msgid "Offline Mode Is On" #~ msgstr "�втономный режим включён" #~ msgid "Provider" #~ msgstr "И�точник" #~ msgid "Pinned" #~ msgstr "Закреплено" #~ msgid "View Details" #~ msgstr "По�мотреть подробно�ти" #~ msgid "All" #~ msgstr "В�е" #~ msgid "Attach File" #~ msgstr "Прикрепить файл" #~ msgid "Hide Completed Tasks" #~ msgstr "Скрыть выполненные задачи" #~ msgid "On this Computer" #~ msgstr "�а �том компьютере" #~ msgid "Labels: On This Computer" #~ msgstr "Метки : �а �том компьютере" #~ msgid "Labels: Todoist" #~ msgstr "Метки : Todoist" #~ msgid "Labels: Nextcloud" #~ msgstr "Метки : Todoist" #~ msgid "Synchronize with your Todoist Account" #~ msgstr "Синхронизируйте �о �воей учетной запи�ью Todoist" #~ msgid "" #~ "Activate this setting so that Planify automatically synchronizes with " #~ "your CalDAV account every 15 minutes" #~ msgstr "" #~ "�ктивируйте �ту на�тройку, чтобы Planify автоматиче�ки �инхронизировал�� " #~ "� вашей учетной запи�ью Todoist каждые 15 минут" #~ msgid "" #~ "Are you sure you want to remove the Todoist sync? This action will delete " #~ "all your tasks and settings." #~ msgstr "" #~ "Вы уверены, что хотите удалить �инхронизацию � Todoist? Это дей�твие " #~ "приведет к удалению в�ех ваших задач и на�троек." #~ msgid "" #~ "Are you sure you want to remove the CalDAV sync? This action will delete " #~ "all your tasks and settings." #~ msgstr "" #~ "Вы уверены, что хотите удалить �инхронизацию � Todoist? Это дей�твие " #~ "приведет к удалению в�ех ваших задач и на�троек." #~ msgid "Sign Off" #~ msgstr "Выйти" #~ msgid "Underline Completed Tasks" #~ msgstr "Зачеркивать выполненные задачи" #~ msgid "Items" #~ msgstr "Пункты" #~ msgid "Tasks Synced Successfully" #~ msgstr "Задачи �инхронизированы у�пешно" #~ msgid "Do you want to use Todoist as your default Inbox Project?" #~ msgstr "" #~ "Хотите и�пользовать Todoist в каче�тве проекта «Вход�щие» по умолчанию?" # # c-format #~ msgid "Are you sure you want to delete %s?" #~ msgstr "Вы уверены, что хотите удалить %s?" #~ msgid "Custom Sorting in Today View" #~ msgstr "Вручную" #~ msgid "Efficient Management of Completed Tasks" #~ msgstr "Зачеркивать выполненные задачи" #~ msgid "Search by Sections" #~ msgstr "�овый раздел" #~ msgid "" #~ "The process removes all stored information without the possibility of " #~ "undoing it" #~ msgstr "" #~ "Проце�� удал�ет в�ю �охраненную информацию без возможно�ти во��тановлени�" #~ msgid "Delete project" #~ msgstr "Удалить проект" #~ msgid "Delete label" #~ msgstr "Удалить метку" #~ msgid "Move tasks" #~ msgstr "Перене�ти задачи" # # c-format #~ msgid "Are you sure you want to move your task to %s?" #~ msgstr "Вы уверены, что хотите перене�ти задачу в %s?" #~ msgid "Add subtask" #~ msgstr "Добавить подзадачу" #~ msgid "pinboard" #~ msgstr "Закрепленные" #~ msgid "Add reminder(s)" #~ msgstr "Добавить напоминание(�)" #~ msgid "To-do added" #~ msgstr "Задача добавлена" #~ msgid "Press 'a' or tap the plus button to create a new to-do" #~ msgstr "�ажмите «a» или и�пользуйте кнопку плю�, чтобы �оздать новую задачу" #~ msgid "Improved drag-and-drop sorting" #~ msgstr "Улучшена �ортировка � помощью перета�кивани�" #~ msgid "" #~ "Added a new animation and a new way of sorting making it cleaner and " #~ "easier." #~ msgstr "" #~ "Добавлена нова� анимаци� и новый �по�об �ортировки, что делает ее чище и " #~ "проще." #~ msgid "" #~ "Drag and drop has been improved, now it shows you a friendly animation to " #~ "sort the elements in an easier way." #~ msgstr "" #~ "Перета�кивание было улучшено, теперь оно показывает дружелюбную анимацию " #~ "дл� более удобной �ортировки �лементов." #~ msgid "Support for sub-projects" #~ msgstr "Поддержка подпроектов" #~ msgid "" #~ "Create a sub-project just by dragging and dropping or by using the magic " #~ "button and dropping into the parent project." #~ msgstr "" #~ "Создайте подпроект, про�то перетащив его или во�пользовавши�ь волшебной " #~ "кнопкой и переме�тив в родитель�кий проект." #~ msgid "" #~ "Creating sub projects is now easier, just drag the child sub project into " #~ "the parent project, Planify will do the rest.\n" #~ "If you want a sub project to no longer be part of a parent project, just " #~ "drag it out." #~ msgstr "" #~ "Создавать подпроекты �тало проще: про�то перетащите дочерний подпроект в " #~ "родитель�кий проект, Planify �делает в�е о�тальное.\n" #~ "Е�ли вы хотите, чтобы подпроект больше не был ча�тью родитель�кого " #~ "проекта, про�то перетащите его из проекта." #~ msgid "The Magic Button" #~ msgstr "Волшебна� кнопка" #~ msgid "" #~ "Just drag and drop to add tasks wherever you want and in the order you " #~ "want." #~ msgstr "" #~ "Про�то перетащите, чтобы добавить задачи туда, куда вам нужно, и в том " #~ "пор�дке, в котором вы хотите." #~ msgid "" #~ "Drag the magic button to create your tasks wherever you want. You can " #~ "also create sub-tasks by dropping the magic button inside a parent task." #~ msgstr "" #~ "Перета�кивайте волшебную кнопку, чтобы �оздавать задачи в любом ме�те. Вы " #~ "также можете �оздавать подзадачи, перета�кива� волшебную кнопку внутри " #~ "родитель�кой задачи." #~ msgid "Board View" #~ msgstr "Отображение на до�ке" #~ msgid "Have an overview of your tasks without losing sight of the details." #~ msgstr "" #~ "Вы можете получить общее пред�тавление о �воих задачах, не упу�ка� из " #~ "виду детали." #~ msgid "Google Tasks" #~ msgstr "Google Tasks" #~ msgid "No to-dos for this filter yet" #~ msgstr "Дл� �того фильтра пока нет задач" #~ msgid "Synchronize with your Google Account" #~ msgstr "Синхронизировать � вашей учетной запи�ью Google" #~ msgid "" #~ "Are you sure you want to remove the Google Tasks sync? This action will " #~ "delete all your tasks and settings." #~ msgstr "" #~ "Вы уверены, что хотите удалить �инхронизацию � Google Tasks? Это дей�твие " #~ "приведет к удалению в�ех ваших задач и на�троек." alainm23-planify-69962f8/po/sa.po000066400000000000000000002514621517337276100164660ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:56+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Sanskrit \n" "Language: sa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/si.po000066400000000000000000002510651517337276100164750ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:54+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Sinhala \n" "Language: si\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/sk.po000066400000000000000000003310231517337276100164700ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:04+0000\n" "Last-Translator: Deleted User \n" "Language-Team: Slovak \n" "Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Projekty" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Sekcie" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Úlohy" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Štítky" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Filtre" #: core/Enum.vala:186 msgid "Lists" msgstr "Zoznamy" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "Nerobiť opakovane" #: core/Enum.vala:216 #, fuzzy, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Každú minútu" msgstr[1] "Každú minútu" msgstr[2] "Každú minútu" #: core/Enum.vala:218 #, fuzzy, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Každú hodinu" msgstr[1] "Každú hodinu" msgstr[2] "Každú hodinu" #: core/Enum.vala:220 #, fuzzy, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Každý deň" msgstr[1] "Každý deň" msgstr[2] "Každý deň" #: core/Enum.vala:222 #, fuzzy, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Každý týždeň" msgstr[1] "Každý týždeň" msgstr[2] "Každý týždeň" #: core/Enum.vala:224 #, fuzzy, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Každý mesiac" msgstr[1] "Každý mesiac" msgstr[2] "Každý mesiac" #: core/Enum.vala:226 #, fuzzy, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Každý rok" msgstr[1] "Každý rok" msgstr[2] "Každý rok" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Priorita" #: core/Enum.vala:348 msgid "Label" msgstr "Štítok" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Termín" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Sekcia" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "Úloha vytvorená" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Úloha aktualizovaná" #: core/Enum.vala:528 msgid "Content" msgstr "Obsah" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Popis" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Naplánované" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Pripnúť" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Všetky úlohy" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "všetky úlohy" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "všetky" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "Kedykoľvek" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "kedykoľvek" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "filtre" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "žiadny dátum" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Dokon�ené" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "dokon�ené" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "denník" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Prijaté" #: core/Objects/Filters/Inbox.vala:36 #, fuzzy msgid "inbox" msgstr "Prijaté" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "štítky" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Nástenka" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Priorita 1: vysoká" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Priorita 2: stredná" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Priorita 3: nízka" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Priorita 4: žiadna" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "vysoká" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "stredná" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "nízka" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "žiadna" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Opakujúce sa" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "opakujúce sa" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "naplánované" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "blížiace sa" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Dnes" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "dnes" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Zajtra" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "zajtra" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "dátum" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Neozna�ené" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "bez štítku" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "neozna�ené" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Úloha skopírovaná do schránky" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "Úloha presunutá do %s" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Odstrániť štítok %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Toto nie je možné zrušiť" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Zrušiť" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Odstrániť" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "Projekt bol skopírovaný do schránky." #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "Odstrániť projekt %s?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "Archív?" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "Toto archivuje %s a všetky jeho úlohy." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "Archivovať" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Odstrániť sekciu %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 #, fuzzy msgid "Task added successfully!" msgstr "Projekt bol úspešne pridaný!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Názov úlohy" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "Toto pole je povinné" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Pridať popis…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Pridať štítky" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Nastaviť prioritu" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Pridať pripomienky" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Pridať úlohu" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Vybrať projekt" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "Ľutujeme, Quick Add nemôže nájsť žiadny dostupný projekt, skúste vytvoriť " "projekt z Planify." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Klávesové skratky" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 #, fuzzy msgid "Set priority" msgstr "Nastaviť prioritu" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 #, fuzzy msgid "Add labels" msgstr "Pridať štítky" #: core/QuickAddCore.vala:1427 #, fuzzy msgid "Opens label selector" msgstr "Otvoriť štítky" #: core/QuickAddCore.vala:1428 #, fuzzy msgid "Assign project" msgstr "Pridať projekt" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 #, fuzzy msgid "Set reminder" msgstr "Nastavte si v�asné pripomienky!" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 #, fuzzy msgid "Tip" msgstr "Hore" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, fuzzy, c-format msgid "Loading tasks for %s…" msgstr "Na�ítava sa…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, fuzzy, c-format msgid "Syncing %s…" msgstr "Synchronizovanie…" #: core/Services/CalDAV/Core.vala:260 #, fuzzy msgid "Sync completed" msgstr "dokon�ené" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "Na tomto po�íta�i" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "Žiadosť bola nesprávna." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" "Je potrebná autentifikácia, ktorá zlyhala alebo ešte nebola poskytnutá." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "Žiadosť bola platná, ale týkala sa nie�oho, �o je zakázané." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "Požadovaný zdroj sa nenašiel." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "Používateľ poslal príliš veľa požiadaviek v danom �asovom období." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "Požiadavka zlyhala kvôli chybe servera." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "Server momentálne nemôže spracovať požiadavku." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "Neznáma chyba" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "V�era" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "dni" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "deň" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "%s %s dozadu" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "%s %s zostáva" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Po," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Ut," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "St," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Št," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Pi," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "So," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "Ne," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Červená bobuľová" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Červená" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Oranžová" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Žltá" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Olivovo zelená" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Limetková zelená" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Zelená" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "Mätová zelená" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Tyrkysová" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "Nebesky modrá" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Svetlomodrá" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Modrá" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Hroznová" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Fialová" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Levanduľová" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "Magenta" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "Lososová" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "Uhlová" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Šedá" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "Sivohnedá" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Svetlá" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Tmavá" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Tmavomodrá" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Žiadne" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Dnes + Prijaté" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Zmazať všetko" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "Proces dokon�ený, musíte znova spustiť Planify." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "Ok" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "V tomto po�íta�i" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Zoznámte sa s Planify" #: core/Utils/Util.vala:590 #, fuzzy msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "Tento projekt vám ukáže všetko, �o potrebujete vedieť, aby ste za�ali. " "Neváhajte s ním experimentovať – vždy si môžete vytvoriť nový projekt z " "nastavení." #: core/Utils/Util.vala:597 #, fuzzy msgid "Tap this task" msgstr "Kliknite na túto úlohu" #: core/Utils/Util.vala:598 #, fuzzy msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" "Pozeráte sa na úlohu! Dokon�íte ju kliknutím na za�iarkavacie polí�ko " "naľavo. Dokon�ené úlohy sú zoskupené na spodnej �asti vášho projektu." #: core/Utils/Util.vala:603 #, fuzzy msgid "Create a new task" msgstr "Vytvoriť novú úlohu" #: core/Utils/Util.vala:604 #, fuzzy msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Teraz je to na vás, kliknite na tla�idlo '+' na spodnej �asti vášho " "projektu, zadajte akékoľvek �akajúce úlohy a kliknite na modré tla�idlo " "'Uložiť'." #: core/Utils/Util.vala:609 #, fuzzy msgid "Plan this to-do for today or later" msgstr "Naplánujte túto úlohu na dnes alebo neskôr" #: core/Utils/Util.vala:610 #, fuzzy msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" "Kliknite na tla�idlo kalendára na spodnej strane, aby ste si vybrali, kedy " "túto úlohu vykonať." #: core/Utils/Util.vala:615 #, fuzzy msgid "Reorder your to-dos" msgstr "Zmeňte poradie svojich úloh" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "Aby ste zmenili poradie zoznamu, kliknite a podržte úlohu a potiahnite ju na " "miesto, kde by mala byť." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Vytvorte projekt" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "Organizujte svoje úlohy lepšie! Prejdite na ľavý panel a kliknite na " "tla�idlo '+' v sekcii 'V tomto po�íta�i' a pridajte svoj projekt." #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "Hotovo!" #: core/Utils/Util.vala:628 #, fuzzy msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "To je všetko, �o naozaj potrebujete vedieť. Kľudne za�nite pridávať svoje " "vlastné projekty a úlohy.\n" "Sem sa môžete vrátiť neskôr, aby ste sa nau�ili pokro�ilé funkcie.\n" "Dúfame, že si používanie Planify užijete!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "Upravte svoje nastavenia" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Zobraziť vaše kalendárové udalosti" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "Kalendárové udalosti zo systému môžete zobraziť v Planify. Prejdite na " "'Nastavenia' 🡒 Všeobecné 🡒 Kalendárové udalosti a zapnite túto možnosť." #: core/Utils/Util.vala:657 #, fuzzy msgid "Enable synchronization with third-party services" msgstr "Povoliť synchronizáciu s externou službou." #: core/Utils/Util.vala:658 #, fuzzy msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "Planify nielenže vytvára úlohy lokálne, ale môže tiež synchronizovať váš " "ú�et Todoist. Prejdite na 'Nastavenia' 🡒 'Ú�ty'." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "Zvýšte svoju produktivitu" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "Pretiahnite tla�idlo plus!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "To modré tla�idlo, ktoré vidíte na spodnej �asti každého obrazovky, je " "silnejšie, než vyzerá: je navrhnuté na pohyb! Pretiahnite ho hore, aby ste " "vytvorili úlohu tam, kde chcete." #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 #, fuzzy msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "Štítky vám umožňujú zlepšiť pracovný tok v Planify. Pre pridanie štítku " "kliknite na tla�idlo štítku na spodnej strane." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "Nastavte si v�asné pripomienky!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼�Práca" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒�Škola" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉�Delegované" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "��Domov" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀��Sledovať" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Úloha duplikovaná" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Sekcia duplikovaná" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Projekt duplikovaný" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "V �ase splatnosti" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 minút pred" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 minút pred" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 minút pred" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 hodina pred" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 hodiny pred" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 hodiny pred" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%OB" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "Späť" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Vyberte dátum" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "Ne" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Po" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Ut" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "St" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Št" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Pi" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "So" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Čas" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "do" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "pre" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "krát" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "krát" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Opakovať" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "Budúci týždeň" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Denne" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 #, fuzzy msgid "Weekdays" msgstr "Týždenne" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Týždenne" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Mesa�ne" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Ro�ne" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "Vlastné" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 #, fuzzy msgid "Week(s)" msgstr "Týždenne" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 #, fuzzy msgid "Month(s)" msgstr "Mesa�ne" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 #, fuzzy msgid "Year(s)" msgstr "Ro�ne" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 #, fuzzy msgid "On Date" msgstr "Žiadny dátum" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 #, fuzzy msgid "Repeat every" msgstr "Opakovať" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 #, fuzzy msgid "End" msgstr "Povolené" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "Vybrať štítky" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" "Váš zoznam filtrov sa tu zobrazí. Vytvorte jeden zadaním názvu a stla�ením " "klávesy Enter." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "Vytvoriť '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "Váš zoznam filtrov sa tu zobrazí." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "Hľadať" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "Hľadať alebo vytvoriť" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 #, fuzzy msgid "Remove link" msgstr "Odstrániť" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "Priorita 4: Žiadna" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "Priorita 1: Vysoká" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "Priorita 2: Stredná" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "Priorita 3: Nízka" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "Priorita 1: Stredná" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "Priorita 1: Nízka" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "Váš zoznam sekcií sa zobrazí tu." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "Žiadna sekcia" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "Zadajte hľadanie" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "Pripomienky" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" "Váš zoznam pripomienok sa zobrazí tu. Pridajte jednu kliknutím na tla�idlo " "'+'." #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "Pridať pripomienku" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "Za 5 minút" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "Za 15 minút" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "Za 30 minút" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "Za 1 hodinu" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "Za 3 hodiny" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "Za 6 hodín" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "Nastaviť sekciu" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "Vybrať sekciu" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "Nastaviť stav" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "Stav" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "Na vykonanie" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "Dokon�ené" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "Planify sa automaticky spustí pri zapnutí tohto zariadenia a bude bežať, ke� " "bude jeho okno zatvorené, aby mohol posielať notifikácie o úlohách." #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "Dokon�ené úlohy" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "Zobraziť menu filtra" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "Zatiaľ žiadne dokon�ené úlohy." #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "Odstrániť všetky dokon�ené úlohy" #: src/Dialogs/CompletedTasks.vala:165 #, fuzzy, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "Toto vymaže %d dokon�ených úloh a ich podúlohy z projektu %s" msgstr[1] "Toto vymaže %d dokon�ených úloh a ich podúlohy z projektu %s" msgstr[2] "Toto vymaže %d dokon�ených úloh a ich podúlohy z projektu %s" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "Filtrovať podľa" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "Ďalší týždeň" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "Žiadny dátum" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Hotovo" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "História zmien" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "Pridané dňa" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "Nedostupné" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "Aktualizované dňa" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "Vaša história zmien sa tu zobrazí, ke� za�nete robiť zmeny." #: src/Dialogs/ItemChangeHistory.vala:138 #, fuzzy, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "Na�ítať viac histórie z pred %d týždňov…" msgstr[1] "Na�ítať viac histórie z pred %d týždňov…" msgstr[2] "Na�ítať viac histórie z pred %d týždňov…" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "Nový štítok" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "Upraviť ozna�enie" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "Dajte svojmu štítku názov" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "Pridať štítok" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "Aktualizovať štítok" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "Filter" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "Archivované projekty" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "Spravovať sekcie" #: src/Dialogs/ManageSectionOrder.vala:54 #, fuzzy msgid "You can sort your sections by dragging and dropping" msgstr "Ú�ty môžete zoradiť pretiahnutím a pustením" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "Archivované" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(Žiadna sekcia)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "Ú�ty" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "Pridať zdroj" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 #, fuzzy msgid "Inbox Page" msgstr "Prijaté" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 #, fuzzy msgid "You can sort your accounts by dragging and dropping" msgstr "Ú�ty môžete zoradiť pretiahnutím a pustením" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 #, fuzzy msgid "Change Inbox" msgstr "Otvoriť doru�enú poštu" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 #, fuzzy msgid "Syncing…" msgstr "Synchronizovanie…" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "URL servera" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 #, fuzzy msgid "Username" msgstr "Užívateľské meno" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "Heslo" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 #, fuzzy msgid "Calendar Home URL" msgstr "Kalendár" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "Prihlásiť sa" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 #, fuzzy msgid "Inbox Project" msgstr "Nový projekt" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "Zdroj" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "Zobrazené meno" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "Server synchronizácie" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" "Aktivujte toto nastavenie, aby Planify automaticky synchronizoval váš ú�et " "každých 15 minút" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "Posledná synchronizácia" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 #, fuzzy msgid "Delete Source" msgstr "Odstrániť zdroj?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "Odstrániť zdroj?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "Synchronizovanie…" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "Vzhľad" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "Použiť systémové nastavenia" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 #, fuzzy msgid "Select theme" msgstr "Vybrať" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "Svetlý štýl" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "Tmavý štýl" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "Tmavomodrý štýl" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "Zálohy" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" "Nemusíte sa báť o stratu vašich údajov. Môžete vytvárať zálohy vašich " "aktívnych projektov, úloh a komentárov a neskôr ich importovať." #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "Vytvoriť zálohu" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "Importovať zálohu" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "Záložné súbory" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "Nenašli sa žiadne zálohy, vytvorte jednu kliknutím na tla�idlo vyššie." #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "Migrovať" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "Migrovať z Plannera" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "Záloha bola úspešne vytvorená." #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "Úlohy boli úspešne migrované" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "Súbor databázy neexistuje." #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "Vybraný súbor je neplatný" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "Zobraziť zálohu" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "Stiahnuť" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "Prehľad importu" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "Zdroje" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "Úlohy" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "Potvrdiť" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "Obnoviť zálohu" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" "Ste si istí, že chcete pokra�ovať? Táto operácia vymaže vaše aktuálne údaje " "a nahradí ich údajmi zo zálohy." #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "Obnoviť zálohu" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "Všeobecné" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "Vlastný poriadok triedenia" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "Abecedne" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "Triediť podľa" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "Vzostupne" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "Zostupne" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "Usporiadané" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "DE integrácia" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "Spustiť pri štarte" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "Spustiť na pozadí" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "Kalendárové udalosti" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "Dátum a �as" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24h" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12h" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "Formát hodín" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "Nedeľa" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "Pondelok" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "Utorok" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "Streda" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "Štvrtok" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "Piatok" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "Sobota" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "Za�iatok týždňa" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 #, fuzzy msgid "Home View" msgstr "Hlavná stránka" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "Rýchle pridanie" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" "Použite rýchle pridanie na vytvorenie úloh z akéhokoľvek miesta na vašom " "pracovnom stole pomocou niekoľkých stla�ení kláves. Nemusíte ani opustiť " "aplikáciu, v ktorej sa práve nachádzate." #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" "Prejdite do Nastavení systému → Klávesnica → Klávesové skratky → Vlastné, " "potom pridajte novú skratku s nasledujúcim:" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "Nastavenia" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "Uložiť posledný vybraný projekt" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "Ak je nezaškrtnuté, predvolený vybraný projekt je Doru�ená pošta" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "Príkaz bol skopírovaný do schránky" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "Postranný panel" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "Zobraziť v bo�nom paneli" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "Zobraziť po�et úloh" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "Šírka bo�ného panelu" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "Môžete zoradiť vaše zobrazenia ťahaním a pustení" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "Nastavenia úloh" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 #, fuzzy msgid "Complete Instantly" msgstr "Okamžite" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 #, fuzzy msgid "Complete with Undo" msgstr "Dokon�ené" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 #, fuzzy msgid "Task Completion" msgstr "Tón pri dokon�ení úlohy" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "Priorita 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "Priorita 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "Priorita 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "Predvolená priorita" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "Pre�iarknuť dokon�ené úlohy" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "Pozícia novej úlohy" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "Vždy zobraziť dokon�ené podúlohy" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "Tón pri dokon�ení úlohy" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "Prehrať zvuk pri dokon�ení úloh" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 #, fuzzy msgid "Open Tasks in Sidebar View" msgstr "Otvoriť úlohu v bo�nom paneli" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "Povoliť formátovanie v Markdown" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "Povoliť alebo zakázať podporu Markdown pre úlohy" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "Vždy zobraziť bo�ný panel s detailmi" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 #, fuzzy msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" "Udržiavajte panel s detailmi vždy viditeľný pre ľahšiu navigáciu medzi " "úlohami, �ím sa vyhnete potrebe neustále otvárať a zatvárať panel." #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "Povolené" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "Automatické pripomienky" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" "Ke� je povolené, pred �asom splnenia úlohy sa automaticky pridá pripomienka." #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "Predvoľby" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "Synchronizujte svojich obľúbených poskytovateľov úloh" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "Prispôsobte si podľa svojich predstáv" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "Prispôsobte si postranný panel" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "Pridávanie úloh z akéhokoľvek miesta" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "Zálohujte alebo migrujte z Planner." #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "Vytvoriť tutoriálový projekt" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "U�te sa aplikáciu krok za krokom s krátkym tutoriálovým projektom" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "Chcete mi kúpiť drink?" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "Kontaktujte nás" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "Kontaktujte nás" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "Požiadajte o funkciu alebo sa nás opýtajte �okoľvek" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "Napíšte nám na Twitteri" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "Podeľte sa o trochu lásky" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "Diskutujte a zdieľajte svoje názory" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodon" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "Ochrana súkromia" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "Zásady ochrany súkromia" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "Nemáme o vás ni�" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "Vymazať údaje aplikácie" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "Bolo vytvorené tutoriálové projekt" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "Vymazať všetky údaje?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "Nezvratne vymaže všetky vaše zoznamy, úlohy a pripomienky" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "Zobraziť viac" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "Tento týždeň" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "Tento mesiac" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "Po splatnosti" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "Nový projekt" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "Upraviť projekt" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "Dajte svojmu projektu názov" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "Použiť emoji" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "Pridať projekt" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "Aktualizovať projekt" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "Projekt bol úspešne pridaný!" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "Presunúť" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "Rýchle hľadanie" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" "Rýchlo prepínajte projekty a zobrazenia, nájdite úlohy, hľadajte podľa " "štítkov" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "Nová sekcia" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "Upraviť sekciu" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "Názov sekcie" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "Pridať sekciu" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "Aktualizovať sekciu" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 #, fuzzy msgid "Section added" msgstr "Názov sekcie" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "Otvoriť/Zatvoriť bo�ný panel" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "Odinštalovať" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "Dokon�ené. Ďalšie výskyt: %s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "Pridať podúlohu" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "Upraviť" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "Duplikovať" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "Odstrániť úlohu" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "Poradie bolo zmenené na 'Vlastné zoradenie'" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s bol odstránený" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "Zrušiť" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "Pridať podúlohy" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "Skryť podúlohy" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "Zobraziť podúlohy" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "Použiť ako poznámku" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "Kopírovať do schránky" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "Pridať prílohy" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "Zatvoriť detaily" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "Názov" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "Vlastnosti" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "Ste si istí, že chcete odstrániť?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "Odstrániť ozna�enie" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "Zoradenie projektov bolo zmenené na 'Vlastné zoradenie'" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "Odstrániť z obľúbených" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "Pridať do obľúbených" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "Obnoviť" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "Odstrániť projekt" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "Zdieľať" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "Poslať e-mailom" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 #, fuzzy msgid "Add tasks" msgstr "Pridať podúlohy" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 #, fuzzy msgid "completed tasks" msgstr "Dokon�ené úlohy" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "Presunúť sekciu" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "Spravovať poradie sekcií" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "Zobraziť dokon�ené úlohy" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "Odstrániť sekciu" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "Obľúbené" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" "Žiadne obľúbené položky nie sú k dispozícii. Vytvorte si jednu kliknutím na " "tla�idlo '+'" #: src/Layouts/Sidebar.vala:122 #, fuzzy msgid "Add Account" msgstr "Ú�ty" #: src/Layouts/Sidebar.vala:123 #, fuzzy msgid "Customize Sidebar" msgstr "Prispôsobte si postranný panel" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "Prejsť na dnes" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "Prejsť na naplánované" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "Prejsť na štítky" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "Prejsť na nástenku" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "Žiadny projekt k dispozícii. Vytvorte ho kliknutím na tla�idlo '+'" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "Hlavné menu" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "Otvoriť rýchle vyhľadávanie" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "O Planify" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "Ups! Nie�o sa stalo" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "Úloha dokon�ená" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "Kontrola integrity databázy zlyhala" #: src/MainWindow.vala:864 #, fuzzy msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" "Zistili sme problémy so štruktúrou databázy, ktoré môžu zabrániť správnemu " "fungovaniu aplikácie. Môže ísť o chýbajúce tabuľky alebo stĺpce, " "pravdepodobne spôsobené poškodením údajov alebo neúplnou aktualizáciou. " "Databáza bude teraz resetovaná, aby sa obnovila normálna funk�nosť, a všetky " "existujúce údaje budú odstránené. Po resetovaní budete môcť obnoviť " "akúkoľvek zálohu, ktorú ste vytvorili. Ďakujeme za vašu trpezlivosť" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "Resetovať databázu" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "Odstrániť zálohu" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "Záloha bola úspešne importovaná" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "Zálohovacie súbory Planify" #: src/Services/Notification.vala:99 #, fuzzy msgid "Snooze for 10 minutes" msgstr "Za 30 minút" #: src/Services/Notification.vala:100 #, fuzzy msgid "Snooze for 30 minutes" msgstr "Za 30 minút" #: src/Services/Notification.vala:101 #, fuzzy msgid "Snooze for 1 hour" msgstr "Za 1 hodinu" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "Zobraziť ponuku možností" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "Pridať niektoré úlohy" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "Stla�te 'a' na vytvorenie novej úlohy" #: src/Views/Filter.vala:129 #, fuzzy msgid "All tasks completed!" msgstr "Úloha dokon�ená" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 #, fuzzy msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "Odstrániť všetky dokon�ené úlohy" msgstr[1] "Odstrániť všetky dokon�ené úlohy" msgstr[2] "Odstrániť všetky dokon�ené úlohy" #: src/Views/Filter.vala:627 #, fuzzy, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "Toto odstráni %d dokon�ených úloh a ich podúloh" msgstr[1] "Toto odstráni %d dokon�ených úloh a ich podúloh" msgstr[2] "Toto odstráni %d dokon�ených úloh a ich podúloh" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "Žiadne štítky k dispozícii. Vytvorte nový kliknutím na tla�idlo '+'" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "Poznámka" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "Plánovať" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "Kedy?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "Akcie projektu" #: src/Views/Project/Project.vala:259 #, fuzzy msgid "New Task" msgstr "Pozícia novej úlohy" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "Vybrať" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "Prilepiť" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "Rozbaliť všetko" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "Nové" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "Zbaliť všetko" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "Zoznam" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "Tabuľa" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "Triedenie" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "Vlastný poradok" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "Dátum pridania" #: src/Views/Project/Project.vala:547 #, fuzzy msgid "Ascending Order" msgstr "Vzostupne" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "Dátum splatnosti" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "Všetko (predvolené)" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "Nasledujúcich 7 dní" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "Nasledujúcich 30 dní" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "P1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "P2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "P3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "P4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "Filtrovať podľa štítkov" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 #, fuzzy msgid "Search completed tasks" msgstr "Zobraziť dokon�ené úlohy" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "Triediť podľa" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "Preplánovať" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "Prílohy" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "Otvoriť" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "Žiadne prílohy nenájdené. Pridajte súbory sem." #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "Podúlohy" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 #, fuzzy msgid "Show less" msgstr "Zobraziť dokon�ené úlohy" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "Nahlásiť problém" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Kalendár" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "Úloha nebola dokon�ená" #: src/Widgets/ItemChangeHistoryRow.vala:51 #, fuzzy msgid "Task moved to project" msgstr "Úloha presunutá do projektu: %s" #: src/Widgets/ItemChangeHistoryRow.vala:61 #, fuzzy msgid "Task moved to" msgstr "Úloha presunutá do %s" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "Predchádzajúce" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "Pripnúť: Aktívne" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "Pripnúť: Neaktívne" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "Dokon�ené dňa" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "Ozna�iť ako dokon�ené" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "Odstrániť úlohu" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "Ste si istí, že chcete odstrániť túto úlohu?" #: src/Widgets/MultiSelectToolbar.vala:299 #, fuzzy, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "Odstrániť %d úloh" msgstr[1] "Odstrániť %d úloh" msgstr[2] "Odstrániť %d úloh" #: src/Widgets/MultiSelectToolbar.vala:305 #, fuzzy, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "Ste si istí, že chcete odstrániť túto úlohu?" msgstr[1] "Ste si istí, že chcete odstrániť túto úlohu?" msgstr[2] "Ste si istí, že chcete odstrániť túto úlohu?" #: src/Widgets/MultiSelectToolbar.vala:402 #, fuzzy, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "Úloha presunutá do %s" msgstr[1] "Úloha presunutá do %s" msgstr[2] "Úloha presunutá do %s" #: src/Widgets/NewVersionPopup.vala:42 #, fuzzy msgid "New version available!" msgstr "Nedostupné" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 #, fuzzy msgid "Update Now" msgstr "Aktualizované dňa" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "Obnoviť z archívu" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "Zatiaľ neboli pridané žiadne podúlohy. Za�nite!" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 #, fuzzy msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" "Vyzerá to, že nie ste pripojení na\n" "internet. Zmeny, ktoré urobíte v režime offline\n" "sa synchronizujú, ke� sa znova pripojíte" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "Planify - Rýchle pridanie" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "Používané všade" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "Vytvoriť novú úlohu" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "Vložiť jednoduchý text na vytvorenie novej úlohy" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "Vytvoriť nový projekt" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "Vytvoriť novú sekciu v projekte" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "Hľadať" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "Otvoriť rýchle hľadanie" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "Ovládanie okien" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "Ukon�iť" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Otvoriť predvoľby" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "Prepnúť bo�ný panel" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "Otvoriť klávesové skratky" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "Navigovať" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "Otvoriť domovskú stránku" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "Otvoriť doru�enú poštu" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "Otvoriť dnes" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "Otvoriť naplánované" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "Otvoriť štítky" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "Otvoriť nástenku" #, fuzzy #~ msgid "Server URL examples:" #~ msgstr "URL servera" #~ msgid "" #~ "Planify is being developed with love and passion for open source. " #~ "However, if you like Planify and want to support its development, please " #~ "consider supporting us." #~ msgstr "" #~ "Planify je vyvíjaný s láskou a vášňou pre open source. Avšak, ak sa vám " #~ "Planify pá�i a chcete podporiť jeho vývoj, zvážte podporu nás." #~ msgid "Please Enter Your Credentials" #~ msgstr "Zadajte svoje poverenia" #~ msgid "Loading…" #~ msgstr "Na�ítava sa…" #~ msgid "Network Is Not Available" #~ msgstr "Sieť nie je dostupná" #~ msgid "Set a Due Date" #~ msgstr "Nastaviť termín" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "Nechajte aplikáciu Planify bežať na pozadí a posielať notifikácie" #~ msgid "Whether Planify should run on startup" #~ msgstr "Či by mala aplikácia Planify bežať pri štarte" #~ msgid "Clear" #~ msgstr "Vymazať" #~ msgid "Menu" #~ msgstr "Ponuka" #~ msgid "Add Time" #~ msgstr "Pridať �as" #, fuzzy #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "Chcete, aby vám Planify poslal notifikáciu na pripomenutie dôležitého " #~ "udalosti alebo nie�oho špeciálneho. Kliknite na tla�idlo zvon�eka nižšie " #~ "a pridajte pripomienku." #, fuzzy #~ msgid "Planify is syncing your tasks, this may take a few minutes" #~ msgstr "Planify synchronizuje vaše úlohy, môže to chvíľu trvať" #~ msgid "Todoist Sync" #~ msgstr "Synchronizácia s Todoist" #~ msgid "Loading" #~ msgstr "Na�ítava sa" #~ msgid "Planner is sync your tasks, this may take a few minutes" #~ msgstr "Plánova� synchronizuje vaše úlohy, môže to trvať niekoľko minút" #~ msgid "Please enter your credentials" #~ msgstr "Zadajte svoje prihlasovacie údaje" #, c-format #~ msgid "Every %d minutes" #~ msgstr "Každých %d minút" #, c-format #~ msgid "Every %d hours" #~ msgstr "Každých %d hodín" #, c-format #~ msgid "Every %d days" #~ msgstr "Každých %d dní" #, c-format #~ msgid "Every %d weeks" #~ msgstr "Každých %d týždňov" #, c-format #~ msgid "Every %d months" #~ msgstr "Každých %d mesiacov" #, c-format #~ msgid "Every %d years" #~ msgstr "Každých %d rokov" #, c-format #~ msgid "" #~ "This will delete %d completed tasks and their subtasks from project %s" #~ msgstr "Toto vymaže %d dokon�ených úloh a ich podúlohy z projektu %s" #, c-format #~ msgid "Load more history from %d weeks ago…" #~ msgstr "Na�ítať viac histórie z pred %d týždňov…" #, fuzzy #~ msgid "Delete Completed Tasks" #~ msgstr "Odstrániť všetky dokon�ené úlohy" #, c-format #~ msgid "This will delete %d completed tasks and their subtasks" #~ msgstr "Toto odstráni %d dokon�ených úloh a ich podúloh" #, c-format #~ msgid "Delete %d To-Dos" #~ msgstr "Odstrániť %d úloh" #, c-format #~ msgid "Are you sure you want to delete these %d to-dos?" #~ msgstr "Ste si istí, že chcete odstrániť tieto %d úlohy?" #, fuzzy #~ msgid "Backup" #~ msgstr "Zálohy" #~ msgid "Task Setting" #~ msgstr "Nastavenie úloh" #~ msgid "Personal Data" #~ msgstr "Osobné údaje" #~ msgid "" #~ "We collect absolutely nothing and all your data is stored in a database " #~ "on your computer." #~ msgstr "" #~ "Nezbierame absolútne ni� a všetky vaše údaje sú uložené v databáze na " #~ "vašom po�íta�i." #~ msgid "" #~ "If you choose to integrate Todoist, which is optional and not selected by " #~ "default, your data will be stored on their private servers, we only " #~ "display your configured tasks and manage them for you." #~ msgstr "" #~ "Ak sa rozhodnete integrovať Todoist, �o je voliteľné a predvolená možnosť " #~ "nie je vybraná, vaše údaje budú uložené na ich súkromných serveroch, my " #~ "iba zobrazujeme vaše nakonfigurované úlohy a spravujeme ich za vás." #~ msgid "Do you have any questions?" #~ msgstr "Máte nejaké otázky?" #~ msgid "" #~ "If you have any questions about your data or any other issue, please " #~ "contact us. We will be happy to answer you." #~ msgstr "" #~ "Ak máte akékoľvek otázky o vašich údajoch alebo o akomkoľvek inom " #~ "probléme, kontaktujte nás. Radi vám odpovieme." #~ msgid "Supporting Us" #~ msgstr "Podporovanie nás" #~ msgid "" #~ "Our mission is to provide the best open source task management " #~ "application for users all over the world. Your donations support this " #~ "work. Want to donate today?" #~ msgstr "" #~ "Našou misiou je poskytovať najlepšiu open-source aplikáciu na správu úloh " #~ "pre používateľov po celom svete. Vaše dary podporujú túto prácu. Chcete " #~ "dnes prispieť?" #~ msgid "Support Planify" #~ msgstr "Podporte Planify" #, fuzzy #~ msgid "Clear Schedule" #~ msgstr "Plánovať" #~ msgid "Process completed, you need to start Planify again" #~ msgstr "Proces bol dokon�ený, musíte znova spustiť Planify" #~ msgid "Task Detail" #~ msgstr "Detail úlohy" #~ msgid "Create a new to-do" #~ msgstr "Vytvorte novú úlohu" #~ msgid "Tag your to-dos!" #~ msgstr "Ozna�te svoje úlohy!" #~ msgid "What’s new in Planify" #~ msgstr "Čo je nové v Planify" #~ msgid "Inbox as Independent Project" #~ msgstr "Inbox ako samostatný projekt" #~ msgid "" #~ "The Inbox is the default place to add new tasks, allowing you to quickly " #~ "get your ideas out of your head and then plan them when you’re ready." #~ msgstr "" #~ "Inbox je predvolené miesto na pridávanie nových úloh, ktoré vám umožňuje " #~ "rýchlo si zapísať nápady a neskôr ich naplánovať, ke� budete pripravení." #~ msgid "Enhanced Task Duplication" #~ msgstr "Vylepšené duplikovanie úloh" #~ msgid "" #~ "When you duplicate a task now, all subtasks and labels are automatically " #~ "duplicated, saving you time and effort in managing your projects." #~ msgstr "" #~ "Ke� teraz duplikujete úlohu, všetky podúlohy a štítky sa automaticky " #~ "duplikujú, �o vám ušetrí �as a námahu pri správe vašich projektov." #~ msgid "Duplication of Sections and Projects" #~ msgstr "Duplikovanie sekcií a projektov" #~ msgid "" #~ "You can now easily duplicate entire sections and projects, making it " #~ "easier to create new projects based on existing structures." #~ msgstr "" #~ "Teraz môžete ľahko duplikovať celé sekcie a projekty, �o uľah�uje " #~ "vytváranie nových projektov na základe existujúcich štruktúr." #~ msgid "Project Expiry Date" #~ msgstr "Dátum expirácie projektu" #~ msgid "" #~ "Your project’s expiry date now clearly shows the remaining days, helping " #~ "you keep track of your deadlines more effectively." #~ msgstr "" #~ "Dátum expirácie vášho projektu teraz jasne zobrazuje zostávajúce dni, �o " #~ "vám pomôže efektívnejšie sledovať vaše termíny." #~ msgid "Archiving of Projects and Sections" #~ msgstr "Archivovanie projektov a sekcií" #~ msgid "" #~ "You can now archive entire projects and sections! This feature helps you " #~ "keep your workspace organized and clutter-free." #~ msgstr "" #~ "Teraz môžete archivovať celé projekty a sekcie! Táto funkcia vám pomáha " #~ "udržiavať pracovný priestor organizovaný a bez neporiadku." #~ msgid "What's New" #~ msgstr "Čo je nové" #~ msgid "Are you sure you want to reset all? (y/n): " #~ msgstr "Ste si istí, že chcete všetko resetovať? (y/n): " #~ msgid "y" #~ msgstr "y" #~ msgid "yes" #~ msgstr "áno" #~ msgid "Couldn't find an app to handle file URIs" #~ msgstr "Nepodarilo sa nájsť aplikáciu na spracovanie súborov URI" #, fuzzy #~ msgid "Planify" #~ msgstr "Zoznámte sa s Planify" #~ msgid "" #~ "Up to 3 tasks can be pinned and they will appear at the top of the " #~ "project page" #~ msgstr "" #~ "Až 3 úlohy môžu byť pripnuté a zobrazia sa na vrchu stránky projektu" #~ msgid "No Provider Available" #~ msgstr "Žiadny poskytovateľ nie je k dispozícii" #~ msgid "Go to Inbox" #~ msgstr "Prejsť do doru�enej pošty" #~ msgid "Order by" #~ msgstr "Usporiadať podľa" #~ msgid "Integrations" #~ msgstr "Integrácie" #~ msgid "Wait 2500 Milliseconds" #~ msgstr "Po�kať 2500 milisekúnd" #~ msgid "Complete Task" #~ msgstr "Dokon�iť úlohu" #~ msgid "" #~ "Complete your to-do instantly or wait 2500 milliseconds with the undo " #~ "option" #~ msgstr "" #~ "Dokon�te svoju úlohu okamžite alebo po�kajte 2500 milisekúnd s možnosťou " #~ "zrušenia" #~ msgid "Top" #~ msgstr "Hore" #~ msgid "Bottom" #~ msgstr "Dole" #~ msgid "Create More" #~ msgstr "Vytvoriť �alšie" #~ msgid "App Theme" #~ msgstr "Téma aplikácie" #, c-format #~ msgid "Task moved to: %s" #~ msgstr "Úloha presunutá na: %s" #~ msgid "Telegram" #~ msgstr "Telegram" #~ msgid "Matrix Room" #~ msgstr "Matrix miestnosť" #~ msgid "Attention at One" #~ msgstr "Pozornosť na jednu" #~ msgid "Add To-Do" #~ msgstr "Pridať úlohu" #~ msgid "Nextcloud Setup" #~ msgstr "Nastavenie Nextcloud" #~ msgid "Offline Mode Is On" #~ msgstr "Režim offline je zapnutý" #~ msgid "Provider" #~ msgstr "Poskytovateľ" alainm23-planify-69962f8/po/sl.po000066400000000000000000002643051517337276100165010ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2026-01-31 10:01+0000\n" "Last-Translator: marjan \n" "Language-Team: Slovenian \n" "Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " "n%100==4 ? 2 : 3;\n" "X-Generator: Weblate 5.16-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Projekti" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Oddelki" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Naloge" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Oznake" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Filtri" #: core/Enum.vala:186 msgid "Lists" msgstr "Seznami" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "Ne ponovi" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Vsako minuto" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Vsako uro" msgstr[1] "Vsaki%d uri" msgstr[2] "" msgstr[3] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Prednost" #: core/Enum.vala:348 msgid "Label" msgstr "Oznaka" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Datum zapadlosti" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Oddelek" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "Naloga ustvarjena" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Naloga posodobljena" #: core/Enum.vala:528 msgid "Content" msgstr "Vsebina" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Opis" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Na�rtovano" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Pripni" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Vse Naloge" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "vse naloge" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "vse" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "Kadarkoli" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "kadarkoli" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "filtri" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "brez datuma" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Dokon�ano" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "dokon�ano" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "dnevnik" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Prejeto" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "prejeto" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "oznake" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Prioriteta 1: visoka" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Prioriteta 2: srednja" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Prioriteta 3: nizka" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Prioriteta 4: brez" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "visoka" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "srednja" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "nizka" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "brez" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Ponavljanje" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "ponavljanje" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "na�rtovano" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "prihajajo�i" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Danes" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "danes" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Jutri" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "jutri" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "datum" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Neozna�eno" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "brez oznake" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "neozna�eno" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Naloga je bila kopirana v odložiš�e" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Tega ni mogo�e razveljaviti" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Prekli�i" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Zbriši" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "Projekt je bil kopiran v odložiš�e." #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "Naloga je bila uspešno dodana!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Ime opravila" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "To polje je obvezno" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Dodaj opis …" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "Nastavi datum" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Dodaj Oznako" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Dolo�ite prioriteto" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Dodaj Opomnik" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Dodaj Nalogo" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "Nadaljujte z dodajanjem" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Izberi Projekt" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "Oprostite, Quick Add ne najde nobenega razpoložljivega projekta. Poskusite " "ustvariti projekt iz programa Planify." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Tipkovni�ne bljižnice" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "Pospešite ustvarjanje nalog s temi bližnjicami" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "Nastavi prioriteto" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "Dodaj oznako" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "Odpre izbirnik oznak" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "Dodeli projekt" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "Odpre izbirnik projektov" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "Nastavi opomnik" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "Odpre možnosti opomnika" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "Namig" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "Združite bližnjice v polju za naslov za hitrejše ustvarjanje" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "Vir že obstaja" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "Razrešitev glavnega URL-ja ni uspela" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "Za�etek sinhronizacije …" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "Konec Sinhronizacije" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "Na tem Ra�unalniku" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "Zahteva je bila napa�na." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "Zahtevana je avtentikacija, ki ni uspela ali pa še ni bila opravljena." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "Zahteva je bila veljavna, vendar za nekaj, kar je prepovedano." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "Zahtevanega vira ni bilo mogo�e najti." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "Uporabnik je v danem �asovnem obdobju poslal preve� zahtev." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "Zahteva ni uspela zaradi napake strežnika." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "Strežnik trenutno ne more obdelati zahteve." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "Neznana napaka" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "V�eraj" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "dnevi" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "dan" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Po," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "To," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "Sr," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Če," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Pe," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "So," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "Ne," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "%a, %b %-e" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "%b" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Jagodi�asto rde�a" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Rde�a" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Oranžna" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Rumena" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Olivno zelena" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Limetino Zelena" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Zelena" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "Meta Zelena" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Modrozelena" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "Nebesno modra" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Svetlo modra" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Modra" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Vijol�na" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Sivka" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Siva" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Svetlo" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Temno" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Temno Modra" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Brez" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Danes + Prejeto" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Izbriši vse" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "Postopek je kon�an, znova morate zagnati Planify." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "Vredu" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "Na tem ra�unalniku" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Spoznaj Planify" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "Ta projekt vam pokaže vse, kar morate vedeti, da se takoj lotite dela. Brez " "oklevanja se poigrajte z njim – vedno ga lahko poustvarite v nastavitvah." #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "Dotaknite se te naloge" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" "Gledate opravilo! Dokon�ajte ga tako, da tapnete potrditveno polje na levi. " #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "Ustvari novo nalogo" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Zdaj ste na vrsti vi! Dotaknite se gumba »+« na dnu projekta, vnesite opis " "naloge in tapnite gumb »Dodaj nalogo«." #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "Na�rtujte to opravilo za danes ali kasneje" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" "Dotaknite se gumba koledarja na dnu, da se odlo�ite, kdaj želite dokon�ati " "to opravilo." #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "Preuredite svoja opravila" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "Če želite spremeniti vrstni red seznama, tapnite in pridržite opravilo ter " "ga nato povlecite na želeno mesto." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Ustvari projekt" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "Bolje organizirajte svoja opravila! Pojdite na levo ploš�o in v razdelku »V " "tem ra�unalniku« kliknite gumb »+« ter dodajte svoj projekt." #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "Kon�ali ste!" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "To je vse, kar morate vedeti. Za�nite dodajati svoje projekte in opravila.\n" "K temu projektu se lahko vrnete pozneje, da se seznanite s spodnjimi " "naprednimi funkcijami.\n" "Upamo, da boste uživali v uporabi programa Planify!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "Prilagodite svojo nastavitev" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Prikaži dogodke v koledarju" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "V programu Planify si lahko ogledate dogodke v koledarju sistema. Za vklop " "pojdite na »Nastavitve« 🡒 Splošno 🡒 Dogodki v koledarju." #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "Omogo�ite sinhronizacijo s storitvami tretjih oseb" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "Planify ne ustvarja le opravil lokalno, ampak se lahko tudi sinhronizira z " "vašim ra�unom Todoist. Pojdite na »Nastavitve« 🡒 »Ra�uni«." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "Pove�ajte svojo produktivnost" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "Povlecite gumb plus!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "Tisti modri gumb, ki ga vidite na dnu vsakega zaslona, je mo�nejši, kot je " "videti: narejen je za premikanje! Povlecite ga navzgor, da ustvarite nalogo, " "kjer koli želite." #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "Dodajte oznake svojim opravilom!" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "Oznake vam pomagajo organizirati in kategorizirati opravila. Če želite " "dodati oznako, kliknite gumb za oznako na dnu." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "Nastavite pravo�asne opomnike!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Naloga je podvojena" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Razdelek je podvojen" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Projekt je podvojen" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "Ob pravem �asu" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 minut prej" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 minut prej" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 minut prej" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 uro prej" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 uri prej" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 ure prej" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "Nazaj" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "Prejšnji mesec" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "Naprej" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "Naslednji mesec" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "Prejšnji mesec,%" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "Nasledni mesec,%s" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Izberite datum" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "Ne" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Po" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "To" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "Sr" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Če" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Pe" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "So" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Čas" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "dokler" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "za" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "krat" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "�as" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Ponovi" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "Vnesite datum …" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "Naslednji teden" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Dnevno" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "Delovniki" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "Vikendi" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Tedensko" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Mese�no" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Letno" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "Po meri" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "Minute(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "Ure(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "Dnevi(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "Teden(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "Mesec(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "Leto(s)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "Nikoli" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "Na datum" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "Po" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "Ponovite vsakih" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "Konec" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "Datum" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "Odstrani Datum" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Kon�ano" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "Povzetek" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "Zamujen rok" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "Prerazporedite" #: src/Views/Today.vala:761 msgid "Me" msgstr "Jaz" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "Priponke" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "Odpri" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "Prilog ni bilo najdenih. Dodajte datoteke tukaj." #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "Obhod lokacije Rešitev" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" "Rešitev za težave s povezavo CalDAV pri povezavah, ki uporabljajo vrata, ki " "niso privzeta" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "Opozorilo" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "Vseeno nadaljuj" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "Podnaloge" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "Pokaži ve�" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "Pokaži manj" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "Prijavi težavo" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "Potrebna je selitev ra�una." #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "Dogaja se zdaj" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "Lokacija" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "Organizator" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "URL" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Kolendar" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "Pridruži se" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "Onemogo�i preverjanje potrdila SSL" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "Ni priporo�ljivo – izpostavlja vas varnostnim tveganjem" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "Odpri tablo" #~ msgid "Set a Due Date" #~ msgstr "Dolo�ite rok" #~ msgid "Clear" #~ msgstr "Po�isti" #~ msgid "Menu" #~ msgstr "Meni" #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "Prejemajte obvestila o pomembnih opravilih ali dogodkih. Dotaknite se " #~ "spodnjega gumba zvonca, da dodate opomnik." alainm23-planify-69962f8/po/sma.po000066400000000000000000002515051517337276100166410ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:08+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Sami (Southern) \n" "Language: sma\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ((n == 2) ? 1 : 2);\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/sq.po000066400000000000000000002510671517337276100165070ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:07+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Albanian \n" "Language: sq\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/sr.po000066400000000000000000002515571517337276100165140ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:57+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Serbian \n" "Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/sv.po000066400000000000000000002620431517337276100165100ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-16 10:19+0000\n" "Last-Translator: Robert Svensk \n" "Language-Team: Swedish \n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.16.1-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Projekt" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Sektioner" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Uppgift" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Etiketter" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Filter" #: core/Enum.vala:186 msgid "Lists" msgstr "Listor" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "Upprepa ej" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Varje minut" msgstr[1] "Var %d minut" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Varje timme" msgstr[1] "Var %d timme" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Varje dag" msgstr[1] "Var %d dag" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Varje vecka" msgstr[1] "Var %d vecka" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Varje månad" msgstr[1] "Var %d månad" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Varje år" msgstr[1] "Var %d år" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Prioritet" #: core/Enum.vala:348 msgid "Label" msgstr "Etikett" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Förfallodag" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Avsnitt" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "Uppgift" #: core/Enum.vala:469 msgid "Task Created" msgstr "Uppgift skapad" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Uppgift uppdaterad" #: core/Enum.vala:528 msgid "Content" msgstr "Innehåll" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Beskrivning" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Schemalagd" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Nål" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Alla Uppgifter" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "alla uppgifter" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "alla" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "När som helst" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "när som helst" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "filter" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "inget datum" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Avklarad" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "avklarad" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "logbok" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Inkorg" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "inkorg" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "etiketter" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Anslagstavla" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Prioritet 1: hög" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Prioritet 2: medium" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Prioritet 3: låg" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Prioritet 4: ingen" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "hög" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "medium" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "låg" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "ingen" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Repetition" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "repetition" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "schemalagd" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "uppkommande" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Idag" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "idag" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Imorgon" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "imorgon" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "datum" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Omärkt" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "ingen etikett" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "omärkt" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Uppgift kopierad till anslagstavla" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "Uppgift flyttad till %s" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Ta bort etikett %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Detta kan ej göras ogjort" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Avbryt" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Ta bort" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "Projektet kopierades till Anslagstavlan." #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "Ta bort Projekt %s?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "Arkiv?" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "Detta arkiverar %s och alla dess uppgifter." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "Arkiv" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Ta bort Sektion %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "Uppgiften har lagts till!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Att-göra namn" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "Detta fält är obligatoriskt" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Lägg till beskrivning…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "Sätt datum" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Lägg till Etiketter" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Ställ in Prioriteten" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Lägg till Påminnelser" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Lägg till Uppgift" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "Fortsätt lägga till" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Välj Projekt" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "Jag är ledsen, Snabb Tillägg kan inte hitta något tillgängligt projekt. " "Försök skapa ett projekt från Planify." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Kortkommandon" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "Snabba upp skapandet av uppgifter med dessa genvägar" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "Ställ in prioritet" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = högsta, p4 = lägsta" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "Lägg till etiketter" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "Öppnar etikettväljaren" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "Tilldela projekt" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "Öppnar projektväljaren" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "Ställ in påminnelse" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "Öppnar påminnelsealternativ" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "Växla mellan att hålla öppet efter att ha skapat en uppgift" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "Tips" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "Kombinera genvägar i titelfältet för snabbare skapande" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "Laddar uppdrag för %s…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "Laddade uppgifter för %s…" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "Synkronisera uppgift %d av %d" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "Källan finns redan" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "Misslyckades att lösa huvud-url" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "Startar synkronisering…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "Synkroniserar %s…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "Synkronisering klar" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "På den här datorn" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" "Todoist har uppdaterat sitt API. Återanslut ditt konto i Inställningar för " "att fortsätta synkronisera." #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "Förfrågan var inkorrekt." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" "Autentisering krävs, men har misslyckats eller har ännu inte " "tillhandahållits." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "Förfrågan var giltig, men för något som är förbjudet." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "Den begärda källan kunde ej hittas." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" "Användaren har skickat för många förfrågningar under en viss tidsperiod." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "Förfrågan misslyckades på grund av serverfel." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "Servern kan för tillfälligt inte hantera begäran." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "Okänt fel" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "Igår" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "dagar" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "dag" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "%s %s sedan" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "%s %s kvar" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Mån," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Tis," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "Ons," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Tors," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Fre," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "Lör," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "Sön," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Bärröd" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Röd" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Orange" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Gul" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Olivgrön" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Limegrön" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Grön" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "Mintgrön" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Blågrön" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "Himmelsblå" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Ljusblå" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Blå" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Druva" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Violett" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Lavender" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "Magenta" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "Lax" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "Kol" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Grå" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "Gråbrun" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Ljus" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Mörk" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Mörkblå" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Ingen" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Idag + Inkorg" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Radera allt" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "Bearbetning klar, du behöver starta om Planify." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "Ok" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "På den här Datorn" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Möt Planify" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "Detta projekt visar dig allt du behöver veta om det grundläggande. Tveka " "inte att testa dig runt - du kan alltid återskapa allt från Inställningar." #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "Tryck på denna uppgift" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" "Du tittar på en att-göra-lista! Slutför genom att fylla i kryssrutorna till " "vänster. " #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "Skapa en ny uppgift" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Nu är det din tur! Tryck på '+' knappen längst ner på ditt projekt, ange en " "uppgiftsbeskrivning, och tryck på 'Lägg till' knappen." #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "Planera den här att-göra-listan för idag eller senare" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" "Tryck på kalenderknappen längst ned för att bestämma när du vill slutföra " "denna uppgift." #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "Beställ om din att-göra-lista" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "För att beställa om din lista, tryck och håll en att-göra, dra den sedan dit " "den ska vara." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Skapa projekt" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "Organisera dina uppgifter bättre! Gå till vänstra panelen och klicka på '+' " "knappen i 'Den Här Datorn' och lägg till eget projekt." #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "Du är klar!" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "Det är allt du behöver veta. Du kan lägga till dina egna projekt och " "uppgifter.\n" "Du kan komma tillbaka till detta projekt senare för att lära dig de " "avancerade funktionerna nedan.\n" "Vi hoppas du är nöjd med att använda Planify!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "Justera din inställning" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Visa dina kalenderhändelser" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "Du kan visa kalenderhändelserna i ditt system i Planify. Gå till " "'Inställningar' 🡒 Allmänt 🡒 Kalenderhändelser för att aktivera funktionen." #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "Aktivera synkronisering med tjänster från tredje part" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "URL" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, fuzzy, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "Uppgift flyttad till %s" msgstr[1] "Uppgift flyttad till %s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" #, c-format #~ msgid "Processing task %d of %d" #~ msgstr "Bearbetar uppgifter %d av %d" #, c-format #~ msgid "Every %d minutes" #~ msgstr "Var %d minut" #, c-format #~ msgid "Every %d hours" #~ msgstr "Var %d timme" #, c-format #~ msgid "Every %d days" #~ msgstr "Var %d dag" #, c-format #~ msgid "Every %d weeks" #~ msgstr "Var %d vecka" #, c-format #~ msgid "Every %d months" #~ msgstr "Var %d månad" #, c-format #~ msgid "Every %d years" #~ msgstr "Var %d år" alainm23-planify-69962f8/po/szl.po000066400000000000000000002515401517337276100166700ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:07+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Silesian \n" "Language: szl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/ta.po000066400000000000000000002510641517337276100164650ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Tamil \n" "Language: ta\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/te.po000066400000000000000000002510651517337276100164720ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:05+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Telugu \n" "Language: te\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/th.po000066400000000000000000002505041517337276100164720ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:06+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Thai \n" "Language: th\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/tl.po000066400000000000000000002511741517337276100165020ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:11+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Tagalog \n" "Language: tl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1 && n != 2 && n != 3 && (n % 10 == 4 " "|| n % 10 == 6 || n % 10 == 9);\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/tr.po000066400000000000000000003311301517337276100164770ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: com.github.alainm23.planner\n" "Report-Msgid-Bugs-To: alainmh23@gmail.com\n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2026-04-04 02:09+0000\n" "Last-Translator: Sabri Ünal \n" "Language-Team: Turkish \n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.17-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Projeler" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Bölümler" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Görevler" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Etiketler" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Filtreler" #: core/Enum.vala:186 msgid "Lists" msgstr "Listeler" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "Tekrarlama" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Her dakika" msgstr[1] "Her %d dakikada bir" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Her Saat" msgstr[1] "%d saatte bir" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Her gün" msgstr[1] "%d günde bir" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Her hafta" msgstr[1] "%d haftada bir" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Her ay" msgstr[1] "%d ayda bir" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Her yıl" msgstr[1] "%d yılda bir" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Öncelik" #: core/Enum.vala:348 msgid "Label" msgstr "Etiketler" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Bitiş tarihi" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Bölümler" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "Görev oluşturuldu" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Görev güncellendi" #: core/Enum.vala:528 msgid "Content" msgstr "İçerik" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Açıklama" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Zamanlanmış" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "İğnelenmiş" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Görevler" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "Görevler" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "Tüm" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "Herhangi bir zaman" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "herhangi bir zaman" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "Filtrele" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "Bitiş tarihi" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Tamamlandı" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "tamamlandı" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "logbook" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Gelen Kutusu" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "gelen kutusu" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "etiketler" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Pano" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Öncelik 1: yüksek" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Öncelik 2: orta" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Öncelik 3: düşük" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Öncelik 4: yok" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "yüksek" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "orta" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "düşük" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "yok" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Yinele" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "Yinele" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "zamanlanmış" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "yaklaşan" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Bugün" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "bugün" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Yarın" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "Yarın" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "Güncelle" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "etiketler" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "etiketler" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "etiketler" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Görev panoya kopyalandı" # c-format #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "Görev %s projesine taşındı" # c-format #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "%s Etiketini Sil" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Bu geri alınamaz" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "İptal" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Sil" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "Proje Panoya kopyalandı." # c-format #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "%s Projesi Silinsin mi?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "Arşivlensin mi?" # # c-format #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "Bu, %s ve onun tüm görevlerini arşivleyecektir." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "Arşivle" # c-format #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "%s Bölümünü Sil" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "Görev başarıyla eklendi!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Yapılacak adı" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "Bu alan gerekli" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Açıklama ekle…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "Tarih ayarla" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Etiket Ekle" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "Önceliğe göre sırala" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Hatırlatıcı Ekle" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Görev Ekle" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "Eklemeye devam edin" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Bir Proje Seç" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "Üzgünüm, Hızlı Ekleme kullanılabilir bir proje bulamadı. Planify'dan proje " "oluşturmayı deneyin." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Klavye Kısayolları" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "Bu kısayollarla görev oluşturmayı hızlandır" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "Önceliği ayarla" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = en yüksek, p4 = en düşük" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "Etiket ekle" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "Etiket seçiciyi açar" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "Proje ata" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "Proje seçiciyi açar" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "Hatırlatıcı ayarla" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "Hatırlatıcı ayarlarını açar" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "Görev oluşturulduktan sonra açık kalmayı değiştir" #: core/QuickAddCore.vala:1450 #, fuzzy msgid "Tip" msgstr "İpucu" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "Daha hızlı oluşturma için başlık alanındaki kısayolları birleştirin" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "%s için görevler yükleniyor…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "Kaynak zaten mevcut" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "Ana url çözülemedi" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "Senkronizasyon başlıyor…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "%s senkronize ediliyor…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "Senkronizasyon tamamlandı" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "Bu bilgisayarda" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "İstek yanlış." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "Kimlik doğrulama gerekiyor ve başarısız oldu veya henüz sağlanmadı." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "İstek geçerliydi, ancak yasak olan bir şey için." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "İstenen kaynak bulunamadı." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "Kullanıcı belirli bir süre içinde çok fazla istek gönderdi." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "Sunucu hatası nedeniyle istek başarısız oldu." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "Sunucu şu anda isteği işleyemiyor." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "Bilinmeyen hata" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "Dün" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "günler" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "Bugün" # # c-format #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "%s %s önce" # # c-format #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "%s %s kaldı" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "%H:%M" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Paz," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Sal," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "Çrş" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Per," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Cum," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "Cts," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "Paz," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "%a" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Dut Kırmızısı" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Kırmızı" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Turuncu" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Sarı" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Zeytin Yeşili" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Misket Limonu Yeşili" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Yeşil" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "Nane Yeşili" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Deniz Mavisi" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "Gök Mavisi" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Açık Mavi" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Mavi" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Üzüm Moru" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Menekşe" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Lavanta" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "Macenta" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "Somon" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "Kömür Karası" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Gri" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "Boz Kahverengi" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Açık" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Koyu" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Koyu Mavi" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Hiçbiri" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Bugün + Gelen Kutusu" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Hepsini sil" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "İşlem tamamlandı, Planify'ı yeniden başlatmanız gerekiyor." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "Tamam" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "Bu Bilgisayarda" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Planify ile tanışın" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "Bu proje, hemen işe koyulmanız için bilmeniz gereken her şeyi gösteriyor. " "Denemekten çekinmeyin; istediğiniz zaman Tercihler'den yeniden " "oluşturabilirsiniz." #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "Bu göreve dokunun" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" "Bir yapılacak göreve bakıyorsunuz! Soldaki onay kutusuna dokunarak onu " "tamamlayın. " #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "Yeni bir görev oluştur" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Şimdi sıra sizde! Projenizin alt kısmındaki '+' butonuna dokunun, görev " "tanımını girin ve 'Görev Ekle' butonuna dokunun." #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "Bu yapılacak işi bugün veya daha sonrasına planlayın" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" "Bu yapılacak işi ne zaman yapacağınıza karar vermek için alttaki takvim " "düğmesine dokunun." #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "Yapılacaklar listenizi yeniden sıralayın" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "Listenizi yeniden sıralamak için yapılacak işe dokunup basılı tutun, " "ardından gitmesi gereken yere sürükleyin." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Proje oluştur" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "Yapılacaklarınızı daha iyi organize edin! Sol panele gidip 'Bu Bilgisayarda' " "bölümündeki '+' düğmesine tıklayın ve kendinize ait bir proje ekleyin." #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "Bitti!" #: core/Utils/Util.vala:628 #, fuzzy msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "Gerçekten bilmeniz gereken tek şey bu. Kendi projelerinizi ve yapılacak " "işlerinizi eklemekten çekinmeyin.\n" "\n" "Aşağıdaki gelişmiş özellikleri öğrenmek için bu projeye daha sonra geri " "dönebilirsiniz...\n" "\n" "Planify'ı kullanmaktan keyif alacağınızı umuyoruz!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "Kurulumunuzu ayarlayın" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Takvim etkinliklerinizi gösterin" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "Sisteminizin takvim etkinliklerini Planify'da görüntüleyebilirsiniz. Açmak " "için 'Tercihler' 🡒 Takvim Olayları'na gidin." #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "Üçüncü taraf hizmetiyle senkronizasyonu etkinleştirin." #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "Planify sadece yerel olarak görevler oluşturmakla kalmaz, aynı zamanda " "Todoist hesabınızı da senkronize edebilir. 'Tercihler' 🡒 'Hesaplar'a git." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "Üretkenliğinizi artırın" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "Artı düğmesini sürükleyin!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "Her ekranın altındaki mavi düğme göründüğünden daha güçlüdür: hareket " "edebilmektedir! İstediğiniz yerde görev oluşturmak için yukarı sürükleyin." #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "Görevlerinize etiket ekleyin!" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "Etiketler, görevlerinizi düzenlemenize ve kategorilere ayırmanıza yardımcı " "olur. Etiket eklemek için alttaki etiket düğmesine tıklayın." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "Zamanlı hatırlatıcılar ayarlayın!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼�İş" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒�Okul" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉�Atanmış" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "��Ev" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀��Takip Et" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Görev kopyalandı" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Bölüm Adı" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Projeler" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 dakika önce" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 dakika önce" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 dakika önce" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 saat önce" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 saat önce" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 saat önce" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%OB" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "Yedekler" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "Önceki ay" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "İlet" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "Sonraki ay" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "Önceki ay, %s" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "Sonraki ay, %s" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Tarih seçiniz" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "Pzr" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Pzt" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Sal" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "CSB" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Per" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Cum" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "Cts" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Zaman" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "şu zamana kadar" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "zaman" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Yinele" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "Sonraki hafta" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Günlük" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "Haftanın günleri" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "Hafta sonları" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Haftalık" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Aylık" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Yıllık" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "Özel" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "Dakika" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "Saat" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "Gün(ler)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "Hafta" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "Ay(lar)" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "Yıl" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "Asla" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "Tarih Yok" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "Sonra" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "Uygula" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "Yinele" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 #, fuzzy msgid "End" msgstr "Etkin" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "Tarih" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "Tarihi kaldır" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "Etiketi sil" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "Etiket bulunamadı: '%s' oluştur" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" "Süzgeç listeniz burada görünecek. Adını girip Enter tuşuna basarak bir tane " "oluşturun." # c-format #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "'%s' oluştur" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" "Hatırlatıcılar listeniz burada görünecek. '+' düğmesine tıklayarak bir tane " "ekleyin" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "Ara" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "Ara veya Oluştur" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "Bağlantıyı kaldır" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "Öncelik 4: yok" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "Öncelik 1: yüksek" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "Öncelik 2: orta" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "Öncelik 3: düşük" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "Öncelik 2: orta" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "Öncelik 3: düşük" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 #, fuzzy msgid "Your list of section will show up here." msgstr "" "Hatırlatıcılar listeniz burada görünecek. '+' düğmesine tıklayarak bir tane " "ekleyin" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "Bölüm Yok" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "Aramak için yazınız" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "Hatırlatıcılar" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" "Hatırlatıcılar listeniz burada görünecek. '+' düğmesine tıklayarak bir tane " "ekleyin" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "Hatırlatıcı Ekle" # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "5 dakika içinde" # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "15 dakika içinde" # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "30 dakika içinde" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "1 saat içinde" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "3 saat içinde" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "6 saat içinde" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "Yeni Bölüm" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "Bölümü Sil" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "Durumu Belirle" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "Durum" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "Yapılacak" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "Tamamlandı" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "Planify, bu aygıt açıldığında kendiliğinden başlayacak ve yapılacaklar " "bildirimleri gönderebilmek için penceresi kapatıldığında çalışacak." #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "Takvim Eşzamanla" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "Takvim Seç" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "Listeden takvim seç" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "Eşzamanlamayı Etkinleştir" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "Takvim eşzamanlama devre dışı bırakıldı" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "Takvim Eşzamanlama Etkin" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "Eşzamanlamayı Devre Dışı Bırak" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "Eşzamanlama Etkinleştirildi!" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "Tamam" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "Tamamlanmış Görevler" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "Süzgeçler Menüsünü Göster" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "Henüz tamamlanmış görev yok." #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "Tamamlanan Görevlerin Altını Çiz" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "Filtrele" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "Sonraki Hafta" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "Tarih Yok" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Tamamlandı" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "Değişiklik Tarihi" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "Eklenme tarihi" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "Kullanılamıyor" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "Güncellenme tarihi" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" "Değişiklik yapmaya başladığınızda değişiklik geçmişiniz burada " "görüntülenecek." # # c-format #: src/Dialogs/ItemChangeHistory.vala:138 #, fuzzy, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "Daha fazla geçmiş yükle %d hafta öncesinden..." msgstr[1] "Daha fazla geçmiş yükle %d hafta öncesinden..." #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "Yeni Etiket" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "Etiketi Düzenle" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "Etiketinize bir ad verin" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "Etiket Ekle" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "Etiketi Güncelle" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "Filtrele" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "Proje Ekle" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "Bölüm Sıralamasını Yönet" #: src/Dialogs/ManageSectionOrder.vala:54 #, fuzzy msgid "You can sort your sections by dragging and dropping" msgstr "Görünümlerinizi sürükleyip bırakarak sıralayabilirsiniz" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "Arşivlendi" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(Bölüm Yok)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "Hesaplar" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "Kaynak" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "Gelen Kutusu Sayfası" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 #, fuzzy msgid "You can sort your accounts by dragging and dropping" msgstr "Görünümlerinizi sürükleyip bırakarak sıralayabilirsiniz" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "SSL doğrulama devre dışı bırakıldı" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "Bu Hesap Gizlenemez" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "Gelen Kutusunu Değiştir" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "Eşzamanlanıyor…" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "Sunucu URL'si" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "Kullanıcı Adı" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "Parola" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 #, fuzzy msgid "Calendar Home URL" msgstr "Takvim Etkinlikleri" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "Giriş Yap" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 #, fuzzy msgid "Inbox Project" msgstr "Öntanımlı Gelen Kutusu Projesi" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "Kaynak" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "Görünen ad" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "Eşzamanlama Sunucusu" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" "Planner'ın 15 dakikada bir Todoist hesabınızla kendiliğinden eşzamanlanması " "için bu ayarı etkinleştirin" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "Son Eşzamanlama" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 #, fuzzy msgid "Delete Source" msgstr "Bölümü Sil" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "Bölümü Sil" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "Eşzamanlanıyor…" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "Görünüm" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "Sistem Ayarlarını Kullan" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 #, fuzzy msgid "Select theme" msgstr "Seç" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "Açık Biçem" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "Koyu Biçem" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "Koyu Mavi Biçem" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "Yedekler" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" "Verilerinizi kaybetmekten endişelenmeyin. Etkin projelerinizin, " "görevlerinizin ve yorumlarınızın yedeklerini oluşturabilir ve bunları daha " "sonra içe aktarabilirsiniz." #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "Yedek Oluştur" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "Yedeği İçe Aktar" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "Yedek Dosyaları" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" "Hesap bulunamadı. '+' düğmesine tıklayarak bir tane eşzamanlama " "oluşturabilirsiniz" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "Geçiş yap" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "Planlayıcıdan Geçiş Yapın" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "Görevler Başarıyla Eşzamanlandı" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "Görevler Başarıyla Eşzamanlandı" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "Veritabanı dosyası yok" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "Seçilen dosya geçersiz" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "Yedek Oluştur" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "İndir" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "İçe Aktarmaya Genel Görünümü" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "Kaynak" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "Yapılacak Ekle" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "Onayla" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "Yedeği geri yükle" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" "Devam etmek istediğinizden emin misiniz? Bu işlem mevcut verilerinizi " "silecek ve yedek verilerle değiştirecek." #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "Yedeği Geri Yükle" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "Genel" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "Özel Sıralama Düzeni" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "Alfabetik" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "Sırala" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "Artan" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "Azalan" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "Sıralı" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "Masaüstü Ortamı Tümleşimi" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "Başlangıçta Çalıştır" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "Arka Planda Çalıştır" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "Takvim Etkinlikleri" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "Tarih ve Zaman" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24 saat" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12 saat" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "Saat Biçimi" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "Pazar" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "Pazartesi" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "Salı" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "Çarşamba" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "Perşembe" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "Cuma" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "Cumartesi" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "Hafta Haşlangıcı" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 #, fuzzy msgid "Home View" msgstr "Ana Sayfa" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "Hızlı Ekle" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" "Sadece birkaç tuşa basarak masaüstünüzün herhangi bir yerinden yapılacaklar " "oluşturmak için Hızlı Ekle'yi kullanın. Bulunduğunuz uygulamadan çıkmanıza " "bile gerek yok!" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" "Sistem Ayarları → Klavye → Kısayollar → Özel bölümüne gidin ve aşağıdakileri " "içeren yeni kısayol ekleyin:" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "Ayarlar" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "Son Seçilen Projeyi Kaydet" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "İşaretlenmezse, öntanımlı proje Gelen Kutusu olarak seçilir" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "Komut panoya kopyalandı" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "Kenar çubuğu" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "Kenar Çubuğunda Göster" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "Görev Sayısını Göster" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "Kenar Çubuğu Genişliği" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "Görünümlerinizi sürükleyip bırakarak sıralayabilirsiniz" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "Görev Ayarları" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 #, fuzzy msgid "Complete Instantly" msgstr "Anında" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 #, fuzzy msgid "Complete with Undo" msgstr "Tamamlandı" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 #, fuzzy msgid "Task Completion" msgstr "Görevi Tamamla" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "Öncelik 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "Öncelik 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "Öncelik 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "Öntanımlı Öncelik" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "Tamamlanan Görevleri Göster" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "Yeni Görev Pozisyonu" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "Tamamlanan Görevleri Göster" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "Görevi Tamamla" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "Görevler tamamlandığında bir ses çalın" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 #, fuzzy msgid "Open Tasks in Sidebar View" msgstr "Görevi Kenar Çubuğu Görünümünde Açın" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "Markdown Biçimlendirmeyi Etkinleştir" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "Görevler için Markdown desteğini açma veya kapatma" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 #, fuzzy msgid "Always Show Details Sidebar" msgstr "Kenar Çubuğunda Göster" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "Etkin" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "Zamanlı hatırlatıcılar ayarlayın!" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" "Etkinleştirildiğinde, varsayılan olarak görevin bitiş zamanından önce bir " "hatırlatıcı eklenecektir." #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "Tercihler" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "Gözde yapılacaklar sağlayıcılarınızla eşzamanlayın" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "İsteğinize göre özelleştirin" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "Kenar çubuğunuzu özelleştirin" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "Her yerden yapılacaklar ekleme" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "Planlayıcı'dan yedekleme veya taşıma" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "Eğitim Projesi Oluştur" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "Kısa eğitim projesi ile uygulamayı adım adım öğrenin" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "Bana bir içecek ısmarlamak ister misin?" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "Bize Ulaşın" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "İletişime Geç" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "Özellik talep edin ya da bize bir şey sorun" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "Bize Tweet Atın" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "Sevginizi paylaşın" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "Tartışın ve görüşlerinizi paylaşın" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodon" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "Gizlilik" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "Gizlilik İlkesi" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "Sana karşı hiçbir şeyimiz yok" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "Planify Verilerini Sil" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "Öğretici proje oluşturuldu" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "Planify Verilerini Sil" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" "Tüm listelerinizi, görevlerinizi ve hatırlatıcılarınızı geri döndürülemez " "şekilde siler" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "Özet" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "Proje oluştur" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "Süresi doldu" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "Yeni Proje" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "Projeyi Düzenle" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "Proje adı" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "Emoji kullan" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "Proje Ekle" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "Projeyi Güncelle" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "Proje eklendi." #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "Taşı" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "Hızlı Arama" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" "Hızlıca projeleri ve görünümleri değiştirin, görevleri bulun, etiketlere " "göre arama yapın" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "Yeni Bölüm" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "Bölümü Düzenle" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "Bölüm Adı" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "Bölüm Ekle" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "Bölümü Güncelle" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 #, fuzzy msgid "Section added" msgstr "Bölüm Adı" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "Kenar Çubuğunu Aç/Kapat" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" # # c-format #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "Tamamlandı. Sonraki gerçekleşme: %s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "Alt Görev Ekle" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "Düzenle" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "Çoğalt" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "Görevi Sil" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "Sıralama 'Özel Sıralama Düzeni' olarak değiştirildi" # # c-format #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s silindi" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "Geri Al" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "Alt Görev Ekle" #: src/Layouts/ItemRow.vala:1057 #, fuzzy msgid "Hide Sub-tasks" msgstr "Alt Görev Ekle" #: src/Layouts/ItemRow.vala:1057 #, fuzzy msgid "Show Sub-tasks" msgstr "Alt Görev Ekle" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "Tarih seçiniz" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "Panoya Kopyala" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "Görev Ekle" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "Ayrıntıları Göster" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "%s ögesini silmek istediğinizden emin misiniz?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "Etiketi sil" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "Proje sırası, 'Özel Sıralama Düzeni' olarak değiştirildi" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "Gözdelerden Kaldır" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "Gözdelere Ekle" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "Projeyi Sil" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "Paylaş" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "E-posta İle Gönder" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 #, fuzzy msgid "Add tasks" msgstr "Görev Ekle" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 #, fuzzy msgid "completed tasks" msgstr "Görevi Tamamla" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "Bölümü Taşı" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "Bölüm Sıralamasını Yönet" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "Tamamlanan Görevleri Göster" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "Bölümü Sil" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "Gözdeler" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" "Gözdeler bulunamadı. '+' düğmesine tıklayarak bir tane oluşturabilirsiniz" #: src/Layouts/Sidebar.vala:122 #, fuzzy msgid "Add Account" msgstr "Hesaplar" #: src/Layouts/Sidebar.vala:123 #, fuzzy msgid "Customize Sidebar" msgstr "Kenar çubuğunuzu özelleştirin" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "Bugün" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "Zamanlanmış" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "Etiketler" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "Pano" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "Proje bulunamadı. '+' düğmesine tıklayarak bir tane oluşturabilirsiniz" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "Hızlı bulu aç" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "Planify Hakkında" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 #, fuzzy msgid "Task completed" msgstr "tamamlandı" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 #, fuzzy msgid "Reset Database" msgstr "Tümünü sıfırla" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "Yedek Oluştur" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "Yedek Başarıyla İçe Aktarıldı" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "Planify Yedek Dosyaları" # c-format #: src/Services/Notification.vala:99 #, fuzzy msgid "Snooze for 10 minutes" msgstr "Her %d ayda bir" # c-format #: src/Services/Notification.vala:100 #, fuzzy msgid "Snooze for 30 minutes" msgstr "Her %d ayda bir" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "Görev Ekle" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 #, fuzzy msgid "Press 'a' to create a new task" msgstr "Yeni Görev Oluşturmak için Düz Metin Yapıştır" #: src/Views/Filter.vala:129 #, fuzzy msgid "All tasks completed!" msgstr "tamamlandı" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 #, fuzzy msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "Tamamlanan Görevlerin Altını Çiz" msgstr[1] "Tamamlanan Görevlerin Altını Çiz" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" "Gözdeler bulunamadı. '+' düğmesine tıklayarak bir tane oluşturabilirsiniz" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "Not" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "Zamanla" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "Ne zaman?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "Projeler" #: src/Views/Project/Project.vala:259 #, fuzzy msgid "New Task" msgstr "Görevleri Taşı" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "Seç" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "Yapıştır" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "Liste" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "Pano" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "Bizi Destekleyin" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "Özel sıralama düzeni" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "Eklenme tarihi" #: src/Views/Project/Project.vala:547 #, fuzzy msgid "Ascending Order" msgstr "Artan" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "Güncelle" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "Etiketlere Göre Filtrele" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 #, fuzzy msgid "Search completed tasks" msgstr "Tamamlanan Görevleri Göster" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "Sırala" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "Yeniden zamanla" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "Görev Ekle" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "Alt Görev Ekle" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 #, fuzzy msgid "Show less" msgstr "Tamamlanan Görevleri Göster" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Takvim" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 #, fuzzy msgid "Task uncompleted" msgstr "tamamlandı" # c-format #: src/Widgets/ItemChangeHistoryRow.vala:51 #, fuzzy msgid "Task moved to project" msgstr "Görev panoya kopyalandı" # c-format #: src/Widgets/ItemChangeHistoryRow.vala:61 #, fuzzy msgid "Task moved to" msgstr "Görev panoya kopyalandı" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 #, fuzzy msgid "Completed At" msgstr "Tamamlandı" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "Tamamlanmış Olarak Maskele" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "Yapılacak'ı Sil" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "Bu yapılacakʼı silmek istediğinize emin misiniz?" # # c-format #: src/Widgets/MultiSelectToolbar.vala:299 #, fuzzy, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "%d Yapılacakʼı Sil" msgstr[1] "%d Yapılacakʼı Sil" #: src/Widgets/MultiSelectToolbar.vala:305 #, fuzzy, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "Bu yapılacakʼı silmek istediğinize emin misiniz?" msgstr[1] "Bu yapılacakʼı silmek istediğinize emin misiniz?" # c-format #: src/Widgets/MultiSelectToolbar.vala:402 #, fuzzy, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "Görev %s projesine taşındı" msgstr[1] "Görev %s projesine taşındı" #: src/Widgets/NewVersionPopup.vala:42 #, fuzzy msgid "New version available!" msgstr "Kullanılamıyor" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 #, fuzzy msgid "Update Now" msgstr "Güncellenme tarihi" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 #, fuzzy msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" "Görünüşe göre internete bağlı değilsiniz.\n" "Çevrim dışı kipte yaptığınız değişiklikler,\n" "yeniden bağlandığınızda eşzamanlanacak" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "Planify - Hızlı Ekleme" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "Her Yerde Kullanılır" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "Yeni Görev Oluştur" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "Yeni Görev Oluşturmak için Düz Metin Yapıştır" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "Yeni Proje Oluştur" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "Projede Yeni Bölüm Oluştur" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "Ara" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "Hızlı bulu aç" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "Pencereleri Denetle" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "Çık" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Tercihleri Aç" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "Kenar Çubuğunu Aç/Kapat" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "Klavye kısayollarını aç" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "Gezinme" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "Ana sayfayı aç" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "Gelen kutusunu aç" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "Bugünü aç" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "Zamanlanmışı aç" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "Etiketler" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "Panoyu aç" #, fuzzy #~ msgid "Server URL examples:" #~ msgstr "Sunucu URL'si" #~ msgid "" #~ "Planify is being developed with love and passion for open source. " #~ "However, if you like Planify and want to support its development, please " #~ "consider supporting us." #~ msgstr "" #~ "Planify açık kaynak olarak, sevgi ve tutkuyla geliştirilmektedir. " #~ "Planify'ı seviyorsanız ve gelişimini desteklemek istiyorsanız, bizi " #~ "desteklemeyi unutmayın." #~ msgid "Please Enter Your Credentials" #~ msgstr "Lütfen Kimlik Bilgilerinizi Girin" #~ msgid "Loading…" #~ msgstr "Yükleniyor…" #~ msgid "Network Is Not Available" #~ msgstr "Ağ Kullanılamıyor" #~ msgid "Set a Due Date" #~ msgstr "Bitiş tarihi" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "" #~ "Planify'ın arka planda çalışmasına ve bildirim göndermesine izin ver" #~ msgid "Whether Planify should run on startup" #~ msgstr "Planify'ın başlangıçta çalışma durumu" #~ msgid "Clear" #~ msgstr "Temizle" #~ msgid "Menu" #~ msgstr "Menü" #~ msgid "Add Time" #~ msgstr "Zaman Ekle" #, fuzzy #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "Planify'ın size önemli etkinliği ya da özel bir şeyi hatırlatmamı için " #~ "bildirim göndermesini mi istiyorsunuz. Hatırlatıcı eklemek için aşağıdaki " #~ "zil düğmesine dokunun." #, c-format #~ msgid "Processing task %d of %d" #~ msgstr "%d/%d görev işleniyor" #, fuzzy #~ msgid "Planify is syncing your tasks, this may take a few minutes" #~ msgstr "Planlayıcı görevlerinizi eşzamanlıyor, bu birkaç dakika sürebilir" #~ msgid "Todoist Sync" #~ msgstr "Todoist Eşzamanlama" #~ msgid "Loading" #~ msgstr "Yükleniyor" #~ msgid "Planner is sync your tasks, this may take a few minutes" #~ msgstr "Planlayıcı görevlerinizi eşzamanlıyor, bu birkaç dakika sürebilir" #~ msgid "Please enter your credentials" #~ msgstr "Lütfen kimlik bilgilerinizi girin" # c-format #, c-format #~ msgid "Every %d minutes" #~ msgstr "Her %d dakikada bir" # c-format #, c-format #~ msgid "Every %d hours" #~ msgstr "Her %d saatte bir" # # c-format #, c-format #~ msgid "Every %d days" #~ msgstr "%d günde bir" # # c-format #, c-format #~ msgid "Every %d weeks" #~ msgstr "Her %d haftada bir" # # c-format #, c-format #~ msgid "Every %d months" #~ msgstr "Her %d ayda bir" # # c-format #, c-format #~ msgid "Every %d years" #~ msgstr "Her %d yılda bir" # # c-format #, c-format #~ msgid "Load more history from %d weeks ago…" #~ msgstr "Daha fazla geçmiş yükle %d hafta öncesinden..." #, fuzzy #~ msgid "Delete Completed Tasks" #~ msgstr "Tamamlanan Görevlerin Altını Çiz" # # c-format #, c-format #~ msgid "Delete %d To-Dos" #~ msgstr "%d Yapılacakʼı Sil" # # c-format #, c-format #~ msgid "Are you sure you want to delete these %d to-dos?" #~ msgstr "%d yapılacakʼı silmek istediğinize emin misiniz?" #, fuzzy #~ msgid "Backup" #~ msgstr "Yedekler" #~ msgid "Task Setting" #~ msgstr "Görev Ayarları" #~ msgid "Personal Data" #~ msgstr "Kişisel Veriler" #~ msgid "" #~ "We collect absolutely nothing and all your data is stored in a database " #~ "on your computer." #~ msgstr "" #~ "Kesinlikle hiçbir şey toplamıyoruz ve tüm verileriniz bilgisayarınızdaki " #~ "bir veritabanında saklanıyor." #~ msgid "" #~ "If you choose to integrate Todoist, which is optional and not selected by " #~ "default, your data will be stored on their private servers, we only " #~ "display your configured tasks and manage them for you." #~ msgstr "" #~ "Todoist tümleşimini seçerseniz, (isteğe bağlıdır ve öntanımlı olarak " #~ "seçili değildir), verileriniz kendi özel sunucularında saklanır, biz " #~ "sadece yapılandırılmış görevlerinizi görüntüler ve sizin için yönetiriz." #~ msgid "Do you have any questions?" #~ msgstr "Herhangi bir sorunuz var mı?" #~ msgid "" #~ "If you have any questions about your data or any other issue, please " #~ "contact us. We will be happy to answer you." #~ msgstr "" #~ "Verileriniz veya başka bir konu hakkında sorunuz varsa, bizimle iletişime " #~ "geçin. Cevap vermekten mutluluk duyarız." #~ msgid "Supporting Us" #~ msgstr "Bizi Destekleyin" #~ msgid "" #~ "Our mission is to provide the best open source task management " #~ "application for users all over the world. Your donations support this " #~ "work. Want to donate today?" #~ msgstr "" #~ "Misyonumuz, tüm kullanıcılar için en iyi açık kaynak kodlu görev yönetim " #~ "uygulamasını sağlamaktır. Bağışlarınız bu çalışmayı destekler. Bağış " #~ "yapmak ister misiniz?" #~ msgid "Support Planify" #~ msgstr "Planify'ı Destekleyin" #, fuzzy #~ msgid "Clear Schedule" #~ msgstr "Zamanla" #~ msgid "Process completed, you need to start Planify again" #~ msgstr "İşlem tamamlandı, Planify'ı yeniden başlatmanız gerekiyor" #, fuzzy #~ msgid "Task Detail" #~ msgstr "Ayrıntıları Göster" #~ msgid "Create a new to-do" #~ msgstr "Yeni yapılacak oluştur" #~ msgid "Tag your to-dos!" #~ msgstr "Yapılacaklarınızı etiketleyin!" #~ msgid "What’s new in Planify" #~ msgstr "Planify'daki yenilikler" #~ msgid "Duplication of Sections and Projects" #~ msgstr "Projede Yeni Bölüm Oluştur" #~ msgid "Archiving of Projects and Sections" #~ msgstr "Proje adı" #~ msgid "What's New" #~ msgstr "Neler Yeni" #~ msgid "Are you sure you want to reset all? (y/n): " #~ msgstr "Tümünü sıfırlamak istediğinize emin misiniz?" #~ msgid "Planify" #~ msgstr "Planify" #~ msgid "Add" #~ msgstr "Ekle" #~ msgid "No Provider Available" #~ msgstr "Kullanılamıyor" #~ msgid "Go to Inbox" #~ msgstr "Bugün + Gelen Kutusu" #~ msgid "Order by" #~ msgstr "Sırala" #~ msgid "Integrations" #~ msgstr "Tümleşim" #~ msgid "Wait 2500 Milliseconds" #~ msgstr "2500 Milisaniye Bekle" #~ msgid "Complete Task" #~ msgstr "Görevi Tamamla" #~ msgid "" #~ "Complete your to-do instantly or wait 2500 milliseconds with the undo " #~ "option" #~ msgstr "" #~ "Yapılacak işinizi anında tamamlayın ya da geri al seçeneğiyle 2500 " #~ "milisaniye bekleyin" #~ msgid "Top" #~ msgstr "Üst" #~ msgid "Bottom" #~ msgstr "Alt" #~ msgid "Create More" #~ msgstr "Proje oluştur" #~ msgid "App Theme" #~ msgstr "Uygulama Teması" # c-format #, fuzzy, c-format #~ msgid "Task moved to: %s" #~ msgstr "Görev panoya kopyalandı" #~ msgid "Telegram" #~ msgstr "Telegram" #~ msgid "Matrix Room" #~ msgstr "Matrix Odası" #~ msgid "Add To-Do" #~ msgstr "Yapılacak Ekle" #~ msgid "Nextcloud Setup" #~ msgstr "Nextcloud kurulumu" #~ msgid "Offline Mode Is On" #~ msgstr "Çevrim Dışı Kip Açık" #~ msgid "Provider" #~ msgstr "Sağlayıcı" #~ msgid "Pinned" #~ msgstr "İğnelenmiş" #~ msgid "View Details" #~ msgstr "Ayrıntıları Göster" #~ msgid "All" #~ msgstr "Tüm" #~ msgid "Attach File" #~ msgstr "Yedek Dosyaları" #~ msgid "Hide Completed Tasks" #~ msgstr "Tamamlanan Görevleri Gizle" #~ msgid "On this Computer" #~ msgstr "Bu Bilgisayarda" #~ msgid "Labels: On This Computer" #~ msgstr "Etiketler: Bu Bilgisayarda" #~ msgid "Labels: Todoist" #~ msgstr "Etiketler: Todoist" #~ msgid "Labels: Nextcloud" #~ msgstr "Etiketler: Todoist" #~ msgid "Synchronize with your Todoist Account" #~ msgstr "Todoist Hesabınızla Eşzamanlayın" #~ msgid "" #~ "Activate this setting so that Planify automatically synchronizes with " #~ "your CalDAV account every 15 minutes" #~ msgstr "" #~ "Planner'ın 15 dakikada bir Todoist hesabınızla kendiliğinden " #~ "eşzamanlanması için bu ayarı etkinleştirin" #~ msgid "" #~ "Are you sure you want to remove the Todoist sync? This action will delete " #~ "all your tasks and settings." #~ msgstr "" #~ "Todoist eşzamanlamasını kaldırmak istediğinden emin misin? Bu eylem, tüm " #~ "görevlerinizi ve ayarlarınızı silecek." #~ msgid "" #~ "Are you sure you want to remove the CalDAV sync? This action will delete " #~ "all your tasks and settings." #~ msgstr "" #~ "Todoist eşzamanlamasını kaldırmak istediğinden emin misin? Bu eylem, tüm " #~ "görevlerinizi ve ayarlarınızı silecek." #~ msgid "Sign Off" #~ msgstr "Oturumu Kapat" #~ msgid "Underline Completed Tasks" #~ msgstr "Tamamlanan Görevlerin Altını Çiz" #~ msgid "Items" #~ msgstr "Ögeler" #~ msgid "Tasks Synced Successfully" #~ msgstr "Görevler Başarıyla Eşzamanlandı" #~ msgid "Do you want to use Todoist as your default Inbox Project?" #~ msgstr "Todoist öntanımlı Gelen Kutusu Projesi olarak kullanılsın mı?" # # c-format #~ msgid "Are you sure you want to delete %s?" #~ msgstr "%s ögesini silmek istediğinizden emin misiniz?" #~ msgid "Custom Sorting in Today View" #~ msgstr "Özel Sıralama Düzeni" #~ msgid "Efficient Management of Completed Tasks" #~ msgstr "Tamamlanan Görevlerin Altını Çiz" #~ msgid "Search by Sections" #~ msgstr "Yeni Bölüm" #~ msgid "" #~ "The process removes all stored information without the possibility of " #~ "undoing it" #~ msgstr "İşlem, geri alma imkanı olmaksızın depolanan tüm bilgileri kaldırır" #~ msgid "Delete project" #~ msgstr "Projeyi sil" #~ msgid "Delete label" #~ msgstr "Etiketi sil" #~ msgid "Move tasks" #~ msgstr "Görevleri taşı" # # c-format #~ msgid "Are you sure you want to move your task to %s?" #~ msgstr "Görevinizi %s ögesine taşımak istediğinizden emin misiniz?" #~ msgid "Add subtask" #~ msgstr "Alt görev ekle" #~ msgid "pinboard" #~ msgstr "pano" #~ msgid "Add reminder(s)" #~ msgstr "Hatırlatıcı(lar) ekle" #~ msgid "To-do added" #~ msgstr "Yapılacak eklendi" #~ msgid "Press 'a' or tap the plus button to create a new to-do" #~ msgstr "" #~ "Yeni yapılacak oluşturmak için 'a' tuşuna basın veya artı düğmesine " #~ "tıklayın" #~ msgid "Improved drag-and-drop sorting" #~ msgstr "Geliştirilmiş sürükle-bırak ile sıralama" #~ msgid "Support for sub-projects" #~ msgstr "Alt projeler desteği" #~ msgid "The Magic Button" #~ msgstr "Sihirli Düğme" #~ msgid "Board View" #~ msgstr "Pano Görünümü" #~ msgid "Google Tasks" #~ msgstr "Google Görevler" #~ msgid "No to-dos for this filter yet" #~ msgstr "Bu filtrede henüz bir yapılacak yok" #~ msgid "Synchronize with your Google Account" #~ msgstr "Google Hesabınızla Eşzamanlayın" #~ msgid "" #~ "Are you sure you want to remove the Google Tasks sync? This action will " #~ "delete all your tasks and settings." #~ msgstr "" #~ "Google Görevler eşzamanlamasını kaldırmak istediğinizden emin misiniz? Bu " #~ "eylem, tüm görevlerinizi ve ayarlarınızı silecek." alainm23-planify-69962f8/po/ug.po000066400000000000000000002510651517337276100164750ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:55+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Uyghur \n" "Language: ug\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/uk.po000066400000000000000000004222261517337276100165000ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: com.github.alainm23.planner\n" "Report-Msgid-Bugs-To: alainmh23@gmail.com\n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2026-04-22 14:09+0000\n" "Last-Translator: Tymko \n" "Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Weblate 5.17.1-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Проєкти" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Розділи" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Завданн�" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Мітки" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Фільтри" #: core/Enum.vala:186 msgid "Lists" msgstr "Спи�ки" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "�е повторювати" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Кожну хвилину" msgstr[1] "Кожні %d хвилин" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Щогодини" msgstr[1] "Кожні %d годин" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Щодн�" msgstr[1] "Кожні %d днів" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Щотижн�" msgstr[1] "Кожні %d тижнів" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Щомі��ц�" msgstr[1] "Кожні %d мі��ців" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Щороку" msgstr[1] "Кожні %d років" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Пріоритет" #: core/Enum.vala:348 msgid "Label" msgstr "Мітки" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Дата виконанн�" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Розділ" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "Призначенн�" #: core/Enum.vala:469 msgid "Task Created" msgstr "Завданн� �творено" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Завданн� оновлено" #: core/Enum.vala:528 msgid "Content" msgstr "Змі�т" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Опи�" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "Заплановане" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Закріпити" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "В�і завданн�" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "в�і завданн�" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "в�і" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "Будь-коли" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "будь-коли" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "фільтри" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "без дати" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "Виконані" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "виконано" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "журнал" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Вхідні" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "вхідні" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "мітки" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Закріплене" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Пріоритет 1: ви�окий" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Пріоритет 2: �ередній" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Пріоритет 3: низький" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Пріоритет 4: немає" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "ви�окий" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "�ередній" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "низький" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "немає" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Повторювані" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "повторювані" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "заплановано" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "майбутні" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Сьогодні" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "�ьогодні" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Завтра" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "завтра" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "дата" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Без міток" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "немає міток" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "без міток" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "Кінцевий термін:" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Завданн� �копійовано в буфер обміну" # c-format #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "Завданн� перемещіно в %s" # c-format #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Видалити мітку %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Це не можна �ка�увати" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Ска�увати" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Видалити" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "Проєкт �копійовано до буфера обміну." # c-format #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "Видалити проєкт %s?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "�рхівувати?" # # c-format #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "Це призведе до архівуванн� %s і в�іх його завдань." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "�рхівувати" # c-format #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Видали розділ %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "Завданн� у�пішно додано!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "�азва завданн�" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "Це поле обов'�зкове" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Додати опи�…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "Вказати дату" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Додати мітки" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "В�тановити пріоритет" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Додати нагадуванн�" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Додати завданн�" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "Продовжити додаванн�" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Вибрати проєкт" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "Вибачте, функці� швидкого додаванн� не може знайти жодного до�тупного " "проєкту. Спробуйте �творити проєкт в Planify." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Комбінації клавіш" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "Пришвидшіть �творенн� завдань за допомогою цих комбінацій клавіш" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "В�тановити пріоритет" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = найвищий, p4 = найнижчий" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "Додати мітки" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "Відкриває �електор міток" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "Призначити проєкт" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "Відкриває �електор проєктів" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "В�тановити нагадуванн�" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "Відкриває параметри нагадуванн�" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "Залишати відкритим пі�л� �творенн� завданн�" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "Підказка" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "Поєднуйте комбінації клавіш у полі заголовка дл� швидшого �творенн�" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "Завантаженн� завдань дл� %s…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "Завантажено завданн� дл� %s…" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "Синхронізаці� завданн� %d з %d" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "Джерело вже і�нує" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "�е вдало�� розпізнати головну URL-адре�у" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "Розпочато �инхронізацію…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "Синхронізаці� %s…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "Синхронізацію завершено" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "Термін дії автентифікації минув" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" "Термін дії вашого �еан�у закінчив��. Будь ла�ка, видаліть та повторно " "додайте �вій обліковий запи� у налаштуванн�х." #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "Забагато запитів" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" "Сервер обмежує кількі�ть запитів. Зачекайте кілька хвилин і �пробуйте ще раз." #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "�а цьому комп'ютері" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" "Todoist оновив �вій API. Будь ла�ка, повторно підключіть �вій обліковий " "запи� у налаштуванн�х, щоб продовжити �инхронізацію." #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "�едій�ний токен API" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "Запит був неправильним." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" "Потрібна автентифікаці�, але вона не була у�пішна або ще не була надана." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "Запит був дій�ним, але щодо чого�ь забороненого." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "Запитаний ре�ур� не знайдено." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "Кори�тувач наді�лав забагато запитів за заданий проміжок ча�у." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "Запит не вдало�� виконати через помилку �ервера." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "Сервер наразі не може обробити запит." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "�евідома помилка" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "Вчора" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "днів" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "день" # # c-format #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "%s %s тому" # # c-format #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "%s %s залишило�ь" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "%-l:%M:%S %p" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "%-l:%M %p" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "%H:%M:%S" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "%H:%M" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "Пн," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "Вт," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "Ср," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "Чт," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "Пт," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "Сб," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "�д," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "через %d день" msgstr[1] "через %d днів" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d день тому" msgstr[1] "%d днів тому" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "%a, %b %-e, %Y" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "%b %-e %Y" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "%b %-e" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "%a %Y" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "%a" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "%a, %b %-e" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "%b" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "Ягідний червоний" #: core/Utils/Util.vala:42 msgid "Red" msgstr "Червоний" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Помаранчевий" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Жовтий" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Оливково-зелений" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Лаймово-зелений" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Зелений" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "М'�тно-зелений" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Бірюзовий" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "�ебе�но-блакитний" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Світло-блакитний" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Синій" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Виноградний" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Фіолетовий" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Лавандовий" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "Маджента" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "Ло�о�евий" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "Вугільний" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Сірий" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "Таупе" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Світлий" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Темний" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Темно-�иній" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "�емає" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Сьогодні + Вхідні" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Видалити в�е" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "Проце� завершено, вам потрібно знову запу�тити Planify." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "Ок" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "�а цьому комп'ютері" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Знайомте�ь, Planify" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "Цей проєкт покаже вам у�е, що потрібно знати, щоб почати роботу. �е " "�оромте�� ек�периментувати з ним – ви завжди можете �творити новий у " "налаштуванн�х." #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "�ати�ніть на це завданн�" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" "Ви перегл�даєте завданн�! Завершіть його, нати�нувши прапорець ліворуч. " "Виконані завданн� зібрані внизу вашого проєкту. " #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "Створіть нове завданн�" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Тепер ваша черга! �ати�ніть кнопку «+» внизу вашого проєкту, введіть опи� " "завданн� і нати�ніть �иню кнопку «Зберегти»." #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "Заплануйте це завданн� на �ьогодні або пізніше" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" "�ати�ніть кнопку календар� внизу, щоб вирішити, коли виконати це завданн�." #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "Змініть пор�док �воїх завдань" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "Щоб змінити пор�док у �пи�ку, нати�ніть і утримуйте �праву, а потім " "перет�гніть її в потрібне мі�це." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Створіть проєкт" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "Краще організуйте �вої �прави! Перейдіть на ліву панель і нати�ніть кнопку " "«+» у розділі «�а цьому комп’ютері» та додайте вла�ний проєкт." #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "Готово!" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "Це в�е, що вам �правді потрібно знати. Сміливо починайте додавати �вої " "вла�ні проєкти та завданн�.\n" "Ви можете повернути�� до цього проєкту пізніше, щоб вивчити розширені " "функції, вказані нижче.\n" "Сподіваємо��, що вам �подобаєть�� кори�тувати�� Planify!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "В�тановіть налаштуванн�" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Відобразіть події календар�" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "Ви можете відображати події календар� вашої �и�теми в Planify. Перейдіть до " "«�алаштуванн�» 🡒 Загальні 🡒 Події календар�, щоб увімкнути цю функцію." #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "Увімкнути �инхронізацію зі �тороннім �ерві�ом" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "Planify не лише �творює завданн� локально, але й може �инхронізуватм�� з " "вашим обліковим запи�ом Todoist. Перейдіть до розділу «�алаштуванн�» 🡒 " "«Облікові запи�и»." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "Підвищте �вою продуктивні�ть" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "Перет�гніть кнопку з плю�ом!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "Син� кнопка, �ку ви бачите внизу кожного екрана, потужніша, ніж здаєть��: " "вона �творена дл� руху! Перет�гніть її вгору, щоб �творити завданн�, де " "завгодно." #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "Додайте мітки до �воїх завдань!" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "Мітки допомагають вам упор�дковувати та категоризувати ваші завданн�. Щоб " "додати мітку, нати�ніть кнопку мітки внизу." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "В�тановлюйте �воєча�ні нагадуванн�!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" "Отримуйте �повіщенн� про важливі завданн� або події. �ати�ніть кнопку " "годинника нижче, щоб додати нагадуванн�." #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼� Робота" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒� �авчанн�" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉� Делеговано" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "�� Дім" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀�� Від�тежити" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Завданн� дублювано" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Розділ дублювано" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Проєкт дублювано" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "У належний ча�" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "За 10 хвилин до" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "За 30 хвилин до" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "За 45 хвилин до" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "За 1 годину до" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "За 2 години до" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "За 3 години до" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "%A, %B %e, %Y" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%OB" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "�азад" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "Попередній мі��ць" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "Вперед" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "�а�тупного мі��ц�" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "Попередній мі��ць, %s" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "%B %Y" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "�а�тупного мі��ц�, %s" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Виберіть дату" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "�д" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "Пн" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "Вт" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "Ср" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "Чт" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "Пт" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "Сб" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Ча�" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "до" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "до" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "раз(ів)" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "раз" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Повторювати" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "Вкажіть дату…" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "�а�тупний тиждень" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "Зберегти" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Щоденно" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "Будні дні" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "Вихідні" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Щотижнево" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Щомі��ц�" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Щорічно" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "Вла�не" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "Без дати" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "Хвилин" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "Година" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "День" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "Тижні" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "Мі��ць" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "Рік" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "�іколи" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "�а дату" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "Пі�л�" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "За�то�увати" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "Повторювати кожний" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "В кінці" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "Дата" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "Дата, коли ви плануєте працювати над цим завданн�м" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "Видалити дату" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "Коли ви готові вз�ти�ь за це?" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "В�тановити термін" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "О�танній термін виконанн� завданн�" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "Який о�танній термін виконанн� цього завданн�?" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "Кінцевий термін" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "Вибрати мітки" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "Мітку не знайдено: Створити '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" "Тут відобразить�� ваш �пи�ок фільтрів. Створіть його, ввівши назву та " "нати�нувши клавішу Enter." # c-format #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "Створити «%s»" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "Тут відобразить�� ваш �пи�ок фільтрів." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "Пошук" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "Створити чи знайти" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "Приховати невикори�тані мітки" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "Без міток" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "У�і приховані" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "В�і мітки приховані фільтром. Вимкніть фільтр, щоб їх побачити." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "�ати�ніть Enter, щоб �творити та призначити його" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "Видалити по�иланн�" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "Пріоритет 4: �емає" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "Пріоритет 1: Ви�окий" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "Пріоритет 2: Середній" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "Пріоритет 3: �изький" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "Пріоритет 2: Середній" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "Пріоритет 1: �изький" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "Ваш �пи�ок розділів відображатиметь�� тут." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "Без розділу" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "Введіть пошуковий запит" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "�агадуванн�" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" "Тут відображатиметь�� ваш �пи�ок нагадувань. Додайте його, нати�нувши кнопку " "«+»." #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "Додати нагадуванн�" # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "Через 5 хвилин" # c-format #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "Через 15 хвилин" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "Через 30 хвилин" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "Через 1 годину" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "Через 3 години" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "Через 6 годин" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "В�тановити розділ" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "Вибрати розділ" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "В�тановити �тату�" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "Стату�" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "Завданн�" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "Завершити" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "Planify автоматично запу�катиметь��, коли цей при�трій увімкнеть��, і " "працюватиме, коли його вікно буде закрито, щоб над�илати �повіщенн� про " "�прави." #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "Синхронізаці� календар�" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" "�втоматично перетворюйте �вої завданн� на події календар�. Будь-�ке завданн� " "з датою відображатиметь�� у вашому календарі, що полегшить плануванн� дн�." #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" "Вимога: Вам потрібен обліковий запи� календар�, налаштований у Календарі " "GNOME (Google, Nextcloud тощо)" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" "Отримуйте мобільні �повіщенн� про �вої завданн� через Календар Google, " "Outlook або будь-�кий інший додаток календар�" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" "Ваші завданн� �инхронізують�� в�юди: на телефоні, планшеті, у веббраузері та " "на будь-�кому при�трої з вашим календарем" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "Виберіть календар" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "Виберіть календар зі �пи�ку" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "Увімкнути �инхронізацію" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "Синхронізацію календар� у�пішно вимкнено" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "Синхронізаці� календар� активна" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" "Ваші завданн� наразі �инхронізовано з вашим календарем. Будь-�ке завданн� з " "датою автоматично відображаєть�� �к поді� календар�." #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "Вимкнути �инхронізацію" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "Синхронізовано з: %s" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "Синхронізацію ввімкнено!" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" "Ваші завданн� тепер �инхронізовано з вашим календарем. Будь-�ке завданн� з " "датою автоматично відображатиметь�� �к поді� календар�." #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "ОК" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "Виконані завданн�" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "Перегл�нути меню фільтрів" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "Поки що немає виконаних завдань." #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "Видалити в�і виконані завданн�" # # c-format #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" "Буде видалено %d завершене завданн� та його підзавданн� з проєкту %s" msgstr[1] "" "Буде видалено %d завершених завдань та їхні підзавданн� з проєкту %s" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "Фільтр" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "�а�тупного тижн�" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "Без дати" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Готово" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "І�торі� змін" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "Додано" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "�едо�тупно" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "Оновлено" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" "І�торі� ваших змін відображатиметь�� тут, щойно ви почнете вно�ити зміни." # # c-format #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "Завантажити і�торію %d-тижневої давно�ті…" msgstr[1] "Завантажити і�торію %d-тижневої давно�ті…" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "�ова мітка" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "Редагувати мітку" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "�адайте назву дл� мітки" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "Додати мітку" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "Оновити мітку" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "Фільтр" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "�рхівні проєкти" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "Керуванн� розділами" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "Ви можете �ортувати розділи, перет�гуючи їх" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "�рхівовано" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(Без розділу)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "Облікові запи�и" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "Додати джерело" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "Вхідні" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "Ви можете �ортувати �вої облікові запи�и, перет�гуючи їх" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "Planify �инхронізує ваші завданн�, це може тривати кілька хвилин" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "SSL-перевірку вимкнено" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "Термін дії автентифікації минув" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "Потрібна міграці� облікового запи�у" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "Знову підключити��" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "�еможливо приховати цей обліковий запи�" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "Цей обліковий запи� мі�тить ваш поточний проєкт Inbox. Спочатку змініть �вій " "проєкт Inbox." #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "Змінити папку \"Вхідні\"" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "Синхронізаці�…" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "Підключити�� до CalDAV" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" "Підключіть�� до будь-�кого �ервера, �умі�ного з CalDAV, дл� �инхронізації " "завдань" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "URL-адре�а �ервера" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "Ім'� кори�тувача" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "Пароль" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "URL-адре�а головної �торінки Календар�" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "Розширені" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "Показати розширені параметри" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "Приховати розширені параметри" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "Увійти" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "Проєкт дл� вхідних" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" "Ваша папка «Вхідні» – це мі�це, куди нові завданн� потрапл�ють за " "замовчуванн�м. Згідно з методологією «GTD» Девіда �ллена, це ваша точка " "збору швидких ідей та завдань, �кі ви пізніше організуєте" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "Підключити�� до Nextcloud" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" "Увійдіть у �вій обліковий запи� Nextcloud, щоб �инхронізувати завданн� через " "CalDAV" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "https://cloud.example.com" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "https://example.com/nextcloud" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "Приклади URL-адре�" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "Джерело" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "Відображуване ім'�" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "Сервер �инхронізації" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" "�ктивуйте цей параметр, щоб Planify автоматично �инхронізував�� з вашим " "обліковим запи�ом кожні 15 хвилин" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "О�танн� �инхронізаці�" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "Видалити джерело" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "Видалити джерело?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "�еможливо видалити це джерело" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "Це джерело мі�тить ваш поточний проект Вхідні. Спочатку змініть �вій проект " "Вхідні." #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "Підключити�� до Todoist" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "Увійдіть у �вій обліковий запи� Todoist, щоб �инхронізувати завданн�" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "Увійти за допомогою браузера" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "Викори�тати токен API замі�ть цього" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "Токен API" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "Підключіть�� за допомогою вашого о�оби�того токена API Todoist" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "В�тавте �вій токен API" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "Підключити��" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "1. Перейдіть до Todoist → �алаштуванн� → Інтеграції → Розробник" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "2. Скопіюйте �вій токен API" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "3. В�тавте його в поле вище" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "Як отримати �вій токен" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "Очікуванн� входу…" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "Синхронізаці�…" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "Вигл�д" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "Викори�товувати налаштуванн� �и�теми" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "Вибрати тему" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "Світлий �тиль" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "Легка �вітла тема" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "Темний �тиль" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "Елегантна темна тема" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "Темно-�иній �тиль" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "Профе�ійна �ин� тема" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" "Кори�тувацькі теми недо�тупні під ча� викори�танн� �вітлої теми �и�теми" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "Розмір шрифту" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "Резервні копії" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" "�іколи не хвилюйте�� про втрату даних. Ви можете �творювати резервні копії " "активних проєктів, завдань і коментарів та імпортувати їх пізніше." #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "Створити резервну копію" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "Імпортувати резервну копію" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "Файли резервних копій" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "Резервні копії не знайдено, �творіть їх, нати�нувши кнопку вище." #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "Резервні копії файлів зберігають�� у: %s" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "Перене�ти" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "Перене�ти з Planner" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "Резервну копію у�пішно �творено." #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "Завданн� у�пішно перене�ено" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "Файл бази даних не і�нує." #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "Вибраний файл недій�ний" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "Перегл�нути резервну копію" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "Завантажити" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "Огл�д імпорту" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "Джерела" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "Завданн�" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "Підтвердити" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "Відновити резервну копію" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" "Ви впевнені, що хочете продовжити? Ц� операці� видалить ваші поточні дані та " "замінить їх резервними даними." #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "Відновити резервну копію" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "Пожертвувати" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "Підтримка розвитку Planify" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" "Допоможіть зберегти Planify безкоштовним та з відкритим вихідним кодом! Ваші " "пожертви безпо�ередньо підтримують розробку, нові функції та підтримку. " "Кожен вне�ок, незалежно від розміру, має значенн�." #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "Щомі��чна періодична підтримка" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "Одноразова пожертва" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "Щотижневі регул�рні пожертви" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "Купи мені кави ☕" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "Оберіть бажану платформу" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "Д�кую за вашу підтримку! �" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "Ваш вне�ок допомагає Planify жити та розвивати��." #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "Загальні" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "Вручну" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "�лфавітом" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "Сортувати за" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "За зро�танн�м" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "За �паданн�м" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "Упор�дковано" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "Інтеграці� з робочим �ередовищем" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "Запу�кати при вході" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "�втоматично запу�кати Planify під ча� увімкненн� комп'ютера" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "Працювати у фоновому режимі" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "Залишати Planify запущеним у �и�темному треї пі�л� закритт� вікна" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "Події календар�" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "Пошук в оболонці GNOME" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" "Пошук завдань та проектів безпо�ередньо з оболонки GNOME. Увімкніть цю " "функцію в розділі «�алаштуванн� → Пошук»" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "Дата та ча�" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24-годинний" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12-годинний" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "Формат годинника" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "�еділ�" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "Понеділок" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "Вівторок" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "Середа" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "Четвер" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "П'�тниц�" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "Субота" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "Початок тижн�" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "Розумне розпізнаванн� дати" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "�втоматично визначати дати, такі �к «завтра» або «на�тупного тижн�»" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "Домашн� �торінка" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "Швидке додаванн�" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" "Викори�товуйте функцію швидкого додаванн�, щоб �творювати завданн� з будь-" "�кого мі�ц� на робочому �толі лише кількома нати�канн�ми клавіш. Вам навіть " "не потрібно виходити з програми, в �кій ви зараз перебуваєте." #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" "Перейдіть до Си�темних налаштувань → Клавіатура → Скороченн� → �алаштуванн�, " "а потім додайте нове �короченн� з на�тупним:" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "�алаштуванн�" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "Зберігати о�танній вибраний проєкт" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "Якщо позначку не зн�то, проєктом за замовчуванн�м буде «Вхідні»" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "Зберігати вла�тиво�ті завданн�" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" "Коли ввімкнено опцію «Продовжити додаванн�», зберігати дату, мітки та " "закріплений �тату�" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "Команду �копійовано в буфер обміну" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "Бічна панель" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "Показати на бічній панелі" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "Показувати кількі�ть завдань" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "Ширина бічної панелі" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "Перегл�д фільтрів �пи�ком" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "Відображати фільтри у вигл�ді про�того �пи�ку замі�ть �ітки" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "Ви можете �ортувати поданн� перет�гуванн�м" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "�алаштуванн� завданн�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "Завершувати миттєво" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "Завершувати з функцією �ка�уванн�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "Виконанн� завданн�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" "Виберіть, �к завданн� будуть поводити��, коли їх буде позначено �к виконані" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "Пріоритет 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "Пріоритет 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "Пріоритет 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "Пріоритет за замовчуванн�м" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "Викре�лювати виконані завданн�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "�а початку" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "Розміщенн� нового завданн�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "Завжди показувати виконані підзавданн�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "Зберігайте в�і виконані підзавданн� видимими, не згортаючи їх" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "Сигнал завершенн� завданн�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "Відтворювати звук пі�л� виконанн� завдань" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "Відкривати завданн� на бічній панелі" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" "Завжди відображати деталі завданн� на бічній панелі, а не розгортати їх у " "�пи�ку." #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "Режим фоку�уванн� на одному завданні" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "Дозволити розгортанн� лише одного завданн� одноча�но у �пи�ку" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "Увімкнути форматуванн� Markdown" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "Увімкненн� або вимкненн� підтримки Markdown дл� завдань" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "Завжди показувати бічну панель з детал�ми" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" "Завжди тримати панель деталей видимою дл� швидшої навігації між завданн�ми, " "уникаючи необхідно�ті по�тійно відкривати та закривати панель" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "Увімкнути перевірку орфографії" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "Перевірка орфографії в опи�ах завдань та примітках" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "Увімкнено" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "�втоматичні нагадуванн�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" "Якщо цю функцію ввімкнено, нагадуванн� перед терміном виконанн� завданн� " "буде додано за замовчуванн�м." #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "�алаштуванн�" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "Синхронізуйте �вої улюблені планувальники завдань" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "�алаштувати вигл�д, що відображаєть�� під ча� першого запу�ку" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "�алаштуйте під �вої вподобанн�" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "�алаштуйте бічну панель" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "Додавайте завданн� з будь-�кого мі�ц�" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "Створіть резервну копію або мігруйте з Planner." #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "Створити навчальний проєкт" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" "Вивчіть додаток крок за кроком за допомогою короткого навчального проєкту" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "Хочеш приго�тити мене випивкою?" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "Повідомити про проблему або запро�ити функцію" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "Діліть�� помилками або іде�ми на GitHub" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "Долучити��" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "Зв'�жіть�� з нами" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "Зв'�жіть�� з нами" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "Запро�іть функцію або запитайте на� про що завгодно" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "�апишіть нам у Twitter" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "Поділіть�� любов'ю" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "Discord" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "Обговоріть та поділіть�� �воїми відгуками" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodon" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "Конфіденційні�ть" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "Політика конфіденційно�ті" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "У на� немає нічого на ва�" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "Видалити дані програми" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "Створено навчальний проєкт" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "Видалити в�і дані?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "Безповоротно видал�є в�і ваші �пи�ки, завданн� та нагадуванн�" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "Під�умок та продуктивні�ть" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "В�тановіть цілі" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "Визначте, �кільки завдань ви хочете виконувати на день і на тиждень" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "Зведені деталі" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "Детальний опи� з'�вить�� тут" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "Змі�т" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "Деталі продуктивно�ті" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "Детальна �тати�тика продуктивно�ті з'�вить�� тут" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "Продуктивні�ть" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "Дивити�� більше" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "В�іх цілей до��гнуто! Ви непереможні" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "Щоденна мета до��гнута! Продовжуйте в тому ж темпі" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "Тижнева ціль до��гнута! �а�олоджуйте�ь рештою тижн�" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "Почніть �вій день, перше завданн� чекає на ва�" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "Майже готово! Сьогодні залишило�� лише кілька завдань" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "Чудовий темп цього тижн�, ви майже до��гли �воєї цілі" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "�а півдорозі до вашої щоденної цілі, гарний прогре�" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "Поки що непоганий тиждень, продовжуйте в тому ж ду�і" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "Кожне виконане завданн� – це крок вперед" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" "В�тановіть �вої щоденні та щотижневі цілі, щоб почати від�тежувати �вою " "продуктивні�ть" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "Цього тижн�" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "Цього мі��ц�" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "Щоденна ціль" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "Тижнева ціль" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "Редагувати цілі" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "В�ього" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "Очікує на розгл�д" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "Про�трочено" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "Прогре�" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "�овий проєкт" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "Редагувати проєкт" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "�адайте назву �воєму проєкту" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "Викори�товувати емодзі" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "Додати проєкт" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "Оновити проєкт" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "Стандартно" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "Вимкнено" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "Форматуванн� Markdown" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "Перевизначити глобальне налаштуванн� дл� цього проєкту" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "Проєкт у�пішно додано!" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "Перене�ти" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "Швидкий пошук" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" "Швидко перемикайте�ь між проєктами та перегл�дами, шукайте завданн�, шукайте " "за мітками" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "�овий розділ" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "Редагувати розділ" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "�азва розділу" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "Додати розділ" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "Оновити розділ" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "Розділ додано" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "Відкрити/Закрити бічну панель" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "Відкріпити" # # c-format #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "Завершено. �а�тупний повтор: %s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "Додати підзавданн�" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "Редагувати" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "Дублювати" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "Видалити завданн�" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "Пор�док змінено на «Вла�ний пор�док �ортуванн�»" # # c-format #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s було видалено" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "Ска�увати" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "Додати підзавданн�" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "Приховати підзавданн�" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "Показати підзавданн�" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "Викори�тати �к нотатку" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "Копіювати в буфер обміну" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "Додати вкладенн�" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "Закрити деталі" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "�азва" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "Вла�тиво�ті" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "Ви впевнені, що хочете видалити?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "Видалити мітку" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "Сортуванн� проєктів змінено на �ортуванн� «Вручну»" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "Видалити з обраного" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "Додати до обраного" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "Обновить" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "Видалити проєкт" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "Поділити��" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "�аді�лати електронною поштою" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "Ек�портувати �к PDF" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "Проект ек�портовано у форматі PDF" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "Додати завданн�" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "Завантажити більше" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "Виконані завданн�" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "Перемі�тити розділ" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "Керуванн� пор�дком розділів" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "Показати виконані завданн�" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "Видалити розділ" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "Обране" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "В обраному нічого немає. Створіть, нати�нувши кнопку «+»" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "Додати обліковий запи�" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "�алаштувати бічну панель" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "Перейти до Сьогодні" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "Перейти до запланованих" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "Перейти до міток" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "Перейти до закріпленого" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "�емає жодного проєкту. Створіть новий, нати�нувши кнопку «+»" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "Потрібна міграці� облікового запи�у" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "Головне меню" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "Відкрити Швидкий пошук" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "Про Planify" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "Ой! Що�ь трапило��" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "Завданн� виконано" #: src/MainWindow.vala:825 msgid "View" msgstr "Перегл�нути" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "Перевірка цілі�но�ті бази даних не вдала��" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" "Ми ви�вили проблеми зі �труктурою бази даних, �кі можуть перешкоджати " "належній роботі програми. Це може бути пов'�зано з від�утніми таблиц�ми або " "�товпц�ми, ймовірно, через пошкодженн� або неповне оновленн�.\n" "\n" "База даних буде �кинута дл� відновленн� нормальної функціонально�ті, а в�і " "і�нуючі дані будуть видалені.\n" "\n" "Пі�л� �киданн� ви зможете відновити будь-�ку резервну копію, �ку �творили " "раніше. Д�куємо за ваше терпінн�" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "Скинути базу даних" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "Видалити резервну копію" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "Резервну копію у�пішно імпортовано" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "Planify перезавантажить��, щоб за�то�увати зміни" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "Перезавантажити зараз" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "Плануванн� резервних копій файлів" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "Відкла�ти на 10 хвилин" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "Відкла�ти на 30 хвилин" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "Відкла�ти на 1 годину" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "Показати меню параметрів" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "Додати завданн�" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "�ати�ніть «a», щоб �творити нове завданн�" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "В�і завданн� виконано!" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "Чудова робота, більше нічого не залишило�� робити 🎉" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "завданн�" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "Видалити виконане завданн�" msgstr[1] "Видалити виконані завданн�" # # c-format #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "Будуть видалені %d завершене завданн� та його підзавданн�" msgstr[1] "Будуть видалені %d завершених завданнь та їх підзавданн�" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "�емає до�тупних міток. Створіть їх, нати�нувши кнопку «+»" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "У�і мітки приховані фільтром" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "Тільки активні проєкти" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" "Показувати лише мітки, що викори�товують�� завданн�ми в активних " "(неархівованих) проєктах" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "Примітка" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "Запланувати" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "Коли?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "Додати завданн�. �ати�ніть «a», щоб �творити нове завданн�" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "Дії з проєктом" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "�ове завданн�" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "Кінцевий термін проєкту" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "Вибрати" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "В�тавити" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "Розгорнуте в�е" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "�ове" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "Згорнути в�е" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "Спи�ок" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "Дошка" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "Сортуванн�" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "Вручну" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "Датою додаванн�" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "За зро�танн�м" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "Дата виконанн�" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "В�і (за замовчуванн�м)" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "�а�тупні 7 днів" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "�а�тупні 30 днів" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "П1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "П2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "П3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "П4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "Фільтрувати за мітками" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "Показати виконані" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "Відображати виконані завданн� у �пи�ку" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "Пошук виконаних завдань" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "Сортувати за" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "Перене�ти" #: src/Views/Today.vala:761 msgid "Me" msgstr "Я" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "Вкладенн�" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "Відкрити" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "Вкладень не знайдено. Додайте файли �юди." #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "Обхід визначенн� мі�цезнаходженн�" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" "Тимча�ове вирішенн� проблем з підключенн�м CalDAV дл� з’єднань, що " "викори�товують порти, відмінні від портів за замовчуванн�м" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "Попередженн�" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" "Це вимкне проце� пошуку CalDAV.\n" "Продовжуйте на �вій �трах і ризик" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "Продовжити в�е одно" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "Підзавданн�" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "Показати більше" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "Показати менше" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "Копіювати повідомленн� про помилку" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "Дл� отриманн� додаткової інформації поділіть�� �воїм файлом журналу: %s" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "Повідомити про проблему" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "Потрібна міграці� облікового запи�у." #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "Через %d хвилину" msgstr[1] "Через %d хвилин" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "Через %d годину" msgstr[1] "Через %d годин" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "Відбуваєть�� зараз" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "Розташуванн�" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "Організатор" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "URL" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Календар" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "Приєднати��" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "Вимкнути перевірку SSL-�ертифіката" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "�е рекомендуєть�� – наражає ва� на ризики безпеки" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" "Це вимкне перевірку SSL та нада�ть вам ризик атак.\n" "Продовжуйте на �вій �трах і ризик" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "Завданн� невиконане" # c-format #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "Завданн� перене�ено до проєкту %s" # c-format #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "Завданн� переміщено до %s" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "Попередній" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "Закріпити: активный" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "Закріпити: неактивний" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "Завершено" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "Перемі�тити до проєкту" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "Позначити �к завершене" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "%d завданн� �копійовано" msgstr[1] "%d завдань �копійовано" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "Видалити завданн�" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "Ви впевнені, що хочете видалити це завданн�?" # # c-format #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "Видалити %d завданн�" msgstr[1] "Видалити %d завдань" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "Ви впевнені, що хочете видалити це %d завданн�?" msgstr[1] "Ви впевнені, що хочете видалити ці %d завданнь?" # c-format #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "Завданн� перемещіно в %s" msgstr[1] "%d завдань перемещіно в %s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "�ова вер�і� до�тупна!" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" "Оновіть зараз, щоб на�олоджувати�� о�танніми покращенн�ми, виправленн�ми " "помилок та новими функці�ми, �кі робл�ть Planify ще кращим" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "Оновити зараз" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "Відхилити" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "Розархівувати" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "Підзавдань ще не додано. Почніть зараз!" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "�е вдало�� підключити�� до �ервера" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" "Схоже, що �ервер недо�тупний\n" "ви підключені до Інтернету?\n" "Будь-�кі зміни, вне�ені під ча� відключенн�\n" "будуть �инхронізовані пі�л� повторного підключенн�." #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "%s виконано на %.0f%%. Ви можете допомогти завершити його!" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "Переклади" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "Допоможіть зробити Planify до�тупним у в�ьому �віті" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "Допоможіть покращити переклади" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "Почати новий переклад" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "%s ще недо�тупний. Будьте першим, хто його перекладе!" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "Planify — Швидко додати" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "Викори�товуєть�� будь-де" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "Створити нове завданн�" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "В�тавити звичайний тек�т, щоб �творити нове завданн�" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "Створити новий проєкт" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "Створити новий розділ в проєкті" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "Пошук" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "Відкрити швидкий пошук" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "Керуванн� вікнами" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "Вийти" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Відкрити налаштуванн�" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "Перемиканн� бічної панелі" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "Відкрити клавіатурні �короченн�" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "�авігаці�" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "Відкрити домашню �торінку" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "Відкрити «Вхідні»" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "Відкрити «Сьогодні»" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "Відкрити «Заплановані»" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "Відкрити «Мітки»" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "Відкрити «Закріплені»" #~ msgid "Advanced Options" #~ msgstr "Розширені параметри" #~ msgid "Server URL examples:" #~ msgstr "Приклади URL-адре� �ервера:" #~ msgid "- https://cloud.example.com/" #~ msgstr "- https://cloud.example.com/" #~ msgid "- https://example.com/nextcloud/" #~ msgstr "- https://example.com/nextcloud/" #~ msgid "Token" #~ msgstr "Токен" #~ msgid "How to get your token?" #~ msgstr "Як отримати �вій токен?" #~ msgid "2. Find 'API token' and copy your token" #~ msgstr "2. Знайдіть «API token» та �копіюйте �вій токен" #~ msgid "Connect with Token" #~ msgstr "Підключити з токеном" #~ msgid "" #~ "Planify is being developed with love and passion for open source. " #~ "However, if you like Planify and want to support its development, please " #~ "consider supporting us." #~ msgstr "" #~ "Planify розробл�єть�� з любов'ю та при�тра�тю до відкритого коду. Однак, " #~ "�кщо вам подобаєть�� Planify і ви хочете підтримати його розвиток, будь " #~ "ла�ка, підтримати на�." #~ msgid "Donate Now" #~ msgstr "Пожертвувати зараз" #~ msgid "Enter token" #~ msgstr "Введіть токен" #~ msgid "Please Enter Your Credentials" #~ msgstr "Будь ла�ка, введіть �вої облікові дані" #~ msgid "Loading…" #~ msgstr "Завантаженн�…" #~ msgid "Network Is Not Available" #~ msgstr "Мережа недо�тупна" #~ msgid "Set a Due Date" #~ msgstr "В�тановити термін виконанн�" #~ msgid "Set a Deadline" #~ msgstr "В�тановити термін" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "" #~ "Дозвольте Planify працювати у фоновому режимі та над�илати �повіщенн�" #~ msgid "Whether Planify should run on startup" #~ msgstr "Чи має Planify запу�кати�� під ча� запу�ку �и�теми" #~ msgid "Clear" #~ msgstr "Очи�тити" #~ msgid "Menu" #~ msgstr "Меню" #~ msgid "Add Time" #~ msgstr "Додати ча�" #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "Отримуйте �повіщенн� про важливі завданн� або події. �ати�ніть кнопку " #~ "дзвіночка нижче, щоб додати нагадуванн�." #, c-format #~ msgid "Processing task %d of %d" #~ msgstr "Обробка завданн� %d з %d" #~ msgid "Planify is syncing your tasks, this may take a few minutes" #~ msgstr "Planify �инхронізує ваші завданн�, це може тривати кілька хвилин" #~ msgid "Todoist Sync" #~ msgstr "Синхронізаці� з Todoist" #~ msgid "Loading" #~ msgstr "Завантажуєть��" #~ msgid "Planner is sync your tasks, this may take a few minutes" #~ msgstr "" #~ "Планувальник �инхронізує ваші завданн�, це може тривати кілька хвилин" #~ msgid "Please enter your credentials" #~ msgstr "Будь ла�ка, введіть �вої облікові дані" # c-format #, c-format #~ msgid "Every %d minutes" #~ msgstr "Кожні %d хвилин" # c-format #, c-format #~ msgid "Every %d hours" #~ msgstr "Кожні %d годин" # # c-format #, c-format #~ msgid "Every %d days" #~ msgstr "Кожні %d днів" # # c-format #, c-format #~ msgid "Every %d weeks" #~ msgstr "Кожні %d тижнів" # # c-format #, c-format #~ msgid "Every %d months" #~ msgstr "Кожні %d мі��ців" # # c-format #, c-format #~ msgid "Every %d years" #~ msgstr "Кожні %d років" # # c-format #, c-format #~ msgid "" #~ "This will delete %d completed tasks and their subtasks from project %s" #~ msgstr "" #~ "Бууде видалено %d завершених завдань та їхні підзавданн� з проєкиу %s" # # c-format #, c-format #~ msgid "Load more history from %d weeks ago…" #~ msgstr "Завантажити і�торію %d-тижневої давно�ті…" #~ msgid "Delete Completed Tasks" #~ msgstr "Видалити в�і виконані завданн�" # # c-format #, c-format #~ msgid "This will delete %d completed tasks and their subtasks" #~ msgstr "Будуть видалені завершені завданн� (%d) та їх підзавданн�" #, c-format #~ msgid "In %d minutes" #~ msgstr "Через %d хвилин" #, c-format #~ msgid "In %d hours" #~ msgstr "Через %d годин" # # c-format #, c-format #~ msgid "Delete %d To-Dos" #~ msgstr "Видалити завданн� (%d)" # # c-format #, c-format #~ msgid "Are you sure you want to delete these %d to-dos?" #~ msgstr "Ви впевнені, що хочете видалити ці завданн� (%d)?" #~ msgid "Backup" #~ msgstr "Резервні копії" #~ msgid "Task Setting" #~ msgstr "�алаштуванн� завдань" #~ msgid "Personal Data" #~ msgstr "Пер�ональні дані" #~ msgid "" #~ "We collect absolutely nothing and all your data is stored in a database " #~ "on your computer." #~ msgstr "" #~ "Ми аб�олютно нічого не збираємо, і в�і ваші дані зберігають�� в базі " #~ "даних на вашому комп'ютері." #~ msgid "" #~ "If you choose to integrate Todoist, which is optional and not selected by " #~ "default, your data will be stored on their private servers, we only " #~ "display your configured tasks and manage them for you." #~ msgstr "" #~ "Якщо ви вирішите інтегрувати Todoist, що є необов’�зковим і не вибрано за " #~ "замовчуванн�м, ваші дані зберігатимуть�� на їхніх приватних �ерверах, ми " #~ "лише відображаємо налаштовані вами завданн� та керуємо ними дл� ва�." #~ msgid "Do you have any questions?" #~ msgstr "У ва� є питанн�?" #~ msgid "" #~ "If you have any questions about your data or any other issue, please " #~ "contact us. We will be happy to answer you." #~ msgstr "" #~ "Якщо у ва� є будь-�кі питанн� щодо ваших даних або будь-�ка інша " #~ "проблема, будь ла�ка, зв’�жіть�� з нами. Ми будемо раді вам відпові�ти." #~ msgid "Supporting Us" #~ msgstr "Підтримати на�" #~ msgid "" #~ "Our mission is to provide the best open source task management " #~ "application for users all over the world. Your donations support this " #~ "work. Want to donate today?" #~ msgstr "" #~ "�аша мі�і� — забезпечити найкращий додаток дл� керуванн� завданн�ми з " #~ "відкритим кодом дл� кори�тувачів у в�ьому �віті. Ваші пожертви " #~ "підтримують цю роботу. Хочете зробити пожертву �ьогодні?" #~ msgid "Support Planify" #~ msgstr "Підтримайте Planify" #, fuzzy #~ msgid "Clear Schedule" #~ msgstr "Запланувати" #~ msgid "Process completed, you need to start Planify again" #~ msgstr "Проце� завершено, вам потрібно знову запу�тити Planify" #, fuzzy #~ msgid "Task Detail" #~ msgstr "Деталі завданн�" #~ msgid "Create a new to-do" #~ msgstr "Створіть нове завданн�" #~ msgid "Tag your to-dos!" #~ msgstr "Додайте мітки до �воїх завдань!" #~ msgid "What’s new in Planify" #~ msgstr "Що нового в Planify" #~ msgid "Inbox as Independent Project" #~ msgstr "Вхідні �к незалежний проект" #~ msgid "" #~ "The Inbox is the default place to add new tasks, allowing you to quickly " #~ "get your ideas out of your head and then plan them when you’re ready." #~ msgstr "" #~ "«Вхідні» – це мі�це за замовчуванн�м дл� додаванн� нових завдань, що " #~ "дозвол�є швидко викинути з голови �вої ідеї та �планувати їх, коли ви " #~ "будете готові." #~ msgid "Enhanced Task Duplication" #~ msgstr "Розширене дублюванн� завдань" #~ msgid "" #~ "When you duplicate a task now, all subtasks and labels are automatically " #~ "duplicated, saving you time and effort in managing your projects." #~ msgstr "" #~ "Тепер коли ви дублюєте завданн�, у�і підзавданн� та мітки автоматично " #~ "дублюють��, що заощаджує ваш ча� і зу�илл� на керуванн� вашими проектами." #~ msgid "Duplication of Sections and Projects" #~ msgstr "Дублюванн� розділів та проектів" #~ msgid "" #~ "You can now easily duplicate entire sections and projects, making it " #~ "easier to create new projects based on existing structures." #~ msgstr "" #~ "Тепер ви можете легко дублювати цілі розділи та проекти, що �прощує " #~ "�творенн� нових проектів на о�нові і�нуючих �труктур." #~ msgid "Project Expiry Date" #~ msgstr "Дата закінченн� терміну дії проекту" #~ msgid "" #~ "Your project’s expiry date now clearly shows the remaining days, helping " #~ "you keep track of your deadlines more effectively." #~ msgstr "" #~ "Термін дії вашого проєкту тепер чітко показує кількі�ть днів, що " #~ "допомагає вам ефективніше від�тежувати терміни." #~ msgid "Archiving of Projects and Sections" #~ msgstr "�рхівуванн� проектів та розділів" #~ msgid "" #~ "You can now archive entire projects and sections! This feature helps you " #~ "keep your workspace organized and clutter-free." #~ msgstr "" #~ "Тепер ви можете архівувати цілі проекти та розділи! Ц� функці� допоможе " #~ "вам підтримувати пор�док у робочому про�торі." #~ msgid "What's New" #~ msgstr "Що нового" #~ msgid "Are you sure you want to reset all? (y/n): " #~ msgstr "Ви впевнені, що хочете �кинути в�е? (т/н): " #~ msgid "y" #~ msgstr "т" #~ msgid "yes" #~ msgstr "так" #~ msgid "Couldn't find an app to handle file URIs" #~ msgstr "�е вдало�� знайти програму дл� обробки URI файлів" #, fuzzy #~ msgid "Planify" #~ msgstr "Знайомте�ь, Planify" #~ msgid "" #~ "Up to 3 tasks can be pinned and they will appear at the top of the " #~ "project page" #~ msgstr "" #~ "Можна закріпити до 3 завдань, і вони відображатимуть�� у верхній ча�тині " #~ "�торінки проекту" #~ msgid "No Provider Available" #~ msgstr "�емає до�тупних по�тачальників" #~ msgid "Go to Inbox" #~ msgstr "Перейти до Вхідних" #~ msgid "Order by" #~ msgstr "Сортувати за" #~ msgid "Integrations" #~ msgstr "Інтеграції" #~ msgid "Wait 2500 Milliseconds" #~ msgstr "Чекати 2500 мілі�екунд" #~ msgid "Complete Task" #~ msgstr "Завершити завданн�" #~ msgid "" #~ "Complete your to-do instantly or wait 2500 milliseconds with the undo " #~ "option" #~ msgstr "" #~ "Завершити завданн� миттєво або чекати 2500 мілі�екунд з можливі�тю " #~ "�ка�уванн�" #~ msgid "Top" #~ msgstr "Зверху" #~ msgid "Bottom" #~ msgstr "Знизу" #~ msgid "Create More" #~ msgstr "Створити ще" #~ msgid "App Theme" #~ msgstr "Тема програми" # c-format #, fuzzy, c-format #~ msgid "Task moved to: %s" #~ msgstr "Завданн� перене�ено до: %s" #~ msgid "Telegram" #~ msgstr "Телеграм" #~ msgid "Matrix Room" #~ msgstr "Кімната в Matrix" #~ msgid "Attention at One" #~ msgstr "Увага на одному" #~ msgid "Add To-Do" #~ msgstr "Додати завданн�" #~ msgid "Nextcloud Setup" #~ msgstr "�алаштуванн� Nextcloud" #~ msgid "Offline Mode Is On" #~ msgstr "�втономний режим увімкнено" #~ msgid "" #~ "Looks like you'are not connected to the\n" #~ "internet. Changes you make in offline\n" #~ "mode will be synced when you reconnect" #~ msgstr "" #~ "Схоже, ви не підключені до мережі Інтернет.\n" #~ "Зміни, вне�ені в офлайн-режимі\n" #~ "будуть �инхронізовано пі�л� повторного підключенн�" #~ msgid "Provider" #~ msgstr "По�тачальник" alainm23-planify-69962f8/po/ur.po000066400000000000000000002510631517337276100165060ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:59+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Urdu \n" "Language: ur\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/uz.po000066400000000000000000002510641517337276100165170ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 10:06+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Uzbek \n" "Language: uz\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/po/vi.po000066400000000000000000003413731517337276100165020ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2026-02-14 12:09+0000\n" "Last-Translator: Loc Huynh \n" "Language-Team: Vietnamese \n" "Language: vi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.16-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "Dự �n" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "Phần" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "Nhiệm Vụ" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "Nhãn" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "Bộ L�c" #: core/Enum.vala:186 msgid "Lists" msgstr "Danh Sách" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "Không Lặp Lại" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "Mỗi %d phút" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "Mỗi %d gi�" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "Mỗi %d ngày" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "Mỗi %d tuần" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "Mỗi %d tháng" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "Mỗi %d năm" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "Ưu Tiên" #: core/Enum.vala:348 msgid "Label" msgstr "Nhãn" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "Ngày �ến Hạn" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "Phần" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "Phân công" #: core/Enum.vala:469 msgid "Task Created" msgstr "Nhiệm Vụ �ã Tạo" #: core/Enum.vala:472 msgid "Task Updated" msgstr "Nhiệm Vụ �ã Cập Nhật" #: core/Enum.vala:528 msgid "Content" msgstr "Nội Dung" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "Mô Tả" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "�ã Lên Lịch" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "Ghim" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "Tất Cả Nhiệm Vụ" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "tất cả nhiệm vụ" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "tất cả" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "Bất Kỳ Lúc Nào" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "bất kỳ lúc nào" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "bộ l�c" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "không có ngày" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "�ã Hoàn Thành" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "đã hoàn thành" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "nhật ký" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "Hộp Thư �ến" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "hộp thư đến" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "nhãn" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "Bảng Ghim" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "Ưu tiên 1: cao" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "Ưu tiên 2: trung bình" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "Ưu tiên 3: thấp" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "Ưu tiên 4: không" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "cao" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "trung bình" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "thấp" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "không" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "Lặp Lại" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "lặp lại" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "đã lên lịch" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "sắp tới" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "Hôm Nay" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "hôm nay" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "Ngày Mai" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "ngày mai" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "ngày" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "Chưa Có Nhãn" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "không có nhãn" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "chưa có nhãn" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "Nhiệm vụ đã sao chép vào bộ nhớ tạm" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "%d nhiệm vụ đã di chuyển đến %s" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "Xóa Nhãn %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "Không thể hoàn tác" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "Hủy" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "Xóa" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "Dự án đã sao chép vào Bộ Nhớ Tạm." #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "Xóa Dự �n %s?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "Lưu Trữ?" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "�i�u này sẽ lưu trữ %s và tất cả nhiệm vụ của nó." #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "Lưu Trữ" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "Xóa Phần %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "Nhiệm vụ đã thêm thành công!" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "Tên nhiệm vụ" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "Trư�ng này là bắt buộc" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "Thêm mô tả…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "�ặt ngày" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "Thêm Nhãn" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "�ặt Ưu Tiên" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "Thêm L�i Nhắc" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "Thêm Nhiệm Vụ" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "Tiếp tục thêm" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "Ch�n Dự �n" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "Rất tiếc, Quick Add không tìm thấy dự án nào khả dụng, hãy thử tạo dự án từ " "Planify." #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "Phím Tắt" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "Tăng tốc tạo nhiệm vụ với các phím tắt này" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "�ặt ưu tiên" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = cao nhất, p4 = thấp nhất" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "Thêm nhãn" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "Mở bộ ch�n nhãn" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "Giao dự án" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "Mở bộ ch�n dự án" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "�ặt l�i nhắc" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "Mở tùy ch�n l�i nhắc" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "Chuyển đổi giữ mở sau khi tạo nhiệm vụ" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "Mẹo" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "Kết hợp phím tắt trong trư�ng tiêu đ� để tạo nhanh hơn" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "�ang tải nhiệm vụ cho %s…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "�ã tải nhiệm vụ cho %s…" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "�ang đồng bộ hóa nhiệm vụ %d của %d" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "Nguồn đã tồn tại" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "Không thể phân giải url chính" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "Bắt đầu đồng bộ…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "�ang đồng bộ %s…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "�ồng bộ hoàn tất" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "Trên máy tính này" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" "Todoist đã cập nhật API của h�. Vui lòng kết nối lại tài khoản của bạn trong " "Tùy ch�n để tiếp tục đồng bộ hóa." #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "Yêu cầu không đúng." #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "Xác thực là bắt buộc, và đã thất bại, hoặc chưa được cung cấp." #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "Yêu cầu hợp lệ, nhưng cho thứ gì đó bị cấm." #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "Tài nguyên yêu cầu không tìm thấy." #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "Ngư�i dùng đã gửi quá nhi�u yêu cầu trong khoảng th�i gian nhất định." #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "Yêu cầu thất bại do lỗi máy chủ." #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "Máy chủ hiện không thể xử lý yêu cầu." #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "Lỗi không xác định" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "Hôm Qua" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "ngày" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "ngày" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "%s %s trước" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "%s %s còn lại" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "%-l:%M:%S %p" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "%-l:%M %p" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "%H:%M:%S" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "%H:%M" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "T2," #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "T3," #: core/Utils/Datetime.vala:419 msgid "We," msgstr "T4," #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "T5," #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "T6," #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "T7," #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "CN," #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "trong %d ngày" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d ngày trước" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "%a, %b %-e, %Y" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "%b %-e %Y" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "%b %-e" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "%a %Y" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "%a" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "%a, %b %-e" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "%b" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "�� Berry" #: core/Utils/Util.vala:42 msgid "Red" msgstr "��" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "Cam" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "Vàng" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "Xanh Olive" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "Xanh Chanh" #: core/Utils/Util.vala:47 msgid "Green" msgstr "Xanh Lá" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "Xanh Bạc Hà" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "Xanh Mòng Két" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "Xanh Da Tr�i" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "Xanh Dương Nhạt" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "Xanh Dương" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "Nho" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "Tím" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "Oải Hương" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "Cánh Sen" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "Cá Hồi" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "Xám Than" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "Xám" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "Nâu Be" #: core/Utils/Util.vala:218 msgid "Light" msgstr "Sáng" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "Tối" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "Tối Xanh Dương" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "Không" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "Hôm Nay + Hộp Thư �ến" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "Xóa Tất Cả" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "Quá trình hoàn thành, bạn cần khởi động lại Planify." #: core/Utils/Util.vala:452 msgid "Ok" msgstr "Ok" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "Trên Máy Tính Này" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "Gặp Planify" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "Dự án này cho bạn thấy m�i thứ bạn cần biết để bắt đầu. �ừng ngần ngại thử " "nghiệm – bạn luôn có thể tạo lại từ Tùy Chỉnh." #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "Nhấn nhiệm vụ này" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" "Bạn đang xem một nhiệm vụ! Hoàn thành bằng cách nhấn hộp kiểm bên trái. " #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "Tạo nhiệm vụ mới" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "Bây gi� đến lượt bạn! Nhấn nút '+' ở dưới dự án, nhập mô tả nhiệm vụ, và " "nhấn 'Thêm Nhiệm Vụ'." #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "Lập kế hoạch nhiệm vụ này cho hôm nay hoặc sau" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "Nhấn nút lịch ở dưới để quyết định khi nào hoàn thành nhiệm vụ này." #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "Sắp xếp lại nhiệm vụ" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" "�ể sắp xếp lại danh sách, nhấn và giữ nhiệm vụ, sau đó kéo đến vị trí cần." #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "Tạo dự án" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "Tổ chức nhiệm vụ tốt hơn! �i đến bảng bên trái và nhấn nút '+' trong phần " "'Trên Máy Tính Này' và thêm dự án của bạn." #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "Bạn đã xong!" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "�ó là tất cả những gì bạn cần biết. Hãy bắt đầu thêm dự án và nhiệm vụ của " "riêng bạn.\n" "Bạn có thể quay lại dự án này sau để h�c các tính năng nâng cao bên dưới.\n" "Chúng tôi hy v�ng bạn thích sử dụng Planify!" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "�i�u chỉnh thiết lập" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "Hiển thị sự kiện lịch" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "Bạn có thể hiển thị sự kiện lịch hệ thống trong Planify. �i đến 'Tùy Chỉnh' " "🡒 Tổng Quan 🡒 Sự Kiện Lịch để bật." #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "Bật đồng bộ với dịch vụ bên thứ ba" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "Planify không chỉ tạo nhiệm vụ cục bộ, mà còn có thể đồng bộ với tài khoản " "Todoist. �i đến 'Tùy Chỉnh' 🡒 'Tài Khoản'." #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "Tăng năng suất" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "Kéo nút cộng!" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "Nút xanh ở dưới mỗi màn hình mạnh mẽ hơn vẻ ngoài: nó được thiết kế để di " "chuyển! Kéo lên để tạo nhiệm vụ bất cứ đâu." #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "Thêm nhãn cho nhiệm vụ!" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" "Nhãn giúp tổ chức và phân loại nhiệm vụ. �ể thêm nhãn, nhấn nút nhãn ở dưới." #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "�ặt l�i nhắc kịp th�i!" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" "Nhận thông báo v� các nhiệm vụ hoặc sự kiện quan tr�ng. Nhấn vào nút đồng hồ " "bên dưới để thêm l�i nhắc." #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼�Công Việc" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒�Trư�ng H�c" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉�Giao Phó" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "��Nhà" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀��Theo Dõi" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "Nhiệm vụ đã nhân bản" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "Phần đã nhân bản" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "Dự án đã nhân bản" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "Vào th�i gian đến hạn" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 phút trước" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 phút trước" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 phút trước" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 gi� trước" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 gi� trước" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 gi� trước" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "%A, %B %e, %Y" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%OB" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "Quay Lại" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "Tháng trước" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "Tiến Tới" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "Tháng tới" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "Tháng trước, %s" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "%B %Y" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "Tháng tới. %s" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "Ch�n ngày" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "CN" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "T2" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "T3" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "T4" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "T5" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "T6" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "T7" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "Th�i gian" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "cho đến" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "trong" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "lần" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "lần" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "Lặp lại" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "Nhập ngày…" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "Tuần sau" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "Lưu" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "Hàng Ngày" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "Ngày thư�ng" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "Cuối tuần" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "Hàng tuần" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "Hàng Tháng" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "Hàng năm" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "Tùy Chỉnh" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "Không có ngày" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "Phút" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "Gi�" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "Ngày" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "Tuần" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "Tháng" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "Năm" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "Không bao gi�" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "Vào Ngày" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "Sau" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "�p dụng" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "Lặp lại mỗi" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "Kết thúc" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "Ngày" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "Xóa ngày" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "�ặt th�i hạn" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "Th�i hạn" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "Ch�n Nhãn" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "Không tìm thấy nhãn: Tạo '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" "Danh sách bộ l�c của bạn sẽ hiển thị ở đây. Tạo một bộ l�c bằng cách nhập " "tên và nhấn phím Enter." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "Tạo '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "Danh sách bộ l�c của bạn sẽ hiển thị ở đây." #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "Tìm Kiếm" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "Tìm Kiếm hoặc Tạo" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "Xóa liên kết" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "Ưu tiên 4: Không" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "Ưu tiên 1: Cao" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "Ưu tiên 2: Trung bình" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "Ưu tiên 3: Thấp" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "Ưu tiên 1: Trung bình" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "Ưu tiên 1: Thấp" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "Danh sách các phần của bạn sẽ hiển thị ở đây." #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "Không Có Phần" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "Nhập tìm kiếm" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "L�i Nhắc" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" "Danh sách l�i nhắc của bạn sẽ hiển thị ở đây. Thêm một l�i nhắc bằng cách " "nhấn nút '+'." #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "Thêm L�i Nhắc" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "Trong 5 phút" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "Trong 15 phút" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "Trong 30 phút" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "Trong 1 gi�" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "Trong 3 gi�" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "Trong 6 gi�" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "�ặt Phần" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "Ch�n Phần" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "�ặt Trạng Thái" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "Trạng Thái" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "Cần làm" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "Hoàn thành" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "Planify sẽ tự động khởi động khi thiết bị này được bật và chạy khi cửa sổ " "của nó được đóng để có thể gửi thông báo nhiệm vụ." #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "�ồng bộ hóa lịch" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" "Tự động biến nhiệm vụ của bạn thành sự kiện lịch. Bất kỳ nhiệm vụ nào có " "ngày sẽ xuất hiện trong lịch của bạn, giúp bạn lập kế hoạch trong ngày dễ " "dàng hơn." #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" "Yêu cầu: Bạn cần có tài khoản lịch được định cấu hình trong Lịch Gnome " "(Google, Nextcloud, v.v.)" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" "Nhận thông báo trên thiết bị di động cho nhiệm vụ của bạn thông qua Lịch " "Google, Outlook hoặc bất kỳ ứng dụng lịch nào" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" "Nhiệm vụ của bạn được đồng bộ hóa ở m�i nơi: điện thoại, máy tính bảng, " "trình duyệt web và bất kỳ thiết bị nào có lịch của bạn" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "Ch�n Lịch" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "Ch�n lịch từ danh sách" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "Bật đồng bộ hóa" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "�ồng bộ hóa lịch đã được tắt thành công" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "�ồng bộ hóa lịch đang hoạt động" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" "Nhiệm vụ của bạn hiện được đồng bộ hóa với lịch của bạn. Bất kỳ nhiệm vụ nào " "có ngày đ�u tự động xuất hiện dưới dạng sự kiện lịch." #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "Tắt đồng bộ hóa" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "�ã đồng bộ hóa với: %s" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "�ã bật đồng bộ hóa!" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" "Nhiệm vụ của bạn hiện đã được đồng bộ hóa với lịch của bạn. Bất kỳ nhiệm vụ " "nào có ngày sẽ tự động xuất hiện dưới dạng sự kiện lịch." #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "OK" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "Nhiệm Vụ �ã Hoàn Thành" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "Xem Menu Bộ L�c" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "Chưa có nhiệm vụ nào hoàn thành." #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "Xóa Tất Cả Nhiệm Vụ �ã Hoàn Thành" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" "Thao tác này sẽ xóa %d nhiệm vụ đã hoàn thành và các nhiệm vụ phụ của chúng " "kh�i dự án %s" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "L�c Theo" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "Tuần Tới" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "Không Có Ngày" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "Xong" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "Lịch Sử Thay �ổi" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "�ã thêm vào" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "Không khả dụng" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "�ã cập nhật vào" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" "Lịch sử thay đổi của bạn sẽ được hiển thị ở đây khi bạn bắt đầu thực hiện " "thay đổi." #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "Tải thêm lịch sử từ %d tuần trước…" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "Nhãn Mới" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "Chỉnh Sửa Nhãn" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "�ặt tên cho nhãn của bạn" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "Thêm Nhãn" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "Cập Nhật Nhãn" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "Bộ l�c" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "Dự �n �ã Lưu Trữ" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "Quản Lý Phần" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "Bạn có thể sắp xếp các phần bằng cách kéo và thả" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "�ã lưu trữ" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(Không có Phần)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "Tài Khoản" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "Thêm Nguồn" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "Trang Hộp Thư �ến" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "Bạn có thể sắp xếp các tài khoản bằng cách kéo và thả" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" "Planify đang đồng bộ hóa các nhiệm vụ của bạn, quá trình này có thể mất vài " "phút" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "Xác minh SSL bị vô hiệu hóa" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "Yêu cầu di chuyển tài khoản" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "Kết nối lại" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "Không Thể Ẩn Tài Khoản Này" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "Tài khoản này chứa dự án Hộp Thư �ến hiện tại của bạn. Vui lòng thay đổi dự " "án Hộp Thư �ến trước." #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "Thay �ổi Hộp Thư �ến" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "�ang đồng bộ…" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "URL Máy Chủ" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "Tên ngư�i dùng" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "Mật khẩu" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "URL Trang Chủ Lịch" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "�ăng Nhập" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "Dự �n Hộp Thư �ến" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" "Hộp Thư �ến là nơi các nhiệm vụ mới mặc định sẽ đến. Dựa trên phương pháp " "Getting Things Done của David Allen, đây là điểm thu thập ý tưởng nhanh và " "các nhiệm vụ bạn sẽ tổ chức sau" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "Nguồn" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "Tên Hiển Thị" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "Máy Chủ �ồng Bộ" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" "Kích hoạt cài đặt này để Planify tự động đồng bộ với tài khoản của bạn mỗi " "15 phút" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "Lần �ồng Bộ Cuối" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "Xóa Nguồn" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "Xóa Nguồn?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "Không thể xóa nguồn này" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" "Nguồn này chứa dự án Hộp thư đến hiện tại của bạn. Vui lòng thay đổi dự án " "Hộp thư đến của bạn trước." #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "1. �i đến Todoist → Cài đặt → Tích hợp → Nhà phát triển" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "3. Dán nó vào trư�ng trên" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "�ang đồng bộ…" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "Giao Diện" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "Sử Dụng Cài �ặt Hệ Thống" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "Ch�n chủ đ�" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "Kiểu Sáng" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "Chủ đ� sáng sạch" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "Kiểu Tối" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "Chủ đ� tối thanh lịch" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "Kiểu Xanh Dương Tối" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "Chủ đ� xanh dương chuyên nghiệp" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" "Các chủ đ� tùy chỉnh không khả dụng khi sử dụng chủ đ� sáng của hệ thống" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "Cỡ Chữ" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "Sao Lưu" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" "�ừng lo lắng v� việc mất dữ liệu của bạn. Bạn có thể tạo bản sao lưu các dự " "án, nhiệm vụ và nhận xét đang hoạt động, sau đó nhập chúng sau." #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "Tạo Sao Lưu" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "Nhập Sao Lưu" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "Tệp Sao Lưu" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" "Không tìm thấy bản sao lưu nào, hãy tạo một bản bằng cách nhấp vào nút trên." #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "Tệp sao lưu được lưu trữ tại: %s" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "Di Chuyển" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "Di Chuyển Từ Planner" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "Bản Sao Lưu đã được tạo thành công." #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "Di Chuyển Nhiệm Vụ Thành Công" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "Tệp cơ sở dữ liệu không tồn tại." #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "Tệp đã ch�n không hợp lệ" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "Xem Sao Lưu" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "Tải Xuống" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "Tổng Quan Nhập" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "Nguồn" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "Nhiệm Vụ Cần Làm" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "Xác Nhận" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "Khôi phục bản sao lưu" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" "Bạn có chắc muốn tiếp tục không? Thao tác này sẽ xóa dữ liệu hiện tại của " "bạn và thay thế bằng dữ liệu sao lưu." #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "Khôi Phục Sao Lưu" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "Quyên góp" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "Hỗ trợ phát triển Planify" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" "Hãy giúp Planify luôn có nguồn mở và miễn phí! Sự đóng góp của bạn trực tiếp " "hỗ trợ phát triển, tính năng mới và bảo trì. Mỗi đóng góp, bất kể quy mô, " "đ�u tạo nên sự khác biệt." #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "Hỗ trợ định kỳ hàng tháng" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "�óng góp một lần" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "�óng góp định kỳ hàng tuần" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "Mua cho tôi một ly cà phê ☕" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "Ch�n n�n tảng ưa thích của bạn" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "Cảm ơn sự hỗ trợ của bạn! �" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "Sự đóng góp của bạn giúp Planify tồn tại và phát triển." #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "Tổng Quan" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "Thứ Tự Sắp Xếp Tùy Chỉnh" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "Theo Bảng Chữ Cái" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "Sắp xếp theo" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "Tăng dần" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "Giảm dần" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "�ã Sắp Xếp" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "Tích Hợp DE" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "Chạy Khi Khởi �ộng" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "Chạy N�n" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "Sự Kiện Lịch" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "Ngày và Gi�" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24h" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12h" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "�ịnh Dạng �ồng Hồ" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "Chủ Nhật" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "Thứ Hai" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "Thứ Ba" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "Thứ Tư" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "Thứ Năm" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "Thứ Sáu" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "Thứ Bảy" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "Khởi �ầu Tuần" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "Nhận Dạng Ngày Thông Minh" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "Tự động phát hiện ngày như \"ngày mai\" hoặc \"tuần tới\"" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "Chế �ộ Xem Trang Chủ" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "Thêm Nhanh" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" "Sử dụng Thêm Nhanh để tạo nhiệm vụ cần làm từ bất cứ đâu trên màn hình của " "bạn chỉ với vài lần gõ phím. Bạn thậm chí không cần phải thoát kh�i ứng dụng " "đang sử dụng." #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" "�i tới Cài đặt Hệ thống → Bàn phím → Phím tắt → Tùy chỉnh, sau đó thêm một " "phím tắt mới với thông tin sau:" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "Cài đặt" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "Lưu Dự �n �ược Ch�n Gần Nhất" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "Nếu b� ch�n, dự án mặc định được ch�n là Hộp Thư �ến" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "Lệnh đã được sao chép vào bộ nhớ tạm" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "Thanh Bên" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "Hiển Thị Trên Thanh Bên" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "Hiển Thị Số Lượng Nhiệm Vụ" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "�ộ Rộng Thanh Bên" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "Chế �ộ Xem Danh Sách cho Bộ L�c" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "Hiển thị bộ l�c dưới dạng danh sách đơn giản thay vì dạng lưới" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "Bạn có thể sắp xếp các chế độ xem bằng cách kéo và thả" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "Cài �ặt Nhiệm Vụ" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "Hoàn Thành Ngay Lập Tức" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "Hoàn Thành Kèm Hoàn Tác" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "Hoàn Thành Nhiệm Vụ" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "Ch�n cách nhiệm vụ hoạt động khi được đánh dấu là hoàn thành" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "Ưu tiên 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "Ưu tiên 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "Ưu tiên 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "Ưu Tiên Mặc �ịnh" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "Gạch Ngang Nhiệm Vụ �ã Hoàn Thành" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "Bắt đầu" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "Vị Trí Nhiệm Vụ Mới" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "Luôn Hiển Thị Nhiệm Vụ Phụ �ã Hoàn Thành" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "Giữ tất cả nhiệm vụ phụ đã hoàn thành hiển thị mà không thu g�n chúng" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "Âm Thanh Hoàn Thành Nhiệm Vụ" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "Phát âm thanh khi nhiệm vụ được hoàn thành" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "Mở Nhiệm Vụ trong Chế �ộ Xem Thanh Bên" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" "Luôn hiển thị chi tiết nhiệm vụ trong thanh bên thay vì mở rộng trong chế độ " "xem danh sách." #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "Chế �ộ Tập Trung Vào Một Nhiệm Vụ" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" "Chỉ cho phép một nhiệm vụ được mở rộng tại một th�i điểm trong chế độ xem " "danh sách" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "Bật �ịnh Dạng Markdown" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "Bật hoặc tắt hỗ trợ Markdown cho các nhiệm vụ" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "Luôn Hiển Thị Thanh Bên Chi Tiết" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" "Giữ thanh bên chi tiết luôn hiển thị để đi�u hướng nhiệm vụ nhanh hơn, mà " "không cần mở và đóng nhi�u lần" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "Bật Kiểm Tra Chính Tả" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "Kiểm tra chính tả trong mô tả và ghi chú nhiệm vụ" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "�ã Bật" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "L�i nhắc tự động" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" "Khi được bật, l�i nhắc trước th�i gian đến hạn của nhiệm vụ sẽ được thêm mặc " "định." #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "Tùy Ch�n" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "�ồng bộ các nhà cung cấp nhiệm vụ yêu thích của bạn" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "�ặt chế độ xem hiển thị khi khởi chạy lần đầu" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "Tùy chỉnh theo ý thích của bạn" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "Tùy chỉnh thanh bên của bạn" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "Thêm nhiệm vụ cần làm từ bất cứ đâu" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "Sao lưu hoặc di chuyển từ Planner." #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "Tạo Dự �n Hướng Dẫn" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "Tìm hiểu ứng dụng từng bước với một dự án hướng dẫn ngắn" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "Muốn m�i tôi một ly nước?" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "Báo Cáo Sự Cố hoặc Yêu Cầu Tính Năng" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "Chia sẻ lỗi hoặc ý tưởng trên GitHub" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "Tham Gia" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "Liên Hệ Với Chúng Tôi" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "Liên Hệ Với Chúng Tôi" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "Yêu cầu một tính năng hoặc h�i chúng tôi bất cứ đi�u gì" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "Tweet Cho Chúng Tôi" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "Chia sẻ tình yêu" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "Discord" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "Thảo luận và chia sẻ phản hồi của bạn" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodon" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "Quy�n Riêng Tư" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "Chính Sách Quy�n Riêng Tư" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "Chúng tôi không có thông tin gì v� bạn" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "Xóa Dữ Liệu Ứng Dụng" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "Một dự án hướng dẫn đã được tạo" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "Xóa Tất Cả Dữ Liệu?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "Xóa vĩnh viễn tất cả danh sách, nhiệm vụ và l�i nhắc của bạn" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "Tóm tắt" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "Xem Thêm" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "Tuần Này" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "Tháng Này" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "Quá Hạn" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "Dự �n Mới" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "Chỉnh Sửa Dự �n" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "�ặt tên cho dự án của bạn" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "Sử Dụng Biểu Tượng Cảm Xúc" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "Thêm Dự �n" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "Cập Nhật Dự �n" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "Dự án đã được thêm thành công!" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "Di Chuyển" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "Tìm Kiếm Nhanh" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" "Nhanh chóng chuyển đổi dự án và chế độ xem, tìm nhiệm vụ, tìm kiếm theo nhãn" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "Phần Mới" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "Chỉnh Sửa Phần" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "Tên Phần" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "Thêm Phần" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "Cập Nhật Phần" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "�ã thêm phần" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "Mở/�óng Thanh Bên" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "B� Ghim" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "�ã hoàn thành. Lần lặp lại tiếp theo: %s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "Thêm Nhiệm Vụ Phụ" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "Chỉnh Sửa" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "Tạo Bản Sao" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "Xóa Nhiệm Vụ" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "Thứ tự đã thay đổi thành 'Thứ tự sắp xếp tùy chỉnh'" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s đã bị xóa" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "Hoàn Tác" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "Thêm Nhiệm Vụ Phụ" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "Ẩn Nhiệm Vụ Phụ" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "Hiển Thị Nhiệm Vụ Phụ" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "Sử Dụng như Ghi Chú" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "Sao Chép vào Bộ Nhớ Tạm" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "Thêm Tệp �ính Kèm" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "�óng Chi Tiết" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "Tiêu ��" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "Thuộc tính" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "Bạn có chắc chắn muốn xóa không?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "Xóa Nhãn" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "Sắp xếp dự án đã thay đổi thành 'Thứ tự sắp xếp tùy chỉnh'" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "Xóa Kh�i Mục Ưa Thích" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "Thêm Vào Mục Ưa Thích" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "Làm Mới" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "Xóa Dự �n" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "Chia Sẻ" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "Gửi qua Email" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "Thêm nhiệm vụ" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "Tải thêm" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "nhiệm vụ đã hoàn thành" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "Di Chuyển Phần" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "Quản Lý Thứ Tự Phần" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "Hiển Thị Nhiệm Vụ �ã Hoàn Thành" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "Xóa Phần" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "Mục Ưa Thích" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "Không có mục ưa thích nào. Tạo một mục bằng cách nhấp vào nút '+'" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "Thêm Tài Khoản" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "Tùy Chỉnh Thanh Bên" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "�i đến Hôm Nay" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "�i đến �ã Lên Lịch" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "�i đến Nhãn" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "�i đến Bảng Ghim" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "Không có dự án nào. Tạo một dự án bằng cách nhấp vào nút '+'" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "Yêu cầu di chuyển tài khoản" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "Menu Chính" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "Mở Tìm Kiếm Nhanh" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "V� Planify" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "�i! �ã xảy ra lỗi" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "Nhiệm vụ đã hoàn thành" #: src/MainWindow.vala:825 msgid "View" msgstr "Xem" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "Kiểm Tra Tính Toàn Vẹn Cơ Sở Dữ Liệu Thất Bại" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" "Chúng tôi đã phát hiện các vấn đ� với cấu trúc cơ sở dữ liệu có thể ngăn ứng " "dụng hoạt động bình thư�ng. �i�u này có thể do thiếu bảng hoặc cột, thư�ng " "là do h�ng dữ liệu hoặc cập nhật không đầy đủ.\n" "\n" "Cơ sở dữ liệu sẽ được đặt lại để khôi phục chức năng bình thư�ng và m�i dữ " "liệu hiện có sẽ bị xóa.\n" "\n" "Sau khi đặt lại, bạn sẽ có thể khôi phục bất kỳ bản sao lưu nào bạn đã tạo " "trước đó. Cảm ơn sự kiên nhẫn của bạn" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "�ặt Lại Cơ Sở Dữ Liệu" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "Xóa Sao Lưu" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "Nhập Sao Lưu Thành Công" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "Planify sẽ khởi động lại để áp dụng các thay đổi" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "Khởi �ộng Lại Ngay" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "Tệp Sao Lưu Planify" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "Tạm dừng 10 phút" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "Tạm dừng 30 phút" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "Tạm dừng 1 gi�" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "Menu Tùy Ch�n Chế �ộ Xem" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "Thêm Vài Nhiệm Vụ" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "Nhấn 'a' để tạo một nhiệm vụ mới" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "Tất cả nhiệm vụ đã hoàn thành!" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "Làm tốt lắm, không còn gì để làm nữa 🎉" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "nhiệm vụ" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "Xóa nhiệm vụ đã hoàn thành" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" "Thao tác này sẽ xóa %d nhiệm vụ đã hoàn thành và các nhiệm vụ phụ của chúng" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "Không có nhãn nào. Tạo một nhãn bằng cách nhấp vào nút '+'" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "Ghi Chú" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "Lịch trình" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "Khi nào?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "Thêm Vài Nhiệm Vụ. Nhấn 'a' để tạo một nhiệm vụ mới" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "Hành �ộng Dự �n" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "Nhiệm Vụ Mới" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "Th�i hạn dự án" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "Ch�n" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "Dán" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "Mở Rộng Tất Cả" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "Mới" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "Thu G�n Tất Cả" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "Danh Sách" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "Bảng" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "Sắp Xếp" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "Thứ tự sắp xếp tùy chỉnh" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "Ngày Thêm" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "Thứ Tự Tăng Dần" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "Ngày �ến Hạn" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "Tất Cả (mặc định)" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "7 Ngày Tới" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "30 Ngày Tới" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "P1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "P2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "P3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "P4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "L�c theo Nhãn" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "Hiển thị đã hoàn thành" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "Hiển thị các nhiệm vụ đã hoàn thành trong danh sách" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "Tìm kiếm nhiệm vụ đã hoàn thành" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "Sắp Xếp Theo" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "Lên Lịch Lại" #: src/Views/Today.vala:761 msgid "Me" msgstr "Tôi" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "Tệp �ính Kèm" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "Mở" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "Không tìm thấy tệp đính kèm nào. Thêm tệp vào đây." #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "B� Qua Giải Quyết Vị Trí" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" "Giải pháp tạm th�i cho các vấn đ� kết nối CalDAV với các kết nối sử dụng " "cổng không mặc định" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "Cảnh Báo" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" "�i�u này sẽ vô hiệu hóa quá trình giải quyết CalDAV.\n" "Tiếp tục với rủi ro của riêng bạn" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "Dù Sao Vẫn Tiếp Tục" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "Nhiệm Vụ Phụ" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "Hiển thị thêm" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "Hiển thị ít hơn" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "Báo Cáo Sự Cố" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "Yêu cầu di chuyển tài khoản." #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "Trong %d phút" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "Trong %d gi�" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "�ang diễn ra" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "Vị Trí" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "Ngư�i Tổ Chức" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "URL" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "Lịch" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "Tham Gia" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "Vô hiệu hóa xác thực chứng chỉ SSL" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "Không nên – có thể khiến bạn gặp rủi ro bảo mật" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" "�i�u này sẽ vô hiệu hóa xác thực SSL và khiến bạn dễ bị tấn công.\n" "Tiếp tục với rủi ro của riêng bạn" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "Nhiệm vụ chưa hoàn thành" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "Nhiệm vụ đã được chuyển đến dự án" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "Nhiệm vụ đã được chuyển đến" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "Trước" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "Ghim: Hoạt động" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "Ghim: Không hoạt động" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "Hoàn Thành Lúc" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "Di chuyển đến dự án" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "�ánh Dấu là �ã Hoàn Thành" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "Xóa Nhiệm Vụ Cần Làm" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "Bạn có chắc chắn muốn xóa nhiệm vụ cần làm này không?" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "Xóa %d việc cần làm" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "Bạn có chắc chắn muốn xóa %d việc cần làm này không?" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "%d nhiệm vụ đã di chuyển đến %s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "Phiên bản mới đã có!" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" "Cập nhật ngay để tận hưởng những cải tiến mới nhất, sửa lỗi và tính năng mới " "giúp Planify trở nên tốt hơn" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "Cập Nhật Ngay" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "B� qua" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "B� Lưu Trữ" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "Chưa có nhiệm vụ phụ nào được thêm. Bắt đầu ngay!" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "Kết nối với máy chủ thất bại" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" "Có vẻ như máy chủ không thể truy cập,\n" "bạn có kết nối internet không?\n" "M�i thay đổi bạn thực hiện khi bị ngắt kết nối\n" "sẽ được đồng bộ hóa khi bạn kết nối lại." #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "%s đã hoàn thành %.0f%%. Bạn có thể giúp hoàn thành nó!" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "Bản Dịch" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "Giúp Planify có mặt trên toàn thế giới" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "Giúp cải thiện bản dịch" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "Bắt đầu một bản dịch mới" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "%s chưa có. Hãy là ngư�i đầu tiên dịch nó!" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "Planify - Thêm Nhanh" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "Sử Dụng Ở M�i Nơi" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "Tạo Một Nhiệm Vụ Mới" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "Dán Văn Bản Thuần Túy để Tạo Nhiệm Vụ Mới" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "Tạo Một Dự �n Mới" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "Tạo Một Phần Mới Trong Dự �n" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "Tìm Kiếm" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "Mở Tìm Kiếm Nhanh" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "�i�u Khiển Cửa Sổ" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "Thoát" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "Mở Tùy Ch�n" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "Bật/Tắt Thanh Bên" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "Mở Phím Tắt Bàn Phím" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "�i�u Hướng" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "Mở Trang Chủ" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "Mở Hộp Thư �ến" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "Mở Hôm Nay" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "Mở �ã Lên Lịch" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "Mở Nhãn" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "Mở Bảng Ghim" #~ msgid "Advanced Options" #~ msgstr "Tùy Ch�n Nâng Cao" #~ msgid "Server URL examples:" #~ msgstr "Ví dụ URL Máy Chủ:" #~ msgid "- https://cloud.example.com/" #~ msgstr "- https://cloud.example.com/" #~ msgid "- https://example.com/nextcloud/" #~ msgstr "- https://example.com/nextcloud/" #~ msgid "Token" #~ msgstr "Token" #~ msgid "How to get your token?" #~ msgstr "Làm thế nào để lấy token của bạn?" #~ msgid "2. Find 'API token' and copy your token" #~ msgstr "2. Tìm 'API token' và sao chép token của bạn" #~ msgid "Connect with Token" #~ msgstr "Kết nối bằng Token" #~ msgid "" #~ "Planify is being developed with love and passion for open source. " #~ "However, if you like Planify and want to support its development, please " #~ "consider supporting us." #~ msgstr "" #~ "Planify đang được phát triển bằng tình yêu và ni�m đam mê đối với mã " #~ "nguồn mở. Tuy nhiên, nếu bạn thích Planify và muốn hỗ trợ sự phát triển " #~ "của nó, vui lòng cân nhắc ủng hộ chúng tôi." #~ msgid "Donate Now" #~ msgstr "�óng góp ngay" #~ msgid "Enter token" #~ msgstr "Nhập token" #~ msgid "Please Enter Your Credentials" #~ msgstr "Vui Lòng Nhập Thông Tin Xác Thực Của Bạn" #~ msgid "Loading…" #~ msgstr "�ang Tải…" #~ msgid "Network Is Not Available" #~ msgstr "Mạng Không Khả Dụng" #~ msgid "Set a Due Date" #~ msgstr "�ặt Ngày �ến Hạn" #~ msgid "Set a Deadline" #~ msgstr "�ặt th�i hạn" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "Cho phép Planify chạy n�n và gửi thông báo" #~ msgid "Whether Planify should run on startup" #~ msgstr "Liệu Planify có nên chạy khi khởi động hay không" #~ msgid "Clear" #~ msgstr "Xóa" #~ msgid "Menu" #~ msgstr "Menu" #~ msgid "Add Time" #~ msgstr "Thêm Th�i Gian" #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "" #~ "Nhận thông báo v� nhiệm vụ hoặc sự kiện quan tr�ng. Nhấn nút chuông ở " #~ "dưới để thêm l�i nhắc." #, c-format #~ msgid "Processing task %d of %d" #~ msgstr "�ang xử lý nhiệm vụ %d của %d" #~ msgid "Planify is syncing your tasks, this may take a few minutes" #~ msgstr "Planify đang đồng bộ nhiệm vụ của bạn, việc này có thể mất vài phút" #~ msgid "Todoist Sync" #~ msgstr "�ồng bộ Todoist" #~ msgid "Loading" #~ msgstr "�ang Tải" #~ msgid "Planner is sync your tasks, this may take a few minutes" #~ msgstr "Planner đang đồng bộ nhiệm vụ của bạn, việc này có thể mất vài phút" #~ msgid "Please enter your credentials" #~ msgstr "Vui lòng nhập thông tin xác thực của bạn" #, c-format #~ msgid "Every %d minutes" #~ msgstr "Mỗi %d phút" #, c-format #~ msgid "Every %d hours" #~ msgstr "Mỗi %d gi�" #, c-format #~ msgid "Every %d days" #~ msgstr "Mỗi %d ngày" #, c-format #~ msgid "Every %d weeks" #~ msgstr "Mỗi %d tuần" #, c-format #~ msgid "Every %d months" #~ msgstr "Mỗi %d tháng" #, c-format #~ msgid "Every %d years" #~ msgstr "Mỗi %d năm" #, c-format #~ msgid "" #~ "This will delete %d completed tasks and their subtasks from project %s" #~ msgstr "" #~ "�i�u này sẽ xóa %d nhiệm vụ đã hoàn thành và nhiệm vụ phụ của chúng kh�i " #~ "dự án %s" #, c-format #~ msgid "Load more history from %d weeks ago…" #~ msgstr "Tải thêm lịch sử từ %d tuần trước…" #~ msgid "Delete Completed Tasks" #~ msgstr "Xóa Các Nhiệm Vụ �ã Hoàn Thành" #, c-format #~ msgid "This will delete %d completed tasks and their subtasks" #~ msgstr "�i�u này sẽ xóa %d nhiệm vụ đã hoàn thành và nhiệm vụ phụ của chúng" #, c-format #~ msgid "In %d minutes" #~ msgstr "Trong %d phút" #, c-format #~ msgid "In %d hours" #~ msgstr "Trong %d gi�" #, c-format #~ msgid "Delete %d To-Dos" #~ msgstr "Xóa %d Nhiệm Vụ Cần Làm" #, c-format #~ msgid "Are you sure you want to delete these %d to-dos?" #~ msgstr "Bạn có chắc chắn muốn xóa %d nhiệm vụ cần làm này không?" #~ msgid "Backup" #~ msgstr "Sao Lưu" #~ msgid "Task Setting" #~ msgstr "Cài �ặt Nhiệm Vụ" #~ msgid "Close" #~ msgstr "�óng" #~ msgid "Personal Data" #~ msgstr "Dữ Liệu Cá Nhân" #~ msgid "" #~ "We collect absolutely nothing and all your data is stored in a database " #~ "on your computer." #~ msgstr "" #~ "Chúng tôi hoàn toàn không thu thập gì cả và tất cả dữ liệu của bạn được " #~ "lưu trữ trong cơ sở dữ liệu trên máy tính của bạn." #~ msgid "" #~ "If you choose to integrate Todoist, which is optional and not selected by " #~ "default, your data will be stored on their private servers, we only " #~ "display your configured tasks and manage them for you." #~ msgstr "" #~ "Nếu bạn ch�n tích hợp Todoist, một tùy ch�n không được ch�n mặc định, dữ " #~ "liệu của bạn sẽ được lưu trữ trên máy chủ riêng của h�, chúng tôi chỉ " #~ "hiển thị các nhiệm vụ đã cấu hình của bạn và quản lý chúng cho bạn." #~ msgid "Do you have any questions?" #~ msgstr "Bạn có bất kỳ câu h�i nào không?" #~ msgid "" #~ "If you have any questions about your data or any other issue, please " #~ "contact us. We will be happy to answer you." #~ msgstr "" #~ "Nếu bạn có bất kỳ câu h�i nào v� dữ liệu của bạn hoặc bất kỳ vấn đ� nào " #~ "khác, vui lòng liên hệ với chúng tôi. Chúng tôi sẽ sẵn lòng trả l�i bạn." #~ msgid "Supporting Us" #~ msgstr "Ủng Hộ Chúng Tôi" #~ msgid "" #~ "Our mission is to provide the best open source task management " #~ "application for users all over the world. Your donations support this " #~ "work. Want to donate today?" #~ msgstr "" #~ "Sứ mệnh của chúng tôi là cung cấp ứng dụng quản lý tác vụ mã nguồn mở tốt " #~ "nhất cho ngư�i dùng trên toàn thế giới. Khoản đóng góp của bạn hỗ trợ " #~ "công việc này. Bạn muốn đóng góp ngay hôm nay?" #~ msgid "Support Planify" #~ msgstr "Ủng Hộ Planify" alainm23-planify-69962f8/po/zh.po000066400000000000000000002552651517337276100165110ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: alainmh23@gmail.com\n" "POT-Creation-Date: 2025-11-02 17:57+0000\n" "PO-Revision-Date: 2026-03-16 23:09+0000\n" "Last-Translator: 姚怀宇 \n" "Language-Team: Chinese (Simplified Han script) \n" "Language: zh\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.17-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "项目" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "分区" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "任务" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "标签" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "筛选" #: core/Enum.vala:186 #, fuzzy msgid "Lists" msgstr "列表" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "�需��" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "� %d 分钟" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "� %d �时" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "� %d 天" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "� %d 周" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "� %d 个月" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "� %d 年" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "优先级" #: core/Enum.vala:348 msgid "Label" msgstr "标签" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "截止日期" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "部分" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "分�事务" #: core/Enum.vala:469 msgid "Task Created" msgstr "已建立任务" #: core/Enum.vala:472 msgid "Task Updated" msgstr "任务已�更新" #: core/Enum.vala:528 msgid "Content" msgstr "目录" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "�述" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "日程" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "置顶" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "所有任务" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "所有任务" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "全部" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "任何时间" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "任何时间" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "过滤器" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "日期未设定" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "已完�" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "已完�" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "记录在册" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "索引" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "收件箱" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "标签" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "置顶任务" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "优先级 1:高" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "优先级 2 :中" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "优先级 3 :低" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "优先级 4 :无" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "高" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "中" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "低" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "无" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "��" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "��" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "日程" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "近期" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "今天" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "今天" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "明天" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "明天" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "日期" #: core/Objects/Filters/Unlabeled.vala:33 #, fuzzy msgid "Unlabeled" msgstr "无标签" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "无标签" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "尚无标签" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "任务已�制到剪贴�" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, fuzzy, c-format msgid "Moved to %s" msgstr "任务已移动到%s" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "已删除标签%s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "无法撤销" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "�消" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "删除" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "该项目已�制到剪贴�。" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "删除项目%s?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "归档?" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "将会归档%s�其所有任务。" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "归档" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "删除部分%s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "任务添加�功�" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "待办事项�称" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "必填" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "添加说明……" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "设定日期" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "添加标签" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "设置优先级" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "添加�醒" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "创建任务" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "继续添加" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "选择项目" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" "抱歉,快速添加功能找�到任何�用的项目,请先在 Planify 中创建一个项目。" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "快�键" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "用这些快�键快速创建任务" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "设置优先级" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = 最高,p4 = 最低" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "添加标签" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "打开标签选择器" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "分�到项目" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "打开项目选择器" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "设置�醒" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "打开�醒选项" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "切����开放状�,在建立任务之�" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "�贴士" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "在标题���快�指令,实现快速创建" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "%s 任务加载中…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "该��已存在" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "无法解�主体 URL" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "开始进行�步…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "正在�步 %s…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "�步已�完�" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "所�请求�正确。" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "需�身份验�:验�失败或未�供凭�。" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "请求有效,但访问被�止。" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "找�到请求的资�。" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "%H:%M" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "周一�" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "周二�" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "周三�" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "周四�" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "周五�" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "周六�" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "周日�" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "%a %Y" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "%a" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "%b" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "薰衣�" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "暗色" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "删除全部" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "处�已�完�,必须�次�动。" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "好" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "在此�电脑" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "关于页�" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "长按并拖动待办事项,��调整顺�。" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "新建项目" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "账户" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "时间格�" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "关于 Planify" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, fuzzy, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "任务已移动到%s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" #, c-format #~ msgid "Processing task %d of %d" #~ msgstr "正在处�第 %d 个任务,共 %d 个" #, c-format #~ msgid "Every %d minutes" #~ msgstr "� %d 分钟" #, c-format #~ msgid "Every %d hours" #~ msgstr "� %d �时" #, c-format #~ msgid "Every %d days" #~ msgstr "� %d 天" #, c-format #~ msgid "Every %d weeks" #~ msgstr "� %d 周" #, c-format #~ msgid "Every %d months" #~ msgstr "� %d 月" #, c-format #~ msgid "Every %d years" #~ msgstr "� %d 年" alainm23-planify-69962f8/po/zh_Hant.po000066400000000000000000003304571517337276100174600ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: alainmh23@gmail.com\n" "POT-Creation-Date: 2025-11-02 17:57+0000\n" "PO-Revision-Date: 2026-04-17 04:09+0000\n" "Last-Translator: 麋麓 BigELK176 \n" "Language-Team: Chinese (Traditional Han script) \n" "Language: zh_Hant\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.17.1-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "專案計畫" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "�段" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "任務" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "標籤" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "篩�" #: core/Enum.vala:186 msgid "Lists" msgstr "清單" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "���複" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "�隔 %d 分�" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "�隔 %d �時" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "�隔 %d 日" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "�隔 %d 週" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "�隔 %d 個月" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "�隔 %d 年" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "Nextcloud �有雲端" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "CalDAV 行事曆�議" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "優先等級" #: core/Enum.vala:348 msgid "Label" msgstr "標籤" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "到期日" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "階段" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "分派" #: core/Enum.vala:469 msgid "Task Created" msgstr "任務已經建立" #: core/Enum.vala:472 msgid "Task Updated" msgstr "任務已經更新" #: core/Enum.vala:528 msgid "Content" msgstr "目錄" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "�述" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "行程" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "釘貼" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "全部任務" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "全部任務" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "全部" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "任何時間" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "任何時間" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "篩�" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "無日期" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "已經完�" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "已經完�" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "記錄載冊" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "索引" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "收件箱" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "標籤" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "釘貼看�" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "優先等級 1:高" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "優先等級 2:中" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "優先等級 3:低" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "優先等級 4:無" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "高" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "中" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "低" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "無" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "�複" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "�複" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "行程" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "�將來到" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "今日" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "今日" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "明日" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "明日" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "日期" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "尚無標籤" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "無標籤" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "尚無標籤" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "截止日期:" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "任務已經複製至剪貼簿" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "已經移至 %s" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "刪除標籤 %s" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "此項無法�消動作" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "�消" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "刪除" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "專案已經複製至剪貼簿。" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "刪除專案 %s ?" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "�存?" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "此將�存 %s �其全部任務。" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "�存檔庫" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "刪除階段 %s" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "Todoist" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "任務已經加入�功�" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "待辦事項�稱" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "此欄必填" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "加上�述…" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "設定日期" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "添加標籤" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "設定優先等級" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "添加�醒" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "添加任務" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "��添加" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "�擇專案" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "抱歉,快速添加無法找到任何�用的專案,請從 Planify 中建立一個專案。" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "�盤快速�" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "利用這些快速�來加快任務建立" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "設定優先等級" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "p1 = 最高 � p4 = 最低" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "添加標籤" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "開啟標籤��" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "指派專案" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "開啟專案�擇" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "設定�醒" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "開啟�醒�項" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "切����開啟狀態,在建立任務之後" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "技巧" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "在標題欄�中組�快速��作,以利更快建立" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "載入任務用於 %s…" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "已經載入任務用於 %s…" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "正在�步任務 %d / %d" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "來�已有存在" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "解�主�網� url 失敗" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "開始進行�步…" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "正在�步 %s…" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "�步已經完�" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "�證已經�期" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "您的工作階段已經�期。請在 �好設定 中移除,並�新添加您的帳戶。" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "請求�多" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "伺�器正在�制請求速率。請等待幾分�,然後�試一次。" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "在此�電腦上" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "Todoist 已經更新其 API。請在〔�好設定〕中�新連接您的帳戶以繼續�步。" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "無效的 API token" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "所�請求�正確。" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "需�身份驗證,但�失敗,或是尚未�供。" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "該請求是有效的,但因�些事物是�止的。" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "所�請求的資�無法找到。" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "使用者在給定時間內發��多請求。" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "由於伺�器錯誤,請求失敗。" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "伺�器目�無法處�該請求。" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "�明錯誤" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "昨日" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "日" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "日" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "%s %s 之�" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "%s %s 剩下" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "%-l:%M:%S %p" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "%-l:%M %p" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "%H:%M:%S" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "%H:%M" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "週一�" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "週二�" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "週三�" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "週四�" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "週五�" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "週六�" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "週日�" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "於 %d 日內" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d 日之�" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "%a, %b %-e, %Y" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "%b %-e %Y" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "%Y" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "%b %-e" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "%a %Y" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "%a" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "%a, %b %-e" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "%b" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "果紅" #: core/Utils/Util.vala:42 msgid "Red" msgstr "紅" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "橘" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "黃" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "橄欖綠" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "檸檬綠" #: core/Utils/Util.vala:47 msgid "Green" msgstr "綠" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "薄�錄" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "�" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "天空�" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "淡�" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "�" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "葡�" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "紫" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "薰衣�" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "洋紅" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "鮭" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "木炭" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "�" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "��" #: core/Utils/Util.vala:218 msgid "Light" msgstr "亮" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "暗" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "暗�" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "無" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "今日 + 收件箱" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "刪除全部" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "處�已經完�,必須�次啟動 Planify。" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "好" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "在此�電腦" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "�識 Planify" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" "此項專案展示了入門�作所需瞭解的一切。請�必猶豫盡情玩用 - 隨時都�以從〔�好" "設定〕中�新建立。" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "點按此任務" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "您正在查看待辦事項�點按左�勾�框用來完�它。 " #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "建立新的任務" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" "�在輪到您啦�在您的專案底部點按 '+' 按鈕�輸入任務�述,並點按 〔添加任" "務〕 。" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "計畫待辦事項用於今日或�後" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "點按底部的行事曆按鈕,來決定何時�完�此待辦事項。" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "�新排列您的待辦事項" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "��新排�您的清單,請點按�待辦事項,然後將其拖放到其應該去之處。" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "建立專案" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" "組織待辦事項更加好用��往左���,點按〔在此�電腦〕階段中的 '+' 按鈕,然" "後添加您自己的專案計畫。" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "您完�了�" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" "這就是全部您真正所需知�的了。請盡情開始去添加您自己的專案計畫和待辦事項。\n" "您�以�後�返回到這個專案內容,來學習以下的進階功能。\n" "我們希望您會樂於�用 Planify�" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "調整自己的設定" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "顯示您的行事曆事件" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" "您�以在 Planify 中顯示系統的行事曆事件。�往 〔�好設定 🡒 通則 🡒 行事曆事" "件〕 將其開用。" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "啟用�步,使用第三方�務" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" "Planify �僅�以在本地建立任務,還�以與您的 Todoist 帳戶�步。�往〔�好設" "定 🡒 帳戶〕。" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "�昇您的生產力" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "拖放加號按鈕�" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" "在�個螢幕底部,您所見到的�色按鈕,比看起來更加厲害:它是用來移動的� 將它拖" "放�上,��在任何想�的�置上建立出任務。" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "添加標籤至您的任務�" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "標籤�以幫助您�任務加以組織和分類。�添加標籤,請點按底部的標籤按鈕。" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "設定�時�醒�" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "�得有關��任務或事件的通知,點按下方的時�按鈕來增添�醒。" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "💼�工作" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "🎒�學校" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "👉指派" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "��家務" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "��♀��跟進" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "任務已經製作複本" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "階段已經製作複本" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "專案已經製作複本" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "處於到期" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "10 分�之�" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "30 分�之�" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "45 分�之�" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "1 �時之�" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "2 �時之�" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "3 �時之�" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "%A, %B %e, %Y" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "%OB" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "後退" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "上個月份" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "�進" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "下個月份" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "上個月份,%s" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "%B %Y" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "下個月份, %s" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "�擇日期" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "週日" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "週一" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "週二" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "週三" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "週四" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "週五" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "週六" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "時間" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "直到" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "用於" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "次" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "次" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "�複" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "輸入日期…" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "下週" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "儲存" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "�日" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "工作日" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "週末日" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "�週" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "�月" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "�年" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "自訂" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "無日期" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "分�" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "時" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "日" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "週" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "月" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "年" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "永�" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "所在日期" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "之後" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "套用" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "�複�隔" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "��" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "日期" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "您所計劃的日期 進行此任務" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "移除日期" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "您計劃何時進行此項目?" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "設定截止日期" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "完�此任務的最晚日期" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "完�此項目的最晚日期?" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "截止日期" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "�擇標籤" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "標籤未找到:建立 '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "您所篩�的清單將顯示於此。輸入�稱並按 Enter ���建立一個。" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "建立 '%s'" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "您所篩�的清單將會顯示於此。" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "�尋" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "�尋或建立" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "隱�尚未使用的標籤" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "無標籤" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "全部隱�" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "全部標籤都已由篩�器隱�。�用篩�器�能看到它們。" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "按 Enter �進行建立並指派它" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "移除連�" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "優先等級 4: 無" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "優先等級 1: 高" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "優先等級 2: 中" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "優先等級 3: 低" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "優先等級 1: 中" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "優先等級 1: 低" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "您的階段清單將會在此顯示。" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "無階段" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "輸入�尋" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "�醒" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "您的�醒清單將會在此顯示。點按 '+' ���添加一個。" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "添加�醒" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "於 5 分�" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "於 15 分�" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "於 30 分�" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "於 1 �時" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "於 3 �時" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "於 6 �時" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "設定階段" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "�擇階段" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "設定狀態" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "狀態" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "待辦事項" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "完�" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" "在�置開啟之時 Planify 將會自動啟動,而當其視窗關閉時�會�行,以便�以發�待" "辦事項通知。" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "行事曆�步" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" "自動將您的任務變�行事曆事件。任何附有日期的任務都會出�在您的行事曆中,從而" "更輕鬆地計劃您的一天。" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" "�求:您需�已經設定的行事曆帳戶於 GNOME 行事曆 (Google�Nextcloud 等)中" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "�得任務的行動通知,經由 Google 行事曆�Outlook 或任何行事曆應用程�" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "您的任務隨處�步:手機�平�電腦�網路�覽器以�附有行事曆的任何設備" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "�擇行事曆" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "從列表中�擇一個行事曆" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "啟用�步" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "行事曆�步已經�功地�用" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "行事曆�步�時作用" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" "您的任務目�已經與您的行事曆�步。任何附有日期的任務都會自動顯示為行事曆事" "件。" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "�用�步" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "已經�步: %s" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "�步已經啟用�" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" "您的任務�在已經與您的行事曆�步。任何附有日期的任務都會自動顯示為行事曆事" "件。" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "OK" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "已經完�任務" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "檢視篩��單" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "無尚已經完�的任務。" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "刪除全部已經完�任務" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "這將刪除 %d 個已經完�的任務�其�任務,來自專案 %s" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "篩��照" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "下週" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "無日期" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "完�" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "變更歷�記錄" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "添加於" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "無法�用" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "更新於" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "您的變更歷�記錄將會顯示於此,一旦開始進行變更。" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "載入更多歷�記錄自 %d 週之�…" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "新建標籤" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "編輯標籤" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "賦予標籤�稱" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "添加標籤" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "更新標籤" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "篩�" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "已經�存的專案" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "管�階段" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "您�以利用拖放�作來�階段進行排�" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "已經�存" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "(無階段)" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "帳戶" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "添加來�" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "收件箱�" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "您�以利用拖放�作來�帳戶進行排�" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "Planify 正在�步您的任務,這�能需�花點時間" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "SSL 驗證�用" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "�證已經�期" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "帳號�移是必須的" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "�新連接" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "無法隱�該帳戶" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "該帳戶包�您目�的收件箱專案。請先變更您的收件箱專案。" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "變更收件箱" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "�步中…" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "連接至 CalDAV" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "連接至任何 CalDAV-compatible 伺�器以�步您的任務" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "伺�器 URL" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "使用者�稱" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "密碼" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "行事曆主� URL" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "進階" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "顯示進階�項" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "隱�進階�項" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "登入" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "收件箱專案" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" "�照�設,您的收件箱是新建任務所在的�置。基於 David Allen 的 Getting Things " "Done 方法論,這正是您快速抓到點�想法�任務工作的��點,而隨後您會將其組織起" "來" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "連接至 Nextcloud" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "登入您的 Nextcloud 帳戶以�� CalDAV 進行�步任務" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "https://cloud.example.com" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "https://example.com/nextcloud" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "URL 範例" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "來�" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "顯示�稱" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "�步伺�器" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "啟用此設定,以便 Planify 自動與您的帳戶�步,� 15 分�一次" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "上次最後�步" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "刪除來�" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "刪除來�?" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "無法刪除此來�" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "該來��有您目�的 Inbox 收件專案。請首先變更您的收件專案。" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "連接至 Todoist" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "使用您的 Todoist 帳號登入 以�步您的任務" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "使用�覽器登入" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "使用 API Token 替代" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "API Token (存�權�)" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "連接使用您個人的 Todoist API token" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "貼上您的 API token" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "連接" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" "1. �往 待辦事項清單(Todoist) → 設定(Settings) → 整�(Integrations) → 開發者" "(Developer)" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "2. 複製您的 API token" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "3. 於上方欄�中貼上" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "如何�得您的 token" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "等待登入…" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "正在�步中…" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "外觀" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "使用系統設定" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "�擇主題" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "亮色樣�" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "清除亮色主題" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "暗色樣�" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "優雅暗色主題" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "暗�樣�" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "專業�色主題" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "當使用系統亮色主題時,自訂主題無法�用" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "字型大�" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "備份" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" "永��用擔心�失資料。凡作用中的專案�任務�評論等,您�以建立其備份,並�在" "日後匯入。" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "建立備份" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "匯入備份" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "備份檔案" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "找無備份,請點按上方的按鈕來建立一個。" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "備份檔案儲存於: %s" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "移轉" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "移轉來自 Planner" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "備份已經�功地建立了。" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "任務移轉�功" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "資料庫檔案�存在。" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "所�檔案無效" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "檢視備份" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "下載" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "匯入概覽" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "來�" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "待辦事項" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "確�" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "還原備份" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "確定�繼續嗎?此�作將刪除您目�的資料,並用備份資料來�代。" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "還原備份" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "贊助" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "支� Planify 開發" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" "�助維� Planify 自由使用和開放�碼�您的贊助�款直接支�開發�新功能和維護。" "�項貢�,無論大�,影響深�。" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "Patreon (贊助募資平�)" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "�月定期支�" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "PayPal" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "一次性贊助" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "Liberapay" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "�周定期贊助�款" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "Ko-fi" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "請我��咖啡 ☕" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "�擇您所喜愛使用的平�" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "感�您的支�� �" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "您的貢�有助於維� Planify 生長�壯。" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "通則" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "自訂排�順�" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "按照字�順�" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "排��照" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "�冪" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "�冪" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "指定的" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "桌�整�" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "於啟動時執行" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "自動啟動 Planify 當您啟動電腦時" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "背景執行" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "�� Planify 在系統匣中�行 當關閉視窗時" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "行事曆事件" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "GNOME Shell �尋" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "�尋任務和項目直接來自 GNOME Shell 。在 設定 →�尋 中設定啟用" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "日期時間" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "24h" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "12h" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "時�格�" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "週日" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "週一" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "週二" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "週三" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "週四" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "週五" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "週六" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "一週開始" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "智能日期識別" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "自動�測日期,�是\"明日\"或\"下週\"" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "主�檢視" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "快速添加" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" "使用〔快速添加〕,�需�點按幾下按�,��在桌�任何�置上建立出待辦事項。您" "甚至�必離開當下所在用的應用程�。" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" "�往〔系統設定 → �盤 → 快速� → 自訂〕,然後用以下方�添加新的快速�:" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "設定" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "儲存上次最後所�的專案" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "若無勾�,�設所�的專案是收件箱" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "�留任務屬性" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "當'��添加'已為啟用時,�留日期�標籤和釘上狀態" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "該指令已經複製至剪貼簿" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "�邊列" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "顯示於�邊列" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "顯示任務計數" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "�邊列寬度" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "清單檢視用於篩�" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "顯示篩�,以簡單清單替代網格" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "您�以排�檢視,利用拖放�作" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "任務設定" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "�刻完�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "完� 使用�消動作" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "任務完�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "�擇任務的行為方�,當其標記為完�時" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "優先等級 1" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "優先等級 2" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "優先等級 3" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "�設優先等級" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "劃掉已經完�的任務" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "啟動" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "新建任務�置" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "總是顯示已經完�的�任務" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "��全部已經完�的�任務顯示�見,�用縮�它們" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "任務完��示音" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "當任務完�時播放�音" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "開啟任務於�邊列檢視" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "總是在�邊列中顯示任務詳情,而�在清單檢視中展開。" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "單一任務專注模�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "在清單檢視中一次僅�許展開一項任務" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "啟用 Markdown 格�" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "切� Markdown 支�,用於任務開或關" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "總是顯示詳情�邊列" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "��詳情�邊列總是顯示�見,以利更快地導航任務,而無需�複地開開關關" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "啟用拼字檢查" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "在任務�述和備記中檢查拼字" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "已經啟用" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "自動�醒" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "當已經啟用,�照�設在任務到期時間之�會添加�醒。" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "�好設定" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "�步您最愛的待辦事項�供者" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "在首次啟動時,設定檢視顯示" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "�您喜好進行自訂" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "自訂您的�邊列" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "從任何�置添加待辦事項" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "備份或移轉來自 Planner。" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "建立教學專案" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "經由簡短的教學專案來�步學習應用程�" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "想請我�一�嗎?" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "�報�題或請求功能" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "分享錯誤�題或點�想法於 GitHub 網站" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "�得�與" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "�絡我們" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "�絡我們" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "請求功能或任何��" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "Tweet 通訊" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "分享這份愛" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "Discord �天" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "討論分享您的�見" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "Mastodon 社群" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "隱�" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "隱�政策" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "我們�於您一無所悉" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "刪除應用程�資料" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "教學專案已經建立" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "刪除全部資料?" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "刪除全部您的清單�任務和�醒,無法救回" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "摘�總�與生產力" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "設定目標" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "定義您�日�週�完�任務的數�" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "摘�詳情" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "詳細摘�將出�在這裡" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "摘�" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "生產力詳情" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "詳細的生產力統計將顯示在這裡" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "生產力" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "查看更多" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "全部目標都已��了�你真是勢��擋" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "�日目標個個擊碎�����呀" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "�週目標都已���享�本週所餘時光�" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "啟動新的一天,您的第一個任務正等著�" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "就快���了�今天還有一些任務呦" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "本週進展順利,您就快���目標啦" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "�日目標已完�大�,進展很�錯呦" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "到目�為止,本週努力扎實,繼續��呀" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "�項任務的完�都是�進的一步" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "設定�日�週目標以開始追蹤您的生產力" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "本週" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "本月份" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "�日目標" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "�週目標" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "編輯目標" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "�計" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "待處�" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "逾期" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "進度" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "新建專案" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "編輯專案" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "賦予專案�稱" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "使用 Emoji" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "添加專案" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "更新專案" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "整體�設" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "已經�用" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "Markdown 格�" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "覆蓋整體 Markdown 設定用於此專案" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "專案已經添加�功�" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "移動" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "快速尋找" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "快速切�專案�檢視�尋找任務��照標籤�尋" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "新建階段" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "編輯階段" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "階段�稱" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "添加階段" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "更新階段" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "階段已經添加" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "開啟/關閉 �邊列" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "解除釘貼" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "已經完�。下次發生:%s" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "添加�任務" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "編輯" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "製作複本" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "刪除任務" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "順�變更為〔自訂排列順�〕" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "%s 已經刪除" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "�消動作" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "添加�任務" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "隱��任務" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "顯示�任務" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "用作為記事" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "複製至剪貼簿" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "添加附件" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "關閉詳情" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "標題" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "屬性" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "您確定�刪除嗎?" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "刪除標籤" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "專案排�變更至〔自訂排列順�〕" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "從最愛項目中移除" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "添加至最愛項目" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "�新整�" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "刪除專案" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "分享" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "寄出電�郵件" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "匯出如� PDF" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "專案項目已經匯出如� PDF" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "添加任務" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "載入更多" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "已經完�任務" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "移動階段" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "管�階段順�" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "顯示已經完�任務" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "刪除階段" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "最愛項目" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "尚無�用的最愛項目。點按 '+' 按鈕來進行建立" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "添加帳戶" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "自訂�邊列" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "�往今日" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "�往行程" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "�往標籤" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "�往釘貼看�" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "尚無�用的專案。點按 '+' 按鈕來進行建立" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "帳戶�移是必須的" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "主��單" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "開啟快速尋找" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "關於 Planify" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "哎呀�有事發生了" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "任務已經完�" #: src/MainWindow.vala:825 msgid "View" msgstr "檢視" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "資料庫整�檢查失敗" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" "我們檢測到資料庫�構存在�題,�能會阻礙應用程�正常�行。這�能造因於�失表" "或列,�是因為資料庫�毀或更新�完整所致。\n" "\n" "�在將�設資料庫以還原正常功能,並且任何�存的資料庫�將移除。\n" "\n" "�設之後,您將能夠�復先�建立的任何備份。感�您�心等侯" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "�設資料庫" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "刪除備份" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "備份已經�功匯入" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "Planify 將會�新啟動以套用變更" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "立��新啟動" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "Planify 備份檔案" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "�憩 10 分�" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "�憩 30 分�" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "�憩 1 �時" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "檢視�項�單" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "添加一些任務" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "按 'a' 來建立新的任務" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "全部任務已經完��" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "�得好,清光光一件�留 🎉" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "任務" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "刪除已經完�的任務" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "這將刪除 %d 個已經完�的任務�其�任務" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "尚無標籤�用。點按 '+' 鈕來進行建立" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "全部標籤�為隱� 由篩�器" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "僅作用中的專案項目" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "僅顯示任務所使用的標籤 於作用中(�存檔的)的專案項目" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "記事" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "行程" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "何時?" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "添加一些任務。請按 'a' 來建立新的任務" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "專案行動" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "新建任務" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "專案截止日期" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "�擇" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "貼上" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "展開全部" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "新建" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "縮�全部" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "清單" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "��" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "正在排�" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "自訂排列順�" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "資料已經添加" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "�冪順�" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "到期日" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "全部(�設)" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "接下來 7 日" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "接下來 30 日" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "P1" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "P2" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "P3" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "P4" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "篩� �照標籤" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "顯示已經完�" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "在列表中顯示已經完�的任務" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "�尋已經完�任務" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "排��照" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "�新排定行程" #: src/Views/Today.vala:761 msgid "Me" msgstr "我" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "附件" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "開啟" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "找無附件。添加檔案於此。" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "略��置解�" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "�於使用��設連接埠連接的 CalDAV 連接�題的解決方法" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "警告" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" "這將�用 CalDAV 解�程�。\n" "處��程自行承擔風險" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "無論如何都�繼續" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "�任務" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "顯示更多" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "顯示較少" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "複製錯誤訊�" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "有關更多詳細信�,請分享您的日誌記檔案: %s" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "�報�題" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "帳戶�移是必須的。" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "於 %d 分�內" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "於 %d �時內" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "�正發生" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "地點" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "發起人" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "URL" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "行事曆" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "加入" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "�用 SSL �證驗證" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "�作建議 - 會讓您�露於安全風險" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" "這將�用 SSL 驗證並會讓您�露於攻擊。\n" "處��程自行承擔風險" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "任務尚未完�" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "任務已經移動至專案" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "任務移動至" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "�一個" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "釘貼:作用中" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "釘貼:�作用中" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "已經完�於" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "移至專案" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "標記為已經完�" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "%d 任務已經複製至剪貼簿" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "刪除待辦事項" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "您確定�刪除此待辦事項?" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "刪除 %d 個待辦事項" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "您確定�刪除此 %d 個待辦事項嗎?" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "%d 個任務已經移至 %s" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "有新版本�用�" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "立�更新以享�最新的改進�錯誤修正和新進功能,促使 Planify 變得更好" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "立�更新" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "撤除" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "尚未�存" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "尚無�任務添加其中。動手開始��" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "連接伺�器失敗" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" "看似伺�器無法通�,\n" "您已經連接到網路嗎?\n" "在連接�通時您所�的任何更改\n" "當�新連接時將會進行�步。" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "%s 是 %.0f%% 完�度。您�以幫忙�定它�" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "翻譯" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "�助 Planify 通行全�世界" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "�助改進翻譯" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "開始新建翻譯" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "%s 尚未�用。�為第一個進行翻譯的人�" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "Planify - 快速添加" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "已經使用任何處所" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "建立新的任務" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "貼上文字來建立新的任務" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "建立新的專案" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "建立新的階段於專案中" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "�尋" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "開啟快速尋找" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "控制視窗" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "退出" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "開啟�好設定" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "切��邊列" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "開啟�盤快速�" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "導航" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "開啟主�" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "開啟收件箱" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "開啟今日" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "開啟行程" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "開啟標籤" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "開啟釘貼看�" #~ msgid "Advanced Options" #~ msgstr "進階�項" #~ msgid "Server URL examples:" #~ msgstr "伺�器 URL 範例:" #~ msgid "- https://cloud.example.com/" #~ msgstr "- https://cloud.example.com/" #~ msgid "- https://example.com/nextcloud/" #~ msgstr "- https://example.com/nextcloud/" #~ msgid "Token" #~ msgstr "標記" #~ msgid "How to get your token?" #~ msgstr "如何�得您的標記(token)?" #~ msgid "2. Find 'API token' and copy your token" #~ msgstr "2. 找到 'API token' 並複製您的標記(token)" #~ msgid "Connect with Token" #~ msgstr "連接使用標記" #~ msgid "Set a Due Date" #~ msgstr "設定到期日" #~ msgid "Set a Deadline" #~ msgstr "設定截止日期" #~ msgid "Enter token" #~ msgstr "輸入標記(token)" #~ msgid "Please Enter Your Credentials" #~ msgstr "請輸入您的身份驗證" #~ msgid "Loading…" #~ msgstr "載入中…" #~ msgid "Network Is Not Available" #~ msgstr "網路無法作用" #~ msgid "Let Planify run in background and send notifications" #~ msgstr "讓 Planify 在背景執行並發�通知" #~ msgid "Whether Planify should run on startup" #~ msgstr "是� Planify 應於啟動時執行" #~ msgid "" #~ "Planify is being developed with love and passion for open source. " #~ "However, if you like Planify and want to support its development, please " #~ "consider supporting us." #~ msgstr "" #~ "Planify 的開發是�於開�充滿了衷愛與熱情。然而,若您喜歡 Planify 並希望支" #~ "�其發展,請酌�支�我們。" #~ msgid "Donate Now" #~ msgstr "立�贊助�款" #~ msgid "Clear" #~ msgstr "清除" #~ msgid "Menu" #~ msgstr "�單" #~ msgid "Add Time" #~ msgstr "添加時間" #~ msgid "" #~ "Get notified about important tasks or events. Tap the bell button below " #~ "to add a reminder." #~ msgstr "�得有關��任務或事件的通知。點按下方的鈴�按鈕以添加�醒。" #~ msgid "" #~ "Todoist has updated their API. Please reconnect your account in Settings " #~ "to continue syncing." #~ msgstr "Todoist 已經更新其 API。請在“設定�中�新連接您的帳號以繼續�步。" #, c-format #~ msgid "Processing task %d of %d" #~ msgstr "處�任務 %d / %d" #~ msgid "Planify is syncing your tasks, this may take a few minutes" #~ msgstr "Planify 正在�步您的任務,�花費數分�" #~ msgid "Todoist Sync" #~ msgstr "待辦事項清單�步" #~ msgid "Loading" #~ msgstr "載入" #~ msgid "Planner is sync your tasks, this may take a few minutes" #~ msgstr "Planner 正在�步您的任務,會�花費數分�" #~ msgid "Please enter your credentials" #~ msgstr "請輸入您的身份驗證" #, c-format #~ msgid "Every %d minutes" #~ msgstr "�隔 %d 分�" #, c-format #~ msgid "Every %d hours" #~ msgstr "�隔 %d �時" #, c-format #~ msgid "Every %d days" #~ msgstr "�隔 %d 日" #, c-format #~ msgid "Every %d weeks" #~ msgstr "�隔 %d 週" #, c-format #~ msgid "Every %d months" #~ msgstr "�隔 %d 月" #, c-format #~ msgid "Every %d years" #~ msgstr "�隔 %d 年" #, c-format #~ msgid "in %d days" #~ msgstr "於 %d 日內" #, c-format #~ msgid "%d days ago" #~ msgstr "%d 日之�" #, c-format #~ msgid "" #~ "This will delete %d completed tasks and their subtasks from project %s" #~ msgstr "這將刪除 %d 個已經完�的任務�其�任務,來自專案 %s" #, c-format #~ msgid "Load more history from %d weeks ago…" #~ msgstr "載入更多歷�記錄自 %d 週之�…" #~ msgid "Delete Completed Tasks" #~ msgstr "刪除已經完�任務" #, c-format #~ msgid "This will delete %d completed tasks and their subtasks" #~ msgstr "這將刪除 %d 已經完�任務�其�任務" #, c-format #~ msgid "In %d minutes" #~ msgstr "於 %d 分�內" #, c-format #~ msgid "In %d hours" #~ msgstr "於 %d �時內" #, c-format #~ msgid "Delete %d To-Dos" #~ msgstr "刪除 %d 待辦事項" #, c-format #~ msgid "Are you sure you want to delete these %d to-dos?" #~ msgstr "您確定�刪除此 %d 個待辦事項嗎?" #, c-format #~ msgid "%d tasks moved to %s" #~ msgstr "%d 任務移至 %s" #~ msgid "Backup" #~ msgstr "備份" #~ msgid "Task Setting" #~ msgstr "任務設定" #~ msgid "Supporting Us" #~ msgstr "支�我們" #~ msgid "" #~ "Our mission is to provide the best open source task management " #~ "application for users all over the world. Your donations support this " #~ "work. Want to donate today?" #~ msgstr "" #~ "我們的使命是為世界�地的用戶�供最好的開�的任務管�應用程�。您的�款將支" #~ "�這項工作,今天��款嗎?" #~ msgid "Support Planify" #~ msgstr "支� Planify" #~ msgid "Personal Data" #~ msgstr "個人資料" #~ msgid "" #~ "We collect absolutely nothing and all your data is stored in a database " #~ "on your computer." #~ msgstr "我們絕��收集任何資訊,全部您的資料都儲存於資料庫在您的電腦中。" #~ msgid "" #~ "If you choose to integrate Todoist, which is optional and not selected by " #~ "default, your data will be stored on their private servers, we only " #~ "display your configured tasks and manage them for you." #~ msgstr "" #~ "如果您�擇整� Todoist (其為�項而��設�用),您的資料將會儲存在其�有�" #~ "務器上。我們僅顯示您所設置的任務,並為您管�。" #~ msgid "Do you have any questions?" #~ msgstr "您有任何疑�嗎?" #~ msgid "" #~ "If you have any questions about your data or any other issue, please " #~ "contact us. We will be happy to answer you." #~ msgstr "" #~ "如果您�於自己的資料有任何疑�或其他�題,請�絡我們,將樂�為您解答。" #~ msgid "Close" #~ msgstr "關閉" #~ msgid "Clear Schedule" #~ msgstr "清除行程" #~ msgid "Stay open after creating task" #~ msgstr "建立任務之後��開啟" alainm23-planify-69962f8/po/zu.po000066400000000000000000002510621517337276100165150ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: io.github.alainm23.planify\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-03-21 04:43-0500\n" "PO-Revision-Date: 2025-12-14 09:58+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Zulu \n" "Language: zu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.15-dev\n" #: core/Enum.vala:168 src/Dialogs/Preferences/Pages/Backup.vala:352 #: src/Dialogs/Preferences/Pages/General.vala:55 msgid "Projects" msgstr "" #: core/Enum.vala:171 src/Dialogs/Preferences/Pages/Backup.vala:356 msgid "Sections" msgstr "" #: core/Enum.vala:174 core/Enum.vala:183 msgid "Tasks" msgstr "" #: core/Enum.vala:177 core/Enum.vala:540 core/Objects/Filters/Labels.vala:33 #: core/Widgets/LabelPicker/LabelButton.vala:76 src/Dialogs/LabelPicker.vala:46 #: src/Dialogs/Preferences/Pages/Backup.vala:364 src/Layouts/ItemBoard.vala:785 #: src/Layouts/ItemRow.vala:1246 msgid "Labels" msgstr "" #: core/Enum.vala:180 src/Dialogs/Preferences/Pages/HomeView.vala:35 msgid "Filters" msgstr "" #: core/Enum.vala:186 msgid "Lists" msgstr "" #: core/Enum.vala:214 msgid "Don't Repeat" msgstr "" #: core/Enum.vala:216 #, c-format msgid "Every minute" msgid_plural "Every %d minutes" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:218 #, c-format msgid "Every hour" msgid_plural "Every %d hours" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:220 #, c-format msgid "Every day" msgid_plural "Every %d days" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:222 #, c-format msgid "Every week" msgid_plural "Every %d weeks" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:224 #, c-format msgid "Every month" msgid_plural "Every %d months" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:226 #, c-format msgid "Every year" msgid_plural "Every %d years" msgstr[0] "" msgstr[1] "" #: core/Enum.vala:276 src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:39 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:38 msgid "Nextcloud" msgstr "" #: core/Enum.vala:279 core/Services/CalDAV/CalDAVClient.vala:124 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:40 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:42 msgid "CalDAV" msgstr "" #: core/Enum.vala:345 core/Enum.vala:537 core/Widgets/PriorityButton.vala:90 #: src/Views/Project/Project.vala:545 src/Views/Project/Project.vala:590 #: src/Views/Scheduled/Scheduled.vala:231 #: src/Views/Scheduled/Scheduled.vala:260 src/Views/Today.vala:720 #: src/Views/Today.vala:749 src/Widgets/ItemDetailCompleted.vala:82 msgid "Priority" msgstr "" #: core/Enum.vala:348 msgid "Label" msgstr "" #: core/Enum.vala:351 src/Views/Project/Project.vala:543 #: src/Views/Scheduled/Scheduled.vala:229 src/Views/Today.vala:718 msgid "Due Date" msgstr "" #: core/Enum.vala:354 core/Widgets/SectionPicker/SectionButton.vala:35 #: src/Dialogs/CompletedTasks.vala:315 src/Widgets/ItemDetailCompleted.vala:80 msgid "Section" msgstr "" #: core/Enum.vala:357 src/Views/Today.vala:773 msgid "Assignment" msgstr "" #: core/Enum.vala:469 msgid "Task Created" msgstr "" #: core/Enum.vala:472 msgid "Task Updated" msgstr "" #: core/Enum.vala:528 msgid "Content" msgstr "" #: core/Enum.vala:531 src/Dialogs/Project.vala:149 src/Dialogs/Section.vala:91 #: src/Layouts/ItemRow.vala:1948 src/Layouts/ItemSidebarView.vala:181 #: src/Widgets/EventRow.vala:356 src/Widgets/ItemDetailCompleted.vala:115 msgid "Description" msgstr "" #: core/Enum.vala:534 core/Objects/Filters/Scheduled.vala:48 msgid "Scheduled" msgstr "" #: core/Enum.vala:543 core/Widgets/PinButton.vala:41 #: src/Layouts/ItemBoard.vala:766 src/Layouts/ItemBoard.vala:779 #: src/Layouts/ItemRow.vala:1227 src/Layouts/ItemRow.vala:1240 msgid "Pin" msgstr "" #: core/Objects/Filters/AllItems.vala:33 msgid "All Tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all tasks" msgstr "" #: core/Objects/Filters/AllItems.vala:34 msgid "all" msgstr "" #: core/Objects/Filters/Anytime.vala:33 msgid "Anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "anytime" msgstr "" #: core/Objects/Filters/Anytime.vala:34 core/Objects/Filters/Completed.vala:34 #: core/Objects/Filters/Inbox.vala:36 core/Objects/Filters/Labels.vala:34 #: core/Objects/Filters/Pinboard.vala:34 core/Objects/Filters/Priority.vala:139 #: core/Objects/Filters/Repeating.vala:34 #: core/Objects/Filters/Scheduled.vala:49 core/Objects/Filters/Today.vala:50 #: core/Objects/Filters/Tomorrow.vala:34 core/Objects/Filters/Unlabeled.vala:34 msgid "filters" msgstr "" #: core/Objects/Filters/Anytime.vala:34 msgid "no date" msgstr "" #: core/Objects/Filters/Completed.vala:33 #: src/Dialogs/ProductivityReport/SummarySection.vala:58 msgid "Completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "completed" msgstr "" #: core/Objects/Filters/Completed.vala:34 msgid "logbook" msgstr "" #: core/Objects/Filters/Inbox.vala:35 core/Utils/Util.vala:258 #: core/Utils/Util.vala:571 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:157 #: core/Widgets/ProjectPicker/ProjectPickerRow.vala:109 #: src/Views/Project/Board.vala:219 src/Views/Project/List.vala:328 #: src/Views/Project/Project.vala:127 src/Views/Project/Project.vala:196 #: src/Widgets/ProjectItemRow.vala:139 msgid "Inbox" msgstr "" #: core/Objects/Filters/Inbox.vala:36 msgid "inbox" msgstr "" #: core/Objects/Filters/Labels.vala:34 msgid "labels" msgstr "" #: core/Objects/Filters/Pinboard.vala:34 msgid "Pinboard" msgstr "" #: core/Objects/Filters/Priority.vala:127 core/Objects/Item.vala:118 msgid "Priority 1: high" msgstr "" #: core/Objects/Filters/Priority.vala:129 core/Objects/Item.vala:120 msgid "Priority 2: medium" msgstr "" #: core/Objects/Filters/Priority.vala:131 core/Objects/Item.vala:122 msgid "Priority 3: low" msgstr "" #: core/Objects/Filters/Priority.vala:133 core/Objects/Item.vala:124 msgid "Priority 4: none" msgstr "" #: core/Objects/Filters/Priority.vala:182 msgid "high" msgstr "" #: core/Objects/Filters/Priority.vala:184 msgid "medium" msgstr "" #: core/Objects/Filters/Priority.vala:186 msgid "low" msgstr "" #: core/Objects/Filters/Priority.vala:188 msgid "none" msgstr "" #: core/Objects/Filters/Repeating.vala:33 msgid "Repeating" msgstr "" #: core/Objects/Filters/Repeating.vala:34 msgid "repeating" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "scheduled" msgstr "" #: core/Objects/Filters/Scheduled.vala:49 msgid "upcoming" msgstr "" #: core/Objects/Filters/Today.vala:49 core/Utils/Datetime.vala:68 #: core/Utils/Datetime.vala:89 core/Utils/Datetime.vala:631 #: core/Utils/Util.vala:261 core/Widgets/Calendar/CalendarHeader.vala:82 #: core/Widgets/DateTimePicker/DateTimePicker.vala:384 #: src/Dialogs/DatePicker.vala:62 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:285 #: src/Layouts/ItemBoard.vala:773 src/Layouts/ItemRow.vala:1234 #: src/Views/Project/Project.vala:557 src/Views/Project/Project.vala:723 #: src/Views/Today.vala:203 msgid "Today" msgstr "" #: core/Objects/Filters/Today.vala:50 msgid "today" msgstr "" #: core/Objects/Filters/Tomorrow.vala:33 core/Utils/Datetime.vala:70 #: core/Utils/Datetime.vala:633 #: core/Widgets/DateTimePicker/DateTimePicker.vala:390 #: src/Dialogs/DatePicker.vala:66 src/Layouts/ItemBoard.vala:776 #: src/Layouts/ItemRow.vala:1237 msgid "Tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "tomorrow" msgstr "" #: core/Objects/Filters/Tomorrow.vala:34 msgid "date" msgstr "" #: core/Objects/Filters/Unlabeled.vala:33 msgid "Unlabeled" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "no label" msgstr "" #: core/Objects/Filters/Unlabeled.vala:34 msgid "unlabeled" msgstr "" #: core/Objects/Item.vala:1403 src/Services/ExportService.vala:187 msgid "Deadline:" msgstr "" #: core/Objects/Item.vala:1428 msgid "Task copied to clipboard" msgstr "" #: core/Objects/Item.vala:1713 core/Utils/Util.vala:885 #, c-format msgid "Moved to %s" msgstr "" #: core/Objects/Label.vala:220 #, c-format msgid "Delete Label %s" msgstr "" #: core/Objects/Label.vala:221 core/Objects/Project.vala:867 #: core/Objects/Section.vala:377 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:188 #: src/Layouts/ItemSidebarView.vala:579 src/Layouts/SectionBoard.vala:635 #: src/Services/Backups.vala:416 msgid "This can not be undone" msgstr "" #: core/Objects/Label.vala:224 core/Objects/Project.vala:870 #: core/Objects/Project.vala:927 core/Objects/Section.vala:380 #: core/Objects/Section.vala:406 core/Utils/Util.vala:435 #: src/Dialogs/CompletedTasks.vala:172 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:453 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:148 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:115 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:191 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:220 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:107 #: src/Dialogs/Preferences/Pages/Backup.vala:377 #: src/Dialogs/Preferences/Pages/Backup.vala:443 #: src/Dialogs/QuickFind/QuickFind.vala:53 src/Layouts/ItemSidebarView.vala:582 #: src/Layouts/SectionBoard.vala:638 src/Services/Backups.vala:419 #: src/Views/Filter.vala:634 src/Widgets/BypassResolveSwitchRow.vala:48 #: src/Widgets/IgnoreSSLSwitchRow.vala:48 #: src/Widgets/MultiSelectToolbar.vala:314 msgid "Cancel" msgstr "" #: core/Objects/Label.vala:225 core/Objects/Project.vala:871 #: core/Objects/Section.vala:381 core/Widgets/DeadlineButton.vala:207 #: src/Dialogs/CompletedTasks.vala:173 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:192 #: src/Dialogs/Preferences/Pages/Backup.vala:273 #: src/Layouts/ItemSidebarView.vala:583 src/Layouts/SectionBoard.vala:639 #: src/Services/Backups.vala:420 src/Views/Filter.vala:635 #: src/Widgets/AttachmentRow.vala:52 src/Widgets/MultiSelectToolbar.vala:246 #: src/Widgets/MultiSelectToolbar.vala:315 msgid "Delete" msgstr "" #: core/Objects/Project.vala:830 msgid "The project was copied to the Clipboard." msgstr "" #: core/Objects/Project.vala:866 #, c-format msgid "Delete Project %s?" msgstr "" #: core/Objects/Project.vala:923 core/Objects/Section.vala:402 msgid "Archive?" msgstr "" #: core/Objects/Project.vala:924 core/Objects/Section.vala:403 #, c-format msgid "This will archive %s and all its tasks." msgstr "" #: core/Objects/Project.vala:928 core/Objects/Section.vala:407 #: src/Layouts/ProjectRow.vala:708 src/Layouts/SectionBoard.vala:569 #: src/Layouts/SectionRow.vala:672 src/Views/Project/Project.vala:386 msgid "Archive" msgstr "" #: core/Objects/Section.vala:376 src/Layouts/SectionBoard.vala:634 #, c-format msgid "Delete Section %s" msgstr "" #: core/Objects/Source.vala:60 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:38 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:263 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:271 #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:288 msgid "Todoist" msgstr "" #: core/QuickAddCore.vala:148 msgid "Task added successfully!" msgstr "" #: core/QuickAddCore.vala:164 src/Layouts/ItemRow.vala:402 #: src/Layouts/ItemSidebarView.vala:120 src/Widgets/ItemDetailCompleted.vala:52 msgid "To-do name" msgstr "" #: core/QuickAddCore.vala:194 msgid "This field is required" msgstr "" #: core/QuickAddCore.vala:218 src/Dialogs/Project.vala:137 msgid "Add a description…" msgstr "" #: core/QuickAddCore.vala:259 msgid "Set date" msgstr "" #: core/QuickAddCore.vala:271 core/Widgets/LabelPicker/LabelButton.vala:57 #: core/Widgets/LabelPicker/LabelButton.vala:64 msgid "Add Labels" msgstr "" #: core/QuickAddCore.vala:276 core/Widgets/PriorityButton.vala:40 #: core/Widgets/PriorityButton.vala:47 msgid "Set The Priority" msgstr "" #: core/QuickAddCore.vala:281 #: core/Widgets/ReminderPicker/ReminderButton.vala:42 #: core/Widgets/ReminderPicker/ReminderButton.vala:50 #: core/Widgets/ReminderPicker/ReminderButton.vala:67 #: core/Widgets/ReminderPicker/ReminderButton.vala:150 #: core/Widgets/ReminderPicker/ReminderButton.vala:177 msgid "Add Reminders" msgstr "" #: core/QuickAddCore.vala:325 src/Layouts/SectionBoard.vala:562 #: src/Layouts/SectionRow.vala:665 src/Widgets/MagicButton.vala:50 msgid "Add Task" msgstr "" #: core/QuickAddCore.vala:331 core/QuickAddCore.vala:1444 msgid "Keep adding" msgstr "" #: core/QuickAddCore.vala:348 msgid "Select a Project" msgstr "" #: core/QuickAddCore.vala:375 msgid "" "I'm sorry, Quick Add can't find any project available, try creating a " "project from Planify." msgstr "" #: core/QuickAddCore.vala:1406 src/MainWindow.vala:734 msgid "Keyboard Shortcuts" msgstr "" #: core/QuickAddCore.vala:1412 msgid "Speed up task creation with these shortcuts" msgstr "" #: core/QuickAddCore.vala:1426 msgid "Set priority" msgstr "" #: core/QuickAddCore.vala:1426 msgid "p1 = highest, p4 = lowest" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Add labels" msgstr "" #: core/QuickAddCore.vala:1427 msgid "Opens label selector" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Assign project" msgstr "" #: core/QuickAddCore.vala:1428 msgid "Opens project selector" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Set reminder" msgstr "" #: core/QuickAddCore.vala:1429 msgid "Opens reminder options" msgstr "" #: core/QuickAddCore.vala:1444 msgid "Toggle stay open after creating task" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Tip" msgstr "" #: core/QuickAddCore.vala:1450 msgid "Combine shortcuts in the title field for faster creation" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:311 #, c-format msgid "Loading tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:322 #: core/Services/CalDAV/CalDAVClient.vala:354 #, c-format msgid "Loaded tasks for %s…" msgstr "" #: core/Services/CalDAV/CalDAVClient.vala:347 #, c-format msgid "Syncing task %d of %d" msgstr "" #: core/Services/CalDAV/Core.vala:169 msgid "Source already exists" msgstr "" #: core/Services/CalDAV/Core.vala:180 core/Services/CalDAV/Core.vala:227 msgid "Failed to resolve principal url" msgstr "" #: core/Services/CalDAV/Core.vala:237 msgid "Starting sync…" msgstr "" #: core/Services/CalDAV/Core.vala:252 #, c-format msgid "Syncing %s…" msgstr "" #: core/Services/CalDAV/Core.vala:260 msgid "Sync completed" msgstr "" #: core/Services/CalDAV/Core.vala:298 msgid "Authentication Expired" msgstr "" #: core/Services/CalDAV/Core.vala:299 msgid "" "Your session has expired. Please remove and re-add your account in " "Preferences." msgstr "" #: core/Services/CalDAV/Core.vala:306 msgid "Too Many Requests" msgstr "" #: core/Services/CalDAV/Core.vala:307 msgid "" "The server is rate limiting requests. Please wait a few minutes and try " "again." msgstr "" #: core/Services/CalendarEvents/Util.vala:244 msgid "On this computer" msgstr "" #: core/Services/Todoist.vala:33 src/Layouts/SidebarSourceRow.vala:81 msgid "" "Todoist has updated their API. Please reconnect your account in Preferences " "to continue syncing." msgstr "" #: core/Services/Todoist.vala:108 msgid "Invalid API token" msgstr "" #: core/Services/Todoist.vala:1624 src/Widgets/ErrorView.vala:187 msgid "The request was incorrect." msgstr "" #: core/Services/Todoist.vala:1625 src/Widgets/ErrorView.vala:188 msgid "" "Authentication is required, and has failed, or has not yet been provided." msgstr "" #: core/Services/Todoist.vala:1626 src/Widgets/ErrorView.vala:189 msgid "The request was valid, but for something that is forbidden." msgstr "" #: core/Services/Todoist.vala:1627 src/Widgets/ErrorView.vala:190 msgid "The requested resource could not be found." msgstr "" #: core/Services/Todoist.vala:1628 src/Widgets/ErrorView.vala:192 msgid "The user has sent too many requests in a given amount of time." msgstr "" #: core/Services/Todoist.vala:1629 src/Widgets/ErrorView.vala:193 msgid "The request failed due to a server error." msgstr "" #: core/Services/Todoist.vala:1630 src/Widgets/ErrorView.vala:194 msgid "The server is currently unable to handle the request." msgstr "" #: core/Services/Todoist.vala:1633 src/Widgets/ErrorView.vala:197 msgid "Unknown error" msgstr "" #: core/Utils/Datetime.vala:72 core/Utils/Datetime.vala:635 msgid "Yesterday" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "days" msgstr "" #: core/Utils/Datetime.vala:91 core/Utils/Datetime.vala:93 msgid "day" msgstr "" #: core/Utils/Datetime.vala:91 #, c-format msgid "%s %s ago" msgstr "" #: core/Utils/Datetime.vala:93 #, c-format msgid "%s %s left" msgstr "" #: core/Utils/Datetime.vala:103 msgid "%-l:%M:%S %p" msgstr "" #: core/Utils/Datetime.vala:106 msgid "%-l:%M %p" msgstr "" #: core/Utils/Datetime.vala:111 msgid "%H:%M:%S" msgstr "" #: core/Utils/Datetime.vala:114 msgid "%H:%M" msgstr "" #: core/Utils/Datetime.vala:411 msgid "Mo," msgstr "" #: core/Utils/Datetime.vala:415 msgid "Tu," msgstr "" #: core/Utils/Datetime.vala:419 msgid "We," msgstr "" #: core/Utils/Datetime.vala:423 msgid "Th," msgstr "" #: core/Utils/Datetime.vala:427 msgid "Fr," msgstr "" #: core/Utils/Datetime.vala:431 msgid "Sa," msgstr "" #: core/Utils/Datetime.vala:435 msgid "Su," msgstr "" #: core/Utils/Datetime.vala:639 #, c-format msgid "in %d day" msgid_plural "in %d days" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:641 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "" msgstr[1] "" #: core/Utils/Datetime.vala:660 msgid "%a, %b %-e, %Y" msgstr "" #: core/Utils/Datetime.vala:663 msgid "%b %-e %Y" msgstr "" #: core/Utils/Datetime.vala:666 core/Widgets/Calendar/CalendarHeader.vala:36 #: core/Widgets/Calendar/CalendarHeader.vala:57 msgid "%Y" msgstr "" #: core/Utils/Datetime.vala:669 msgid "%b %-e" msgstr "" #: core/Utils/Datetime.vala:672 msgid "%a %Y" msgstr "" #: core/Utils/Datetime.vala:675 #, c-format msgid "%a" msgstr "" #: core/Utils/Datetime.vala:678 msgid "%a, %b %-e" msgstr "" #: core/Utils/Datetime.vala:681 msgid "%b" msgstr "" #: core/Utils/Util.vala:41 msgid "Berry Red" msgstr "" #: core/Utils/Util.vala:42 msgid "Red" msgstr "" #: core/Utils/Util.vala:43 msgid "Orange" msgstr "" #: core/Utils/Util.vala:44 msgid "Yellow" msgstr "" #: core/Utils/Util.vala:45 msgid "Olive Green" msgstr "" #: core/Utils/Util.vala:46 msgid "Lime Green" msgstr "" #: core/Utils/Util.vala:47 msgid "Green" msgstr "" #: core/Utils/Util.vala:48 msgid "Mint Green" msgstr "" #: core/Utils/Util.vala:49 msgid "Teal" msgstr "" #: core/Utils/Util.vala:50 msgid "Sky Blue" msgstr "" #: core/Utils/Util.vala:51 msgid "Light Blue" msgstr "" #: core/Utils/Util.vala:52 msgid "Blue" msgstr "" #: core/Utils/Util.vala:53 msgid "Grape" msgstr "" #: core/Utils/Util.vala:54 msgid "Violet" msgstr "" #: core/Utils/Util.vala:55 msgid "Lavender" msgstr "" #: core/Utils/Util.vala:56 msgid "Magenta" msgstr "" #: core/Utils/Util.vala:57 msgid "Salmon" msgstr "" #: core/Utils/Util.vala:58 msgid "Charcoal" msgstr "" #: core/Utils/Util.vala:59 msgid "Grey" msgstr "" #: core/Utils/Util.vala:60 msgid "Taupe" msgstr "" #: core/Utils/Util.vala:218 msgid "Light" msgstr "" #: core/Utils/Util.vala:221 msgid "Dark" msgstr "" #: core/Utils/Util.vala:224 msgid "Dark Blue" msgstr "" #: core/Utils/Util.vala:255 src/Dialogs/Preferences/Pages/TaskSetting.vala:55 #: src/Views/Today.vala:768 msgid "None" msgstr "" #: core/Utils/Util.vala:264 msgid "Today + Inbox" msgstr "" #: core/Utils/Util.vala:436 msgid "Delete All" msgstr "" #: core/Utils/Util.vala:450 msgid "Process completed, you need to start Planify again." msgstr "" #: core/Utils/Util.vala:452 msgid "Ok" msgstr "" #: core/Utils/Util.vala:562 msgid "On This Computer" msgstr "" #: core/Utils/Util.vala:587 msgid "Meet Planify" msgstr "" #: core/Utils/Util.vala:590 msgid "" "This project shows you everything you need to know to hit the ground " "running. Don’t hesitate to play around with it – you can always recreate it " "from Preferences." msgstr "" #: core/Utils/Util.vala:597 msgid "Tap this task" msgstr "" #: core/Utils/Util.vala:598 msgid "" "You're looking at a to-do! Complete it by tapping the checkbox on the left. " msgstr "" #: core/Utils/Util.vala:603 msgid "Create a new task" msgstr "" #: core/Utils/Util.vala:604 msgid "" "Now it's your turn! Tap the '+' button at the bottom of your project, enter " "a task description, and tap the 'Add Task' button." msgstr "" #: core/Utils/Util.vala:609 msgid "Plan this to-do for today or later" msgstr "" #: core/Utils/Util.vala:610 msgid "" "Tap the calendar button at the bottom to decide when to complete this to-do." msgstr "" #: core/Utils/Util.vala:615 msgid "Reorder your to-dos" msgstr "" #: core/Utils/Util.vala:616 msgid "" "To reorder your list, tap and hold a to-do, then drag it to where it should " "go." msgstr "" #: core/Utils/Util.vala:621 msgid "Create a project" msgstr "" #: core/Utils/Util.vala:622 msgid "" "Organize your to-dos better! Go to the left panel and click the '+' button " "in the 'On This Computer' section and add a project of your own." msgstr "" #: core/Utils/Util.vala:627 msgid "You’re done!" msgstr "" #: core/Utils/Util.vala:628 msgid "" "That’s all you really need to know. Feel free to start adding your own " "projects and to-dos.\n" "You can come back to this project later to learn the advanced features " "below.\n" "We hope you’ll enjoy using Planify!" msgstr "" #: core/Utils/Util.vala:642 msgid "Tune your setup" msgstr "" #: core/Utils/Util.vala:650 msgid "Show your calendar events" msgstr "" #: core/Utils/Util.vala:651 msgid "" "You can display your system's calendar events in Planify. Go to " "'Preferences' 🡒 General 🡒 Calendar Events to turn it on." msgstr "" #: core/Utils/Util.vala:657 msgid "Enable synchronization with third-party services" msgstr "" #: core/Utils/Util.vala:658 msgid "" "Planify not only creates tasks locally, but can also synchronize with your " "Todoist account. Go to 'Preferences' 🡒 'Accounts'." msgstr "" #: core/Utils/Util.vala:666 msgid "Boost your productivity" msgstr "" #: core/Utils/Util.vala:674 msgid "Drag the plus button!" msgstr "" #: core/Utils/Util.vala:675 msgid "" "That blue button you see at the bottom of each screen is more powerful than " "it looks: it's made to move! Drag it up to create a task wherever you want." msgstr "" #: core/Utils/Util.vala:681 msgid "Add labels to your tasks!" msgstr "" #: core/Utils/Util.vala:682 msgid "" "Labels help you organize and categorize your tasks. To add a label, click " "the label button at the bottom." msgstr "" #: core/Utils/Util.vala:688 msgid "Set timely reminders!" msgstr "" #: core/Utils/Util.vala:689 msgid "" "Get notified about important tasks or events. Tap the clock button below to " "add a reminder." msgstr "" #: core/Utils/Util.vala:700 msgid "💼�Work" msgstr "" #: core/Utils/Util.vala:706 msgid "🎒�School" msgstr "" #: core/Utils/Util.vala:712 msgid "👉�Delegated" msgstr "" #: core/Utils/Util.vala:718 msgid "��Home" msgstr "" #: core/Utils/Util.vala:724 msgid "��♀��Follow Up" msgstr "" #: core/Utils/Util.vala:965 msgid "Task duplicated" msgstr "" #: core/Utils/Util.vala:1001 msgid "Section duplicated" msgstr "" #: core/Utils/Util.vala:1027 core/Utils/Util.vala:1053 msgid "Project duplicated" msgstr "" #: core/Utils/Util.vala:1095 src/Dialogs/Preferences/Pages/TaskSetting.vala:155 msgid "At due time" msgstr "" #: core/Utils/Util.vala:1098 src/Dialogs/Preferences/Pages/TaskSetting.vala:156 msgid "10 minutes before" msgstr "" #: core/Utils/Util.vala:1101 src/Dialogs/Preferences/Pages/TaskSetting.vala:157 msgid "30 minutes before" msgstr "" #: core/Utils/Util.vala:1104 src/Dialogs/Preferences/Pages/TaskSetting.vala:158 msgid "45 minutes before" msgstr "" #: core/Utils/Util.vala:1107 src/Dialogs/Preferences/Pages/TaskSetting.vala:159 msgid "1 hour before" msgstr "" #: core/Utils/Util.vala:1110 src/Dialogs/Preferences/Pages/TaskSetting.vala:160 msgid "2 hours before" msgstr "" #: core/Utils/Util.vala:1113 src/Dialogs/Preferences/Pages/TaskSetting.vala:161 msgid "3 hours before" msgstr "" #: core/Widgets/Calendar/CalendarDay.vala:103 msgid "%A, %B %e, %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:35 #: core/Widgets/Calendar/CalendarHeader.vala:54 msgid "%OB" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:64 src/Layouts/HeaderBar.vala:88 msgid "Back" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:66 msgid "Previous month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:71 msgid "Forward" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:73 msgid "Next month" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #, c-format msgid "Previous month, %s" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:110 #: core/Widgets/Calendar/CalendarHeader.vala:112 msgid "%B %Y" msgstr "" #: core/Widgets/Calendar/CalendarHeader.vala:112 #, c-format msgid "Next month, %s" msgstr "" #: core/Widgets/Calendar/CalendarMonth.vala:82 #: core/Widgets/Calendar/CalendarMonth.vala:183 #: core/Widgets/Calendar/CalendarMonth.vala:201 msgid "Choose a date" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:46 #: core/Widgets/DateTimePicker/RepeatConfig.vala:173 msgid "Su" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:47 #: core/Widgets/DateTimePicker/RepeatConfig.vala:137 msgid "Mo" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:48 #: core/Widgets/DateTimePicker/RepeatConfig.vala:143 msgid "Tu" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:49 #: core/Widgets/DateTimePicker/RepeatConfig.vala:149 msgid "We" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:50 #: core/Widgets/DateTimePicker/RepeatConfig.vala:155 msgid "Th" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:51 #: core/Widgets/DateTimePicker/RepeatConfig.vala:161 msgid "Fr" msgstr "" #: core/Widgets/Calendar/CalendarWeek.vala:52 #: core/Widgets/DateTimePicker/RepeatConfig.vala:167 msgid "Sa" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:80 #: core/Widgets/DateTimePicker/DateTimePicker.vala:190 #: core/Widgets/DateTimePicker/DateTimePicker.vala:520 #: core/Widgets/ReminderPicker/ReminderPicker.vala:140 msgid "Time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:91 #: core/Widgets/DateTimePicker/DateTimePicker.vala:843 #: core/Widgets/DateTimePicker/RepeatConfig.vala:430 #: core/Widgets/DateTimePicker/ScheduleButton.vala:245 #: src/Layouts/ItemBoard.vala:689 src/Layouts/ItemRow.vala:1177 msgid "until" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "for" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "times" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:94 #: core/Widgets/DateTimePicker/DateTimePicker.vala:846 #: core/Widgets/DateTimePicker/RepeatConfig.vala:434 #: core/Widgets/DateTimePicker/ScheduleButton.vala:248 #: src/Layouts/ItemBoard.vala:692 src/Layouts/ItemRow.vala:1180 msgid "time" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:105 #: core/Widgets/DateTimePicker/DateTimePicker.vala:192 #: core/Widgets/DateTimePicker/RepeatConfig.vala:89 msgid "Repeat" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:161 msgid "Type a date…" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:396 msgid "Next week" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:538 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:151 msgid "Save" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:574 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:102 msgid "Daily" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:578 msgid "Weekdays" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:582 msgid "Weekends" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:586 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:118 msgid "Weekly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:590 msgid "Monthly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:594 msgid "Yearly" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:598 msgid "Custom" msgstr "" #: core/Widgets/DateTimePicker/DateTimePicker.vala:870 msgid "No date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Minute(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Hour(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Day(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Week(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Month(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:121 msgid "Year(s)" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:199 msgid "Never" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:203 msgid "On Date" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:207 msgid "After" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:255 #: core/Widgets/MarkdownEditor.vala:1382 src/Layouts/ItemBoard.vala:846 #: src/Layouts/ItemRow.vala:1314 msgid "Apply" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:268 msgid "Repeat every" msgstr "" #: core/Widgets/DateTimePicker/RepeatConfig.vala:275 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:78 msgid "End" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:68 #: core/Widgets/DateTimePicker/ScheduleButton.vala:77 msgid "Date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:72 #: core/Widgets/DateTimePicker/ScheduleButton.vala:80 #: core/Widgets/DateTimePicker/ScheduleButton.vala:209 #: core/Widgets/DateTimePicker/ScheduleButton.vala:213 msgid "The date you plan to work on this task" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:129 msgid "Remove date" msgstr "" #: core/Widgets/DateTimePicker/ScheduleButton.vala:170 #: core/Widgets/DateTimePicker/ScheduleButton.vala:208 msgid "When do you plan to work on this?" msgstr "" #: core/Widgets/DeadlineButton.vala:51 core/Widgets/DeadlineButton.vala:131 msgid "Set Deadline" msgstr "" #: core/Widgets/DeadlineButton.vala:54 core/Widgets/DeadlineButton.vala:86 #: core/Widgets/DeadlineButton.vala:93 core/Widgets/DeadlineButton.vala:100 #: core/Widgets/DeadlineButton.vala:135 msgid "The latest date to complete this task" msgstr "" #: core/Widgets/DeadlineButton.vala:56 core/Widgets/DeadlineButton.vala:153 msgid "What is the latest date to complete this?" msgstr "" #: core/Widgets/DeadlineButton.vala:148 src/Services/ExportService.vala:73 msgid "Deadline" msgstr "" #: core/Widgets/LabelPicker/LabelButton.vala:81 #: core/Widgets/LabelPicker/LabelButton.vala:135 msgid "Select Labels" msgstr "" #: core/Widgets/LabelPicker/LabelQuickPicker.vala:191 #, c-format msgid "Label not found: Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:68 msgid "" "Your list of filters will show up here. Create one by entering the name and " "pressing the Enter key." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:69 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:64 #, c-format msgid "Create '%s'" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:87 msgid "Your list of filters will show up here." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 #: core/Widgets/SectionPicker/SectionPicker.vala:39 #: src/Dialogs/CompletedTasks.vala:63 msgid "Search" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:91 msgid "Search or Create" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:102 msgid "Hide unused labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:313 #: core/Widgets/LabelPicker/LabelsPickerCore.vala:396 msgid "No Labels" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:388 msgid "All Hidden" msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:389 msgid "All labels are hidden by the filter. Disable the filter to see them." msgstr "" #: core/Widgets/LabelPicker/LabelsPickerCore.vala:394 msgid "Press Enter to create and assign it" msgstr "" #: core/Widgets/MarkdownEditor.vala:1387 msgid "Remove link" msgstr "" #: core/Widgets/PriorityButton.vala:95 core/Widgets/PriorityButton.vala:135 #: core/Widgets/PriorityButton.vala:200 msgid "Priority 4: None" msgstr "" #: core/Widgets/PriorityButton.vala:126 core/Widgets/PriorityButton.vala:182 msgid "Priority 1: High" msgstr "" #: core/Widgets/PriorityButton.vala:129 msgid "Priority 2: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:132 msgid "Priority 3: Low" msgstr "" #: core/Widgets/PriorityButton.vala:188 msgid "Priority 1: Medium" msgstr "" #: core/Widgets/PriorityButton.vala:194 msgid "Priority 1: Low" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:63 msgid "Your list of section will show up here." msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:94 #: core/Widgets/ProjectPicker/ProjectPickerButton.vala:132 #: core/Widgets/SectionPicker/SectionButton.vala:88 #: core/Widgets/SectionPicker/SectionPicker.vala:96 #: core/Widgets/SectionPicker/SectionPickerRow.vala:38 #: src/Widgets/CompletedTaskRow.vala:77 src/Widgets/ItemDetailCompleted.vala:80 msgid "No Section" msgstr "" #: core/Widgets/ProjectPicker/ProjectPickerCore.vala:46 msgid "Type a search" msgstr "" #: core/Widgets/ReminderPicker/ReminderButton.vala:62 #: core/Widgets/ReminderPicker/ReminderPicker.vala:108 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:146 msgid "Reminders" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:110 msgid "" "Your list of reminders will show up here. Add one by clicking the '+' button." msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:154 msgid "Add Reminder" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:189 msgid "In 5 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:190 msgid "In 15 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:191 msgid "In 30 minutes" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:192 msgid "In 1 hour" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:193 msgid "In 3 hours" msgstr "" #: core/Widgets/ReminderPicker/ReminderPicker.vala:194 msgid "In 6 hours" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:30 msgid "Set Section" msgstr "" #: core/Widgets/SectionPicker/SectionButton.vala:40 msgid "Select Section" msgstr "" #: core/Widgets/StatusButton.vala:32 msgid "Set The Status" msgstr "" #: core/Widgets/StatusButton.vala:39 msgid "Status" msgstr "" #: core/Widgets/StatusButton.vala:44 core/Widgets/StatusButton.vala:76 #: core/Widgets/StatusButton.vala:114 msgid "To Do" msgstr "" #: core/Widgets/StatusButton.vala:77 core/Widgets/StatusButton.vala:111 #: src/Layouts/ItemBoard.vala:788 src/Layouts/ItemRow.vala:1249 #: src/Services/Notification.vala:98 msgid "Complete" msgstr "" #: src/App.vala:183 msgid "" "Planify will automatically start when this device turns on and run when its " "window is closed so that it can send to-do notifications." msgstr "" #: src/Dialogs/CalendarSync.vala:33 src/Dialogs/CalendarSync.vala:39 #: src/Views/Project/Project.vala:444 msgid "Calendar Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:45 msgid "" "Turn your tasks into calendar events automatically. Any task with a date " "will appear in your calendar, making it easier to plan your day." msgstr "" #: src/Dialogs/CalendarSync.vala:53 msgid "" "Requirement: You need a calendar account configured in GNOME Calendar " "(Google, Nextcloud, etc.)" msgstr "" #: src/Dialogs/CalendarSync.vala:62 msgid "" "Get mobile notifications for your tasks through Google Calendar, Outlook, or " "any calendar app" msgstr "" #: src/Dialogs/CalendarSync.vala:63 msgid "" "Your tasks sync everywhere: phone, tablet, web browser, and any device with " "your calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:83 msgid "Choose Calendar" msgstr "" #: src/Dialogs/CalendarSync.vala:88 msgid "Select a calendar from the list" msgstr "" #: src/Dialogs/CalendarSync.vala:113 msgid "Enable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:184 msgid "Calendar sync disabled successfully" msgstr "" #: src/Dialogs/CalendarSync.vala:223 src/Views/Project/Project.vala:62 msgid "Calendar Sync Active" msgstr "" #: src/Dialogs/CalendarSync.vala:228 msgid "" "Your tasks are currently synced with your calendar. Any task with a date " "automatically appears as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:247 msgid "Disable Sync" msgstr "" #: src/Dialogs/CalendarSync.vala:279 #, c-format msgid "Synced with: %s" msgstr "" #: src/Dialogs/CalendarSync.vala:292 msgid "Sync Enabled!" msgstr "" #: src/Dialogs/CalendarSync.vala:297 msgid "" "Your tasks are now synced with your calendar. Any task with a date will " "automatically appear as a calendar event." msgstr "" #: src/Dialogs/CalendarSync.vala:305 msgid "OK" msgstr "" #: src/Dialogs/CompletedTasks.vala:39 src/Dialogs/CompletedTasks.vala:134 msgid "Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:59 msgid "View Filter Menu" msgstr "" #: src/Dialogs/CompletedTasks.vala:95 msgid "No completed tasks yet." msgstr "" #: src/Dialogs/CompletedTasks.vala:122 src/Dialogs/CompletedTasks.vala:163 #: src/Views/Filter.vala:603 msgid "Delete All Completed Tasks" msgstr "" #: src/Dialogs/CompletedTasks.vala:165 #, c-format msgid "This will delete %d completed task and its subtasks from project %s" msgid_plural "" "This will delete %d completed tasks and their subtasks from project %s" msgstr[0] "" msgstr[1] "" #: src/Dialogs/CompletedTasks.vala:322 src/Views/Project/Project.vala:640 #: src/Views/Scheduled/Scheduled.vala:271 src/Views/Today.vala:780 msgid "Filter By" msgstr "" #: src/Dialogs/DatePicker.vala:69 msgid "Next Week" msgstr "" #: src/Dialogs/DatePicker.vala:74 src/Layouts/ItemBoard.vala:781 #: src/Layouts/ItemRow.vala:1242 src/Views/Project/Project.vala:562 #: src/Views/Project/Project.vala:733 msgid "No Date" msgstr "" #: src/Dialogs/DatePicker.vala:106 src/Widgets/MultiSelectToolbar.vala:89 msgid "Done" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:35 src/Layouts/ItemRow.vala:1378 #: src/Layouts/ItemSidebarView.vala:497 msgid "Change History" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:54 msgid "Added at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:56 msgid "Not available" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:60 msgid "Updated at" msgstr "" #: src/Dialogs/ItemChangeHistory.vala:69 msgid "" "Your change history will be displayed here once you start making changes." msgstr "" #: src/Dialogs/ItemChangeHistory.vala:138 #, c-format msgid "Load more history from %d week ago…" msgid_plural "Load more history from %d weeks ago…" msgstr[0] "" msgstr[1] "" #: src/Dialogs/Label.vala:45 msgid "New Label" msgstr "" #: src/Dialogs/Label.vala:52 src/Layouts/LabelRow.vala:161 msgid "Edit Label" msgstr "" #: src/Dialogs/Label.vala:65 msgid "Give your label a name" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Add Label" msgstr "" #: src/Dialogs/Label.vala:89 msgid "Update Label" msgstr "" #: src/Dialogs/LabelPicker.vala:62 msgid "Filter" msgstr "" #: src/Dialogs/ManageProjects.vala:29 src/MainWindow.vala:739 msgid "Archived Projects" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:34 src/Layouts/SectionRow.vala:668 #: src/Views/Project/Project.vala:379 msgid "Manage Sections" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:54 msgid "You can sort your sections by dragging and dropping" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:76 msgid "Archived" msgstr "" #: src/Dialogs/ManageSectionOrder.vala:184 src/Layouts/SectionBoard.vala:77 #: src/Layouts/SectionRow.vala:88 msgid "(No Section)" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:29 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:63 #: src/Dialogs/Preferences/PreferencesWindow.vala:49 msgid "Accounts" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:59 msgid "Add Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:90 msgid "Inbox Page" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:105 msgid "You can sort your accounts by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:226 #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:593 msgid "Planify is syncing your tasks, this may take a few moments" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:299 msgid "SSL verification is disabled" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:309 msgid "Authentication expired" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:327 msgid "Account migration required" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:331 msgid "Reconnect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:449 msgid "Cannot Hide This Account" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:450 msgid "" "This account contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:454 #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:221 msgid "Change Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/Accounts.vala:563 msgid "Syncing…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:56 msgid "Connect to CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:61 msgid "Connect to any CalDAV-compatible server to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:77 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:73 msgid "Server URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:80 msgid "Username" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:83 msgid "Password" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:94 msgid "Calendar Home URL" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:104 msgid "Advanced" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:119 #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Show advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:137 msgid "Hide advanced options" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala:141 #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:108 msgid "Log In" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:28 msgid "Inbox Project" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala:37 msgid "" "Your Inbox is where new tasks land by default. Based on David Allen's " "Getting Things Done methodology, it's your capture point for quick ideas and " "tasks that you'll organize later" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:52 msgid "Connect to Nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:57 msgid "Sign in with your Nextcloud account to sync tasks via CalDAV" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:78 msgid "https://cloud.example.com" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:83 msgid "https://example.com/nextcloud" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala:100 msgid "URL examples" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:29 #: src/Dialogs/Project.vala:179 msgid "Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:74 msgid "Display Name" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:80 msgid "Sync Server" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:83 msgid "" "Activate this setting so that Planify automatically synchronizes with your " "account account every 15 minutes" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:96 msgid "Last Sync" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:111 msgid "Delete Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:187 msgid "Delete Source?" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:216 msgid "Cannot Delete This Source" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/SourceView.vala:217 msgid "" "This source contains your current Inbox project. Please change your Inbox " "project first." msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:89 msgid "Connect to Todoist" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:94 msgid "Sign in with your Todoist account to sync your tasks" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:101 msgid "Sign in with Browser" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:113 msgid "Use API Token instead" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:155 msgid "API Token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:160 msgid "Connect using your personal Todoist API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:176 msgid "Paste your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:181 msgid "Connect" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:188 msgid "1. Go to Todoist → Settings → Integrations → Developer" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:193 msgid "2. Copy your API token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:198 msgid "3. Paste it in the field above" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:216 msgid "How to get your token" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:255 msgid "Waiting for login…" msgstr "" #: src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala:292 msgid "Synchronizing…" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:110 msgid "Appearance" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:51 msgid "Use System Settings" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:61 msgid "Select theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:70 msgid "Light Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:71 msgid "Clean light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:87 msgid "Dark Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:88 msgid "Elegant dark theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:104 msgid "Dark Blue Style" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:105 msgid "Professional blue theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:121 msgid "Custom themes are not available when using the system light theme" msgstr "" #: src/Dialogs/Preferences/Pages/Appearance.vala:159 msgid "Font Size" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:132 msgid "Backups" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:38 msgid "" "Never worry about losing your data. You can create backups of your active " "projects, tasks and comments and import them later." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:48 msgid "Create Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:52 msgid "Import Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:54 msgid "Backup Files" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:57 msgid "No backups found, create one clicking the button above." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:62 #, c-format msgid "Backup files are stored in: %s" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:76 msgid "Migrate" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:78 msgid "Migrate From Planner" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:112 msgid "The Backup was created successfully." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:129 msgid "Tasks Migrate Successfully" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:133 msgid "The database file does not exist." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:171 msgid "Selected file is invalid" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:216 msgid "View Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:272 msgid "Download" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:336 msgid "Import Overview" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:348 src/Dialogs/Project.vala:404 msgid "Sources" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:360 msgid "To-Dos" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:382 msgid "Confirm" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:438 msgid "Restore backup" msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:439 msgid "" "Are you sure you want to continue? This operation will delete your current " "data and replace it with the backup data." msgstr "" #: src/Dialogs/Preferences/Pages/Backup.vala:444 msgid "Restore Backup" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:158 msgid "Donate" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:53 msgid "Support Planify Development" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:58 msgid "" "Help keep Planify free and open source! Your donations directly support " "development, new features, and maintenance. Every contribution, no matter " "the size, makes a difference." msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:74 msgid "Patreon" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:75 msgid "Monthly recurring support" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:88 msgid "PayPal" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:89 msgid "One-time donation" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:102 msgid "Liberapay" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:103 msgid "Weekly recurring donations" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:116 msgid "Ko-fi" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:117 msgid "Buy me a coffee ☕" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:128 msgid "Choose Your Preferred Platform" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:142 msgid "Thank you for your support! �" msgstr "" #: src/Dialogs/Preferences/Pages/Donate.vala:149 msgid "Your contribution helps keep Planify alive and growing." msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:26 #: src/Dialogs/Preferences/Pages/TaskSetting.vala:36 #: src/Dialogs/Preferences/PreferencesWindow.vala:78 msgid "General" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:36 msgid "Custom Sort Order" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:37 #: src/Views/Project/Project.vala:542 src/Views/Scheduled/Scheduled.vala:228 #: src/Views/Today.vala:717 msgid "Alphabetically" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:40 msgid "Sort by" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:45 msgid "Ascending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:46 msgid "Descending" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:49 msgid "Ordered" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:60 msgid "DE Integration" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:69 msgid "Run on Startup" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:70 msgid "Launch Planify automatically when you start your computer" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:82 msgid "Run in Background" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:83 msgid "Keep Planify running in the system tray when closing the window" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:96 msgid "Calendar Events" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:103 msgid "GNOME Shell Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:104 msgid "" "Search tasks and projects directly from GNOME Shell. Enable it in Settings → " "Search" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:109 msgid "Date and Time" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:112 msgid "24h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:113 msgid "12h" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:116 msgid "Clock Format" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:123 msgid "Sunday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:124 msgid "Monday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:125 msgid "Tuesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:126 msgid "Wednesday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:127 msgid "Thursday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:128 msgid "Friday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:129 msgid "Saturday" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:132 msgid "Start of the Week" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:144 msgid "Smart Date Recognition" msgstr "" #: src/Dialogs/Preferences/Pages/General.vala:145 msgid "Automatically detect dates like \"tomorrow\" or \"next week\"" msgstr "" #: src/Dialogs/Preferences/Pages/HomeView.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:64 msgid "Home View" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:121 msgid "Quick Add" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:43 msgid "" "Use Quick Add to create to-dos from anywhere on your desktop with just a few " "keystrokes. You don’t even have to leave the app you’re currently in." msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:55 msgid "" "Head to System Settings → Keyboard → Shortcuts → Custom, then add a new " "shortcut with the following:" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:84 src/Dialogs/Project.vala:247 msgid "Settings" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:92 msgid "Save Last Selected Project" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:93 msgid "If unchecked, the default project selected is Inbox" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:103 msgid "Keep Task Properties" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:104 msgid "When 'Keep adding' is enabled, preserve date, labels, and pinned status" msgstr "" #: src/Dialogs/Preferences/Pages/QuickAdd.vala:133 msgid "The command was copied to the clipboard" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:28 #: src/Dialogs/Preferences/PreferencesWindow.vala:99 msgid "Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:37 msgid "Show in Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:55 msgid "Show Task Count" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:60 msgid "Sidebar Width" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:65 msgid "List View for Filters" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:66 msgid "Show filters in a simple list instead of a grid" msgstr "" #: src/Dialogs/Preferences/Pages/Sidebar.vala:87 msgid "You can sort your views by dragging and dropping" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:26 #: src/Dialogs/Preferences/PreferencesWindow.vala:89 msgid "Task Settings" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:40 msgid "Complete Instantly" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:41 msgid "Complete with Undo" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:44 msgid "Task Completion" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:45 msgid "Choose how tasks behave when marked as complete" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:52 msgid "Priority 1" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:53 msgid "Priority 2" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:54 msgid "Priority 3" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:58 msgid "Default Priority" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:70 msgid "Cross Out Completed Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:77 msgid "Start" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:81 msgid "New Task Position" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:88 msgid "Always Show Completed Sub-Tasks" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:89 msgid "Keep all completed subtasks visible without collapsing them" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:96 msgid "Task Complete Tone" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:97 msgid "Play a sound when tasks are completed" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:104 msgid "Open Tasks in Sidebar View" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:105 msgid "" "Always display task details in the sidebar instead of expanding in list view." msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:112 msgid "Single Task Focus Mode" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:113 msgid "Allow only one task to be expanded at a time in list view" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:122 msgid "Enable Markdown Formatting" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:123 msgid "Toggle Markdown support for tasks on or off" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:130 msgid "Always Show Details Sidebar" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:131 msgid "" "Keep the details sidebar always visible for faster task navigation, without " "repeatedly opening and closing it" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:138 msgid "Enable Spell Checking" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:139 msgid "Check spelling in task descriptions and notes" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:150 #: src/Dialogs/Project.vala:233 msgid "Enabled" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:164 msgid "Automatic reminders" msgstr "" #: src/Dialogs/Preferences/Pages/TaskSetting.vala:166 msgid "" "When enabled, a reminder before the task’s due time will be added by default." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:40 src/MainWindow.vala:729 msgid "Preferences" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:50 msgid "Sync your favorite to-do providers" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:65 msgid "Set the view shown at first launch" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:79 msgid "Customize to your liking" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:100 msgid "Customize your sidebar" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:122 msgid "Adding to-do's from anywhere" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:133 msgid "Backup or migrate from Planner." msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:139 msgid "Create Tutorial Project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:140 msgid "Learn the app step by step with a short tutorial project" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:159 msgid "Want to buy me a drink?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:169 msgid "Report Issue or Request Feature" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:170 msgid "Share bugs or ideas on GitHub" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:196 msgid "Get Involved" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:206 msgid "Reach Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:212 msgid "Contact Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:213 msgid "Request a feature or ask us anything" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:229 msgid "Tweet Us" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:230 #: src/Dialogs/Preferences/PreferencesWindow.vala:260 msgid "Share some love" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:244 msgid "Discord" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:245 msgid "Discuss and share your feedback" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:259 msgid "Mastodon" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:278 msgid "Privacy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:284 msgid "Privacy Policy" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:285 msgid "We have nothing on you" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:291 msgid "Delete App Data" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:300 msgid "A tutorial project has been created" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:316 msgid "Delete All Data?" msgstr "" #: src/Dialogs/Preferences/PreferencesWindow.vala:317 msgid "Deletes all your lists, tasks, and reminders irreversibly" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:30 #: src/Dialogs/ProductivityReport/ProductivityReport.vala:242 #: src/MainWindow.vala:732 msgid "Summary & Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:86 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:260 msgid "Set Up Goals" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:91 msgid "Define how many tasks you want to complete per day and week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:250 msgid "Summary Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:251 msgid "Detailed summary will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:259 #: src/Dialogs/ProductivityReport/SummarySection.vala:33 msgid "Summary" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:267 msgid "Productivity Details" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:268 msgid "Detailed productivity stats will appear here" msgstr "" #: src/Dialogs/ProductivityReport/ProductivityReport.vala:276 #: src/Dialogs/ProductivityReport/ProductivitySection.vala:40 msgid "Productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:45 #: src/Dialogs/ProductivityReport/SummarySection.vala:38 #: src/MainWindow.vala:808 msgid "See More" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:204 msgid "All goals achieved! You're unstoppable" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:208 msgid "Daily goal crushed! Keep the momentum going" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:212 msgid "Weekly goal achieved! Enjoy the rest of your week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:216 msgid "Start your day, your first task awaits" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:220 msgid "Almost there! Just a few more tasks today" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:224 msgid "Great pace this week, you're almost at your goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:228 msgid "Halfway through your daily goal, nice progress" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:232 msgid "Solid week so far, keep it up" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:235 msgid "Every task completed is a step forward" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:253 msgid "Set your daily and weekly goals to start tracking your productivity" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:286 #: src/Views/Project/Project.vala:558 src/Views/Project/Project.vala:725 msgid "This Week" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:287 #: src/Views/Project/Project.vala:560 src/Views/Project/Project.vala:729 msgid "This Month" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:300 msgid "Daily Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:328 msgid "Weekly Goal" msgstr "" #: src/Dialogs/ProductivityReport/ProductivitySection.vala:380 msgid "Edit Goals" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:56 msgid "Total" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:57 msgid "Pending" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:59 #: src/Views/Scheduled/ScheduledOverdue.vala:38 src/Views/Today.vala:155 msgid "Overdue" msgstr "" #: src/Dialogs/ProductivityReport/SummarySection.vala:73 msgid "Progress" msgstr "" #: src/Dialogs/Project.vala:60 src/Layouts/Sidebar.vala:121 msgid "New Project" msgstr "" #: src/Dialogs/Project.vala:68 src/Layouts/ProjectRow.vala:704 #: src/Views/Project/Project.vala:374 msgid "Edit Project" msgstr "" #: src/Dialogs/Project.vala:113 msgid "Give your project a name" msgstr "" #: src/Dialogs/Project.vala:124 msgid "Use Emoji" msgstr "" #: src/Dialogs/Project.vala:218 src/Views/Label/LabelSourceRow.vala:56 msgid "Add Project" msgstr "" #: src/Dialogs/Project.vala:218 msgid "Update Project" msgstr "" #: src/Dialogs/Project.vala:232 msgid "Global Default" msgstr "" #: src/Dialogs/Project.vala:234 msgid "Disabled" msgstr "" #: src/Dialogs/Project.vala:237 msgid "Markdown Formatting" msgstr "" #: src/Dialogs/Project.vala:238 msgid "Override the global markdown setting for this project" msgstr "" #: src/Dialogs/Project.vala:500 msgid "Project added successfully!" msgstr "" #: src/Dialogs/ProjectPicker.vala:38 src/Dialogs/ProjectPicker.vala:47 #: src/Layouts/ItemBoard.vala:784 src/Layouts/ItemRow.vala:1245 #: src/Layouts/ItemRow.vala:1373 src/Layouts/ItemSidebarView.vala:492 msgid "Move" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:48 msgid "Quick Find" msgstr "" #: src/Dialogs/QuickFind/QuickFind.vala:318 msgid "Quickly switch projects and views, find tasks, search by labels" msgstr "" #: src/Dialogs/Section.vala:46 src/Views/Project/Project.vala:260 #: src/Views/Project/Project.vala:377 msgid "New Section" msgstr "" #: src/Dialogs/Section.vala:53 src/Layouts/SectionBoard.vala:563 #: src/Layouts/SectionRow.vala:666 msgid "Edit Section" msgstr "" #: src/Dialogs/Section.vala:67 msgid "Section Name" msgstr "" #: src/Dialogs/Section.vala:102 src/Widgets/SectionsOrderPopover.vala:39 msgid "Add Section" msgstr "" #: src/Dialogs/Section.vala:102 msgid "Update Section" msgstr "" #: src/Dialogs/Section.vala:209 src/Dialogs/Section.vala:223 msgid "Section added" msgstr "" #: src/Layouts/HeaderBar.vala:79 msgid "Open/Close Sidebar" msgstr "" #: src/Layouts/ItemBoard.vala:155 src/Layouts/ItemBoard.vala:766 #: src/Layouts/ItemBoard.vala:779 src/Layouts/ItemRow.vala:1227 #: src/Layouts/ItemRow.vala:1240 msgid "Unpin" msgstr "" #: src/Layouts/ItemBoard.vala:611 src/Layouts/ItemRow.vala:1579 #: src/Layouts/ItemSidebarView.vala:658 #, c-format msgid "Completed. Next occurrence: %s" msgstr "" #: src/Layouts/ItemBoard.vala:787 src/Layouts/ItemRow.vala:1248 msgid "Add Subtask" msgstr "" #: src/Layouts/ItemBoard.vala:789 src/Layouts/ItemRow.vala:1250 msgid "Edit" msgstr "" #: src/Layouts/ItemBoard.vala:790 src/Layouts/ItemRow.vala:1251 #: src/Layouts/ItemRow.vala:1372 src/Layouts/ItemSidebarView.vala:491 #: src/Layouts/ProjectRow.vala:705 src/Layouts/SectionBoard.vala:566 #: src/Layouts/SectionRow.vala:669 src/Views/Project/Project.vala:375 msgid "Duplicate" msgstr "" #: src/Layouts/ItemBoard.vala:792 src/Layouts/ItemRow.vala:1253 #: src/Layouts/ItemRow.vala:1375 src/Layouts/ItemSidebarView.vala:494 msgid "Delete Task" msgstr "" #: src/Layouts/ItemBoard.vala:1092 src/Layouts/ItemRow.vala:1818 msgid "Order changed to 'Custom sort order'" msgstr "" #: src/Layouts/ItemBoard.vala:1178 src/Layouts/ItemRow.vala:1601 #, c-format msgid "%s was deleted" msgstr "" #: src/Layouts/ItemBoard.vala:1179 src/Layouts/ItemRow.vala:1602 msgid "Undo" msgstr "" #: src/Layouts/ItemRow.vala:562 msgid "Add Subtasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Hide Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1057 msgid "Show Sub-tasks" msgstr "" #: src/Layouts/ItemRow.vala:1368 src/Layouts/ItemSidebarView.vala:488 msgid "Use as a Note" msgstr "" #: src/Layouts/ItemRow.vala:1371 src/Layouts/ItemSidebarView.vala:490 #: src/Widgets/MultiSelectToolbar.vala:244 msgid "Copy to Clipboard" msgstr "" #: src/Layouts/ItemRow.vala:2024 msgid "Add Attachments" msgstr "" #: src/Layouts/ItemSidebarView.vala:77 msgid "Close Detail" msgstr "" #: src/Layouts/ItemSidebarView.vala:144 src/Widgets/ItemDetailCompleted.vala:64 msgid "Title" msgstr "" #: src/Layouts/ItemSidebarView.vala:176 src/Widgets/ItemDetailCompleted.vala:90 msgid "Properties" msgstr "" #: src/Layouts/ItemSidebarView.vala:578 msgid "Are you sure you want to delete?" msgstr "" #: src/Layouts/LabelRow.vala:162 msgid "Delete Label" msgstr "" #: src/Layouts/ProjectRow.vala:440 src/Layouts/SidebarSourceRow.vala:240 msgid "Projects sort changed to 'Custom sort order'" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Remove From Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:697 src/Layouts/ProjectRow.vala:703 msgid "Add to Favorites" msgstr "" #: src/Layouts/ProjectRow.vala:706 msgid "Refresh" msgstr "" #: src/Layouts/ProjectRow.vala:709 src/Views/Project/Project.vala:387 #: src/Widgets/ProjectItemRow.vala:154 msgid "Delete Project" msgstr "" #: src/Layouts/ProjectRow.vala:712 msgid "Share" msgstr "" #: src/Layouts/ProjectRow.vala:713 msgid "Send by E-Mail" msgstr "" #: src/Layouts/ProjectRow.vala:714 msgid "Export as PDF" msgstr "" #: src/Layouts/ProjectRow.vala:791 msgid "Project exported as PDF" msgstr "" #: src/Layouts/SectionBoard.vala:157 src/Layouts/SectionRow.vala:224 msgid "Add tasks" msgstr "" #: src/Layouts/SectionBoard.vala:175 msgid "Load more" msgstr "" #: src/Layouts/SectionBoard.vala:544 src/Layouts/SectionRow.vala:622 #: src/Widgets/SubItems.vala:420 msgid "completed tasks" msgstr "" #: src/Layouts/SectionBoard.vala:564 src/Layouts/SectionRow.vala:667 msgid "Move Section" msgstr "" #: src/Layouts/SectionBoard.vala:565 msgid "Manage Section Order" msgstr "" #: src/Layouts/SectionBoard.vala:567 src/Layouts/SectionRow.vala:670 msgid "Show Completed Tasks" msgstr "" #: src/Layouts/SectionBoard.vala:570 src/Layouts/SectionRow.vala:673 #: src/Widgets/SectionItemRow.vala:207 msgid "Delete Section" msgstr "" #: src/Layouts/Sidebar.vala:40 msgid "Favorites" msgstr "" #: src/Layouts/Sidebar.vala:42 msgid "No favorites available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/Sidebar.vala:122 msgid "Add Account" msgstr "" #: src/Layouts/Sidebar.vala:123 msgid "Customize Sidebar" msgstr "" #: src/Layouts/Sidebar.vala:312 src/Layouts/Sidebar.vala:364 msgid "Go to Today" msgstr "" #: src/Layouts/Sidebar.vala:316 src/Layouts/Sidebar.vala:368 msgid "Go to Scheduled" msgstr "" #: src/Layouts/Sidebar.vala:320 src/Layouts/Sidebar.vala:372 msgid "Go to Labels" msgstr "" #: src/Layouts/Sidebar.vala:324 src/Layouts/Sidebar.vala:376 msgid "Go to Pinboard" msgstr "" #: src/Layouts/SidebarSourceRow.vala:43 msgid "No project available. Create one by clicking on the '+' button" msgstr "" #: src/Layouts/SidebarSourceRow.vala:80 msgid "Account Migration Required" msgstr "" #: src/MainWindow.vala:79 msgid "Main Menu" msgstr "" #: src/MainWindow.vala:84 msgid "Open Quick Find" msgstr "" #: src/MainWindow.vala:737 msgid "About Planify" msgstr "" #: src/MainWindow.vala:805 msgid "Oops! Something happened" msgstr "" #: src/MainWindow.vala:824 src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task completed" msgstr "" #: src/MainWindow.vala:825 msgid "View" msgstr "" #: src/MainWindow.vala:863 msgid "Database Integrity Check Failed" msgstr "" #: src/MainWindow.vala:864 msgid "" "We've detected issues with the database structure that may prevent the " "application from functioning properly. This may be due to missing tables or " "columns, likely caused by data corruption or an incomplete update.\n" "\n" "The database will now be reset to restore normal functionality, and any " "existing data will be removed.\n" "\n" "After the reset, you’ll be able to restore any backup you’ve created " "previously. Thank you for your patience" msgstr "" #: src/MainWindow.vala:866 msgid "Reset Database" msgstr "" #: src/Services/Backups.vala:415 msgid "Delete Backup" msgstr "" #: src/Services/Backups.vala:547 msgid "Backup Successfully Imported" msgstr "" #: src/Services/Backups.vala:548 msgid "Planify will restart to apply the changes" msgstr "" #: src/Services/Backups.vala:551 msgid "Restart Now" msgstr "" #: src/Services/Backups.vala:565 msgid "Planify Backup Files" msgstr "" #: src/Services/Notification.vala:99 msgid "Snooze for 10 minutes" msgstr "" #: src/Services/Notification.vala:100 msgid "Snooze for 30 minutes" msgstr "" #: src/Services/Notification.vala:101 msgid "Snooze for 1 hour" msgstr "" #: src/Views/Filter.vala:86 src/Views/Label/Labels.vala:45 #: src/Views/Project/Project.vala:119 src/Views/Scheduled/Scheduled.vala:61 #: src/Views/Today.vala:88 msgid "View Option Menu" msgstr "" #: src/Views/Filter.vala:125 src/Views/Label/Label.vala:97 #: src/Views/Project/List.vala:116 src/Views/Today.vala:251 msgid "Add Some Tasks" msgstr "" #: src/Views/Filter.vala:126 src/Views/Label/Label.vala:98 #: src/Views/Project/List.vala:117 src/Views/Today.vala:252 msgid "Press 'a' to create a new task" msgstr "" #: src/Views/Filter.vala:129 msgid "All tasks completed!" msgstr "" #: src/Views/Filter.vala:130 msgid "Great job, nothing left to do 🎉" msgstr "" #: src/Views/Filter.vala:361 msgid "tasks" msgstr "" #: src/Views/Filter.vala:622 msgid "Delete Completed Task" msgid_plural "Delete Completed Tasks" msgstr[0] "" msgstr[1] "" #: src/Views/Filter.vala:627 #, c-format msgid "This will delete %d completed task and its subtasks" msgid_plural "This will delete %d completed tasks and their subtasks" msgstr[0] "" msgstr[1] "" #: src/Views/Label/LabelSourceRow.vala:49 #: src/Views/Label/LabelSourceRow.vala:125 msgid "No labels available. Create one by clicking on the '+' button" msgstr "" #: src/Views/Label/LabelSourceRow.vala:122 msgid "All labels are hidden by the filter" msgstr "" #: src/Views/Label/Labels.vala:148 msgid "Only Active Projects" msgstr "" #: src/Views/Label/Labels.vala:149 msgid "Only show labels used by tasks in active (non-archived) projects" msgstr "" #: src/Views/Project/Board.vala:74 src/Views/Project/List.vala:82 msgid "Note" msgstr "" #: src/Views/Project/Board.vala:273 msgid "Schedule" msgstr "" #: src/Views/Project/Board.vala:311 src/Views/Project/List.vala:399 msgid "When?" msgstr "" #: src/Views/Project/List.vala:121 msgid "Add Some Tasks. Press 'a' to create a new task" msgstr "" #: src/Views/Project/Project.vala:94 msgid "Project Actions" msgstr "" #: src/Views/Project/Project.vala:259 msgid "New Task" msgstr "" #: src/Views/Project/Project.vala:376 src/Views/Project/Project.vala:408 msgid "Project Deadline" msgstr "" #: src/Views/Project/Project.vala:381 msgid "Select" msgstr "" #: src/Views/Project/Project.vala:382 msgid "Paste" msgstr "" #: src/Views/Project/Project.vala:383 src/Views/Project/Project.vala:500 msgid "Expand All" msgstr "" #: src/Views/Project/Project.vala:445 src/Widgets/ItemChangeHistoryRow.vala:108 msgid "New" msgstr "" #: src/Views/Project/Project.vala:504 msgid "Collapse All" msgstr "" #: src/Views/Project/Project.vala:520 msgid "List" msgstr "" #: src/Views/Project/Project.vala:526 msgid "Board" msgstr "" #: src/Views/Project/Project.vala:538 src/Views/Scheduled/Scheduled.vala:225 #: src/Views/Today.vala:714 msgid "Sorting" msgstr "" #: src/Views/Project/Project.vala:541 msgid "Custom sort order" msgstr "" #: src/Views/Project/Project.vala:544 src/Views/Scheduled/Scheduled.vala:230 #: src/Views/Today.vala:719 msgid "Date Added" msgstr "" #: src/Views/Project/Project.vala:547 msgid "Ascending Order" msgstr "" #: src/Views/Project/Project.vala:553 msgid "Duedate" msgstr "" #: src/Views/Project/Project.vala:556 msgid "All (default)" msgstr "" #: src/Views/Project/Project.vala:559 src/Views/Project/Project.vala:727 msgid "Next 7 Days" msgstr "" #: src/Views/Project/Project.vala:561 src/Views/Project/Project.vala:731 msgid "Next 30 Days" msgstr "" #: src/Views/Project/Project.vala:568 src/Views/Scheduled/Scheduled.vala:238 #: src/Views/Today.vala:727 msgid "P1" msgstr "" #: src/Views/Project/Project.vala:574 src/Views/Scheduled/Scheduled.vala:244 #: src/Views/Today.vala:733 msgid "P2" msgstr "" #: src/Views/Project/Project.vala:580 src/Views/Scheduled/Scheduled.vala:250 #: src/Views/Today.vala:739 msgid "P3" msgstr "" #: src/Views/Project/Project.vala:586 src/Views/Scheduled/Scheduled.vala:256 #: src/Views/Today.vala:745 msgid "P4" msgstr "" #: src/Views/Project/Project.vala:593 src/Views/Scheduled/Scheduled.vala:263 #: src/Views/Today.vala:752 msgid "Filter by Labels" msgstr "" #: src/Views/Project/Project.vala:597 msgid "Show Completed" msgstr "" #: src/Views/Project/Project.vala:598 msgid "Display completed tasks in the list" msgstr "" #: src/Views/Project/Project.vala:604 msgid "Search completed tasks" msgstr "" #: src/Views/Project/Project.vala:631 msgid "Sort By" msgstr "" #: src/Views/Scheduled/ScheduledOverdue.vala:43 src/Views/Today.vala:163 msgid "Reschedule" msgstr "" #: src/Views/Today.vala:761 msgid "Me" msgstr "" #: src/Widgets/Attachments.vala:58 msgid "Attachments" msgstr "" #: src/Widgets/Attachments.vala:142 msgid "Open" msgstr "" #: src/Widgets/Attachments.vala:248 msgid "No attachments found. Add files here." msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:31 msgid "Bypass Location Resolve" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:32 msgid "" "Workaround for CalDAV connection issues with connections using non-default " "ports" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:45 #: src/Widgets/IgnoreSSLSwitchRow.vala:45 msgid "Warning" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:46 msgid "" "This will disable the CalDAV resolve process.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/BypassResolveSwitchRow.vala:49 #: src/Widgets/IgnoreSSLSwitchRow.vala:49 msgid "Continue Anyway" msgstr "" #: src/Widgets/CompletedTaskRow.vala:95 #: src/Widgets/ItemDetailCompleted.vala:130 src/Widgets/SubItems.vala:92 msgid "Sub-tasks" msgstr "" #: src/Widgets/EditableTextView.vala:78 src/Widgets/EditableTextView.vala:145 msgid "Show more" msgstr "" #: src/Widgets/EditableTextView.vala:149 msgid "Show less" msgstr "" #: src/Widgets/ErrorView.vala:111 msgid "Copy error message" msgstr "" #: src/Widgets/ErrorView.vala:129 #, c-format msgid "For more details, share your log file: %s" msgstr "" #: src/Widgets/ErrorView.vala:148 msgid "Report Issue" msgstr "" #: src/Widgets/ErrorView.vala:191 msgid "Account migration required." msgstr "" #: src/Widgets/EventRow.vala:242 #, c-format msgid "In %d minute" msgid_plural "In %d minutes" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:244 #, c-format msgid "In %d hour" msgid_plural "In %d hours" msgstr[0] "" msgstr[1] "" #: src/Widgets/EventRow.vala:249 msgid "Happening now" msgstr "" #: src/Widgets/EventRow.vala:284 msgid "Location" msgstr "" #: src/Widgets/EventRow.vala:297 msgid "Organizer" msgstr "" #: src/Widgets/EventRow.vala:311 msgid "URL" msgstr "" #: src/Widgets/EventRow.vala:321 msgid "Calendar" msgstr "" #: src/Widgets/EventRow.vala:416 msgid "Join" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:31 msgid "Disable SSL certificate validation" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:32 msgid "Not recommended – exposes you to security risks" msgstr "" #: src/Widgets/IgnoreSSLSwitchRow.vala:46 msgid "" "This will disable SSL validation and exposes you to attacks.\n" "Proceed at your own risk" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:48 msgid "Task uncompleted" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:51 msgid "Task moved to project" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:61 msgid "Task moved to" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:87 msgid "Previous" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Active" msgstr "" #: src/Widgets/ItemChangeHistoryRow.vala:192 #: src/Widgets/ItemChangeHistoryRow.vala:193 msgid "Pin: Inactive" msgstr "" #: src/Widgets/ItemDetailCompleted.vala:74 msgid "Completed At" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:66 msgid "Move to Project" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:242 msgid "Mark as Completed" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:284 #, c-format msgid "%d task copied to clipboard" msgid_plural "%d tasks copied to clipboard" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:295 msgid "Delete To-Do" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:296 msgid "Are you sure you want to delete this to-do?" msgstr "" #: src/Widgets/MultiSelectToolbar.vala:299 #, c-format msgid "Delete %d To-Do" msgid_plural "Delete %d To-Dos" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:305 #, c-format msgid "Are you sure you want to delete this %d to-do?" msgid_plural "Are you sure you want to delete these %d to-dos?" msgstr[0] "" msgstr[1] "" #: src/Widgets/MultiSelectToolbar.vala:402 #, c-format msgid "Task moved to %s" msgid_plural "%d tasks moved to %s" msgstr[0] "" msgstr[1] "" #: src/Widgets/NewVersionPopup.vala:42 msgid "New version available!" msgstr "" #: src/Widgets/NewVersionPopup.vala:66 msgid "" "Update now to enjoy the latest improvements, bug fixes, and new features " "that make Planify even better" msgstr "" #: src/Widgets/NewVersionPopup.vala:73 msgid "Update Now" msgstr "" #: src/Widgets/NewVersionPopup.vala:89 msgid "Dismiss" msgstr "" #: src/Widgets/ProjectItemRow.vala:153 src/Widgets/SectionItemRow.vala:206 msgid "Unarchive" msgstr "" #: src/Widgets/SubItems.vala:525 msgid "No subtasks added yet. Get started!" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "Failed to connect to server" msgstr "" #: src/Widgets/SyncButton.vala:94 msgid "" "It looks like the server is unreachable,\n" "are you connected to the internet?\n" "Any changes you make while disconnected\n" "will be synchronized when you reconnect." msgstr "" #: src/Widgets/TranslationRow.vala:95 #, c-format msgid "%s is %.0f%% complete. You can help finish it!" msgstr "" #: src/Widgets/TranslationRow.vala:121 src/Widgets/TranslationRow.vala:142 #: src/Widgets/TranslationRow.vala:146 msgid "Translations" msgstr "" #: src/Widgets/TranslationRow.vala:122 src/Widgets/TranslationRow.vala:143 #: src/Widgets/TranslationRow.vala:147 msgid "Help make Planify available worldwide" msgstr "" #: src/Widgets/TranslationRow.vala:129 msgid "Help improve translations" msgstr "" #: src/Widgets/TranslationRow.vala:136 msgid "Start a new translation" msgstr "" #: src/Widgets/TranslationRow.vala:137 #, c-format msgid "%s is not available yet. Be the first to translate it!" msgstr "" #: quick-add/MainWindow.vala:9 msgid "Planify - Quick Add" msgstr "" #: data/resources/ui/shortcuts.ui:12 msgctxt "shortcut window" msgid "Used Anywhere" msgstr "" #: data/resources/ui/shortcuts.ui:16 msgctxt "shortcut window" msgid "Create a New Task" msgstr "" #: data/resources/ui/shortcuts.ui:23 msgctxt "shortcut window" msgid "Paste Plain Text to Create New Task" msgstr "" #: data/resources/ui/shortcuts.ui:30 msgctxt "shortcut window" msgid "Create a New Project" msgstr "" #: data/resources/ui/shortcuts.ui:37 msgctxt "shortcut window" msgid "Create a New Section in a Project" msgstr "" #: data/resources/ui/shortcuts.ui:45 msgctxt "shortcut window" msgid "Search" msgstr "" #: data/resources/ui/shortcuts.ui:49 msgctxt "shortcut window" msgid "Open Quick Find" msgstr "" #: data/resources/ui/shortcuts.ui:57 msgctxt "shortcut window" msgid "Control Windows" msgstr "" #: data/resources/ui/shortcuts.ui:61 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/ui/shortcuts.ui:68 msgctxt "shortcut window" msgid "Open Preferences" msgstr "" #: data/resources/ui/shortcuts.ui:75 msgctxt "shortcut window" msgid "Toggle Sidebar" msgstr "" #: data/resources/ui/shortcuts.ui:82 msgctxt "shortcut window" msgid "Open Keyboard Shortcuts" msgstr "" #: data/resources/ui/shortcuts.ui:90 msgctxt "shortcut window" msgid "Navigate" msgstr "" #: data/resources/ui/shortcuts.ui:94 msgctxt "shortcut window" msgid "Open Homepage" msgstr "" #: data/resources/ui/shortcuts.ui:101 msgctxt "shortcut window" msgid "Open Inbox" msgstr "" #: data/resources/ui/shortcuts.ui:108 msgctxt "shortcut window" msgid "Open Today" msgstr "" #: data/resources/ui/shortcuts.ui:115 msgctxt "shortcut window" msgid "Open Scheduled" msgstr "" #: data/resources/ui/shortcuts.ui:122 msgctxt "shortcut window" msgid "Open Labels" msgstr "" #: data/resources/ui/shortcuts.ui:129 msgctxt "shortcut window" msgid "Open Pinboard" msgstr "" alainm23-planify-69962f8/quick-add/000077500000000000000000000000001517337276100167355ustar00rootroot00000000000000alainm23-planify-69962f8/quick-add/App.vala000066400000000000000000000035401517337276100203240ustar00rootroot00000000000000public class QuickAdd : Adw.Application { public MainWindow main_window; public static QuickAdd _instance = null; public static QuickAdd instance { get { if (_instance == null) { _instance = new QuickAdd (); } return _instance; } } construct { application_id = "io.github.alainm23.planify.quick-add"; flags |= ApplicationFlags.FLAGS_NONE; Intl.setlocale (LocaleCategory.ALL, ""); string langpack_dir = Path.build_filename (Build.INSTALL_PREFIX, "share", "locale"); Intl.bindtextdomain (Build.GETTEXT_PACKAGE, langpack_dir); Intl.bind_textdomain_codeset (Build.GETTEXT_PACKAGE, "UTF-8"); Intl.textdomain (Build.GETTEXT_PACKAGE); } protected override void activate () { main_window = new MainWindow (this); main_window.show (); var quit_action = new SimpleAction ("quit", null); add_action (quit_action); set_accels_for_action ("app.quit", { "Escape" }); quit_action.activate.connect (() => { if (main_window != null && main_window.can_close) { main_window.hide (); Timeout.add (500, () => { main_window.destroy (); return GLib.Source.REMOVE; }); } }); var provider = new Gtk.CssProvider (); provider.load_from_resource ("/io/github/alainm23/planify/index.css"); Gtk.StyleContext.add_provider_for_display ( Gdk.Display.get_default (), provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION ); Util.get_default ().update_theme (); Util.get_default ().update_font_scale (); } public static int main (string[] args) { QuickAdd app = QuickAdd.instance; return app.run (args); } } alainm23-planify-69962f8/quick-add/MainWindow.vala000066400000000000000000000047021517337276100216610ustar00rootroot00000000000000public class MainWindow : Adw.ApplicationWindow { private Layouts.QuickAddCore quick_add_widget; public bool can_close { get; set; default = true; } public MainWindow (QuickAdd application) { Object ( application: application, icon_name: "io.github.alainm23.planify", title: _("Planify - Quick Add"), resizable: false, width_request: 600, halign: Gtk.Align.START ); } static construct { weak Gtk.IconTheme default_theme = Gtk.IconTheme.get_for_display (Gdk.Display.get_default ()); default_theme.add_resource_path ("/io/github/alainm23/planify/"); } construct { Services.Database.get_default ().init_database (); quick_add_widget = new Layouts.QuickAddCore (true); set_content (quick_add_widget); quick_add_widget.hide_destroy.connect (hide_destroy); quick_add_widget.send_interface_id.connect (send_interface_id); quick_add_widget.add_item_db.connect ((add_item_db)); quick_add_widget.parent_can_close.connect ((active) => { Timeout.add (250, () => { can_close = active; return GLib.Source.REMOVE; }); }); } private void add_item_db (Objects.Item item, Gee.ArrayList reminders) { Services.Store.instance ().insert_item (item); if (reminders.size > 0) { quick_add_widget.is_loading = true; foreach (Objects.Reminder reminder in reminders) { item.add_reminder (reminder); } } if (Services.Settings.get_default ().get_boolean ("automatic-reminders-enabled") && item.has_time) { var reminder = new Objects.Reminder (); reminder.mm_offset = Util.get_reminders_mm_offset (); reminder.reminder_type = ReminderType.RELATIVE; item.add_reminder (reminder); } send_interface_id (item.id); quick_add_widget.added_successfully (); } private void send_interface_id (string id) { try { DBusClient.get_default ().interface.add_item (id); } catch (Error e) { debug (e.message); } } public void hide_destroy () { if (!can_close) { return; } hide (); Timeout.add (500, () => { destroy (); return GLib.Source.REMOVE; }); } } alainm23-planify-69962f8/quick-add/Services/000077500000000000000000000000001517337276100205205ustar00rootroot00000000000000alainm23-planify-69962f8/quick-add/Services/DBusClient.vala000066400000000000000000000031571517337276100233670ustar00rootroot00000000000000/* * Copyright © 2019 Alain M. (https://github.com/alainm23/planner) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ [DBus (name = "io.github.alainm23.planify")] public interface DBusClientInterface : Object { public abstract void add_item (string id) throws Error; public abstract void update_item (string id) throws Error; } public class DBusClient : Object { public DBusClientInterface ? interface = null; private static GLib.Once instance; public static unowned DBusClient get_default () { return instance.once (() => { return new DBusClient (); }); } construct { try { interface = Bus.get_proxy_sync ( BusType.SESSION, "io.github.alainm23.planify", "/io/github/alainm23/planify"); } catch (IOError e) { error ("Monitor Indicator DBus: %s\n", e.message); } } } alainm23-planify-69962f8/quick-add/meson.build000066400000000000000000000003631517337276100211010ustar00rootroot00000000000000quick_find_sources = files( 'Services/DBusClient.vala', 'App.vala', 'MainWindow.vala', ) executable( 'io.github.alainm23.planify.quick-add', quick_find_sources, asresources, config_file, dependencies: deps, install: true, ) alainm23-planify-69962f8/scripts/000077500000000000000000000000001517337276100165625ustar00rootroot00000000000000alainm23-planify-69962f8/scripts/update_translations.py000077500000000000000000000057161517337276100232330ustar00rootroot00000000000000#!/usr/bin/env python3 """ Update translation files preserving complete header metadata. """ import subprocess from pathlib import Path def extract_full_header(po_file): """Extract complete header from PO file.""" if not po_file.exists(): return None header_lines = [] in_header = False found_msgstr = False with open(po_file, 'r', encoding='utf-8') as f: for line in f: # Detect start of header (first msgid "") if line.strip() == 'msgid ""' and not in_header: in_header = True header_lines.append(line) # Inside header elif in_header: header_lines.append(line) # Detect msgstr of header if line.strip() == 'msgstr ""': found_msgstr = True # Detect end of header (empty line after msgstr) elif found_msgstr and line.strip() == '': break return ''.join(header_lines) if header_lines else None def restore_full_header(po_file, old_header): """Restore complete header in PO file.""" if not old_header: return with open(po_file, 'r', encoding='utf-8') as f: lines = f.readlines() # Find where header ends in current file in_header = False found_msgstr = False header_end_idx = 0 for idx, line in enumerate(lines): if line.strip() == 'msgid ""' and not in_header: in_header = True elif in_header: if line.strip() == 'msgstr ""': found_msgstr = True elif found_msgstr and line.strip() == '': header_end_idx = idx + 1 break # Replace header with old one if header_end_idx > 0: new_content = old_header + ''.join(lines[header_end_idx:]) with open(po_file, 'w', encoding='utf-8') as f: f.write(new_content) def main(): po_dir = Path('po') pot_file = po_dir / 'io.github.alainm23.planify.pot' # Generate POT file subprocess.run([ 'xgettext', '--files-from=po/POTFILES', '--directory=.', '--output=po/io.github.alainm23.planify.pot', '--from-code=UTF-8', '--keyword=_', '--keyword=N_', '--package-name=io.github.alainm23.planify' ], check=True) # Update PO files with open(po_dir / 'LINGUAS', 'r') as f: languages = f.read().strip().split() for lang in languages: po_file = po_dir / f'{lang}.po' if not po_file.exists(): continue # Save old header old_header = extract_full_header(po_file) # Update PO file subprocess.run([ 'msgmerge', '--update', '--no-fuzzy-matching', '--backup=none', str(po_file), str(pot_file) ], check=True) # Restore old header restore_full_header(po_file, old_header) if __name__ == '__main__': main() alainm23-planify-69962f8/search-provider/000077500000000000000000000000001517337276100201705ustar00rootroot00000000000000alainm23-planify-69962f8/search-provider/io.github.alainm23.planify.SearchProvider.ini.in000066400000000000000000000001731517337276100311540ustar00rootroot00000000000000[Shell Search Provider] DesktopId=@appid@.desktop BusName=@appid@.SearchProvider ObjectPath=@path@/SearchProvider Version=2alainm23-planify-69962f8/search-provider/io.github.alainm23.planify.SearchProvider.service.in000066400000000000000000000001251517337276100320320ustar00rootroot00000000000000[D-BUS Service] Name=@appid@.SearchProvider Exec=@libexecdir@/@appid@-search-provideralainm23-planify-69962f8/search-provider/main.vala000066400000000000000000000021551517337276100217640ustar00rootroot00000000000000/* * Copyright © 2026 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ int main (string[] args) { Intl.bindtextdomain (Build.GETTEXT_PACKAGE, Build.GNOMELOCALEDIR); Intl.bind_textdomain_codeset (Build.GETTEXT_PACKAGE, "UTF-8"); Intl.textdomain (Build.GETTEXT_PACKAGE); var app = new Planify.SearchProvider (); return app.run (args); } alainm23-planify-69962f8/search-provider/meson.build000066400000000000000000000021721517337276100223340ustar00rootroot00000000000000search_provider_sources = [ 'main.vala', 'search-provider.vala', 'search-repository.vala' ] search_provider_deps = [ gio_dep, sqlite3_dep, ] executable ( application_id + '-search-provider', search_provider_sources, config_file, dependencies: search_provider_deps, install: true, install_dir: libexecdir ) search_provider_conf = configuration_data() search_provider_conf.set('appid', application_id) search_provider_conf.set('path', application_path) configure_file( configuration: search_provider_conf, input: 'io.github.alainm23.planify.SearchProvider.ini.in', install_dir: datadir / 'gnome-shell' / 'search-providers', install: true, output: '@0@.SearchProvider.ini'.format(application_id) ) search_provider_dbus_conf = configuration_data() search_provider_dbus_conf.set('appid', application_id) search_provider_dbus_conf.set('libexecdir', libexecdir) configure_file ( input: 'io.github.alainm23.planify.SearchProvider.service.in', output: '@0@.SearchProvider.service'.format(application_id), configuration: search_provider_dbus_conf, install: true, install_dir: datadir / 'dbus-1' / 'services' ) alainm23-planify-69962f8/search-provider/search-provider.vala000066400000000000000000000071471517337276100241430ustar00rootroot00000000000000/* * Copyright © 2026 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ [DBus (name = "org.gnome.Shell.SearchProvider2")] public class Planify.SearchProvider : GLib.Application { private SearchRepository repository; internal SearchProvider () { Object ( application_id: Build.APPLICATION_ID + ".SearchProvider", flags: ApplicationFlags.IS_SERVICE, inactivity_timeout: 10000 ); } construct { repository = new SearchRepository (); } protected override bool dbus_register (DBusConnection connection, string object_path) throws Error { base.dbus_register (connection, object_path); try { connection.register_object (object_path, this); } catch (IOError e) { warning ("Could not register search provider: %s", e.message); quit (); } return true; } public string[] get_initial_result_set (string[] terms) throws Error { return repository.search (string.joinv (" ", terms)); } public string[] get_subsearch_result_set (string[] previous_results, string[] terms) throws Error { return repository.search (string.joinv (" ", terms)); } public HashTable[] get_result_metas (string[] identifiers) throws Error { var results = new GenericArray> (); foreach (var id in identifiers) { var meta_data = repository.get_meta (id); if (meta_data == null) { continue; } var meta = new HashTable (str_hash, str_equal); meta.insert ("id", new Variant.string (id)); meta.insert ("name", new Variant.string (meta_data.name)); meta.insert ("description", new Variant.string (meta_data.description)); results.add (meta); } return results.data; } public void activate_result (string identifier, string[] terms, uint32 timestamp) throws Error { if (identifier.has_prefix ("project-")) { launch_planify ("planify://project/" + identifier.substring (8)); } else if (identifier.has_prefix ("item-")) { launch_planify ("planify://item/" + identifier.substring (5)); } else { launch_planify ("planify://"); } } public void launch_search (string[] terms, uint32 timestamp) throws Error { launch_planify ("planify://"); } private void launch_planify (string uri = "planify://") { try { AppInfo.launch_default_for_uri (uri, null); } catch (Error e) { try { Process.spawn_command_line_async ("flatpak run " + Build.APPLICATION_ID); } catch (SpawnError se) { warning ("Could not launch Planify: %s", se.message); } } } } alainm23-planify-69962f8/search-provider/search-repository.vala000066400000000000000000000117131517337276100245220ustar00rootroot00000000000000/* * Copyright © 2026 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Planify.SearchRepository : Object { private Sqlite.Database db; private bool db_open = false; public struct ResultMeta { public string name; public string description; } construct { var db_path = Path.build_filename ( Environment.get_user_data_dir (), "io.github.alainm23.planify", "database.db" ); if (FileUtils.test (db_path, FileTest.EXISTS)) { if (Sqlite.Database.open_v2 (db_path, out db, Sqlite.OPEN_READONLY) == Sqlite.OK) { db_open = true; } } if (!db_open) { warning ("Could not open database: %s", db_path); } } public string[] search (string query) { if (!db_open) { return {}; } var results = new GenericArray (); string term = "%" + query.down () + "%"; search_projects (term, results); search_items (term, results); return results.data; } public ResultMeta? get_meta (string identifier) { if (!db_open) { return null; } if (identifier.has_prefix ("project-")) { return get_project_meta (identifier.substring (8)); } else if (identifier.has_prefix ("item-")) { return get_item_meta (identifier.substring (5)); } return null; } private void search_projects (string term, GenericArray results) { Sqlite.Statement stmt; var sql = """ SELECT id FROM Projects WHERE is_deleted = 0 AND is_archived = 0 AND LOWER(name) LIKE $term LIMIT 5; """; if (db.prepare_v2 (sql, sql.length, out stmt) == Sqlite.OK) { stmt.bind_text (stmt.bind_parameter_index ("$term"), term); while (stmt.step () == Sqlite.ROW) { results.add ("project-" + stmt.column_text (0)); } } } private void search_items (string term, GenericArray results) { Sqlite.Statement stmt; var sql = """ SELECT i.id FROM Items i LEFT JOIN Projects p ON i.project_id = p.id WHERE i.is_deleted = 0 AND i.checked = 0 AND (p.is_archived = 0 OR p.is_archived IS NULL) AND (LOWER(i.content) LIKE $term OR LOWER(i.description) LIKE $term) LIMIT 5; """; if (db.prepare_v2 (sql, sql.length, out stmt) == Sqlite.OK) { stmt.bind_text (stmt.bind_parameter_index ("$term"), term); while (stmt.step () == Sqlite.ROW) { results.add ("item-" + stmt.column_text (0)); } } } private ResultMeta? get_project_meta (string project_id) { Sqlite.Statement stmt; var sql = """ SELECT p.name, (SELECT COUNT(*) FROM Items i WHERE i.project_id = p.id AND i.checked = 0 AND i.is_deleted = 0) FROM Projects p WHERE p.id = $id; """; if (db.prepare_v2 (sql, sql.length, out stmt) == Sqlite.OK) { stmt.bind_text (stmt.bind_parameter_index ("$id"), project_id); if (stmt.step () == Sqlite.ROW) { int count = stmt.column_int (1); return ResultMeta () { name = stmt.column_text (0), description = "%d %s".printf (count, count == 1 ? "task" : "tasks") }; } } return null; } private ResultMeta? get_item_meta (string item_id) { Sqlite.Statement stmt; var sql = """ SELECT i.content, p.name FROM Items i LEFT JOIN Projects p ON i.project_id = p.id WHERE i.id = $id; """; if (db.prepare_v2 (sql, sql.length, out stmt) == Sqlite.OK) { stmt.bind_text (stmt.bind_parameter_index ("$id"), item_id); if (stmt.step () == Sqlite.ROW) { return ResultMeta () { name = stmt.column_text (0), description = stmt.column_text (1) ?? "" }; } } return null; } } alainm23-planify-69962f8/src/000077500000000000000000000000001517337276100156625ustar00rootroot00000000000000alainm23-planify-69962f8/src/App.vala000066400000000000000000000230451517337276100172530ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Planify : Adw.Application { public MainWindow main_window; public static Planify _instance = null; public static Planify instance { get { if (_instance == null) { _instance = new Planify (); } return _instance; } } private static bool run_in_background = false; private static bool n_version = false; private static bool clear_database = false; private static bool show_log_path = false; private static string lang = ""; #if WITH_LIBPORTAL private Xdp.Portal ? portal = null; #endif private const OptionEntry[] OPTIONS = { { "version", 'v', 0, OptionArg.NONE, ref n_version, "Display version number", null }, { "reset", 'r', 0, OptionArg.NONE, ref clear_database, "Reset Planify", null }, { "log-path", 0, 0, OptionArg.NONE, ref show_log_path, "Print the log file path", null }, { "background", 'b', 0, OptionArg.NONE, out run_in_background, "Run the Application in background", null }, { "lang", 'l', 0, OptionArg.STRING, ref lang, "Open Planify in a specific language", "LANG" }, { null } }; public Planify () { Object ( application_id : Build.APPLICATION_ID, flags: ApplicationFlags.HANDLES_OPEN ); } ~Planify () { debug ("Destroying Planify\n"); } construct { Intl.setlocale (LocaleCategory.ALL, ""); string langpack_dir = Path.build_filename (Build.INSTALL_PREFIX, "share", "locale"); Intl.bindtextdomain (Build.GETTEXT_PACKAGE, langpack_dir); Intl.bind_textdomain_codeset (Build.GETTEXT_PACKAGE, "UTF-8"); Intl.textdomain (Build.GETTEXT_PACKAGE); add_main_option_entries (OPTIONS); create_dir_with_parents ("/io.github.alainm23.planify"); create_dir_with_parents ("/io.github.alainm23.planify/backups"); } protected override void open (File[] files, string hint) { activate (); foreach (var file in files) { string uri = file.get_uri (); if (uri.has_prefix ("planify://")) { handle_uri (uri); } } } private void handle_uri (string uri) { var parts = uri.replace ("planify://", "").split ("?", 2); string path = parts[0]; if (path.has_prefix ("auth")) { Services.EventBus.get_default ().oauth_callback (uri); } else if (path.has_prefix ("project/")) { string project_id = path.substring (8); Services.EventBus.get_default ().pane_selected (PaneType.PROJECT, project_id); } else if (path.has_prefix ("item/")) { string item_id = path.substring (5); var item = Services.Store.instance ().get_item (item_id); if (item != null) { Services.EventBus.get_default ().pane_selected (PaneType.PROJECT, item.project_id); Timeout.add (275, () => { Services.EventBus.get_default ().open_item (item); return GLib.Source.REMOVE; }); } } } protected override void activate () { if (lang != "") { GLib.Environment.set_variable ("LANGUAGE", lang, true); } if (n_version) { debug ("%s\n".printf (Build.VERSION)); return; } if (show_log_path) { stdout.printf ("%s\n", Services.LogService.get_default ().get_log_path ()); return; } if (clear_database) { stdout.printf ("Are you sure you want to reset all? (y/n): "); string ? option = stdin.read_line (); if (option.down () == "y" || option.down () == "yes") { Services.Database.get_default ().clear_database (); Services.Settings.get_default ().reset_settings (); return; } } if (main_window != null) { main_window.present (); return; } main_window = new MainWindow (this); Services.Settings.get_default ().settings.bind ("window-height", main_window, "default-height", SettingsBindFlags.DEFAULT); Services.Settings.get_default ().settings.bind ("window-width", main_window, "default-width", SettingsBindFlags.DEFAULT); if (Services.Settings.get_default ().settings.get_boolean ("window-maximized")) { main_window.maximize (); } if (!run_in_background) { main_window.show (); } Services.Settings.get_default ().settings.bind ("window-maximized", main_window, "maximized", SettingsBindFlags.SET); var provider = new Gtk.CssProvider (); provider.load_from_resource ("/io/github/alainm23/planify/index.css"); Gtk.StyleContext.add_provider_for_display ( Gdk.Display.get_default (), provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION ); Util.get_default ().update_theme (); Util.get_default ().update_font_scale (); // Actions build_shortcuts (); } #if WITH_LIBPORTAL public async bool ask_for_background (Xdp.BackgroundFlags flags = Xdp.BackgroundFlags.AUTOSTART) { bool run_in_background = Services.Settings.get_default ().settings.get_boolean ("run-in-background"); string[] daemon_command = run_in_background ? new string[] { Build.APPLICATION_ID, "--background" } : new string[] { Build.APPLICATION_ID }; if (portal == null) { portal = new Xdp.Portal (); } string reason = _( "Planify will automatically start when this device turns on " + "and run when its window is closed so that it can send to-do notifications."); var command = new GenericArray (daemon_command.length); foreach (unowned var arg in daemon_command) { command.add (arg); } var window = Xdp.parent_new_gtk (active_window); try { return yield portal.request_background (window, reason, command, flags, null); } catch (Error e) { debug ("Error during portal request: %s".printf (e.message)); return e is IOError.FAILED; } } #endif public void create_dir_with_parents (string dir) { string path = Environment.get_user_data_dir () + dir; File tmp = File.new_for_path (path); if (tmp.query_file_type (0) != FileType.DIRECTORY) { GLib.DirUtils.create_with_parents (path, 0775); } } public void recreate_main_window () { if (main_window != null) { main_window.destroy (); main_window = null; } activate (); } private void snooze_item (string item_id, int minutes) { var item = Services.Store.instance ().get_item (item_id); if (item != null) { var datetime = new GLib.DateTime.now_local ().add_minutes (minutes); var reminder = new Objects.Reminder (); reminder.due.date = Utils.Datetime.get_todoist_datetime_format ( Utils.Datetime.get_datetime_no_seconds (datetime, datetime) ); item.add_reminder (reminder); } } private void build_shortcuts () { var show_item = new SimpleAction ("show-item", VariantType.STRING); show_item.activate.connect ((parameter) => { Planify.instance.main_window.view_item (parameter.get_string ()); activate (); }); var complete = new SimpleAction ("complete", VariantType.STRING); complete.activate.connect ((parameter) => { var item = Services.Store.instance ().get_item (parameter.get_string ()); if (item != null) { item.checked = true; item.completed_at = new GLib.DateTime.now_local ().to_string (); Services.Store.instance ().complete_item (item, false); } }); var snooze_10 = new SimpleAction ("snooze-10", VariantType.STRING); snooze_10.activate.connect ((parameter) => snooze_item (parameter.get_string (), 10)); var snooze_30 = new SimpleAction ("snooze-30", VariantType.STRING); snooze_30.activate.connect ((parameter) => snooze_item (parameter.get_string (), 30)); var snooze_60 = new SimpleAction ("snooze-60", VariantType.STRING); snooze_60.activate.connect ((parameter) => snooze_item (parameter.get_string (), 60)); add_action (show_item); add_action (complete); add_action (snooze_10); add_action (snooze_30); add_action (snooze_60); } public static int main (string[] args) { Planify app = Planify.instance; return app.run (args); } } alainm23-planify-69962f8/src/Dialogs/000077500000000000000000000000001517337276100172445ustar00rootroot00000000000000alainm23-planify-69962f8/src/Dialogs/CalendarSync.vala000066400000000000000000000402201517337276100224550ustar00rootroot00000000000000/* * Copyright © 2026 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.CalendarSync : Adw.Dialog { public Objects.Project project { get; construct; } private Widgets.LoadingButton enable_button; private Widgets.LoadingButton disable_button; private E.Source? selected_source = null; private Gtk.Stack stack; public CalendarSync (Objects.Project project) { Object ( project: project, title: _("Calendar Sync"), content_width: 450 ); } construct { var title_label = new Gtk.Label (_("Calendar Sync")) { css_classes = { "title-1" }, margin_top = 24, margin_bottom = 12 }; var description_label = new Gtk.Label (_("Turn your tasks into calendar events automatically. Any task with a date will appear in your calendar, making it easier to plan your day.")) { wrap = true, justify = Gtk.Justification.CENTER, margin_start = 24, margin_end = 24, margin_bottom = 12 }; var note_label = new Gtk.Label (_("Requirement: You need a calendar account configured in GNOME Calendar (Google, Nextcloud, etc.)")) { wrap = true, justify = Gtk.Justification.CENTER, margin_start = 24, margin_end = 24, margin_bottom = 24, css_classes = { "dim-label", "caption" } }; var benefit1_card = create_benefit_card (_("Get mobile notifications for your tasks through Google Calendar, Outlook, or any calendar app")); var benefit2_card = create_benefit_card (_("Your tasks sync everywhere: phone, tablet, web browser, and any device with your calendar")); var benefits_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 12) { homogeneous = true, margin_start = 24, margin_end = 24, margin_bottom = 24 }; benefits_box.append (benefit1_card); benefits_box.append (benefit2_card); var calendar_color = new Gtk.Grid () { width_request = 16, height_request = 16, valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, css_classes = { "source-calendar-color" } }; Util.get_default ().set_widget_color ("#808080", calendar_color); var calendar_name_label = new Gtk.Label (_("Choose Calendar")) { halign = Gtk.Align.START, hexpand = true }; var calendar_location_label = new Gtk.Label (_("Select a calendar from the list")) { halign = Gtk.Align.START, hexpand = true, css_classes = { "dim-label", "caption" } }; var calendar_button_grid = new Gtk.Grid () { column_spacing = 9 }; calendar_button_grid.attach (calendar_color, 0, 0, 1, 2); calendar_button_grid.attach (calendar_name_label, 1, 0); calendar_button_grid.attach (calendar_location_label, 1, 1); var calendar_button = new Gtk.MenuButton () { child = calendar_button_grid, margin_start = 24, margin_end = 24, margin_top = 12, margin_bottom = 12 }; calendar_button.add_css_class ("pill"); var calendar_popover = create_calendar_popover (calendar_button, calendar_name_label, calendar_location_label, calendar_color); calendar_button.popover = calendar_popover; enable_button = new Widgets.LoadingButton.with_label (_("Enable Sync")) { sensitive = false, margin_start = 24, margin_end = 24, margin_bottom = 24, margin_top = 24 }; enable_button.add_css_class ("suggested-action"); enable_button.clicked.connect (() => { if (selected_source != null) { sync_tasks.begin (); } }); var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); content_box.append (title_label); content_box.append (description_label); content_box.append (note_label); content_box.append (benefits_box); content_box.append (calendar_button); content_box.append (enable_button); var success_page = create_success_page (); var active_page = create_active_page (); stack = new Gtk.Stack () { transition_type = Gtk.StackTransitionType.CROSSFADE }; stack.add_named (content_box, "setup"); stack.add_named (success_page, "success"); stack.add_named (active_page, "active"); var toolbar_view = new Adw.ToolbarView () { content = stack }; toolbar_view.add_top_bar (new Adw.HeaderBar ()); child = toolbar_view; if (project.calendar_source_uid != "") { stack.set_visible_child_name ("active"); } } private async void unsync_tasks () { disable_button.is_loading = true; disable_button.sensitive = false; int deleted_count = 0; foreach (var item in project.all_items) { if (item.calendar_event_uid != "") { bool success = yield Services.CalendarEvents.get_default ().delete_event ( project.calendar_source_uid, item.calendar_event_uid ); if (success) { item.calendar_event_uid = ""; item.update_local (); deleted_count++; } } } project.calendar_source_uid = ""; project.update_local (); disable_button.is_loading = false; Services.EventBus.get_default ().send_toast ( Util.get_default ().create_toast (_("Calendar sync disabled successfully")) ); close (); } private async void sync_tasks () { enable_button.is_loading = true; enable_button.sensitive = false; project.calendar_source_uid = selected_source.get_uid (); project.update_local (); int synced_count = 0; foreach (var item in project.all_items) { if (item.has_due) { string? event_uid = yield Services.CalendarEvents.get_default ().create_event ( selected_source.get_uid (), item ); if (event_uid != null) { item.calendar_event_uid = event_uid; item.update_local (); synced_count++; } } } enable_button.is_loading = false; stack.set_visible_child_name ("success"); } private Gtk.Widget create_active_page () { var icon = new Gtk.Image.from_icon_name ("check-round-outline-symbolic") { pixel_size = 64, css_classes = { "success" } }; var title = new Gtk.Label (_("Calendar Sync Active")) { css_classes = { "title-1" }, margin_top = 24 }; var description = new Gtk.Label (_("Your tasks are currently synced with your calendar. Any task with a date automatically appears as a calendar event.")) { wrap = true, justify = Gtk.Justification.CENTER, margin_start = 24, margin_end = 24, margin_top = 12 }; var calendar_info = new Gtk.Label ("") { wrap = true, justify = Gtk.Justification.CENTER, margin_start = 24, margin_end = 24, margin_top = 24, css_classes = { "dim-label" } }; load_active_calendar_info.begin (calendar_info); disable_button = new Widgets.LoadingButton.with_label (_("Disable Sync")) { margin_start = 24, margin_end = 24, margin_top = 24, margin_bottom = 24, halign = CENTER }; disable_button.add_css_class ("destructive-action"); disable_button.add_css_class ("pill"); disable_button.clicked.connect (() => { unsync_tasks.begin (); }); var box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { valign = Gtk.Align.CENTER, vexpand = true }; box.append (icon); box.append (title); box.append (description); box.append (calendar_info); box.append (disable_button); return box; } private async void load_active_calendar_info (Gtk.Label label) { try { var registry = yield new E.SourceRegistry (null); var source = registry.ref_source (project.calendar_source_uid); if (source != null) { label.label = _("Synced with: %s").printf (source.dup_display_name ()); } } catch (Error e) { critical ("Error loading calendar info: %s", e.message); } } private Gtk.Widget create_success_page () { var icon = new Gtk.Image.from_icon_name ("check-round-outline-symbolic") { pixel_size = 64, css_classes = { "success" } }; var title = new Gtk.Label (_("Sync Enabled!")) { css_classes = { "title-1" }, margin_top = 24 }; var description = new Gtk.Label (_("Your tasks are now synced with your calendar. Any task with a date will automatically appear as a calendar event.")) { wrap = true, justify = Gtk.Justification.CENTER, margin_start = 24, margin_end = 24, margin_top = 12 }; var ok_button = new Gtk.Button.with_label (_("OK")) { margin_start = 24, margin_end = 24, margin_top = 32, margin_bottom = 24, halign = CENTER }; ok_button.add_css_class ("suggested-action"); ok_button.add_css_class ("pill"); ok_button.clicked.connect (() => close ()); var box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { valign = Gtk.Align.CENTER, vexpand = true }; box.append (icon); box.append (title); box.append (description); box.append (ok_button); return box; } private Gtk.Widget create_benefit_card (string description) { var label = new Gtk.Label (description) { wrap = true, justify = CENTER, valign = CENTER, vexpand = true, margin_top = 12, margin_bottom = 12, margin_start = 12, margin_end = 12 }; label.add_css_class ("caption"); var card = new Adw.Bin () { css_classes = { "card" }, child = label }; return card; } private Gtk.Popover create_calendar_popover (Gtk.MenuButton button, Gtk.Label name_label, Gtk.Label location_label, Gtk.Grid color_widget) { var list_box = new Gtk.ListBox () { css_classes = { "listbox-background" }, margin_top = 6, margin_bottom = 6, margin_start = 6, margin_end = 6 }; var scrolled_window = new Gtk.ScrolledWindow () { hscrollbar_policy = Gtk.PolicyType.NEVER, vscrollbar_policy = Gtk.PolicyType.AUTOMATIC, child = list_box }; var popover = new Gtk.Popover () { child = scrolled_window, width_request = 300, height_request = 300 }; popover.add_css_class ("popover-contents"); list_box.row_activated.connect ((row) => { var calendar_row = (CalendarSourceRow) row; // Update button content name_label.label = calendar_row.calendar_name; location_label.label = CalendarEventsUtil.get_source_location (calendar_row.source); location_label.visible = true; E.SourceCalendar cal = (E.SourceCalendar) calendar_row.source.get_extension (E.SOURCE_EXTENSION_CALENDAR); Util.get_default ().set_widget_color (cal.dup_color (), color_widget); color_widget.visible = true; selected_source = calendar_row.source; enable_button.sensitive = true; // Hide all check icons var child = list_box.get_first_child (); while (child != null) { if (child is CalendarSourceRow) { ((CalendarSourceRow) child).check_icon.visible = false; } child = child.get_next_sibling (); } calendar_row.check_icon.visible = true; popover.popdown (); }); load_calendar_sources.begin (list_box); return popover; } private async void load_calendar_sources (Gtk.ListBox list_box) { try { var registry = yield new E.SourceRegistry (null); var sources = registry.list_sources (E.SOURCE_EXTENSION_CALENDAR); var used_calendars = Services.Store.instance ().get_used_calendar_sources (); sources.foreach ((source) => { if (!source.enabled) { return; } if (used_calendars.contains (source.get_uid ())) { return; } list_box.append (new CalendarSourceRow (source)); }); } catch (GLib.Error error) { critical ("Error loading calendar sources: %s", error.message); } } public class CalendarSourceRow : Gtk.ListBoxRow { public E.Source source { get; construct; } public Gtk.Image check_icon { get; private set; } public string calendar_name { get; private set; } public CalendarSourceRow (E.Source source) { Object ( source: source ); } construct { calendar_name = source.dup_display_name (); var color_grid = new Gtk.Grid () { width_request = 16, height_request = 16, valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, css_classes = { "source-calendar-color" } }; var title_label = new Gtk.Label (calendar_name) { halign = Gtk.Align.START, hexpand = true }; var subtitle_label = new Gtk.Label (CalendarEventsUtil.get_source_location (source)) { halign = Gtk.Align.START, hexpand = true, css_classes = { "dim-label", "caption" } }; check_icon = new Gtk.Image.from_icon_name ("object-select-symbolic") { visible = false, margin_end = 6 }; var grid = new Gtk.Grid () { column_spacing = 9, margin_top = 6, margin_bottom = 6, margin_start = 6, margin_end = 6 }; grid.attach (color_grid, 0, 0, 1, 2); grid.attach (title_label, 1, 0); grid.attach (subtitle_label, 1, 1); grid.attach (check_icon, 2, 0, 1, 2); child = grid; add_css_class ("border-radius-6"); E.SourceCalendar cal = (E.SourceCalendar) source.get_extension (E.SOURCE_EXTENSION_CALENDAR); Util.get_default ().set_widget_color (cal.dup_color (), color_grid); } } }alainm23-planify-69962f8/src/Dialogs/CompletedTasks.vala000066400000000000000000000323101517337276100230320ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.CompletedTasks : Adw.Dialog { public Objects.Project project { get; construct; } private Adw.NavigationView navigation_view; private Gtk.ListBox listbox; private Gtk.SearchEntry search_entry; private Widgets.FilterFlowBox filters_flowbox; private Gtk.Button remove_all; private string ? filter_section_id = null; public Gee.HashMap items_checked = new Gee.HashMap (); private Gee.HashMap signals_map = new Gee.HashMap (); public CompletedTasks (Objects.Project project) { Object ( project: project, title: _ ("Completed Tasks"), content_width: 450, content_height: 500 ); } ~CompletedTasks () { debug ("Destroying - Dialogs.CompletedTasks\n"); } construct { var headerbar = new Adw.HeaderBar (); headerbar.add_css_class ("flat"); var filter_button = new Gtk.MenuButton () { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, popover = build_view_setting_popover (), icon_name = "funnel-outline-symbolic", css_classes = { "flat" }, tooltip_text = _ ("View Filter Menu") }; search_entry = new Gtk.SearchEntry () { placeholder_text = _ ("Search"), hexpand = true, css_classes = { "border-radius-9" } }; var search_entry_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_start = 12, margin_end = 12, margin_bottom = 12 }; search_entry_box.append (search_entry); search_entry_box.append (filter_button); filters_flowbox = new Widgets.FilterFlowBox () { valign = Gtk.Align.START, vexpand = false, vexpand_set = true, }; filters_flowbox.flowbox.margin_start = 12; filters_flowbox.flowbox.margin_bottom = 12; listbox = new Gtk.ListBox () { hexpand = true, valign = START, css_classes = { "listbox-background", "listbox-separator-6" }, margin_start = 12, margin_end = 12 }; listbox.set_sort_func (sort_completed_function); listbox.set_header_func (header_completed_function); listbox.set_filter_func (filter_function); listbox.set_placeholder (new Gtk.Label (_ ("No completed tasks yet.")) { css_classes = { "dimmed" }, margin_top = 48, margin_start = 24, margin_end = 24, wrap = true, justify = Gtk.Justification.CENTER }); var listbox_scrolled = new Gtk.ScrolledWindow () { hexpand = true, vexpand = true, hscrollbar_policy = Gtk.PolicyType.NEVER, child = listbox }; var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); content_box.append (search_entry_box); content_box.append (filters_flowbox); content_box.append (listbox_scrolled); var content_clamp = new Adw.Clamp () { maximum_size = 600, margin_bottom = 12, child = content_box }; remove_all = new Gtk.Button.with_label (_ ("Delete All Completed Tasks")) { css_classes = { "flat" }, margin_start = 12, margin_end = 12, margin_bottom = 12 }; var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (headerbar); toolbar_view.add_bottom_bar (remove_all); toolbar_view.content = content_clamp; var main_page = new Adw.NavigationPage (toolbar_view, _ ("Completed Tasks")); navigation_view = new Adw.NavigationView (); navigation_view.add (main_page); child = navigation_view; add_items (); Services.EventBus.get_default ().disconnect_typing_accel (); signals_map[filters_flowbox.filter_removed.connect (() => { filter_section_id = null; clear_items (); add_items (); })] = filters_flowbox; signals_map[search_entry.search_changed.connect (() => { if (search_entry.text == "") { clear_items (); add_items (); } filter_section_id = null; listbox.invalidate_filter (); })] = search_entry; signals_map[remove_all.clicked.connect (() => { var items = Services.Store.instance ().get_items_checked_by_project (project); var dialog = new Adw.AlertDialog ( _("Delete All Completed Tasks"), GLib.ngettext ( "This will delete %d completed task and its subtasks from project %s", "This will delete %d completed tasks and their subtasks from project %s", items.size ).printf (items.size, project.name) ); dialog.body_use_markup = true; dialog.add_response ("cancel", _ ("Cancel")); dialog.add_response ("delete", _ ("Delete")); dialog.set_response_appearance ("delete", Adw.ResponseAppearance.DESTRUCTIVE); dialog.present (Planify._instance.main_window); dialog.response.connect ((response) => { if (response == "delete") { delete_all_action (items); } }); })] = remove_all; signals_map[listbox.row_activated.connect ((row) => { view_item (((Widgets.CompletedTaskRow) row).item); })] = listbox; signals_map[Services.EventBus.get_default ().checked_toggled.connect ((item, old_checked) => { if (item.project_id != project.id) { return; } if (!old_checked) { if (!items_checked.has_key (item.id)) { items_checked[item.id] = new Widgets.CompletedTaskRow (item); listbox.insert (items_checked[item.id], 0); } } else { if (items_checked.has_key (item.id)) { items_checked[item.id].hide_destroy (); items_checked.unset (item.id); } } })] = Services.EventBus.get_default (); signals_map[Services.Store.instance ().item_deleted.connect ((item) => { if (items_checked.has_key (item.id)) { items_checked[item.id].hide_destroy (); items_checked.unset (item.id); } })] = Services.Store.instance (); closed.connect (() => { clean_up (); Services.EventBus.get_default ().connect_typing_accel (); }); } private void view_item (Objects.Item item) { Widgets.ItemDetailCompleted item_detail_page = new Widgets.ItemDetailCompleted (item); var signal_id = item_detail_page.view_item.connect (view_item); item_detail_page.destroy.connect (() => { item_detail_page.disconnect (signal_id); }); navigation_view.push (item_detail_page); } private void add_items () { foreach (Objects.Item item in project.items_checked) { if (item.has_parent) { continue; } if (!items_checked.has_key (item.id)) { items_checked[item.id] = new Widgets.CompletedTaskRow (item); listbox.append (items_checked[item.id]); } } remove_all.sensitive = items_checked.size > 0; } private void header_completed_function (Gtk.ListBoxRow lbrow, Gtk.ListBoxRow ? lbbefore) { var row = (Widgets.CompletedTaskRow) lbrow; if (row.item.completed_at == "") { return; } if (lbbefore != null) { var before = (Widgets.CompletedTaskRow) lbbefore; var comp_before = Utils.Datetime.get_date_only (Utils.Datetime.get_date_from_string (before.item.completed_at)); var comp_after = Utils.Datetime.get_date_only (Utils.Datetime.get_date_from_string (row.item.completed_at)); if (comp_before.compare (comp_after) == 0) { return; } } row.set_header ( get_header_box ( Utils.Datetime.get_relative_date_from_date ( Utils.Datetime.get_date_only (Utils.Datetime.get_date_from_string (row.item.completed_at)) ) ) ); } private int sort_completed_function (Gtk.ListBoxRow row1, Gtk.ListBoxRow ? row2) { var completed_a = Utils.Datetime.get_date_only ( Utils.Datetime.get_date_from_string (((Widgets.CompletedTaskRow) row1).item.completed_at) ); var completed_b = Utils.Datetime.get_date_only ( Utils.Datetime.get_date_from_string (((Widgets.CompletedTaskRow) row2).item.completed_at) ); return completed_b.compare (completed_a); } private bool filter_function (Gtk.ListBoxRow row) { Objects.Item item = ((Widgets.CompletedTaskRow) row).item; if (filter_section_id != null) { return item.section_id == filter_section_id; } else { return item.content.down ().contains (search_entry.text.down ()); } } private Gtk.Widget get_header_box (string title) { var header_label = new Gtk.Label (title) { css_classes = { "caption", "font-bold" }, halign = START }; var header_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 6) { margin_start = 3, margin_bottom = 6, margin_top = 12 }; header_box.append (header_label); return header_box; } private void clear_items () { foreach (Widgets.CompletedTaskRow item in items_checked.values) { item.hide_destroy (); } items_checked.clear (); } private Gtk.Popover build_view_setting_popover () { var section_item = new Widgets.ContextMenu.MenuPicker (_ ("Section"), "arrow3-right-symbolic"); foreach (Objects.Section section in project.sections) { section_item.add_item (section.name, section.id); } var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; menu_box.append (new Gtk.Label (_ ("Filter By")) { css_classes = { "caption", "font-bold" }, margin_start = 6, margin_top = 6, margin_bottom = 6, halign = Gtk.Align.START }); menu_box.append (section_item); var popover = new Gtk.Popover () { has_arrow = false, position = Gtk.PositionType.BOTTOM, child = menu_box, width_request = 250 }; section_item.notify["selected"].connect (() => { // Objects.Section section = project.sections[section_item.selected]; // add_update_filter (section); }); return popover; } public void add_update_filter (Objects.Section section) { Objects.Filters.FilterItem filter = filters_flowbox.get_filter (FilterItemType.SECTION.to_string ()); bool insert = false; if (filter == null) { filter = new Objects.Filters.FilterItem (); filter.filter_type = FilterItemType.SECTION; insert = true; } filter.name = section.name; filter.value = section.id; if (insert) { filters_flowbox.add_filter (filter); } else { filters_flowbox.update_filter (filter); } filter_section_id = section.id; listbox.invalidate_filter (); } public void delete_all_action (Gee.ArrayList items) { foreach (Objects.Item item in items) { item.delete_item (); } } public void clean_up () { listbox.set_sort_func (null); listbox.set_header_func (null); listbox.set_filter_func (null); foreach (var entry in signals_map.entries) { entry.value.disconnect (entry.key); } signals_map.clear (); foreach (unowned Gtk.Widget child in Util.get_default ().get_children (listbox)) { ((Widgets.CompletedTaskRow) child).clean_up (); } } } alainm23-planify-69962f8/src/Dialogs/DatePicker.vala000066400000000000000000000135101517337276100221240ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.DatePicker : Adw.Dialog { private Gtk.Revealer clear_revealer; private Widgets.Calendar.Calendar calendar_view; private Widgets.ContextMenu.MenuItem no_date_item; private GLib.DateTime _datetime = null; public GLib.DateTime datetime { get { return _datetime; } set { _datetime = value; calendar_view.date = _datetime; } } public bool clear { set { clear_revealer.reveal_child = value; } } public signal void date_changed (); private Gee.HashMap signal_map = new Gee.HashMap (); public DatePicker (string title) { Object ( title: title, content_width: 320, content_height: 450 ); } ~DatePicker () { debug ("Destroying - Dialogs.DatePicker\n"); } construct { var today_item = new Widgets.ContextMenu.MenuItem (_("Today"), "star-outline-thick-symbolic"); today_item.secondary_text = new GLib.DateTime.now_local ().format ("%a"); today_item.margin_top = 6; var tomorrow_item = new Widgets.ContextMenu.MenuItem (_("Tomorrow"), "today-calendar-symbolic"); tomorrow_item.secondary_text = new GLib.DateTime.now_local ().add_days (1).format ("%a"); var next_week_item = new Widgets.ContextMenu.MenuItem (_("Next Week"), "work-week-symbolic"); next_week_item.secondary_text = Utils.Datetime.get_relative_date_from_date ( Utils.Datetime.get_date_only (new GLib.DateTime.now_local ().add_days (7)) ); no_date_item = new Widgets.ContextMenu.MenuItem (_("No Date"), "cross-large-circle-filled-symbolic"); no_date_item.margin_bottom = 6; clear_revealer = new Gtk.Revealer () { child = no_date_item }; var items_card = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { margin_start = 12, margin_end = 12, margin_bottom = 12, css_classes = { "card" } }; items_card.append (today_item); items_card.append (tomorrow_item); items_card.append (next_week_item); items_card.append (clear_revealer); calendar_view = new Widgets.Calendar.Calendar () { margin_top = 6, margin_bottom = 6 }; var calendar_card = new Adw.Bin () { margin_start = 12, margin_end = 12, margin_bottom = 12, css_classes = { "card" }, child = calendar_view }; var done_button = new Widgets.LoadingButton (LoadingButtonType.LABEL, _("Done")) { margin_start = 12, margin_end = 12, margin_bottom = 12, vexpand = true, valign = END }; done_button.add_css_class ("suggested-action"); var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { width_request = 225 }; content_box.append (items_card); content_box.append (calendar_card); content_box.append (done_button); var content_clamp = new Adw.Clamp () { maximum_size = 600, child = content_box }; var toolbar_view = new Adw.ToolbarView () { content = content_clamp }; toolbar_view.add_top_bar (new Adw.HeaderBar () { css_classes = { "flat" } }); child = toolbar_view; Services.EventBus.get_default ().disconnect_typing_accel (); signal_map[today_item.activate_item.connect (() => { set_date (new DateTime.now_local ()); })] = today_item; signal_map[tomorrow_item.activate_item.connect (() => { set_date (new DateTime.now_local ().add_days (1)); })] = tomorrow_item; signal_map[next_week_item.activate_item.connect (() => { set_date (new DateTime.now_local ().add_days (7)); })] = next_week_item; signal_map[no_date_item.activate_item.connect (() => { _datetime = null; date_changed (); close (); })] = no_date_item; signal_map[calendar_view.day_selected.connect (() => { _datetime = calendar_view.date; })] = calendar_view; signal_map[done_button.clicked.connect (() => { set_date (_datetime); date_changed (); close (); })] = done_button; closed.connect (() => { clean_up (); Services.EventBus.get_default ().connect_typing_accel (); }); } private void set_date (DateTime ? date) { _datetime = Utils.Datetime.get_date_only (date); date_changed (); close (); } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); if (calendar_view != null) { calendar_view.clean_up (); } } } alainm23-planify-69962f8/src/Dialogs/ErrorDialog.vala000066400000000000000000000027531517337276100223310ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.ErrorDialog : Adw.Dialog { public int error_code { get; construct; } public string error_message { get; construct; } public ErrorDialog (int error_code, string error_message) { Object ( error_code: error_code, error_message: error_message, content_width: 375, content_height: 450 ); } ~ErrorDialog () { debug ("Destroying - Dialogs.ErrorDialog\n"); } construct { var error_view = new Widgets.ErrorView () { error_code = error_code, error_message = error_message, }; child = error_view; } } alainm23-planify-69962f8/src/Dialogs/ItemChangeHistory.vala000066400000000000000000000155701517337276100235070ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.ItemChangeHistory : Adw.Dialog { public Objects.Item item { get; construct; } private Gtk.ListBox listbox; private Gtk.Button load_button; private int start_week = 0; private int end_week = 7; private Gee.HashMap signal_map = new Gee.HashMap (); public ItemChangeHistory (Objects.Item item) { Object ( item: item, title: _("Change History"), content_width: 450, content_height: 500 ); } ~ItemChangeHistory () { debug ("Destroying - Dialogs.ItemChangeHistory\n"); } construct { var headerbar = new Adw.HeaderBar (); headerbar.add_css_class ("flat"); var create_update_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 12) { margin_start = 6, margin_end = 6, valign = START, }; create_update_box.append (build_card ("plus-large-symbolic", _("Added at"), Utils.Datetime.get_relative_date_from_date (item.added_datetime))); string updated_date = "(" + _("Not available") + ")"; if (item.updated_at != "") { updated_date = Utils.Datetime.get_relative_date_from_date (item.updated_datetime); } create_update_box.append (build_card ("update-symbolic", _("Updated at"), updated_date)); listbox = new Gtk.ListBox () { hexpand = true, valign = START, css_classes = { "listbox-background" } }; listbox.set_header_func (header_completed_function); listbox.set_placeholder (new Gtk.Label (_("Your change history will be displayed here once you start making changes.")) { css_classes = { "dimmed" }, margin_top = 24, margin_start = 24, margin_end = 24, wrap = true, justify = Gtk.Justification.CENTER }); load_button = new Gtk.Button () { css_classes = { "flat" }, vexpand = true, valign = Gtk.Align.END }; var v_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 6) { hexpand = true, valign = Gtk.Align.START }; v_box.append (create_update_box); v_box.append (listbox); var v2_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 6) { hexpand = true, vexpand = true, margin_start = 12, margin_end = 12, margin_bottom = 12, margin_top = 12 }; v2_box.append (v_box); v2_box.append (load_button); var listbox_scrolled = new Gtk.ScrolledWindow () { hscrollbar_policy = Gtk.PolicyType.NEVER, hexpand = true, vexpand = true, child = v2_box }; var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (headerbar); toolbar_view.content = listbox_scrolled; child = toolbar_view; fetch_data (); signal_map[load_button.clicked.connect (() => { start_week = end_week; end_week = end_week + 7; fetch_data (); })] = load_button; closed.connect (() => { clean_up (); }); } private void fetch_data () { foreach (Objects.ObjectEvent object_event in Services.Database.get_default ().get_events_by_item (item.id, start_week, end_week)) { listbox.append (new Widgets.ItemChangeHistoryRow (object_event)); } listbox.invalidate_headers (); int weeks = (end_week / 7) + 1; load_button.label = GLib.ngettext ( "Load more history from %d week ago…", "Load more history from %d weeks ago…", weeks ).printf (weeks); } private void header_completed_function (Gtk.ListBoxRow lbrow, Gtk.ListBoxRow ? lbbefore) { var row = (Widgets.ItemChangeHistoryRow) lbrow; if (row.object_event.event_date == "") { return; } if (lbbefore != null) { var before = (Widgets.ItemChangeHistoryRow) lbbefore; if (before.object_event.date.compare (row.object_event.date) == 0) { return; } } row.set_header (get_header_box (Utils.Datetime.get_relative_date_from_date (row.object_event.date))); } private Gtk.Widget get_header_box (string title) { var header_label = new Gtk.Label (title) { css_classes = { "heading" }, halign = START }; var header_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 6) { margin_start = 12, margin_top = 6, margin_bottom = 6 }; header_box.append (header_label); return header_box; } private Gtk.Widget build_card (string icon_name, string header, string value) { var image = new Gtk.Image.from_icon_name (icon_name); var header_label = new Gtk.Label (header) { halign = START, css_classes = { "title-4", "caption", "font-bold" } }; var value_label = new Gtk.Label (value) { xalign = 0, use_markup = true, halign = START, ellipsize = Pango.EllipsizeMode.END, css_classes = { "caption" } }; var card_content = new Gtk.Grid () { column_spacing = 12, vexpand = true, hexpand = true, margin_start = 12, margin_end = 6, margin_top = 6, margin_bottom = 6, }; card_content.attach (image, 0, 0, 1, 2); card_content.attach (header_label, 1, 0, 1, 1); card_content.attach (value_label, 1, 1, 1, 1); var card = new Adw.Bin () { child = card_content, css_classes = { "card" } }; return card; } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); listbox.set_header_func (null); } } alainm23-planify-69962f8/src/Dialogs/Label.vala000066400000000000000000000165511517337276100211400ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.Label : Adw.Dialog { public Objects.Label label { get; construct; } private Adw.EntryRow name_entry; private Widgets.ColorPickerRow color_picker_row; private Widgets.LoadingButton submit_button; private Gee.HashMap signal_map = new Gee.HashMap (); public bool is_creating { get { return label.id == ""; } } public Label.new (Objects.Source source) { var label = new Objects.Label (); label.color = "blue"; label.id = ""; label.source_id = source.id; Object ( label: label, title: _("New Label") ); } public Label (Objects.Label label) { Object ( label: label, title: _("Edit Label") ); } ~Label () { debug ("Destroying - Dialogs.Label\n"); } construct { var headerbar = new Adw.HeaderBar (); headerbar.add_css_class ("flat"); name_entry = new Adw.EntryRow (); name_entry.title = _("Give your label a name"); name_entry.text = label.name; var name_group = new Adw.PreferencesGroup () { margin_end = 12, margin_start = 12, margin_top = 12 }; name_group.add (name_entry); color_picker_row = new Widgets.ColorPickerRow (); var color_group = new Gtk.Grid () { margin_end = 12, margin_start = 12, margin_top = 24, margin_bottom = 1, valign = Gtk.Align.START }; color_group.add_css_class ("card"); color_group.attach (color_picker_row, 0, 0); submit_button = new Widgets.LoadingButton.with_label (is_creating ? _("Add Label") : _("Update Label")) { vexpand = true, hexpand = true, margin_bottom = 12, margin_end = 12, margin_start = 12, margin_top = 12, valign = Gtk.Align.END }; submit_button.sensitive = !is_creating; submit_button.add_css_class ("suggested-action"); var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); content_box.append (name_group); content_box.append (color_group); content_box.append (submit_button); var content_clamp = new Adw.Clamp () { maximum_size = 600, margin_start = 12, margin_end = 12, margin_bottom = 12 }; content_clamp.child = content_box; var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (headerbar); toolbar_view.content = content_clamp; child = toolbar_view; Services.EventBus.get_default ().disconnect_typing_accel (); Timeout.add (225, () => { name_entry.grab_focus (); color_picker_row.color = label.color; return GLib.Source.REMOVE; }); signal_map[name_entry.entry_activated.connect (add_update_label)] = name_entry; signal_map[submit_button.clicked.connect (add_update_label)] = submit_button; signal_map[name_entry.changed.connect (() => { if (is_creating) { submit_button.sensitive = !is_duplicate (name_entry.text); } })] = name_entry; closed.connect (() => { clean_up (); Services.EventBus.get_default ().connect_typing_accel (); }); } private bool is_duplicate (string text) { Objects.Label label = Services.Store.instance ().get_label_by_name (text, true, label.source_id); return label != null; } private void add_update_label () { if (name_entry.text.length <= 0) { close (); return; } if (is_creating && is_duplicate (name_entry.text)) { close (); return; } string _name = label.name; string _color = label.color; label.name = name_entry.text; label.color = color_picker_row.color; if (!is_creating) { update_label (_name, _color); } else { add_label (); } } private void update_label (string _name, string _color) { if (label.source_type == SourceType.LOCAL || label.source_type == SourceType.CALDAV) { Services.Store.instance ().update_label (label); close (); return; } if (label.source_type == SourceType.TODOIST) { submit_button.is_loading = true; Services.Todoist.get_default ().update.begin (label, (obj, res) => { submit_button.is_loading = false; HttpResponse response = Services.Todoist.get_default ().update.end (res); if (response.status) { Services.Store.instance ().update_label (label); close (); } else { label.name = _name; label.color = _color; Services.EventBus.get_default ().send_error_toast (response.error_code, response.error); close (); } }); } } private void add_label () { label.item_order = Services.Store.instance ().get_labels_by_source (label.source_id).size; if (label.source_type == SourceType.LOCAL || label.source_type == SourceType.CALDAV) { label.id = Util.get_default ().generate_id (label); Services.Store.instance ().insert_label (label); close (); return; } if (label.source_type == SourceType.TODOIST) { submit_button.is_loading = true; Services.Todoist.get_default ().add.begin (label, (obj, res) => { submit_button.is_loading = false; HttpResponse response = Services.Todoist.get_default ().add.end (res); if (response.status) { label.id = response.data; Services.Store.instance ().insert_label (label); close (); } else { Services.EventBus.get_default ().send_error_toast (response.error_code, response.error); close (); } }); } } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); if (color_picker_row != null) { color_picker_row.clean_up (); } } } alainm23-planify-69962f8/src/Dialogs/LabelPicker.vala000066400000000000000000000067131517337276100222750ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.LabelPicker : Adw.Dialog { public LabelPickerType picker_type { get; construct; } private Widgets.LabelsPickerCore labels_picker_core; private Widgets.LoadingButton button; public Gee.ArrayList labels { set { labels_picker_core.labels = value; } } public string button_text { set { button.label = value; } } public signal void labels_changed (Gee.HashMap labels); private Gee.HashMap signal_map = new Gee.HashMap (); public LabelPicker (LabelPickerType picker_type = LabelPickerType.FILTER_ONLY) { Object ( picker_type: picker_type, title: _("Labels"), content_width: 320, content_height: 450 ); } ~LabelPicker () { debug ("Destroying - Dialogs.LabelPicker\n"); } construct { var headerbar = new Adw.HeaderBar (); headerbar.add_css_class ("flat"); labels_picker_core = new Widgets.LabelsPickerCore (picker_type); button = new Widgets.LoadingButton (LoadingButtonType.LABEL, _("Filter")) { margin_top = 12, margin_start = 12, margin_end = 12, margin_bottom = 12, css_classes = { "suggested-action" } }; var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (headerbar); toolbar_view.add_bottom_bar (button); toolbar_view.content = labels_picker_core; child = toolbar_view; Services.EventBus.get_default ().disconnect_typing_accel (); signal_map[button.clicked.connect (() => { labels_changed (labels_picker_core.picked); close (); })] = button; signal_map[labels_picker_core.close.connect (() => { labels_changed (labels_picker_core.picked); close (); })] = labels_picker_core; closed.connect (() => { clean_up (); Services.EventBus.get_default ().connect_typing_accel (); }); } public void add_labels (Objects.Source source) { labels_picker_core.source = source; } public void add_labels_list (Gee.ArrayList labels_list) { labels_picker_core.add_labels_list (labels_list); } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); if (labels_picker_core != null) { labels_picker_core.clean_up (); } } } alainm23-planify-69962f8/src/Dialogs/ManageProjects.vala000066400000000000000000000063241517337276100230200ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.ManageProjects : Adw.Dialog { private Gtk.ListBox listbox; private Widgets.ScrolledWindow scrolled_window; private Gee.HashMap signal_map = new Gee.HashMap (); public ManageProjects () { Object ( title: _("Archived Projects"), content_width: 320, content_height: 420 ); } ~ManageProjects () { debug ("Destroying - Dialogs.ManageProjects\n"); } construct { var headerbar = new Adw.HeaderBar (); headerbar.add_css_class ("flat"); listbox = new Gtk.ListBox () { hexpand = true, valign = START, css_classes = { "listbox-background" } }; var listbox_card = new Adw.Bin () { margin_start = 12, margin_end = 12, margin_bottom = 6, margin_top = 3, css_classes = { "card" }, child = listbox, valign = START }; var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); content_box.append (listbox_card); scrolled_window = new Widgets.ScrolledWindow (content_box); var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (headerbar); toolbar_view.content = scrolled_window; child = toolbar_view; Services.EventBus.get_default ().disconnect_typing_accel (); foreach (Objects.Project project in Services.Store.instance ().get_all_projects_archived ()) { if (project.is_archived) { listbox.append (new Widgets.ProjectItemRow (project, "menu")); } } signal_map[Services.Store.instance ().project_unarchived.connect (() => { if (Services.Store.instance ().get_all_projects_archived ().size <= 0) { close (); } })] = Services.Store.instance (); closed.connect (() => { clean_up (); Services.EventBus.get_default ().connect_typing_accel (); }); } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); foreach (unowned Gtk.Widget child in Util.get_default ().get_children (listbox)) { ((Widgets.ProjectItemRow) child).clean_up (); } } } alainm23-planify-69962f8/src/Dialogs/ManageSectionOrder.vala000066400000000000000000000161231517337276100236250ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.ManageSectionOrder : Adw.Dialog { public Objects.Project project { get; construct; } private Gtk.ListBox listbox; private Gtk.ListBox archived_listbox; private Widgets.ScrolledWindow scrolled_window; private Gee.HashMap signal_map = new Gee.HashMap (); public ManageSectionOrder (Objects.Project project) { Object ( project: project, title: _("Manage Sections"), content_width: 320, content_height: 450 ); } ~ManageSectionOrder () { debug ("Destroying - Dialogs.ManageSectionOrder\n"); } construct { var headerbar = new Adw.HeaderBar (); headerbar.add_css_class ("flat"); listbox = new Gtk.ListBox () { hexpand = true, valign = START, css_classes = { "listbox-background" } }; var label = new Gtk.Label (_("You can sort your sections by dragging and dropping")) { css_classes = { "caption", "dimmed" }, halign = START, margin_start = 16, margin_end = 16, margin_top = 3, wrap = true, wrap_mode = CHAR, natural_wrap_mode = NONE, xalign = 0 }; var listbox_card = new Adw.Bin () { margin_start = 12, margin_end = 12, margin_bottom = 6, margin_top = 1, css_classes = { "card" }, child = listbox, valign = START }; var archived_title = new Gtk.Label (_("Archived")) { halign = START, css_classes = { "heading", "h4" }, margin_start = 16 }; archived_listbox = new Gtk.ListBox () { hexpand = true, valign = START, css_classes = { "listbox-background" } }; var archived_listbox_card = new Adw.Bin () { margin_start = 12, margin_end = 12, margin_bottom = 6, margin_top = 3, css_classes = { "card" }, child = archived_listbox, valign = START }; var archived_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 6) { margin_top = 12 }; archived_box.append (archived_title); archived_box.append (archived_listbox_card); var archived_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = archived_box, reveal_child = project.sections_archived.size > 0 }; var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { margin_bottom = 6, }; content_box.append (listbox_card); content_box.append (label); content_box.append (archived_revealer); scrolled_window = new Widgets.ScrolledWindow (content_box); var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (headerbar); toolbar_view.content = scrolled_window; child = toolbar_view; add_sections (); Services.EventBus.get_default ().disconnect_typing_accel (); Timeout.add (225, () => { set_sort_func (); return GLib.Source.REMOVE; }); signal_map[Services.Store.instance ().section_deleted.connect ((section) => { if (section.project_id == project.id) { archived_revealer.reveal_child = project.sections_archived.size > 0; } })] = Services.Store.instance (); signal_map[Services.Store.instance ().section_unarchived.connect ((section) => { if (section.project_id == project.id) { archived_revealer.reveal_child = project.sections_archived.size > 0; } })] = Services.Store.instance (); closed.connect (() => { clean_up (); Services.EventBus.get_default ().connect_typing_accel (); }); } private void set_sort_func () { listbox.set_sort_func ((row1, row2) => { Objects.Section item1 = ((Widgets.SectionItemRow) row1).section; Objects.Section item2 = ((Widgets.SectionItemRow) row2).section; if (item1.id == "") { return 0; } return item1.section_order - item2.section_order; }); listbox.set_sort_func (null); } private void update_section_section_order () { unowned Widgets.SectionItemRow ? section_row = null; var row_index = 0; do { section_row = (Widgets.SectionItemRow) listbox.get_row_at_index (row_index); if (section_row != null) { section_row.section.section_order = row_index; Services.Store.instance ().update_section (section_row.section); } row_index++; } while (section_row != null); } public void add_sections () { var inbox_section = new Objects.Section (); inbox_section.project_id = project.id; inbox_section.name = _("(No Section)"); add_section (new Widgets.SectionItemRow (inbox_section, "order")); foreach (Objects.Section section in project.sections) { if (section.was_archived ()) { archived_listbox.append (new Widgets.SectionItemRow (section, "menu")); } else { add_section (new Widgets.SectionItemRow (section, "order")); } } } public void add_section (Widgets.SectionItemRow row) { signal_map[row.update_section.connect (() => { update_section_section_order (); project.section_sort_order_changed (); })] = row; listbox.append (row); } public void clean_up () { listbox.set_sort_func (null); foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); foreach (unowned Gtk.Widget child in Util.get_default ().get_children (listbox)) { ((Widgets.SectionItemRow) child).clean_up (); } foreach (unowned Gtk.Widget child in Util.get_default ().get_children (archived_listbox)) { ((Widgets.SectionItemRow) child).clean_up (); } } } alainm23-planify-69962f8/src/Dialogs/Preferences/000077500000000000000000000000001517337276100215055ustar00rootroot00000000000000alainm23-planify-69962f8/src/Dialogs/Preferences/Pages/000077500000000000000000000000001517337276100225445ustar00rootroot00000000000000alainm23-planify-69962f8/src/Dialogs/Preferences/Pages/Accounts/000077500000000000000000000000001517337276100243235ustar00rootroot00000000000000alainm23-planify-69962f8/src/Dialogs/Preferences/Pages/Accounts/Accounts.vala000066400000000000000000000524151517337276100267560ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.Preferences.Pages.Accounts : Dialogs.Preferences.Pages.BasePage { private Layouts.HeaderItem sources_group; private Gtk.Label inbox_page_name; public Accounts (Adw.PreferencesDialog preferences_dialog) { Object ( preferences_dialog: preferences_dialog, title: _("Accounts") ); } ~Accounts () { debug ("Destroying - Dialogs.Preferences.Pages.Accounts\n"); } construct { var todoist_item = new Widgets.ContextMenu.MenuItem (_("Todoist")); var nextcloud_item = new Widgets.ContextMenu.MenuItem (_("Nextcloud")); var caldav_item = new Widgets.ContextMenu.MenuItem (_("CalDAV")); var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; menu_box.append (todoist_item); menu_box.append (nextcloud_item); menu_box.append (caldav_item); var popover = new Gtk.Popover () { has_arrow = true, child = menu_box, width_request = 250, position = Gtk.PositionType.BOTTOM }; var add_source_button = new Gtk.MenuButton () { valign = Gtk.Align.CENTER, icon_name = "plus-large-symbolic", css_classes = { "flat" }, tooltip_markup = _("Add Source"), popover = popover }; sources_group = new Layouts.HeaderItem (_("Accounts")) { card = true, reveal = true, listbox_margin_top = 6 }; sources_group.add_widget_end (add_source_button); inbox_page_name = new Gtk.Label (null) { ellipsize = END, max_width_chars = 24 }; inbox_page_name.add_css_class ("caption"); inbox_page_name.add_css_class ("dimmed"); var arrow_icon = new Gtk.Image.from_icon_name ("go-next-symbolic"); var inbox_box = new Gtk.Box (HORIZONTAL, 6) { halign = END, valign = CENTER, hexpand = true }; inbox_box.append (inbox_page_name); inbox_box.append (arrow_icon); var inbox_page_row = new Adw.ActionRow () { activatable = true, title = _("Inbox Page") }; inbox_page_row.add_prefix (new Gtk.Image.from_icon_name ("mailbox-symbolic")); inbox_page_row.add_suffix (inbox_box); var inbox_group = new Adw.PreferencesGroup () { margin_top = 12 }; inbox_group.add (inbox_page_row); var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 3) { margin_start = 12, margin_end = 12 }; content_box.append (sources_group); content_box.append (new Gtk.Label (_("You can sort your accounts by dragging and dropping")) { css_classes = { "caption", "dimmed" }, halign = START }); content_box.append (inbox_group); var toolbar_view = new Adw.ToolbarView () { content = content_box }; toolbar_view.add_top_bar (new Adw.HeaderBar ()); child = toolbar_view; update_inbox_page_name (); Gee.HashMap sources_hashmap = new Gee.HashMap (); foreach (Objects.Source source in Services.Store.instance ().sources) { add_source_row (source, sources_hashmap); } signal_map[Services.Store.instance ().source_added.connect ((source) => { add_source_row (source, sources_hashmap); })] = Services.Store.instance (); signal_map[Services.Store.instance ().source_deleted.connect ((source) => { if (sources_hashmap.has_key (source.id)) { sources_hashmap[source.id].hide_destroy (); sources_hashmap.unset (source.id); } })] = Services.Store.instance (); signal_map[todoist_item.clicked.connect (() => { preferences_dialog.push_subpage (new TodoistSetup (preferences_dialog, this)); })] = todoist_item; signal_map[nextcloud_item.clicked.connect (() => { preferences_dialog.push_subpage (new NextcloudSetup (preferences_dialog, this)); })] = nextcloud_item; signal_map[caldav_item.clicked.connect (() => { preferences_dialog.push_subpage (new CalDAVSetup (preferences_dialog, this)); })] = caldav_item; signal_map[sources_group.row_activated.connect ((row) => { var source = ((SourceRow) row).source; preferences_dialog.push_subpage (new Dialogs.Preferences.Pages.SourceView (preferences_dialog, source)); })] = sources_group; inbox_page_row.activated.connect (() => { preferences_dialog.push_subpage (new Dialogs.Preferences.Pages.InboxPage (preferences_dialog)); }); Services.Settings.get_default ().settings.changed["local-inbox-project-id"].connect (() => { update_inbox_page_name (); }); destroy.connect (() => { clean_up (); }); } private void add_source_row (Objects.Source source, Gee.HashMap sources_hashmap) { if (!sources_hashmap.has_key (source.id)) { var source_row = new SourceRow (source, preferences_dialog); sources_hashmap[source.id] = source_row; sources_group.add_child (source_row); source_row.migration_requested.connect (() => { var todoist_setup = new TodoistSetup (preferences_dialog, this); todoist_setup.set_migrate_mode (source); preferences_dialog.push_subpage (todoist_setup); }); } } public void show_message_error (int error_code, string error_message, bool visible_issue_button = true) { var error_view = new Widgets.ErrorView () { error_code = error_code, error_message = error_message, visible_issue_button = visible_issue_button }; var page = new Adw.NavigationPage (error_view, ""); preferences_dialog.push_subpage (page); } public override void clean_up () { sources_group.set_sort_func (null); foreach (var row in sources_group.get_children ()) { ((SourceRow) row).clean_up (); } foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } private void update_inbox_page_name () { Objects.Project ? inbox_project = Services.Store.instance ().get_project ( Services.Settings.get_default ().settings.get_string ("local-inbox-project-id") ); if (inbox_project == null) { return; } string label = "%s (%s)".printf (inbox_project.name, inbox_project.source.display_name); inbox_page_name.label = label; inbox_page_name.tooltip_text = label; } public Gtk.Widget build_sync_page () { var image = new Adw.Spinner () { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, height_request = 64, width_request = 64 }; var label = new Gtk.Label (_("Planify is syncing your tasks, this may take a few moments")) { wrap = true, halign = Gtk.Align.CENTER, justify = Gtk.Justification.CENTER, margin_start = 12, margin_end = 12, }; label.add_css_class ("dimmed"); var box = new Gtk.Box (Gtk.Orientation.VERTICAL, 24) { margin_top = 128, margin_start = 12, margin_end = 12 }; box.append (image); box.append (label); return box; } public class SourceRow : Gtk.ListBoxRow { public Objects.Source source { get; construct; } public Adw.PreferencesDialog preferences_dialog { get; construct; } public signal void migration_requested (); private Widgets.ReorderChild reorder; private Gtk.Revealer main_revealer; private Gtk.Switch visible_checkbutton; private Gee.HashMap signal_map = new Gee.HashMap (); public SourceRow (Objects.Source source, Adw.PreferencesDialog preferences_dialog) { Object ( source: source, preferences_dialog: preferences_dialog ); } ~SourceRow () { debug ("Destroying - SourceRow\n"); } construct { add_css_class ("no-selectable"); var title_label = new Gtk.Label (source.display_name) { halign = Gtk.Align.START }; var subtitle_label = new Gtk.Label (source.subheader_text) { halign = Gtk.Align.START, css_classes = { "caption", "dimmed" } }; var subtitle_revealer = new Gtk.Revealer () { child = subtitle_label, reveal_child = source.source_type != SourceType.LOCAL }; var title_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { valign = Gtk.Align.CENTER }; title_box.append (title_label); title_box.append (subtitle_revealer); visible_checkbutton = new Gtk.Switch () { active = source.is_visible, valign = CENTER }; Gtk.Image ? warning_image = null; if (source.source_type == SourceType.CALDAV && source.caldav_data.ignore_ssl) { warning_image = new Gtk.Image.from_icon_name ("dialog-warning-symbolic") { tooltip_text = _("SSL verification is disabled") }; } var end_box = new Gtk.Box (HORIZONTAL, 12) { hexpand = true, halign = END }; var auth_warning_image = new Gtk.Image.from_icon_name ("dialog-warning-symbolic") { tooltip_text = _("Authentication expired"), visible = source.sync_status != null }; auth_warning_image.add_css_class ("error"); if (source.sync_status != null) { auth_warning_image.tooltip_text = source.sync_status.tooltip; } end_box.append (auth_warning_image); if (warning_image != null) { end_box.append (warning_image); } // Check if Todoist account needs migration if (source.source_type == SourceType.TODOIST && source.needs_migration ()) { var migration_warning = new Gtk.Image.from_icon_name ("dialog-warning-symbolic") { tooltip_text = _("Account migration required") }; migration_warning.add_css_class ("warning"); var migration_button = new Gtk.Button.with_label (_("Reconnect")) { valign = CENTER }; migration_button.add_css_class ("suggested-action"); migration_button.clicked.connect (() => { migration_requested (); }); end_box.append (migration_warning); end_box.append (migration_button); } else { end_box.append (visible_checkbutton); end_box.append (new Gtk.Image.from_icon_name ("go-next-symbolic")); } var content_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_top = 6, margin_bottom = 6, margin_start = 6, margin_end = 6, height_request = 32 }; content_box.append (new Gtk.Image.from_icon_name ("list-drag-handle-symbolic") { css_classes = { "dimmed" }, pixel_size = 12 }); content_box.append (title_box); content_box.append (end_box); var card = new Adw.Bin () { child = content_box, margin_top = 3, margin_bottom = 3, margin_start = 3, margin_end = 3 }; reorder = new Widgets.ReorderChild (card, this); main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = reorder }; child = main_revealer; reorder.build_drag_and_drop (); update_switch_sensitivity (); Timeout.add (main_revealer.transition_duration, () => { main_revealer.reveal_child = true; return GLib.Source.REMOVE; }); signal_map[source.sync_failed.connect ((status) => { if (status != null) { auth_warning_image.tooltip_text = status.tooltip; auth_warning_image.visible = true; } })] = source; signal_map[source.sync_finished.connect (() => { auth_warning_image.visible = false; })] = source; signal_map[source.updated.connect (() => { title_label.label = source.display_name; })] = source; signal_map[visible_checkbutton.notify["active"].connect (() => { if (!visible_checkbutton.active) { int visible_count = 0; foreach (Objects.Source s in Services.Store.instance ().sources) { if (s.is_visible) { visible_count++; } } if (visible_count <= 1) { visible_checkbutton.active = true; return; } string current_inbox_id = Services.Settings.get_default ().settings.get_string ("local-inbox-project-id"); var inbox_project = Services.Store.instance ().get_project (current_inbox_id); if (inbox_project != null && inbox_project.source_id == source.id) { visible_checkbutton.active = true; show_inbox_warning_dialog (); return; } } source.is_visible = visible_checkbutton.active; source.save (); update_all_switches (); })] = visible_checkbutton; signal_map[Services.Store.instance ().source_added.connect (() => { update_switch_sensitivity (); })] = Services.Store.instance (); signal_map[Services.Store.instance ().source_deleted.connect (() => { update_switch_sensitivity (); })] = Services.Store.instance (); signal_map[reorder.on_drop_end.connect ((listbox) => { update_views_order (listbox); })] = reorder; signal_map[main_revealer.notify["child-revealed"].connect (() => { reorder.draw_motion_widgets (); })] = main_revealer; } private void show_inbox_warning_dialog () { var dialog = new Adw.AlertDialog ( _("Cannot Hide This Account"), _("This account contains your current Inbox project. Please change your Inbox project first.") ); dialog.add_response ("cancel", _("Cancel")); dialog.add_response ("change", _("Change Inbox")); dialog.set_response_appearance ("change", Adw.ResponseAppearance.SUGGESTED); dialog.set_default_response ("change"); dialog.set_close_response ("cancel"); dialog.choose.begin (Planify._instance.main_window, null, (obj, res) => { string response = dialog.choose.end (res); if (response == "change") { preferences_dialog.push_subpage (new Dialogs.Preferences.Pages.InboxPage (preferences_dialog)); } }); } private void update_views_order (Gtk.ListBox listbox) { unowned SourceRow ? row = null; var row_index = 0; do { row = (SourceRow) listbox.get_row_at_index (row_index); if (row != null) { row.source.child_order = row_index; row.source.save (); } row_index++; } while (row != null); Services.EventBus.get_default ().update_sources_position (); } private void update_switch_sensitivity () { int visible_count = 0; foreach (Objects.Source s in Services.Store.instance ().sources) { if (s.is_visible) { visible_count++; } } visible_checkbutton.sensitive = visible_count > 1 || !source.is_visible; } private void update_all_switches () { var listbox = (Gtk.ListBox) parent; if (listbox == null) return; unowned SourceRow ? row = null; var row_index = 0; do { row = (SourceRow) listbox.get_row_at_index (row_index); if (row != null) { row.update_switch_sensitivity (); } row_index++; } while (row != null); } public void hide_destroy () { main_revealer.reveal_child = false; clean_up (); Timeout.add (main_revealer.transition_duration, () => { ((Gtk.ListBox) parent).remove (this); return GLib.Source.REMOVE; }); } public void clean_up () { if (reorder != null) { reorder.clean_up (); reorder = null; } foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); main_revealer = null; } } public class LoadingPage : Adw.Bin { private Gtk.Label secondary_label; private Gtk.ProgressBar progress_bar; private Adw.Spinner spinner; private bool _show_progress = false; public string sync_label { set { secondary_label.label = value; } } public bool show_progress { get { return _show_progress; } set { _show_progress = value; spinner.visible = !value; progress_bar.visible = value; } } public double progress { set { progress_bar.fraction = value; } } construct { var title_label = new Gtk.Label (_("Syncing…")) { wrap = true, halign = CENTER, justify = CENTER, margin_bottom = 24 }; title_label.add_css_class ("title-1"); spinner = new Adw.Spinner () { valign = CENTER, halign = CENTER, height_request = 64, width_request = 64 }; progress_bar = new Gtk.ProgressBar () { valign = CENTER, halign = CENTER, width_request = 300, visible = false }; secondary_label = new Gtk.Label (null) { wrap = true, halign = CENTER, justify = CENTER }; secondary_label.add_css_class ("dimmed"); secondary_label.add_css_class ("caption"); var primary_label = new Gtk.Label (_("Planify is syncing your tasks, this may take a few moments")) { wrap = true, halign = CENTER, justify = CENTER, margin_start = 12, margin_end = 12, }; primary_label.add_css_class ("dimmed"); var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 24) { margin_top = 128, margin_start = 64, margin_end = 64 }; content_box.append (title_label); content_box.append (spinner); content_box.append (progress_bar); content_box.append (secondary_label); content_box.append (primary_label); child = content_box; } } } alainm23-planify-69962f8/src/Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala000066400000000000000000000351001517337276100272420ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.Preferences.Pages.CalDAVSetup : Dialogs.Preferences.Pages.BasePage { public Accounts accounts_page { get; construct; } private Adw.EntryRow server_entry; private Adw.EntryRow username_entry; private Adw.PasswordEntryRow password_entry; private Widgets.LoadingButton login_button; private Gtk.Button cancel_button; private Gtk.Stack main_stack; // Advanced Options private Adw.EntryRow calendar_home_entry; private Widgets.IgnoreSSLSwitchRow ignore_ssl_row; private Widgets.BypassResolveSwitchRow bypass_resolve_row; public CalDAVSetup (Adw.PreferencesDialog preferences_dialog, Accounts accounts_page) { Object ( preferences_dialog: preferences_dialog, accounts_page: accounts_page, title: _("CalDAV") ); } ~CalDAVSetup () { debug ("Destroying Dialogs.Preferences.Pages.CalDAVSetup\n"); } construct { var icon = new Gtk.Image.from_icon_name ("network-server-symbolic") { pixel_size = 48, css_classes = { "dimmed" } }; var title_label = new Gtk.Label (_("Connect to CalDAV")) { css_classes = { "font-bold", "title-3" }, margin_top = 12 }; var description_label = new Gtk.Label (_("Connect to any CalDAV-compatible server to sync your tasks")) { css_classes = { "dimmed", "caption" }, wrap = true, justify = CENTER, max_width_chars = 40 }; var header_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 6) { halign = CENTER, margin_bottom = 18 }; header_box.append (icon); header_box.append (title_label); header_box.append (description_label); server_entry = new Adw.EntryRow (); server_entry.title = _("Server URL"); username_entry = new Adw.EntryRow (); username_entry.title = _("Username"); password_entry = new Adw.PasswordEntryRow (); password_entry.title = _("Password"); password_entry.input_purpose = Gtk.InputPurpose.PASSWORD; password_entry.enable_emoji_completion = false; var entries_group = new Adw.PreferencesGroup (); entries_group.add (server_entry); entries_group.add (username_entry); entries_group.add (password_entry); // Advanced options calendar_home_entry = new Adw.EntryRow (); calendar_home_entry.title = _("Calendar Home URL"); ignore_ssl_row = new Widgets.IgnoreSSLSwitchRow (); bypass_resolve_row = new Widgets.BypassResolveSwitchRow (); var advanced_group = new Adw.PreferencesGroup () { margin_bottom = 3, margin_start = 3, margin_end = 3 }; advanced_group.title = _("Advanced"); advanced_group.add (calendar_home_entry); advanced_group.add (ignore_ssl_row); advanced_group.add (bypass_resolve_row); var advanced_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, reveal_child = false, child = advanced_group }; var advanced_icon = new Gtk.Image.from_icon_name ("go-down-symbolic") { pixel_size = 12 }; var advanced_label = new Gtk.Label (_("Show advanced options")); var advanced_button_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 4) { halign = CENTER }; advanced_button_box.append (advanced_label); advanced_button_box.append (advanced_icon); var advanced_button = new Gtk.Button () { child = advanced_button_box, css_classes = { "flat", "caption", "dimmed" }, halign = CENTER, margin_top = 12 }; signal_map[advanced_button.clicked.connect (() => { var revealed = !advanced_revealer.reveal_child; advanced_revealer.reveal_child = revealed; advanced_label.label = revealed ? _("Hide advanced options") : _("Show advanced options"); advanced_icon.icon_name = revealed ? "go-up-symbolic" : "go-down-symbolic"; })] = advanced_button; login_button = new Widgets.LoadingButton.with_label (_("Log In")) { margin_top = 24, sensitive = false, css_classes = { "suggested-action", "pill" }, halign = CENTER }; cancel_button = new Gtk.Button.with_label (_("Cancel")) { css_classes = { "flat", "pill" }, halign = CENTER, visible = false }; var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { vexpand = true, hexpand = true, margin_start = 12, margin_end = 12, margin_top = 24, margin_bottom = 24 }; content_box.append (header_box); content_box.append (entries_group); content_box.append (advanced_button); content_box.append (advanced_revealer); content_box.append (login_button); content_box.append (cancel_button); var loading_page = new Dialogs.Preferences.Pages.Accounts.LoadingPage () { show_progress = true }; var scrolled_window = new Gtk.ScrolledWindow () { hscrollbar_policy = Gtk.PolicyType.NEVER, hexpand = true, vexpand = true, child = content_box }; main_stack = new Gtk.Stack () { vexpand = true, hexpand = true, transition_type = Gtk.StackTransitionType.CROSSFADE }; main_stack.add_named (scrolled_window, "main-page"); main_stack.add_named (loading_page, "loading-page"); var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (new Adw.HeaderBar ()); toolbar_view.content = main_stack; child = toolbar_view; signal_map[server_entry.changed.connect (() => validate_entries ())] = server_entry; signal_map[username_entry.changed.connect (() => validate_entries ())] = username_entry; signal_map[password_entry.changed.connect (() => validate_entries ())] = password_entry; signal_map[password_entry.entry_activated.connect (() => { if (login_button.sensitive) { on_login_button_clicked (); } })] = password_entry; signal_map[login_button.clicked.connect (() => on_login_button_clicked ())] = login_button; signal_map[Services.CalDAV.Core.get_default ().sync_progress.connect ((current, total, message) => { loading_page.sync_label = message; loading_page.progress = total > 0 ? (double) current / (double) total : 0.0; })] = Services.CalDAV.Core.get_default (); destroy.connect (() => { clean_up (); // Ensure cleanup on dialog destruction Services.CalDAV.Core.get_default ().clear (); }); } private void validate_entries () { bool valid = server_entry.text != null && server_entry.text != "" && username_entry.text != null && username_entry.text != "" && password_entry.text != null && password_entry.text != "" && is_valid_url (server_entry.text); if (!is_valid_url (server_entry.text)) { server_entry.add_css_class ("error"); } else { server_entry.remove_css_class ("error"); } login_button.sensitive = valid; } private void on_login_button_clicked () { Services.LogService.get_default ().info ("CalDAVSetup", "Login button clicked"); GLib.Cancellable cancellable = new GLib.Cancellable (); login_button.is_loading = true; cancel_button.visible = true; signal_map[cancel_button.clicked.connect (() => { Services.LogService.get_default ().info ("CalDAVSetup", "Login cancelled by user"); cancellable.cancel (); // Clean up any ongoing operations Services.CalDAV.Core.get_default ().clear (); })] = cancel_button; do_login.begin (cancellable); } private async void do_login (GLib.Cancellable cancellable) { if (cancellable.is_cancelled ()) { login_button.is_loading = false; cancel_button.visible = false; return; } if (server_entry.text == null || server_entry.text == "") { Services.LogService.get_default ().warn ("CalDAVSetup", "Empty server URL"); login_button.is_loading = false; cancel_button.visible = false; accounts_page.show_message_error (0, "Invalid Server URL"); return; } Services.LogService.get_default ().info ("CalDAVSetup", "Starting login flow"); /* * The `resolve_well_known_caldav ()` function can fail on misconfigured CalDAV servers where * the `Location` header doesn't contain the configured port. * This option allows us to bypass the call. */ var dav_endpoint = ""; var bypass_resolve = bypass_resolve_row.active; if (bypass_resolve) { Services.LogService.get_default ().info ("CalDAVSetup", "Bypassing well-known resolve"); dav_endpoint = server_entry.text; } else { Services.LogService.get_default ().info ("CalDAVSetup", "Resolving well-known CalDAV endpoint"); try { dav_endpoint = yield Services.CalDAV.Core.get_default ().resolve_well_known_caldav (new Soup.Session (), server_entry.text, ignore_ssl_row.active); } catch (Error e) { if (e is GLib.IOError.CANCELLED) { login_button.is_loading = false; cancel_button.visible = false; return; } login_button.is_loading = false; cancel_button.visible = false; accounts_page.show_message_error (0, "Failed to resolve server: %s".printf (e.message)); return; } } if (cancellable.is_cancelled ()) { login_button.is_loading = false; cancel_button.visible = false; return; } var calendar_home = ""; if (calendar_home_entry.text != null && calendar_home_entry.text != "") { Services.LogService.get_default ().info ("CalDAVSetup", "Using custom calendar home URL"); calendar_home = calendar_home_entry.text; } else { Services.LogService.get_default ().info ("CalDAVSetup", "Resolving calendar home"); try { calendar_home = yield Services.CalDAV.Core.get_default ().resolve_calendar_home (CalDAVType.GENERIC, dav_endpoint, username_entry.text, password_entry.text, cancellable, ignore_ssl_row.active); } catch (Error e) { if (e is GLib.IOError.CANCELLED) { login_button.is_loading = false; cancel_button.visible = false; return; } login_button.is_loading = false; cancel_button.visible = false; accounts_page.show_message_error (0, "Failed to resolve calendar home: %s".printf (e.message)); return; } } if (cancellable.is_cancelled ()) { login_button.is_loading = false; cancel_button.visible = false; return; } if (calendar_home == null) { Services.LogService.get_default ().error ("CalDAVSetup", "Calendar home resolved to null"); login_button.is_loading = false; cancel_button.visible = false; accounts_page.show_message_error (0, "Failed to resolve calendar home"); return; } else { calendar_home_entry.text = calendar_home; } Services.LogService.get_default ().info ("CalDAVSetup", "Attempting login"); HttpResponse response = yield Services.CalDAV.Core.get_default ().login (CalDAVType.GENERIC, dav_endpoint, username_entry.text, password_entry.text, calendar_home, cancellable, ignore_ssl_row.active); if (response.status) { Services.LogService.get_default ().info ("CalDAVSetup", "Login successful, syncing account"); Objects.Source source = (Objects.Source) response.data_object.get_object (); main_stack.visible_child_name = "loading-page"; response = yield Services.CalDAV.Core.get_default ().add_caldav_account (source, cancellable); if (response.status) { Services.LogService.get_default ().info ("CalDAVSetup", "Account synced successfully"); preferences_dialog.pop_subpage (); } else { Services.LogService.get_default ().error ("CalDAVSetup", "Account sync failed: %s".printf (response.error)); main_stack.visible_child_name = "main-page"; login_button.is_loading = false; cancel_button.visible = false; accounts_page.show_message_error (response.error_code, response.error.strip ()); } } else { login_button.is_loading = false; cancel_button.visible = false; if (response.error_code == 409) { var toast = new Adw.Toast (response.error.strip ()); toast.timeout = 3; preferences_dialog.add_toast (toast); } else { accounts_page.show_message_error (response.error_code, response.error.strip ()); } } } private bool is_valid_url (string uri) { var scheme = Uri.parse_scheme (uri); if (scheme == null) { return false; } return scheme.has_prefix ("http"); } } alainm23-planify-69962f8/src/Dialogs/Preferences/Pages/Accounts/InboxPage.vala000066400000000000000000000131531517337276100270470ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.Preferences.Pages.InboxPage : Dialogs.Preferences.Pages.BasePage { private Gtk.Box group_box; public InboxPage (Adw.PreferencesDialog preferences_dialog) { Object ( preferences_dialog: preferences_dialog, title: _("Inbox Project") ); } ~InboxPage () { debug ("Destroying Dialogs.Preferences.Pages.InboxPage\n"); } construct { var description_label = new Gtk.Label (_("Your Inbox is where new tasks land by default. Based on David Allen's Getting Things Done methodology, it's your capture point for quick ideas and tasks that you'll organize later")) { wrap = true, xalign = 0, margin_bottom = 6, margin_start = 3, margin_end = 3 }; group_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 12); group_box.append (description_label); var content_box = new Gtk.Box (VERTICAL, 0) { margin_start = 12, margin_end = 12, margin_bottom = 24 }; content_box.append (group_box); var scrolled_window = new Gtk.ScrolledWindow () { hscrollbar_policy = Gtk.PolicyType.NEVER, hexpand = true, vexpand = true, child = content_box }; var toolbar_view = new Adw.ToolbarView () { content = scrolled_window }; toolbar_view.add_top_bar (new Adw.HeaderBar ()); child = toolbar_view; add_projects (); } private void add_projects () { var fake_radio = new Gtk.CheckButton (); foreach (Objects.Source source in Services.Store.instance ().sources) { var source_group = new Layouts.HeaderItem (source.display_name) { card = true, reveal = source.is_visible }; foreach (Objects.Project project in Services.Store.instance ().get_projects_by_source (source.id)) { if (project.is_archived) { continue; } var row = new ProjectRow (project) { active = project.is_inbox_project, group = fake_radio }; signal_map[row.toggled.connect (() => { if (row.active) { Services.Settings.get_default ().settings.set_string ("local-inbox-project-id", project.id); } })] = row; source_group.add_child (row); } group_box.append (source_group); } } private Gtk.Widget get_header_box (string title) { var header_label = new Gtk.Label (title) { css_classes = { "heading" }, halign = START, margin_start = 3 }; var header_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 6) { margin_top = 6, margin_start = 3, margin_bottom = 3 }; header_box.append (header_label); return header_box; } public class ProjectRow : Gtk.ListBoxRow { public Objects.Project project { get; construct; } public Gtk.CheckButton radio_button; public Gtk.CheckButton group { set { radio_button.group = value; } } public bool active { set { radio_button.active = value; } get { return radio_button.active; } } public signal void toggled (); public ProjectRow (Objects.Project project) { Object ( project: project ); } ~ProjectRow () { debug ("Destroying - ProjectRow\n"); } construct { add_css_class ("sidebar-row"); add_css_class ("transition"); add_css_class ("no-padding"); radio_button = new Gtk.CheckButton (); var action_row = new Adw.ActionRow () { title = project.name, activatable = true }; action_row.add_prefix (new Widgets.IconColorProject (20) { project = project }); action_row.add_suffix (radio_button); child = action_row; var select_gesture = new Gtk.GestureClick (); action_row.add_controller (select_gesture); select_gesture.released.connect (() => { if (!radio_button.active) { radio_button.active = true; toggled (); } }); radio_button.toggled.connect (() => { if (radio_button.active) { toggled (); } }); } } } alainm23-planify-69962f8/src/Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala000066400000000000000000000222471517337276100301650ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.Preferences.Pages.NextcloudSetup : Dialogs.Preferences.Pages.BasePage { public Accounts accounts_page { get; construct; } private Adw.EntryRow server_entry; private Widgets.LoadingButton login_button; private Gtk.Button cancel_button; private Gtk.Stack main_stack; // Advanced Options private Widgets.IgnoreSSLSwitchRow ignore_ssl_row; public NextcloudSetup (Adw.PreferencesDialog preferences_dialog, Accounts accounts_page) { Object ( preferences_dialog: preferences_dialog, accounts_page: accounts_page, title: _("Nextcloud") ); } ~NextcloudSetup () { debug ("Destroying - Dialogs.Preferences.Pages.NextcloudSetup\n"); } construct { var icon = new Gtk.Image.from_icon_name ("cloud-outline-thick-symbolic") { pixel_size = 48, css_classes = { "dimmed" } }; var title_label = new Gtk.Label (_("Connect to Nextcloud")) { css_classes = { "font-bold", "title-3" }, margin_top = 12 }; var description_label = new Gtk.Label (_("Sign in with your Nextcloud account to sync tasks via CalDAV")) { css_classes = { "dimmed", "caption" }, wrap = true, justify = CENTER, max_width_chars = 40 }; var header_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 6) { halign = CENTER, margin_bottom = 18 }; header_box.append (icon); header_box.append (title_label); header_box.append (description_label); server_entry = new Adw.EntryRow (); server_entry.title = _("Server URL"); var entries_group = new Adw.PreferencesGroup (); entries_group.add (server_entry); var step1_label = new Gtk.Label (_("https://cloud.example.com")) { xalign = 0, css_classes = { "monospace", "caption" } }; var step2_label = new Gtk.Label (_("https://example.com/nextcloud")) { xalign = 0, css_classes = { "monospace", "caption" } }; var examples_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 4) { margin_top = 8, margin_bottom = 8, margin_start = 12, margin_end = 12 }; examples_box.append (step1_label); examples_box.append (step2_label); var examples_group = new Adw.PreferencesGroup () { margin_top = 6 }; examples_group.title = _("URL examples"); examples_group.add (examples_box); // SSL option ignore_ssl_row = new Widgets.IgnoreSSLSwitchRow (); entries_group.add (ignore_ssl_row); login_button = new Widgets.LoadingButton.with_label (_("Log In")) { margin_top = 24, sensitive = false, css_classes = { "suggested-action", "pill" }, halign = CENTER }; cancel_button = new Gtk.Button.with_label (_("Cancel")) { css_classes = { "flat", "pill" }, halign = CENTER, visible = false, margin_top = 12 }; var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { vexpand = true, hexpand = true, margin_start = 12, margin_end = 12, margin_top = 24 }; content_box.append (header_box); content_box.append (entries_group); content_box.append (login_button); content_box.append (cancel_button); content_box.append (examples_group); var loading_page = new Dialogs.Preferences.Pages.Accounts.LoadingPage () { show_progress = true }; main_stack = new Gtk.Stack () { vexpand = true, hexpand = true, transition_type = Gtk.StackTransitionType.CROSSFADE, }; main_stack.add_named (content_box, "main-page"); main_stack.add_named (loading_page, "loading-page"); var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (new Adw.HeaderBar ()); toolbar_view.content = main_stack; child = toolbar_view; signal_map[server_entry.changed.connect (() => { if (server_entry.text != null && server_entry.text != "") { var is_valid = is_valid_url (server_entry.text); if (!is_valid) { server_entry.add_css_class ("error"); } else { server_entry.remove_css_class ("error"); } login_button.sensitive = is_valid; } else { server_entry.remove_css_class ("error"); login_button.sensitive = false; } })] = server_entry; signal_map[server_entry.entry_activated.connect (() => { if (login_button.sensitive) { on_login_button_clicked (); } })] = server_entry; signal_map[login_button.clicked.connect (() => { on_login_button_clicked (); })] = login_button; signal_map[Services.CalDAV.Core.get_default ().sync_progress.connect ((current, total, message) => { loading_page.sync_label = message; loading_page.progress = total > 0 ? (double) current / (double) total : 0.0; })] = Services.CalDAV.Core.get_default (); destroy.connect (() => { clean_up (); }); } private void on_login_button_clicked () { Services.LogService.get_default ().info ("NextcloudSetup", "Login button clicked"); GLib.Cancellable cancellable = new GLib.Cancellable (); login_button.is_loading = true; cancel_button.visible = true; signal_map[cancel_button.clicked.connect (() => { Services.LogService.get_default ().info ("NextcloudSetup", "Login cancelled by user"); cancellable.cancel (); })] = cancel_button; var core_service = Services.CalDAV.Core.get_default (); var nextcloud_provider = new Services.CalDAV.Providers.Nextcloud (); Services.LogService.get_default ().info ("NextcloudSetup", "Starting Nextcloud login flow"); nextcloud_provider.start_login_flow.begin (server_entry.text, cancellable, ignore_ssl_row.active, (obj, res) => { HttpResponse response = nextcloud_provider.start_login_flow.end (res); if (response.status) { Services.LogService.get_default ().info ("NextcloudSetup", "Login successful, syncing account"); Objects.Source source = (Objects.Source) response.data_object.get_object (); main_stack.visible_child_name = "loading-page"; core_service.add_caldav_account.begin (source, cancellable, (obj, res) => { response = core_service.add_caldav_account.end (res); if (response.status) { Services.LogService.get_default ().info ("NextcloudSetup", "Account synced successfully"); preferences_dialog.pop_subpage (); } else { Services.LogService.get_default ().error ("NextcloudSetup", "Account sync failed: %s".printf (response.error)); main_stack.visible_child_name = "main-page"; login_button.is_loading = false; cancel_button.visible = false; accounts_page.show_message_error (response.error_code, response.error.strip ()); } }); } else { Services.LogService.get_default ().error ("NextcloudSetup", "Login flow failed: %s".printf (response.error)); login_button.is_loading = false; cancel_button.visible = false; if (response.error_code == 409) { var toast = new Adw.Toast (response.error.strip ()); toast.timeout = 3; preferences_dialog.add_toast (toast); } else { accounts_page.show_message_error (response.error_code, response.error.strip ()); } } }); } private bool is_valid_url (string uri) { var scheme = Uri.parse_scheme (uri); if (scheme == null) { return false; } return scheme.has_prefix ("http"); } } alainm23-planify-69962f8/src/Dialogs/Preferences/Pages/Accounts/SourceView.vala000066400000000000000000000176011517337276100272700ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.Preferences.Pages.SourceView : Dialogs.Preferences.Pages.BasePage { public Objects.Source source { get; construct; } public SourceView (Adw.PreferencesDialog preferences_dialog, Objects.Source source) { Object ( preferences_dialog: preferences_dialog, source: source, title: _("Source") ); } ~SourceView () { debug ("Destroying Dialogs.Preferences.Pages.SourceView\n"); } construct { var avatar = new Adw.Avatar (84, source.user_displayname, true); if (source.source_type == SourceType.TODOIST) { var file = File.new_for_path (Util.get_default ().get_avatar_path (source.avatar_path)); if (file.query_exists ()) { var image = new Gtk.Image.from_file (file.get_path ()); avatar.custom_image = image.get_paintable (); } } var user_label = new Gtk.Label (source.user_displayname) { margin_top = 12, css_classes = { "title-1" } }; var email_label = new Gtk.Label (source.user_email) { css_classes = { "dimmed" }, margin_top = 6, visible = source.user_email != null && source.user_email != "" }; var user_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { margin_top = 24 }; user_box.append (avatar); user_box.append (user_label); user_box.append (email_label); if (source.source_type == SourceType.CALDAV) { var url_label = new Gtk.Label (source.caldav_data.server_url) { css_classes = { "dimmed" } }; user_box.append (url_label); } var display_entry = new Adw.EntryRow () { title = _("Display Name"), text = source.display_name, show_apply_button = true }; var sync_server_row = new Adw.SwitchRow (); sync_server_row.title = _("Sync Server"); sync_server_row.subtitle = _( "Activate this setting so that Planify automatically synchronizes with your account account every 15 minutes"); sync_server_row.active = source.sync_server; var last_sync_label = new Gtk.Label ( Utils.Datetime.get_relative_date_from_date ( new GLib.DateTime.from_iso8601 ( source.last_sync, new GLib.TimeZone.local () ) ) ); var last_sync_row = new Adw.ActionRow (); last_sync_row.activatable = false; last_sync_row.title = _("Last Sync"); last_sync_row.add_suffix (last_sync_label); var default_group = new Adw.PreferencesGroup () { margin_top = 24 }; default_group.add (display_entry); if (source.source_type != SourceType.LOCAL) { default_group.add (sync_server_row); default_group.add (last_sync_row); } var delete_button = new Adw.ButtonRow () { title = _("Delete Source") }; delete_button.add_css_class ("destructive-action"); var delete_group = new Adw.PreferencesGroup (); delete_group.add (delete_button); var delete_spinner = new Adw.Spinner () { valign = CENTER, halign = CENTER, height_request = 32, width_request = 32 }; var delete_stack = new Gtk.Stack () { margin_top = 24 }; delete_stack.add_child (delete_group); delete_stack.add_child (delete_spinner); var main_content = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { vexpand = true, hexpand = true }; if (source.source_type != SourceType.LOCAL) { main_content.append (user_box); } main_content.append (default_group); if (source.source_type != SourceType.LOCAL) { main_content.append (delete_stack); } var content_clamp = new Adw.Clamp () { maximum_size = 600, margin_start = 24, margin_end = 24, child = main_content }; var toolbar_view = new Adw.ToolbarView () { content = content_clamp }; toolbar_view.add_top_bar (new Adw.HeaderBar ()); child = toolbar_view; signal_map[sync_server_row.notify["active"].connect (() => { source.sync_server = sync_server_row.active; source.save (); if (source.sync_server) { source.run_server (); } else { source.remove_sync_server (); } })] = sync_server_row; signal_map[display_entry.apply.connect (() => { source.display_name = display_entry.text; source.save (); })] = display_entry; signal_map[delete_button.activated.connect (() => { string current_inbox_id = Services.Settings.get_default ().settings.get_string ("local-inbox-project-id"); Objects.Project? current_inbox = Services.Store.instance ().get_project (current_inbox_id); if (current_inbox != null && current_inbox.source_id == source.id) { show_inbox_warning_dialog (); return; } var dialog = new Adw.AlertDialog ( _("Delete Source?"), _("This can not be undone") ); dialog.add_response ("cancel", _("Cancel")); dialog.add_response ("delete", _("Delete")); dialog.close_response = "cancel"; dialog.set_response_appearance ("delete", Adw.ResponseAppearance.DESTRUCTIVE); dialog.present (Planify._instance.main_window); dialog.response.connect ((response) => { if (response == "delete") { delete_stack.visible_child = delete_spinner; source.delete_source.begin (); } }); })] = delete_button; signal_map[source.deleted.connect (() => { preferences_dialog.pop_subpage (); })] = source; destroy.connect (() => { clean_up (); }); } private void show_inbox_warning_dialog () { var dialog = new Adw.AlertDialog ( _("Cannot Delete This Source"), _("This source contains your current Inbox project. Please change your Inbox project first.") ); dialog.add_response ("cancel", _("Cancel")); dialog.add_response ("change", _("Change Inbox")); dialog.set_response_appearance ("change", Adw.ResponseAppearance.SUGGESTED); dialog.set_default_response ("change"); dialog.set_close_response ("cancel"); dialog.choose.begin (Planify._instance.main_window, null, (obj, res) => { string response = dialog.choose.end (res); if (response == "change") { preferences_dialog.push_subpage (new Dialogs.Preferences.Pages.InboxPage (preferences_dialog)); } }); } } alainm23-planify-69962f8/src/Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala000066400000000000000000000251411517337276100276410ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.Preferences.Pages.TodoistSetup : Dialogs.Preferences.Pages.BasePage { public Accounts accounts_page { get; construct; } private Gtk.Stack stack; private Adw.EntryRow token_entry; private Widgets.LoadingButton login_button; private Widgets.LoadingButton oauth_button; private Gtk.Button cancel_button; private string oauth_state; private Objects.Source? migrate_source = null; public TodoistSetup (Adw.PreferencesDialog preferences_dialog, Accounts accounts_page) { Object ( preferences_dialog: preferences_dialog, accounts_page: accounts_page, title: _("Todoist") ); } ~TodoistSetup () { debug ("Destroying - Dialogs.Preferences.Pages.TodoistSetup\n"); } construct { stack = new Gtk.Stack () { vexpand = true, hexpand = true, transition_type = Gtk.StackTransitionType.CROSSFADE }; stack.add_named (build_main_page (), "main"); stack.add_named (build_token_page (), "token"); stack.add_named (accounts_page.build_sync_page (), "loading"); stack.visible_child_name = "main"; var scrolled_window = new Gtk.ScrolledWindow () { hexpand = true, vexpand = true, hscrollbar_policy = Gtk.PolicyType.NEVER, vscrollbar_policy = Gtk.PolicyType.AUTOMATIC, child = stack }; var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (new Adw.HeaderBar ()); toolbar_view.content = scrolled_window; child = toolbar_view; // Listen for OAuth callback signal_map[Services.EventBus.get_default ().oauth_callback.connect ((uri) => { handle_oauth_callback (uri); })] = Services.EventBus.get_default (); destroy.connect (() => { clean_up (); }); } private Gtk.Widget build_main_page () { var icon = new Gtk.Image.from_icon_name ("todoist") { pixel_size = 64, margin_bottom = 6 }; var title_label = new Gtk.Label (_("Connect to Todoist")) { css_classes = { "font-bold", "title-2" }, margin_top = 24 }; var description_label = new Gtk.Label (_("Sign in with your Todoist account to sync your tasks")) { css_classes = { "dimmed", "caption" }, wrap = true, justify = CENTER, max_width_chars = 40 }; oauth_button = new Widgets.LoadingButton.with_label (_("Sign in with Browser")) { css_classes = { "suggested-action", "pill" }, halign = CENTER, margin_top = 12 }; cancel_button = new Gtk.Button.with_label (_("Cancel")) { css_classes = { "flat", "pill" }, halign = CENTER, visible = false }; var token_button = new Gtk.Button.with_label (_("Use API Token instead")) { css_classes = { "flat", "caption", "accent" }, halign = CENTER, margin_top = 6 }; var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 6) { vexpand = true, hexpand = true, valign = CENTER, halign = CENTER, margin_bottom = 32 }; content_box.append (icon); content_box.append (title_label); content_box.append (description_label); content_box.append (oauth_button); content_box.append (cancel_button); content_box.append (token_button); signal_map[oauth_button.clicked.connect (() => { start_oauth_flow (); })] = oauth_button; signal_map[cancel_button.clicked.connect (() => { cancel_oauth_flow (); })] = cancel_button; signal_map[token_button.clicked.connect (() => { stack.visible_child_name = "token"; })] = token_button; return content_box; } private Gtk.Widget build_token_page () { var icon = new Gtk.Image.from_icon_name ("key4-symbolic") { pixel_size = 48, css_classes = { "dimmed" } }; var title_label = new Gtk.Label (_("API Token")) { css_classes = { "font-bold", "title-3" }, margin_top = 12 }; var description_label = new Gtk.Label (_("Connect using your personal Todoist API token")) { css_classes = { "dimmed", "caption" }, wrap = true, justify = CENTER, max_width_chars = 40 }; var header_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 6) { halign = CENTER, margin_bottom = 18 }; header_box.append (icon); header_box.append (title_label); header_box.append (description_label); token_entry = new Adw.EntryRow (); token_entry.title = _("Paste your API token"); var entries_group = new Adw.PreferencesGroup (); entries_group.add (token_entry); login_button = new Widgets.LoadingButton.with_label (_("Connect")) { margin_top = 16, sensitive = false, css_classes = { "suggested-action", "pill" }, halign = CENTER }; var step1_label = new Gtk.Label (_("1. Go to Todoist → Settings → Integrations → Developer")) { wrap = true, xalign = 0 }; var step2_label = new Gtk.Label (_("2. Copy your API token")) { wrap = true, xalign = 0 }; var step3_label = new Gtk.Label (_("3. Paste it in the field above")) { wrap = true, xalign = 0 }; var steps_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 8) { margin_top = 8, margin_bottom = 8, margin_start = 12, margin_end = 12 }; steps_box.append (step1_label); steps_box.append (step2_label); steps_box.append (step3_label); var instructions_group = new Adw.PreferencesGroup () { margin_top = 18 }; instructions_group.title = _("How to get your token"); instructions_group.add (steps_box); var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { vexpand = true, hexpand = true, margin_start = 12, margin_end = 12, margin_top = 24 }; content_box.append (header_box); content_box.append (entries_group); content_box.append (login_button); content_box.append (instructions_group); signal_map[token_entry.changed.connect (() => { login_button.sensitive = token_entry.text != null && token_entry.text != ""; })] = token_entry; signal_map[login_button.clicked.connect (() => { on_token_login_clicked (); })] = login_button; return content_box; } private void start_oauth_flow () { oauth_state = Util.get_default ().generate_string (); string oauth_url = "https://todoist.com/oauth/authorize?client_id=%s&scope=%s&state=%s&redirect_uri=%s".printf ( Constants.TODOIST_CLIENT_ID, Constants.TODOIST_SCOPE, oauth_state, Constants.TODOIST_REDIRECT_URI ); oauth_button.is_loading = true; oauth_button.sensitive = false; cancel_button.visible = true; title = _("Waiting for login…"); try { AppInfo.launch_default_for_uri (oauth_url, null); } catch (Error e) { warning ("Error opening browser: %s", e.message); oauth_button.is_loading = false; cancel_button.visible = false; title = _("Todoist"); } } private void cancel_oauth_flow () { oauth_button.is_loading = false; oauth_button.sensitive = true; cancel_button.visible = false; title = _("Todoist"); } private void handle_oauth_callback (string uri) { var parts = uri.replace ("planify://", "").split ("?", 2); string query = parts.length > 1 ? parts[1] : ""; string code = ""; foreach (string param in query.split ("&")) { var kv = param.split ("=", 2); if (kv.length == 2 && kv[0] == "code") { code = kv[1]; } } if (code == "") { oauth_button.is_loading = false; title = _("Todoist"); return; } title = _("Synchronizing…"); stack.visible_child_name = "loading"; Services.Todoist.get_default ().login.begin ( "%s?code=%s".printf (Constants.TODOIST_REDIRECT_URI, code), migrate_source, (obj, res) => { HttpResponse response = Services.Todoist.get_default ().login.end (res); preferences_dialog.pop_subpage (); verify_response (response); } ); } private void on_token_login_clicked () { stack.visible_child_name = "loading"; Services.Todoist.get_default ().login_token.begin (token_entry.text, migrate_source, (obj, res) => { HttpResponse response = Services.Todoist.get_default ().login_token.end (res); preferences_dialog.pop_subpage (); verify_response (response); }); } private void verify_response (HttpResponse response) { if (response.status) return; if (response.error_code != 409) { accounts_page.show_message_error (response.error_code, response.error.strip ()); } else { var toast = new Adw.Toast (response.error.strip ()); toast.timeout = 3; preferences_dialog.add_toast (toast); } } public void set_migrate_mode (Objects.Source source) { migrate_source = source; } } alainm23-planify-69962f8/src/Dialogs/Preferences/Pages/Appearance.vala000066400000000000000000000243041517337276100254530ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.Preferences.Pages.Appearance : Dialogs.Preferences.Pages.BasePage { private Gtk.Switch system_appearance_switch; private Adw.ActionRow light_row; private Adw.ActionRow dark_row; private Adw.ActionRow blue_row; private Gtk.CheckButton light_radio; private Gtk.CheckButton dark_radio; private Gtk.CheckButton blue_radio; private Adw.PreferencesGroup theme_group; private Gtk.Revealer placeholder_revealer; public Appearance (Adw.PreferencesDialog preferences_dialog) { Object ( preferences_dialog: preferences_dialog, title: _("Appearance") ); } ~Appearance () { debug ("Destroying - Dialogs.Preferences.Pages.Appearance\n"); } construct { system_appearance_switch = new Gtk.Switch () { valign = Gtk.Align.CENTER, active = Services.Settings.get_default ().settings.get_boolean ("system-appearance") }; var system_appearance_row = new Adw.ActionRow () { title = _("Use System Settings") }; system_appearance_row.add_prefix (new Gtk.Image.from_icon_name ("computer-symbolic") { pixel_size = 16 }); system_appearance_row.set_activatable_widget (system_appearance_switch); system_appearance_row.add_suffix (system_appearance_switch); var system_appearance_group = new Adw.PreferencesGroup () { title = _("Select theme") }; system_appearance_group.add (system_appearance_row); light_radio = new Gtk.CheckButton () { valign = CENTER }; light_row = new Adw.ActionRow () { title = _("Light Style"), subtitle = _("Clean light theme"), activatable_widget = light_radio }; light_row.add_prefix (new Adw.Avatar (32, null, true) { custom_image = new Gtk.Image.from_resource ("/io/github/alainm23/planify/light-mode.svg").get_paintable (), css_classes = { "theme-mode-image" } }); light_row.add_suffix (light_radio); dark_radio = new Gtk.CheckButton () { group = light_radio, valign = CENTER }; dark_row = new Adw.ActionRow () { title = _("Dark Style"), subtitle = _("Elegant dark theme"), activatable_widget = dark_radio }; dark_row.add_prefix (new Adw.Avatar (32, null, true) { custom_image = new Gtk.Image.from_resource ("/io/github/alainm23/planify/dark-mode.svg").get_paintable (), css_classes = { "theme-mode-image" } }); dark_row.add_suffix (dark_radio); blue_radio = new Gtk.CheckButton () { group = light_radio, valign = CENTER }; blue_row = new Adw.ActionRow () { title = _("Dark Blue Style"), subtitle = _("Professional blue theme"), activatable_widget = blue_radio }; blue_row.add_prefix (new Adw.Avatar (32, null, true) { custom_image = new Gtk.Image.from_resource ("/io/github/alainm23/planify/blue-mode.svg").get_paintable (), css_classes = { "theme-mode-image" } }); blue_row.add_suffix (blue_radio); theme_group = new Adw.PreferencesGroup (); theme_group.add (light_row); theme_group.add (dark_row); theme_group.add (blue_row); placeholder_revealer = new Gtk.Revealer () { child = new Gtk.Label (_("Custom themes are not available when using the system light theme")) { wrap = true, halign = CENTER, justify = CENTER, margin_top = 12 } }; var font_size_scale = new Gtk.Scale.with_range (HORIZONTAL, 0.5, 2, 0.1) { hexpand = true, draw_value = true, margin_top = 9, margin_bottom = 6, value_pos = RIGHT }; font_size_scale.set_value (Services.Settings.get_default ().get_double ("font-scale")); font_size_scale.add_mark (1, LEFT, null); var font_size_box = new Gtk.Box (HORIZONTAL, 12) { valign = START, hexpand = true }; font_size_box.append (new Gtk.Image.from_icon_name ("text-bold-symbolic") { pixel_size = 16, margin_start = 12 }); font_size_box.append (font_size_scale); font_size_box.append (new Gtk.Image.from_icon_name ("text-bold-symbolic") { pixel_size = 24, margin_end = 12 }); var font_size_row = new Adw.ActionRow () { activatable_widget = font_size_scale, child = font_size_box }; var font_size_group = new Adw.PreferencesGroup () { title = _("Font Size"), }; font_size_group.add (font_size_row); var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 12) { margin_start = 12, margin_end = 12, margin_bottom = 12, margin_top = 6 }; content_box.append (system_appearance_group); content_box.append (theme_group); content_box.append (placeholder_revealer); content_box.append (font_size_group); var toolbar_view = new Adw.ToolbarView () { content = content_box }; toolbar_view.add_top_bar (new Adw.HeaderBar ()); child = toolbar_view; verify_theme (); signal_map[system_appearance_switch.notify["active"].connect (() => { Services.Settings.get_default ().settings.set_boolean ("system-appearance", system_appearance_switch.active); })] = system_appearance_switch; signal_map[light_radio.notify["active"].connect (() => { if (light_radio.active) { Services.Settings.get_default ().settings.set_boolean ("dark-mode", false); Services.Settings.get_default ().settings.set_enum ("appearance", 0); } })] = light_radio; signal_map[dark_radio.notify["active"].connect (() => { if (dark_radio.active) { Services.Settings.get_default ().settings.set_boolean ("dark-mode", true); Services.Settings.get_default ().settings.set_enum ("appearance", 1); } })] = dark_radio; signal_map[blue_radio.notify["active"].connect (() => { if (blue_radio.active) { Services.Settings.get_default ().settings.set_boolean ("dark-mode", true); Services.Settings.get_default ().settings.set_enum ("appearance", 2); } })] = blue_radio; uint update_timeout_id = 0; signal_map[font_size_scale.value_changed.connect (() => { if (update_timeout_id != 0) { GLib.Source.remove (update_timeout_id); } update_timeout_id = Timeout.add (300, () => { update_timeout_id = 0; Services.Settings.get_default ().settings.set_double ("font-scale", font_size_scale.get_value ()); return GLib.Source.REMOVE; }); })] = font_size_scale; signal_map[Services.Settings.get_default ().settings.changed["system-appearance"].connect (verify_theme)] = Services.Settings.get_default (); signal_map[Services.Settings.get_default ().settings.changed["dark-mode"].connect (verify_theme)] = Services.Settings.get_default (); destroy.connect (() => { clean_up (); }); } private void verify_theme () { system_appearance_switch.active = Services.Settings.get_default ().settings.get_boolean ("system-appearance"); light_row.visible = is_light_visible (); theme_group.visible = is_dark_modes_visible (); placeholder_revealer.reveal_child = !is_dark_modes_visible (); if (!Services.Settings.get_default ().settings.get_boolean ("dark-mode")) { light_radio.active = true; return; } int appearance = Services.Settings.get_default ().settings.get_enum ("appearance"); if (appearance == 1) { dark_radio.active = true; } else if (appearance == 2) { blue_radio.active = true; } } public bool is_dark_theme () { var dark_mode = Services.Settings.get_default ().settings.get_boolean ("dark-mode"); if (Services.Settings.get_default ().settings.get_boolean ("system-appearance")) { dark_mode = ColorSchemeSettings.Settings.get_default ().prefers_color_scheme == ColorSchemeSettings.Settings.ColorScheme.DARK; } return dark_mode; } public bool is_light_visible () { bool system_appearance = Services.Settings.get_default ().settings.get_boolean ("system-appearance"); if (system_appearance) { return !is_dark_theme (); } return true; } public bool is_dark_modes_visible () { bool system_appearance = Services.Settings.get_default ().settings.get_boolean ("system-appearance"); if (system_appearance) { return is_dark_theme (); } return true; } public override void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } }alainm23-planify-69962f8/src/Dialogs/Preferences/Pages/Backup.vala000066400000000000000000000404331517337276100246220ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.Preferences.Pages.Backup : Dialogs.Preferences.Pages.BasePage { private Layouts.HeaderItem backups_group; public Backup (Adw.PreferencesDialog preferences_dialog) { Object ( preferences_dialog: preferences_dialog, title: _("Backups") ); } ~Backup () { debug ("Destroying - Dialogs.Preferences.Pages.Backup\n"); } construct { var description_label = new Gtk.Label ( _("Never worry about losing your data. You can create backups of your active projects, tasks and comments and import them later.") // vala-lint=line-length ) { justify = Gtk.Justification.FILL, use_markup = true, wrap = true, xalign = 0, margin_end = 3, margin_start = 3 }; var add_button = new Gtk.Button.with_label (_("Create Backup")) { margin_top = 12 }; var import_button = new Gtk.Button.with_label (_("Import Backup")); backups_group = new Layouts.HeaderItem (_("Backup Files")) { card = true, reveal = true, placeholder_message = _("No backups found, create one clicking the button above.") }; backups_group.set_sort_func (set_sort_func); var location_label = new Gtk.Label (_("Backup files are stored in: %s").printf (Environment.get_user_data_dir () + "/io.github.alainm23.planify/backups")) { wrap = true, xalign = 0, margin_start = 6 }; location_label.add_css_class ("dimmed"); location_label.add_css_class ("caption"); var backups_box = new Gtk.Box (VERTICAL, 6) { margin_top = 12 }; backups_box.append (backups_group); backups_box.append (location_label); var import_planner_button = new Gtk.Button.with_label (_("Migrate")); var migrate_group = new Layouts.HeaderItem (_("Migrate From Planner")); migrate_group.reveal = true; migrate_group.add_child (import_planner_button); var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 12) { vexpand = true, hexpand = true, margin_start = 12, margin_end = 12, margin_bottom = 12, margin_top = 12 }; content_box.append (description_label); content_box.append (add_button); content_box.append (import_button); content_box.append (backups_box); content_box.append (migrate_group); var scrolled_window = new Gtk.ScrolledWindow () { hexpand = true, vexpand = true, hscrollbar_policy = Gtk.PolicyType.NEVER, hscrollbar_policy = Gtk.PolicyType.NEVER, child = content_box }; var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (new Adw.HeaderBar ()); toolbar_view.content = scrolled_window; child = toolbar_view; signal_map[add_button.clicked.connect (() => { Services.Backups.get_default ().create_backup (); popup_toast (_("The Backup was created successfully.")); })] = add_button; signal_map[import_button.clicked.connect (() => { Services.Backups.get_default ().choose_backup_file.begin ((obj, res) => { GLib.File file = Services.Backups.get_default ().choose_backup_file.end (res); Objects.Backup backup = new Objects.Backup.from_file (file); view_backup (backup); }); })] = import_button; signal_map[import_planner_button.clicked.connect (() => { string path = Environment.get_home_dir () + "/.var/app/com.github.alainm23.planner/data/com.github.alainm23.planner/database.db"; GLib.File file = GLib.File.new_for_path (path); if (file.query_exists ()) { if (Services.MigrateFromPlanner.get_default ().migrate_from_file (file)) { popup_toast (_("Tasks Migrate Successfully")); preferences_dialog.pop_subpage (); } } else { popup_toast (_("The database file does not exist.")); } })] = import_planner_button; foreach (Objects.Backup backup in Services.Backups.get_default ().backups) { add_backup_row (backup, backups_group); } signal_map[Services.Backups.get_default ().backup_added.connect ((backup) => { add_backup_row (backup, backups_group); })] = Services.Backups.get_default (); destroy.connect (() => { clean_up (); }); } private int set_sort_func (Gtk.ListBoxRow lbrow, Gtk.ListBoxRow lbbefore) { Objects.Backup item1 = ((BackupRow) lbrow).backup; Objects.Backup item2 = ((BackupRow) lbbefore).backup; return item2.datetime.compare (item1.datetime); } private void add_backup_row (Objects.Backup backup, Layouts.HeaderItem group) { var row = new BackupRow (backup); signal_map[row.view.connect (() => { view_backup (backup); })] = row; group.insert_child (row, 0); } private void view_backup (Objects.Backup backup) { if (backup.valid ()) { preferences_dialog.push_subpage (new ImportView (preferences_dialog, backup)); } else { debug ("%s", backup.error); popup_toast (_("Selected file is invalid")); } } public override void clean_up () { backups_group.set_sort_func (null); foreach (Gtk.ListBoxRow row in backups_group.get_children ()) { ((BackupRow) row).clean_up (); } foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } public class BackupRow : Gtk.ListBoxRow { public Objects.Backup backup { get; construct; } private Gtk.Revealer main_revealer; public signal void view (); public Gee.HashMap signal_map = new Gee.HashMap (); public BackupRow (Objects.Backup backup) { Object ( backup: backup ); } ~BackupRow () { debug ("Destroying - BackupRow\n"); } construct { add_css_class ("no-selectable"); add_css_class ("transition"); var name_label = new Gtk.Label (backup.title); name_label.valign = Gtk.Align.CENTER; name_label.ellipsize = Pango.EllipsizeMode.END; var view_button = new Gtk.Button.from_icon_name ("eye-open-negative-filled-symbolic") { valign = CENTER, css_classes = { "flat" }, tooltip_text = _("View Backup") }; var menu_button = new Gtk.MenuButton () { hexpand = true, halign = END, popover = build_context_menu (), icon_name = "view-more-symbolic", css_classes = { "flat" } }; var end_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { halign = END, hexpand = true, }; end_box.append (view_button); end_box.append (menu_button); var content_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_top = 6, margin_start = 12, margin_end = 6, margin_bottom = 6 }; content_box.append (new Gtk.Image.from_icon_name ("paper-symbolic")); content_box.append (name_label); content_box.append (end_box); main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = content_box }; child = main_revealer; Timeout.add (main_revealer.transition_duration, () => { main_revealer.reveal_child = true; return GLib.Source.REMOVE; }); signal_map[view_button.clicked.connect (() => { view (); })] = view_button; signal_map[backup.deleted.connect (() => { hide_destroy (); })] = backup; destroy.connect (() => { clean_up (); }); } private Gtk.Popover build_context_menu () { var download_item = new Widgets.ContextMenu.MenuItem (_("Download"), "folder-download-symbolic"); var delete_item = new Widgets.ContextMenu.MenuItem (_("Delete"), "user-trash-symbolic"); delete_item.add_css_class ("menu-item-danger"); var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; menu_box.append (download_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (delete_item); var menu_popover = new Gtk.Popover () { has_arrow = false, child = menu_box, position = Gtk.PositionType.BOTTOM, width_request = 250 }; signal_map[download_item.clicked.connect (() => { menu_popover.popdown (); Services.Backups.get_default ().save_file_as (backup); })] = download_item; signal_map[delete_item.clicked.connect (() => { menu_popover.popdown (); Services.Backups.get_default ().delete_backup (backup); })] = delete_item; return menu_popover; } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } public void hide_destroy () { clean_up (); main_revealer.reveal_child = false; Timeout.add (main_revealer.transition_duration, () => { ((Gtk.ListBox) parent).remove (this); return GLib.Source.REMOVE; }); } } public class ImportView : Dialogs.Preferences.Pages.BasePage { public Objects.Backup backup { get; construct; } public ImportView (Adw.PreferencesDialog preferences_dialog, Objects.Backup backup) { Object ( preferences_dialog: preferences_dialog, backup: backup ); } ~ImportView () { debug ("Destroying Dialogs.Preferences.Pages.ImportView\n"); } construct { var title = new Gtk.Label (_("Import Overview")) { halign = CENTER, css_classes = { "title-1" } }; var subtitle = new Gtk.Label (backup.title) { halign = CENTER, css_classes = { "dimmed" }, margin_top = 3 }; var sources_row = new Adw.ActionRow (); sources_row.title = _("Sources"); sources_row.add_suffix (new Gtk.Label (backup.sources.size.to_string ())); var projects_row = new Adw.ActionRow (); projects_row.title = _("Projects"); projects_row.add_suffix (new Gtk.Label (backup.projects.size.to_string ())); var sections_row = new Adw.ActionRow (); sections_row.title = _("Sections"); sections_row.add_suffix (new Gtk.Label (backup.sections.size.to_string ())); var items_row = new Adw.ActionRow (); items_row.title = _("To-Dos"); items_row.add_suffix (new Gtk.Label (backup.items.size.to_string ())); var labels_row = new Adw.ActionRow (); labels_row.title = _("Labels"); labels_row.add_suffix (new Gtk.Label (backup.labels.size.to_string ())); var collection_group = new Adw.PreferencesGroup () { margin_top = 24 }; collection_group.add (sources_row); collection_group.add (projects_row); collection_group.add (sections_row); collection_group.add (items_row); collection_group.add (labels_row); var cancel_button = new Gtk.Button.with_label (_("Cancel")) { valign = CENTER, css_classes = { "border-radius-6" } }; var confirm_button = new Widgets.LoadingButton (LoadingButtonType.LABEL, _("Confirm")) { valign = CENTER, css_classes = { "suggested-action", "border-radius-6" } }; var buttons_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { homogeneous = true, hexpand = true, vexpand = true, valign = END, margin_bottom = 12 }; buttons_box.append (cancel_button); buttons_box.append (confirm_button); var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { vexpand = true, hexpand = true }; content_box.append (title); content_box.append (subtitle); content_box.append (collection_group); content_box.append (buttons_box); var content_clamp = new Adw.Clamp () { maximum_size = 400, margin_start = 24, margin_end = 24, margin_top = 12, margin_bottom = 12, child = content_box }; var scrolled_window = new Gtk.ScrolledWindow () { hexpand = true, vexpand = true, hscrollbar_policy = Gtk.PolicyType.NEVER, hscrollbar_policy = Gtk.PolicyType.NEVER, child = content_clamp }; var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (new Adw.HeaderBar () { show_title = false }); toolbar_view.content = scrolled_window; child = toolbar_view; signal_map[cancel_button.clicked.connect (() => { preferences_dialog.pop_subpage (); })] = cancel_button; signal_map[confirm_button.clicked.connect (() => { var dialog = new Adw.AlertDialog ( _("Restore backup"), _("Are you sure you want to continue? This operation will delete your current data and replace it with the backup data.") ); dialog.body_use_markup = true; dialog.add_response ("cancel", _("Cancel")); dialog.add_response ("restore", _("Restore Backup")); dialog.set_response_appearance ("restore", Adw.ResponseAppearance.DESTRUCTIVE); dialog.present (Planify._instance.main_window); dialog.response.connect ((response) => { if (response == "restore") { Services.Backups.get_default ().patch_backup (backup); } }); })] = confirm_button; destroy.connect (() => { clean_up (); }); } public override void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } } } alainm23-planify-69962f8/src/Dialogs/Preferences/Pages/BasePage.vala000066400000000000000000000027501517337276100250640ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.Preferences.Pages.BasePage : Adw.NavigationPage { public Adw.PreferencesDialog preferences_dialog { get; construct; } public Gee.HashMap signal_map = new Gee.HashMap (); public virtual void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } public void popup_toast (string message) { var toast = new Adw.Toast (message); toast.timeout = 3; if (preferences_dialog != null) { preferences_dialog.add_toast (toast); } } }alainm23-planify-69962f8/src/Dialogs/Preferences/Pages/Donate.vala000066400000000000000000000144001517337276100246220ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.Preferences.Pages.Donate : Dialogs.Preferences.Pages.BasePage { public Donate (Adw.PreferencesDialog preferences_dialog) { Object ( preferences_dialog: preferences_dialog, title: _("Donate") ); } ~Donate () { debug ("Destroying - Dialogs.Preferences.Pages.Donate\n"); } construct { var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 18) { vexpand = true, hexpand = true, margin_start = 24, margin_end = 24, margin_bottom = 24, margin_top = 24 }; var hero_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 12) { halign = Gtk.Align.CENTER, margin_bottom = 24 }; var emoji_label = new Gtk.Label ("�") { css_classes = { "title-1" } }; var hero_title = new Gtk.Label (_("Support Planify Development")) { css_classes = { "title-2" }, halign = Gtk.Align.CENTER }; var hero_description = new Gtk.Label (_("Help keep Planify free and open source! Your donations directly support development, new features, and maintenance. Every contribution, no matter the size, makes a difference.")) { wrap = true, justify = Gtk.Justification.CENTER, css_classes = { "body" }, margin_start = 12, margin_end = 12 }; hero_box.append (emoji_label); hero_box.append (hero_title); hero_box.append (hero_description); content_box.append (hero_box); var patreon_row = new Adw.ActionRow (); patreon_row.activatable = true; patreon_row.add_suffix (new Gtk.Image.from_icon_name ("go-next-symbolic")); patreon_row.title = _("Patreon"); patreon_row.subtitle = _("Monthly recurring support"); signal_map[patreon_row.activated.connect (() => { try { AppInfo.launch_default_for_uri (Constants.PATREON_URL, null); } catch (Error e) { warning ("%s\n", e.message); } })] = patreon_row; var paypal_row = new Adw.ActionRow (); paypal_row.activatable = true; paypal_row.add_suffix (new Gtk.Image.from_icon_name ("go-next-symbolic")); paypal_row.title = _("PayPal"); paypal_row.subtitle = _("One-time donation"); signal_map[paypal_row.activated.connect (() => { try { AppInfo.launch_default_for_uri (Constants.PAYPAL_ME_URL, null); } catch (Error e) { warning ("%s\n", e.message); } })] = paypal_row; var liberapay_row = new Adw.ActionRow (); liberapay_row.activatable = true; liberapay_row.add_suffix (new Gtk.Image.from_icon_name ("go-next-symbolic")); liberapay_row.title = _("Liberapay"); liberapay_row.subtitle = _("Weekly recurring donations"); signal_map[liberapay_row.activated.connect (() => { try { AppInfo.launch_default_for_uri (Constants.LIBERAPAY_URL, null); } catch (Error e) { warning ("%s\n", e.message); } })] = liberapay_row; var kofi_row = new Adw.ActionRow (); kofi_row.activatable = true; kofi_row.add_suffix (new Gtk.Image.from_icon_name ("go-next-symbolic")); kofi_row.title = _("Ko-fi"); kofi_row.subtitle = _("Buy me a coffee ☕"); signal_map[kofi_row.activated.connect (() => { try { AppInfo.launch_default_for_uri (Constants.KOFI_URL, null); } catch (Error e) { warning ("%s\n", e.message); } })] = kofi_row; var group = new Adw.PreferencesGroup () { title = _("Choose Your Preferred Platform"), margin_top = 12 }; group.add (patreon_row); group.add (paypal_row); group.add (liberapay_row); group.add (kofi_row); content_box.append (group); var thanks_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { css_classes = { "card" } }; var thanks_label = new Gtk.Label (_("Thank you for your support! �")) { css_classes = { "title-4" }, halign = Gtk.Align.CENTER, margin_top = 12, margin_bottom = 6 }; var thanks_description = new Gtk.Label (_("Your contribution helps keep Planify alive and growing.")) { css_classes = { "caption" }, halign = Gtk.Align.CENTER, margin_bottom = 12 }; thanks_box.append (thanks_label); thanks_box.append (thanks_description); content_box.append (thanks_box); var scrolled_window = new Gtk.ScrolledWindow () { hexpand = true, vexpand = true, hscrollbar_policy = Gtk.PolicyType.NEVER, hscrollbar_policy = Gtk.PolicyType.NEVER, child = content_box }; var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (new Adw.HeaderBar ()); toolbar_view.content = scrolled_window; child = toolbar_view; destroy.connect (() => { clean_up (); }); } public override void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } }alainm23-planify-69962f8/src/Dialogs/Preferences/Pages/General.vala000066400000000000000000000232011517337276100247640ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.Preferences.Pages.General : Dialogs.Preferences.Pages.BasePage { public General (Adw.PreferencesDialog preferences_dialog) { Object ( preferences_dialog: preferences_dialog, title: _("General") ); } ~General () { debug ("Destroying - Dialogs.Preferences.Pages.General\n"); } construct { var sort_projects_model = new Gtk.StringList (null); sort_projects_model.append (_("Custom Sort Order")); sort_projects_model.append (_("Alphabetically")); var sort_projects_row = new Adw.ComboRow (); sort_projects_row.title = _("Sort by"); sort_projects_row.model = sort_projects_model; sort_projects_row.selected = Services.Settings.get_default ().settings.get_enum ("projects-sort-by"); var sort_order_projects_model = new Gtk.StringList (null); sort_order_projects_model.append (_("Ascending")); sort_order_projects_model.append (_("Descending")); var sort_order_projects_row = new Adw.ComboRow (); sort_order_projects_row.title = _("Ordered"); sort_order_projects_row.model = sort_order_projects_model; sort_order_projects_row.selected = Services.Settings.get_default ().settings.get_enum ("projects-ordered"); sort_order_projects_row.sensitive = Services.Settings.get_default ().settings.get_enum ("projects-sort-by") == 1; var sort_setting_group = new Adw.PreferencesGroup (); sort_setting_group.title = _("Projects"); sort_setting_group.add (sort_projects_row); sort_setting_group.add (sort_order_projects_row); var de_group = new Adw.PreferencesGroup (); de_group.title = _("DE Integration"); #if WITH_LIBPORTAL var run_on_startup_switch = new Gtk.Switch () { valign = Gtk.Align.CENTER, active = Services.Settings.get_default ().settings.get_boolean ("run-on-startup") }; var run_on_startup_row = new Adw.ActionRow (); run_on_startup_row.title = _("Run on Startup"); run_on_startup_row.subtitle = _("Launch Planify automatically when you start your computer"); run_on_startup_row.set_activatable_widget (run_on_startup_switch); run_on_startup_row.add_suffix (run_on_startup_switch); de_group.add (run_on_startup_row); var run_background_switch = new Gtk.Switch () { valign = Gtk.Align.CENTER, active = Services.Settings.get_default ().settings.get_boolean ("run-in-background") }; var run_background_row = new Adw.ActionRow (); run_background_row.title = _("Run in Background"); run_background_row.subtitle = _("Keep Planify running in the system tray when closing the window"); run_background_row.set_activatable_widget (run_background_switch); run_background_row.add_suffix (run_background_switch); de_group.add (run_background_row); #endif var calendar_events_switch = new Gtk.Switch () { valign = Gtk.Align.CENTER, active = Services.Settings.get_default ().settings.get_boolean ("calendar-enabled") }; var calendar_events_row = new Adw.ActionRow (); calendar_events_row.title = _("Calendar Events"); calendar_events_row.set_activatable_widget (calendar_events_switch); calendar_events_row.add_suffix (calendar_events_switch); de_group.add (calendar_events_row); var search_provider_row = new Adw.ActionRow (); search_provider_row.title = _("GNOME Shell Search"); search_provider_row.subtitle = _("Search tasks and projects directly from GNOME Shell. Enable it in Settings → Search"); de_group.add (search_provider_row); var datetime_group = new Adw.PreferencesGroup (); datetime_group.title = _("Date and Time"); var clock_format_model = new Gtk.StringList (null); clock_format_model.append (_("24h")); clock_format_model.append (_("12h")); var clock_format_row = new Adw.ComboRow (); clock_format_row.title = _("Clock Format"); clock_format_row.model = clock_format_model; clock_format_row.selected = Services.Settings.get_default ().settings.get_enum ("clock-format"); datetime_group.add (clock_format_row); var start_week_model = new Gtk.StringList (null); start_week_model.append (_("Sunday")); start_week_model.append (_("Monday")); start_week_model.append (_("Tuesday")); start_week_model.append (_("Wednesday")); start_week_model.append (_("Thursday")); start_week_model.append (_("Friday")); start_week_model.append (_("Saturday")); var start_week_row = new Adw.ComboRow (); start_week_row.title = _("Start of the Week"); start_week_row.model = start_week_model; start_week_row.selected = Services.Settings.get_default ().settings.get_enum ("start-week"); datetime_group.add (start_week_row); var smart_date_recognition_switch = new Gtk.Switch () { valign = Gtk.Align.CENTER, active = Services.Settings.get_default ().settings.get_boolean ("smart-date-recognition") }; var smart_date_recognition_row = new Adw.ActionRow (); smart_date_recognition_row.title = _("Smart Date Recognition"); smart_date_recognition_row.subtitle = _("Automatically detect dates like \"tomorrow\" or \"next week\""); smart_date_recognition_row.set_activatable_widget (smart_date_recognition_switch); smart_date_recognition_row.add_suffix (smart_date_recognition_switch); datetime_group.add (smart_date_recognition_row); var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 12) { margin_start = 12, margin_end = 12, margin_bottom = 12, margin_top = 6 }; content_box.append (sort_setting_group); content_box.append (de_group); content_box.append (datetime_group); var scrolled_window = new Gtk.ScrolledWindow () { hscrollbar_policy = Gtk.PolicyType.NEVER, hexpand = true, vexpand = true }; scrolled_window.child = content_box; var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (new Adw.HeaderBar ()); toolbar_view.content = scrolled_window; child = toolbar_view; signal_map[sort_projects_row.notify["selected"].connect (() => { Services.Settings.get_default ().settings.set_enum ("projects-sort-by", (int) sort_projects_row.selected); sort_order_projects_row.sensitive = Services.Settings.get_default ().settings.get_enum ("projects-sort-by") == 1; })] = sort_projects_row; signal_map[sort_order_projects_row.notify["selected"].connect (() => { Services.Settings.get_default ().settings.set_enum ("projects-ordered", (int) sort_order_projects_row.selected); })] = sort_order_projects_row; #if WITH_LIBPORTAL var run_background_handler = run_background_switch.notify["active"].connect (() => { Services.Settings.get_default ().settings.set_boolean ("run-in-background", run_background_switch.active); }); signal_map[run_background_handler] = run_background_switch; var run_on_startup_handler = run_on_startup_switch.notify["active"].connect (() => { Services.Settings.get_default ().settings.set_boolean ("run-on-startup", run_on_startup_switch.active); }); signal_map[run_on_startup_handler] = run_on_startup_switch; #endif signal_map[calendar_events_switch.notify["active"].connect (() => { Services.Settings.get_default ().settings.set_boolean ("calendar-enabled", calendar_events_switch.active); })] = calendar_events_switch; signal_map[smart_date_recognition_switch.notify["active"].connect (() => { Services.Settings.get_default ().settings.set_boolean ("smart-date-recognition", smart_date_recognition_switch.active); })] = smart_date_recognition_switch; signal_map[clock_format_row.notify["selected"].connect (() => { Services.Settings.get_default ().settings.set_enum ("clock-format", (int) clock_format_row.selected); })] = clock_format_row; signal_map[start_week_row.notify["selected"].connect (() => { Services.Settings.get_default ().settings.set_enum ("start-week", (int) start_week_row.selected); })] = start_week_row; destroy.connect (() => { clean_up (); }); } public override void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } } alainm23-planify-69962f8/src/Dialogs/Preferences/Pages/HomeView.vala000066400000000000000000000135301517337276100251360ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.Preferences.Pages.HomeView : Dialogs.Preferences.Pages.BasePage { public HomeView (Adw.PreferencesDialog preferences_dialog) { Object ( preferences_dialog: preferences_dialog, title: _("Home View") ); } ~HomeView () { debug ("Destroying - Dialogs.Preferences.Pages.HomeView\n"); } construct { var filters_group = new Layouts.HeaderItem (_("Filters")) { card = true, reveal = true }; var group_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 12) { margin_start = 12, margin_end = 12, margin_bottom = 12, margin_top = 6 }; group_box.append (filters_group); var scrolled_window = new Gtk.ScrolledWindow () { hscrollbar_policy = Gtk.PolicyType.NEVER, hexpand = true, vexpand = true, child = group_box }; var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (new Adw.HeaderBar ()); toolbar_view.content = scrolled_window; child = toolbar_view; var fake_radio = new Gtk.CheckButton (); Objects.BaseObject[] filters = { Objects.Filters.Inbox.get_default (), Objects.Filters.Today.get_default (), Objects.Filters.Scheduled.get_default (), Objects.Filters.Pinboard.get_default () }; foreach (Objects.BaseObject object in filters) { var row = new HomeViewRow (object) { active = Services.Settings.get_default ().get_string ("home-view") == object.view_id, group = fake_radio }; signal_map[row.toggled.connect (() => { Services.Settings.get_default ().settings.set_string ("home-view", object.view_id); })] = row; filters_group.add_child (row); } foreach (Objects.Source source in Services.Store.instance ().sources) { var source_group = new Layouts.HeaderItem (source.display_name) { card = true, reveal = source.is_visible }; foreach (Objects.Project project in Services.Store.instance ().get_projects_by_source (source.id)) { if (project.is_archived) { continue; } var row = new HomeViewRow (project) { active = Services.Settings.get_default ().get_string ("home-view") == project.view_id, group = fake_radio }; signal_map[row.toggled.connect (() => { Services.Settings.get_default ().settings.set_string ("home-view", project.view_id); })] = row; source_group.add_child (row); } group_box.append (source_group); } destroy.connect (() => { clean_up (); }); } public override void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } public class HomeViewRow : Gtk.ListBoxRow { public Objects.BaseObject base_object { get; construct; } public Gtk.CheckButton radio_button; public Gtk.CheckButton group { set { radio_button.group = value; } } public bool active { set { radio_button.active = value; } get { return radio_button.active; } } public signal void toggled (); public HomeViewRow (Objects.BaseObject base_object) { Object ( base_object: base_object ); } ~HomeViewRow () { debug ("Destroying - HomeViewRown\n"); } construct { add_css_class ("sidebar-row"); add_css_class ("transition"); add_css_class ("no-padding"); radio_button = new Gtk.CheckButton (); var action_row = new Adw.ActionRow () { title = base_object.name, activatable = true }; if (base_object is Objects.Project) { action_row.add_prefix (new Widgets.IconColorProject (20) { project = (Objects.Project) base_object }); } else { action_row.add_prefix (new Gtk.Image.from_icon_name (base_object.icon_name)); } action_row.add_suffix (radio_button); child = action_row; var select_gesture = new Gtk.GestureClick (); action_row.add_controller (select_gesture); select_gesture.released.connect (() => { radio_button.active = !radio_button.active; toggled (); }); radio_button.toggled.connect (() => { toggled (); }); } } }alainm23-planify-69962f8/src/Dialogs/Preferences/Pages/QuickAdd.vala000066400000000000000000000136551517337276100251100ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.Preferences.Pages.QuickAdd : Dialogs.Preferences.Pages.BasePage { public QuickAdd (Adw.PreferencesDialog preferences_dialog) { Object ( preferences_dialog: preferences_dialog, title: _("Quick Add") ); } ~QuickAdd () { debug ("Destroying - Dialogs.Preferences.Pages.QuickAdd\n"); } construct { string quick_add_command = "flatpak run --command=io.github.alainm23.planify.quick-add %s".printf (Build.APPLICATION_ID); var description_label = new Gtk.Label ( _( "Use Quick Add to create to-dos from anywhere on your desktop with just a few keystrokes. You don’t even have to leave the app you’re currently in.") // vala-lint=line-length ) { justify = Gtk.Justification.FILL, use_markup = true, wrap = true, xalign = 0, margin_end = 3, margin_start = 3 }; var description2_label = new Gtk.Label ( _("Head to System Settings → Keyboard → Shortcuts → Custom, then add a new shortcut with the following:") // vala-lint=line-length ) { justify = Gtk.Justification.FILL, use_markup = true, wrap = true, xalign = 0, margin_top = 6, margin_end = 3, margin_start = 3 }; var copy_button = new Gtk.Button.from_icon_name ("edit-copy-symbolic") { valign = CENTER }; copy_button.add_css_class ("flat"); var command_entry = new Adw.ActionRow (); command_entry.add_suffix (copy_button); command_entry.title = quick_add_command; command_entry.add_css_class ("caption"); command_entry.add_css_class ("monospace"); command_entry.add_css_class ("property"); var command_group = new Adw.PreferencesGroup () { margin_top = 12 }; command_group.add (command_entry); var settings_group = new Adw.PreferencesGroup (); settings_group.title = _("Settings"); var save_last_switch = new Gtk.Switch () { valign = Gtk.Align.CENTER, active = Services.Settings.get_default ().settings.get_boolean ("quick-add-save-last-project") }; var save_last_row = new Adw.ActionRow (); save_last_row.title = _("Save Last Selected Project"); save_last_row.subtitle = _("If unchecked, the default project selected is Inbox"); save_last_row.set_activatable_widget (save_last_switch); save_last_row.add_suffix (save_last_switch); var keep_properties_switch = new Gtk.Switch () { valign = Gtk.Align.CENTER, active = Services.Settings.get_default ().settings.get_boolean ("quick-add-keep-properties") }; var keep_properties_row = new Adw.ActionRow (); keep_properties_row.title = _("Keep Task Properties"); keep_properties_row.subtitle = _("When 'Keep adding' is enabled, preserve date, labels, and pinned status"); keep_properties_row.set_activatable_widget (keep_properties_switch); keep_properties_row.add_suffix (keep_properties_switch); settings_group.add (save_last_row); settings_group.add (keep_properties_row); var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 12) { vexpand = true, hexpand = true, margin_start = 12, margin_end = 12, margin_bottom = 12, margin_top = 12 }; content_box.append (description_label); content_box.append (description2_label); content_box.append (command_group); content_box.append (settings_group); var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (new Adw.HeaderBar ()); toolbar_view.content = content_box; child = toolbar_view; signal_map[copy_button.clicked.connect (() => { Gdk.Clipboard clipboard = Gdk.Display.get_default ().get_clipboard (); clipboard.set_text (quick_add_command); popup_toast (_("The command was copied to the clipboard")); })] = copy_button; signal_map[save_last_switch.notify["active"].connect (() => { Services.Settings.get_default ().settings.set_boolean ("quick-add-save-last-project", save_last_switch.active); })] = save_last_switch; signal_map[keep_properties_switch.notify["active"].connect (() => { Services.Settings.get_default ().settings.set_boolean ("quick-add-keep-properties", keep_properties_switch.active); })] = keep_properties_switch; destroy.connect (() => { clean_up (); }); } public override void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } }alainm23-planify-69962f8/src/Dialogs/Preferences/Pages/Sidebar.vala000066400000000000000000000264541517337276100247750ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.Preferences.Pages.Sidebar : Dialogs.Preferences.Pages.BasePage { private Layouts.HeaderItem views_group; public Sidebar (Adw.PreferencesDialog preferences_dialog) { Object ( preferences_dialog: preferences_dialog, title: _("Sidebar") ); } ~Sidebar () { debug ("Destroying - Dialogs.Preferences.Pages.Sidebar\n"); } construct { views_group = new Layouts.HeaderItem (_("Show in Sidebar")) { card = true, reveal = true }; views_group.add_child (new SidebarRow (Objects.Filters.Inbox.get_default ())); views_group.add_child (new SidebarRow (Objects.Filters.Today.get_default ())); views_group.add_child (new SidebarRow (Objects.Filters.Scheduled.get_default ())); views_group.add_child (new SidebarRow (Objects.Filters.Pinboard.get_default ())); views_group.add_child (new SidebarRow (Objects.Filters.Labels.get_default ())); views_group.add_child (new SidebarRow (Objects.Filters.Completed.get_default ())); views_group.add_child (new SidebarRow (Objects.Filters.Tomorrow.get_default ())); views_group.add_child (new SidebarRow (Objects.Filters.Anytime.get_default ())); views_group.add_child (new SidebarRow (Objects.Filters.Repeating.get_default ())); views_group.add_child (new SidebarRow (Objects.Filters.Unlabeled.get_default ())); views_group.add_child (new SidebarRow (Objects.Filters.AllItems.get_default ())); var show_count_row = new Adw.SwitchRow () { title = _("Show Task Count") }; var sidebar_width_row = new Adw.SpinRow.with_range (300, 400, 1) { valign = Gtk.Align.CENTER, title = _("Sidebar Width"), value = Services.Settings.get_default ().settings.get_int ("pane-position") }; var list_view_filters_row = new Adw.SwitchRow () { title = _("List View for Filters"), subtitle = _("Show filters in a simple list instead of a grid") }; var count_group = new Adw.PreferencesGroup () { margin_start = 3, margin_end = 3, margin_top = 12 }; count_group.add (show_count_row); count_group.add (sidebar_width_row); count_group.add (list_view_filters_row); var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { margin_start = 12, margin_end = 12, margin_bottom = 12, margin_top = 6 }; content_box.append (count_group); content_box.append (views_group); content_box.append (new Gtk.Label (_("You can sort your views by dragging and dropping")) { css_classes = { "caption", "dimmed" }, halign = START, margin_start = 12, margin_top = 3 }); var scrolled_window = new Gtk.ScrolledWindow () { hscrollbar_policy = Gtk.PolicyType.NEVER, hexpand = true, vexpand = true, child = content_box }; var toolbar_view = new Adw.ToolbarView () { content = scrolled_window }; toolbar_view.add_top_bar (new Adw.HeaderBar ()); child = toolbar_view; Services.Settings.get_default ().settings.bind ("show-tasks-count", show_count_row, "active", GLib.SettingsBindFlags.DEFAULT); Services.Settings.get_default ().settings.bind ("filters-list-view", list_view_filters_row, "active", GLib.SettingsBindFlags.DEFAULT); views_group.set_sort_func ((child1, child2) => { SidebarRow item1 = ((SidebarRow) child1); SidebarRow item2 = ((SidebarRow) child2); if (item1.visible) { return -1; } return item1.item_order () - item2.item_order (); }); views_group.set_sort_func (null); signal_map[sidebar_width_row.output.connect (() => { Services.Settings.get_default ().settings.set_int ("pane-position", (int) sidebar_width_row.value); })] = sidebar_width_row; destroy.connect (() => { clean_up (); }); } public override void clean_up () { views_group.set_sort_func (null); foreach (var row in views_group.get_children ()) { ((SidebarRow) row).clean_up (); } foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } public class SidebarRow : Gtk.ListBoxRow { public Objects.BaseObject base_object { get; construct; } public string icon { get; construct; } public string title { get; construct; } private Widgets.ReorderChild reorder; private Gtk.Switch check_button; private Gtk.GestureClick select_gesture; private Gtk.Revealer main_revealer; private Adw.ActionRow action_row; public bool active { get { return check_button.active; } } public Gee.HashMap signal_map = new Gee.HashMap (); public SidebarRow (Objects.BaseObject base_object) { Object ( base_object: base_object ); } ~SidebarRow () { debug ("Destroying SidebarRow\n"); } construct { add_css_class ("sidebar-row"); add_css_class ("transition"); add_css_class ("no-padding"); check_button = new Gtk.Switch () { valign = CENTER, halign = END, hexpand = true, css_classes = { "flat" }, active = check_active () }; action_row = new Adw.ActionRow () { title = base_object.name, activatable = true }; action_row.add_prefix (new Gtk.Image.from_icon_name (base_object.icon_name)); action_row.add_suffix (check_button); reorder = new Widgets.ReorderChild (action_row, this); main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = reorder }; child = main_revealer; reorder.build_drag_and_drop (); Timeout.add (main_revealer.transition_duration, () => { main_revealer.reveal_child = true; return GLib.Source.REMOVE; }); signal_map[check_button.notify["active"].connect (() => { updateView ( get_views_array (), base_object.view_id, check_button.active ); })] = check_button; signal_map[reorder.on_drop_end.connect ((listbox) => { update_views_order (listbox); })] = reorder; signal_map[main_revealer.notify["child-revealed"].connect (() => { reorder.draw_motion_widgets (); })] = main_revealer; select_gesture = new Gtk.GestureClick (); action_row.add_controller (select_gesture); signal_map[select_gesture.released.connect (() => { check_button.active = !check_button.active; })] = select_gesture; destroy.connect (() => { clean_up (); }); } private void updateView (Array views, string view, bool active) { // vala-lint=naming-convention if (active) { if (!find_view (views.data, view)) { views.append_val (view); } } else { int index = find_index (views.data, view); if (index != -1) { views.remove_index (index); } } Services.Settings.get_default ().settings.set_strv ("views-order-visible", views.data); update_views_order ((Gtk.ListBox) parent); } private Array get_views_array () { string[] list = Services.Settings.get_default ().settings.get_strv ("views-order-visible"); Array array = new Array (); foreach (string view in list) { array.append_val (view); } return array; } private void update_views_order (Gtk.ListBox listbox) { Array list = new Array (); unowned SidebarRow ? row = null; var row_index = 0; do { row = (SidebarRow) listbox.get_row_at_index (row_index); if (row != null && row.active) { list.append_val (row.base_object.view_id); } row_index++; } while (row != null); Services.Settings.get_default ().settings.set_strv ("views-order-visible", list.data); } public int item_order () { var views_order = Services.Settings.get_default ().settings.get_strv ("views-order-visible"); return find_index (views_order, base_object.view_id); } int find_index (string[] array, string elemento) { for (int i = 0; i < array.length; i++) { if (array[i] == elemento) { return i; } } return -1; } private bool check_active () { var views_order = Services.Settings.get_default ().settings.get_strv ("views-order-visible"); return find_view (views_order, base_object.view_id); } private bool find_view (string[] array, string elemento) { for (int i = 0; i < array.length; i++) { if (array[i] == elemento) { return true; } } return false; } public void clean_up () { if (reorder != null) { reorder.clean_up (); reorder = null; } foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); if (select_gesture != null && action_row != null) { action_row.remove_controller (select_gesture); select_gesture = null; } check_button = null; main_revealer = null; action_row = null; } } } alainm23-planify-69962f8/src/Dialogs/Preferences/Pages/TaskSetting.vala000066400000000000000000000254401517337276100256560ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.Preferences.Pages.TaskSetting : Dialogs.Preferences.Pages.BasePage { public TaskSetting (Adw.PreferencesDialog preferences_dialog) { Object ( preferences_dialog: preferences_dialog, title: _("Task Settings") ); } ~TaskSetting () { debug ("Destroying - Dialogs.Preferences.Pages.TaskSetting\n"); } construct { var group = new Adw.PreferencesGroup () { title = _("General") }; var complete_tasks_model = new Gtk.StringList (null); complete_tasks_model.append (_("Complete Instantly")); complete_tasks_model.append (_("Complete with Undo")); var complete_tasks_row = new Widgets.ComboWrapRow (); complete_tasks_row.title = _("Task Completion"); complete_tasks_row.subtitle = _("Choose how tasks behave when marked as complete"); complete_tasks_row.model = complete_tasks_model; complete_tasks_row.selected = Services.Settings.get_default ().settings.get_enum ("complete-task"); group.add (complete_tasks_row); var default_priority_model = new Gtk.StringList (null); default_priority_model.append (_("Priority 1")); default_priority_model.append (_("Priority 2")); default_priority_model.append (_("Priority 3")); default_priority_model.append (_("None")); var default_priority_row = new Adw.ComboRow (); default_priority_row.title = _("Default Priority"); default_priority_row.model = default_priority_model; default_priority_row.selected = Services.Settings.get_default ().settings.get_enum ("default-priority"); group.add (default_priority_row); var underline_completed_switch = new Gtk.Switch () { valign = Gtk.Align.CENTER, active = Services.Settings.get_default ().settings.get_boolean ("underline-completed-tasks") }; var underline_completed_row = new Adw.ActionRow (); underline_completed_row.title = _("Cross Out Completed Tasks"); underline_completed_row.set_activatable_widget (underline_completed_switch); underline_completed_row.add_suffix (underline_completed_switch); group.add (underline_completed_row); var tasks_position_model = new Gtk.StringList (null); tasks_position_model.append (_("Start")); tasks_position_model.append (_("End")); var tasks_position_row = new Adw.ComboRow (); tasks_position_row.title = _("New Task Position"); tasks_position_row.model = tasks_position_model; tasks_position_row.selected = Services.Settings.get_default ().settings.get_enum ("new-tasks-position"); group.add (tasks_position_row); var show_completed_subtasks = new Adw.SwitchRow (); show_completed_subtasks.title = _("Always Show Completed Sub-Tasks"); show_completed_subtasks.subtitle = _("Keep all completed subtasks visible without collapsing them"); Services.Settings.get_default ().settings.bind ("always-show-completed-subtasks", show_completed_subtasks, "active", GLib.SettingsBindFlags.DEFAULT); group.add (show_completed_subtasks); var task_complete_tone = new Adw.SwitchRow (); task_complete_tone.title = _("Task Complete Tone"); task_complete_tone.subtitle = _("Play a sound when tasks are completed"); Services.Settings.get_default ().settings.bind ("task-complete-tone", task_complete_tone, "active", GLib.SettingsBindFlags.DEFAULT); group.add (task_complete_tone); var open_task_sidebar = new Adw.SwitchRow (); open_task_sidebar.title = _("Open Tasks in Sidebar View"); open_task_sidebar.subtitle = _("Always display task details in the sidebar instead of expanding in list view."); Services.Settings.get_default ().settings.bind ("open-task-sidebar", open_task_sidebar, "active", GLib.SettingsBindFlags.DEFAULT); group.add (open_task_sidebar); var attention_at_one = new Adw.SwitchRow (); attention_at_one.title = _("Single Task Focus Mode"); attention_at_one.subtitle = _("Allow only one task to be expanded at a time in list view"); Services.Settings.get_default ().settings.bind ("attention-at-one", attention_at_one, "active", GLib.SettingsBindFlags.DEFAULT); Services.Settings.get_default ().settings.bind ("open-task-sidebar", attention_at_one, "sensitive", GLib.SettingsBindFlags.INVERT_BOOLEAN); group.add (attention_at_one); var markdown_item = new Adw.SwitchRow (); markdown_item.title = _("Enable Markdown Formatting"); markdown_item.subtitle = _("Toggle Markdown support for tasks on or off"); Services.Settings.get_default ().settings.bind ("enable-markdown-formatting", markdown_item, "active", GLib.SettingsBindFlags.DEFAULT); group.add (markdown_item); var always_show_sidebar_item = new Adw.SwitchRow (); always_show_sidebar_item.title = _("Always Show Details Sidebar"); always_show_sidebar_item.subtitle = _("Keep the details sidebar always visible for faster task navigation, without repeatedly opening and closing it"); Services.Settings.get_default ().settings.bind ("always-show-details-sidebar", always_show_sidebar_item, "active", GLib.SettingsBindFlags.DEFAULT); group.add (always_show_sidebar_item); var spell_checking_item = new Adw.SwitchRow (); spell_checking_item.title = _("Enable Spell Checking"); spell_checking_item.subtitle = _("Check spelling in task descriptions and notes"); Services.Settings.get_default ().settings.bind ("spell-checking-enabled", spell_checking_item, "active", GLib.SettingsBindFlags.DEFAULT); group.add (spell_checking_item); var reminders_group = new Adw.PreferencesGroup () { title = _("Reminders") }; var automatic_reminders = new Adw.SwitchRow (); automatic_reminders.title = _("Enabled"); Services.Settings.get_default ().settings.bind ("automatic-reminders-enabled", automatic_reminders, "active", GLib.SettingsBindFlags.DEFAULT); var reminders_model = new Gtk.StringList (null); reminders_model.append (_("At due time")); reminders_model.append (_("10 minutes before")); reminders_model.append (_("30 minutes before")); reminders_model.append (_("45 minutes before")); reminders_model.append (_("1 hour before")); reminders_model.append (_("2 hours before")); reminders_model.append (_("3 hours before")); var reminders_comborow = new Widgets.ComboWrapRow (); reminders_comborow.title = _("Automatic reminders"); reminders_comborow.subtitle = _("When enabled, a reminder before the task’s due time will be added by default."); reminders_comborow.model = reminders_model; reminders_comborow.selected = Services.Settings.get_default ().settings.get_enum ("automatic-reminders"); Services.Settings.get_default ().settings.bind ("automatic-reminders-enabled", reminders_comborow, "sensitive", GLib.SettingsBindFlags.DEFAULT); reminders_group.add (automatic_reminders); reminders_group.add (reminders_comborow); var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 12) { margin_start = 12, margin_end = 12, margin_bottom = 12, margin_top = 6 }; content_box.append (group); content_box.append (reminders_group); var scrolled_window = new Gtk.ScrolledWindow () { hscrollbar_policy = Gtk.PolicyType.NEVER, hexpand = true, vexpand = true, child = content_box }; var toolbar_view = new Adw.ToolbarView () { content = scrolled_window }; toolbar_view.add_top_bar (new Adw.HeaderBar ()); child = toolbar_view; signal_map[complete_tasks_row.notify["selected"].connect (() => { Services.Settings.get_default ().settings.set_enum ("complete-task", complete_tasks_row.selected); })] = complete_tasks_row; signal_map[default_priority_row.notify["selected"].connect (() => { Services.Settings.get_default ().settings.set_enum ("default-priority", (int) default_priority_row.selected); })] = default_priority_row; signal_map[tasks_position_row.notify["selected"].connect (() => { Services.Settings.get_default ().settings.set_enum ("new-tasks-position", (int) tasks_position_row.selected); })] = tasks_position_row; signal_map[underline_completed_switch.notify["active"].connect (() => { Services.Settings.get_default ().settings.set_boolean ("underline-completed-tasks", underline_completed_switch.active); })] = underline_completed_switch; signal_map[reminders_comborow.notify["selected"].connect (() => { Services.Settings.get_default ().settings.set_enum ("automatic-reminders", reminders_comborow.selected); })] = reminders_comborow; destroy.connect (() => { clean_up (); }); } public override void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } }alainm23-planify-69962f8/src/Dialogs/Preferences/PreferencesWindow.vala000066400000000000000000000403341517337276100260070ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.Preferences.PreferencesWindow : Adw.PreferencesDialog { public Gee.HashMap signal_map = new Gee.HashMap (); private Gee.HashMap page_map = new Gee.HashMap (); private Gtk.ShortcutController shortcut_controller; public PreferencesWindow () { Object ( content_width: 450, content_height: 600 ); } ~PreferencesWindow () { debug ("Destroying - Dialogs.Preferences.PreferencesWindow\n"); } construct { var page = new Adw.PreferencesPage (); page.title = _("Preferences"); page.name = "preferences"; page.icon_name = "applications-system-symbolic"; // Accounts var accounts_row = new Adw.ActionRow (); accounts_row.activatable = true; accounts_row.add_prefix (generate_icon ("cloud-outline-thick-symbolic")); accounts_row.add_suffix (generate_icon ("go-next-symbolic")); accounts_row.title = _("Accounts"); accounts_row.subtitle = _("Sync your favorite to-do providers"); signal_map[accounts_row.activated.connect (() => { push_subpage (build_page ("accounts")); })] = accounts_row; var accounts_group = new Adw.PreferencesGroup (); accounts_group.add (accounts_row); page.add (accounts_group); // Personalization var home_page_row = new Adw.ActionRow () { activatable = true, title = _("Home View"), subtitle = _("Set the view shown at first launch") }; home_page_row.add_prefix (generate_icon ("go-home-symbolic")); home_page_row.add_suffix (generate_icon ("go-next-symbolic")); signal_map[home_page_row.activated.connect (() => { push_subpage (build_page ("home-view")); })] = home_page_row; var general_row = new Adw.ActionRow (); general_row.activatable = true; general_row.add_prefix (generate_icon ("settings-symbolic")); general_row.add_suffix (generate_icon ("go-next-symbolic")); general_row.title = _("General"); general_row.subtitle = _("Customize to your liking"); signal_map[general_row.activated.connect (() => { push_subpage (build_page ("general-page")); })] = general_row; var task_setting_row = new Adw.ActionRow (); task_setting_row.activatable = true; task_setting_row.add_prefix (generate_icon ("check-round-outline-symbolic")); task_setting_row.add_suffix (generate_icon ("go-next-symbolic")); task_setting_row.title = _("Task Settings"); signal_map[task_setting_row.activated.connect (() => { push_subpage (build_page ("task-setting")); })] = task_setting_row; var sidebar_row = new Adw.ActionRow (); sidebar_row.activatable = true; sidebar_row.add_prefix (generate_icon ("dock-left-symbolic")); sidebar_row.add_suffix (generate_icon ("go-next-symbolic")); sidebar_row.title = _("Sidebar"); sidebar_row.subtitle = _("Customize your sidebar"); signal_map[sidebar_row.activated.connect (() => { push_subpage (build_page ("sidebar-page")); })] = sidebar_row; var appearance_row = new Adw.ActionRow (); appearance_row.activatable = true; appearance_row.add_prefix (generate_icon ("color-symbolic")); appearance_row.add_suffix (generate_icon ("go-next-symbolic")); appearance_row.title = _("Appearance"); appearance_row.subtitle = Util.get_default ().get_theme_name (); signal_map[appearance_row.activated.connect (() => { push_subpage (build_page ("appearance")); })] = appearance_row; var quick_add_row = new Adw.ActionRow (); quick_add_row.activatable = true; quick_add_row.add_prefix (generate_icon ("tab-new-symbolic")); quick_add_row.add_suffix (generate_icon ("go-next-symbolic")); quick_add_row.title = _("Quick Add"); quick_add_row.subtitle = _("Adding to-do's from anywhere"); signal_map[quick_add_row.activated.connect (() => { push_subpage (build_page ("quick-add")); })] = quick_add_row; var backups_row = new Adw.ActionRow (); backups_row.activatable = true; backups_row.add_prefix (generate_icon ("arrow3-down-symbolic")); backups_row.add_suffix (generate_icon ("go-next-symbolic")); backups_row.title = _("Backups"); backups_row.subtitle = _("Backup or migrate from Planner."); var tutorial_row = new Adw.ActionRow (); tutorial_row.activatable = true; tutorial_row.add_prefix (generate_icon ("rescue-symbolic")); tutorial_row.add_suffix (generate_icon ("go-next-symbolic")); tutorial_row.title = _("Create Tutorial Project"); tutorial_row.subtitle = _("Learn the app step by step with a short tutorial project"); var personalization_group = new Adw.PreferencesGroup (); personalization_group.add (home_page_row); personalization_group.add (general_row); personalization_group.add (task_setting_row); personalization_group.add (sidebar_row); personalization_group.add (appearance_row); personalization_group.add (quick_add_row); personalization_group.add (backups_row); personalization_group.add (tutorial_row); page.add (personalization_group); var supporting_us_row = new Adw.ActionRow (); supporting_us_row.activatable = true; supporting_us_row.add_prefix (generate_icon ("heart-outline-thick-symbolic")); supporting_us_row.add_suffix (generate_icon ("go-next-symbolic")); supporting_us_row.title = _("Donate"); supporting_us_row.subtitle = _("Want to buy me a drink?"); signal_map[supporting_us_row.activated.connect (() => { push_subpage (build_page ("donate")); })] = supporting_us_row; var issue_row = new Adw.ActionRow (); issue_row.activatable = true; issue_row.add_prefix (generate_icon ("lightbulb-symbolic")); issue_row.add_suffix (generate_icon ("go-next-symbolic")); issue_row.title = _("Report Issue or Request Feature"); issue_row.subtitle = _("Share bugs or ideas on GitHub"); signal_map[issue_row.activated.connect (() => { try { AppInfo.launch_default_for_uri (Constants.ISSUE_URL, null); } catch (Error e) { warning ("%s\n", e.message); } })] = issue_row; var translation_row = new Widgets.TranslationRow (); translation_row.icon_name = "language-symbolic"; setup_visibility_detection (translation_row); var click_gesture = new Gtk.GestureClick (); translation_row.add_controller (click_gesture); signal_map[click_gesture.pressed.connect (() => { try { AppInfo.launch_default_for_uri (Constants.WEBLATE_URL, null); } catch (Error e) { warning ("%s\n", e.message); } })] = click_gesture; var collaboration_group = new Adw.PreferencesGroup (); collaboration_group.title = _("Get Involved"); collaboration_group.add (supporting_us_row); collaboration_group.add (issue_row); collaboration_group.add (translation_row); page.add (collaboration_group); // Reach Us Group var reach_us_group = new Adw.PreferencesGroup (); reach_us_group.title = _("Reach Us"); var contact_us_row = new Adw.ActionRow (); contact_us_row.activatable = true; contact_us_row.add_prefix (generate_icon ("mail-symbolic")); contact_us_row.add_suffix (generate_icon ("go-next-symbolic")); contact_us_row.title = _("Contact Us"); contact_us_row.subtitle = _("Request a feature or ask us anything"); signal_map[contact_us_row.activated.connect (() => { string uri = "mailto:%s".printf (Constants.CONTACT_US); try { AppInfo.launch_default_for_uri (uri, null); } catch (Error e) { warning ("%s\n", e.message); } })] = contact_us_row; var tweet_us_row = new Adw.ActionRow (); tweet_us_row.activatable = true; tweet_us_row.add_prefix (generate_icon ("chat-bubble-text-symbolic")); tweet_us_row.add_suffix (generate_icon ("go-next-symbolic")); tweet_us_row.title = _("Tweet Us"); tweet_us_row.subtitle = _("Share some love"); signal_map[tweet_us_row.activated.connect (() => { try { AppInfo.launch_default_for_uri (Constants.TWITTER_URL, null); } catch (Error e) { warning ("%s\n", e.message); } })] = tweet_us_row; var discord_row = new Adw.ActionRow (); discord_row.activatable = true; discord_row.add_prefix (generate_icon ("navigate-symbolic")); discord_row.add_suffix (generate_icon ("go-next-symbolic")); discord_row.title = _("Discord"); discord_row.subtitle = _("Discuss and share your feedback"); signal_map[discord_row.activated.connect (() => { try { AppInfo.launch_default_for_uri (Constants.DISCORD_URL, null); } catch (Error e) { warning ("%s\n", e.message); } })] = discord_row; var mastodon_row = new Adw.ActionRow (); mastodon_row.activatable = true; mastodon_row.add_prefix (generate_icon ("external-link-symbolic")); mastodon_row.add_suffix (generate_icon ("go-next-symbolic")); mastodon_row.title = _("Mastodon"); mastodon_row.subtitle = _("Share some love"); signal_map[mastodon_row.activated.connect (() => { try { AppInfo.launch_default_for_uri (Constants.MASTODON_URL, null); } catch (Error e) { warning ("%s\n", e.message); } })] = mastodon_row; reach_us_group.add (contact_us_row); reach_us_group.add (mastodon_row); reach_us_group.add (tweet_us_row); reach_us_group.add (discord_row); page.add (reach_us_group); var privacy_group = new Adw.PreferencesGroup (); privacy_group.title = _("Privacy"); var privacy_policy_row = new Adw.ActionRow (); privacy_policy_row.activatable = true; privacy_policy_row.add_prefix (generate_icon ("shield-safe-symbolic")); privacy_policy_row.add_suffix (generate_icon ("go-next-symbolic")); privacy_policy_row.title = _("Privacy Policy"); privacy_policy_row.subtitle = _("We have nothing on you"); var delete_row = new Adw.ActionRow (); delete_row.activatable = true; delete_row.add_prefix (generate_icon ("user-trash-symbolic")); delete_row.add_suffix (generate_icon ("go-next-symbolic")); delete_row.title = _("Delete App Data"); privacy_group.add (privacy_policy_row); privacy_group.add (delete_row); page.add (privacy_group); signal_map[tutorial_row.activated.connect (() => { Util.get_default ().create_tutorial_project (); add_toast (Util.get_default ().create_toast (_("A tutorial project has been created"))); })] = tutorial_row; signal_map[backups_row.activated.connect (() => { push_subpage (build_page ("backups-page")); })] = backups_row; signal_map[privacy_policy_row.activated.connect (() => { try { AppInfo.launch_default_for_uri (Constants.PRIVACY_POLICY_URL, null); } catch (Error e) { warning ("%s\n", e.message); } })] = privacy_policy_row; signal_map[delete_row.activated.connect (() => { Util.get_default ().clear_database (_("Delete All Data?"), _("Deletes all your lists, tasks, and reminders irreversibly"), Planify.instance.main_window); })] = delete_row; add (page); Services.EventBus.get_default ().disconnect_typing_accel (); var shortcut = new Gtk.Shortcut (new Gtk.KeyvalTrigger (Gdk.Key.Escape, 0), new Gtk.CallbackAction ((widget, args) => { close (); return true; })); shortcut_controller = new Gtk.ShortcutController (); shortcut_controller.add_shortcut (shortcut); add_controller (shortcut_controller); closed.connect (() => { clean_up (); Services.EventBus.get_default ().connect_typing_accel (); }); } private Gtk.Widget generate_icon (string icon_name, int size = 16) { return new Gtk.Image.from_icon_name (icon_name) { pixel_size = size }; } private Adw.NavigationPage ? build_page (string page) { if (page_map.has_key (page)) { return page_map[page]; } switch (page) { case "accounts": page_map[page] = new Dialogs.Preferences.Pages.Accounts (this); break; case "home-view": page_map[page] = new Dialogs.Preferences.Pages.HomeView (this); break; case "appearance": page_map[page] = new Dialogs.Preferences.Pages.Appearance (this); break; case "backups-page": page_map[page] = new Dialogs.Preferences.Pages.Backup (this); break; case "sidebar-page": page_map[page] = new Dialogs.Preferences.Pages.Sidebar (this); break; case "general-page": page_map[page] = new Dialogs.Preferences.Pages.General (this); break; case "task-setting": page_map[page] = new Dialogs.Preferences.Pages.TaskSetting (this); break; case "quick-add": page_map[page] = new Dialogs.Preferences.Pages.QuickAdd (this); break; case "donate": page_map[page] = new Dialogs.Preferences.Pages.Donate (this); break; default: warning ("The page %s does not exist\n", page); return null; } return page_map[page]; } public void show_page (string page_key) { var page = build_page (page_key); if (page != null) { push_subpage (page); } } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); if (shortcut_controller != null) { remove_controller (shortcut_controller); shortcut_controller = null; } foreach (Dialogs.Preferences.Pages.BasePage page in page_map.values) { page.clean_up (); } page_map.clear (); } private void setup_visibility_detection (Widgets.TranslationRow translation_row) { translation_row.load_translation_data.begin (); translation_row.map.connect (() => { Timeout.add (1500, () => { translation_row.trigger_animation (); return false; }); }); } } alainm23-planify-69962f8/src/Dialogs/ProductivityReport/000077500000000000000000000000001517337276100231455ustar00rootroot00000000000000alainm23-planify-69962f8/src/Dialogs/ProductivityReport/ProductivityReport.vala000066400000000000000000000214351517337276100277200ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.ProductivityReport.ProductivityReportDialog : Adw.Dialog { private Adw.NavigationView navigation_view; private Adw.Bin dimming_widget; private Gtk.Revealer goals_revealer; private Dialogs.ProductivityReport.ProductivitySection productivity_section; public ProductivityReportDialog () { Object ( title: _("Summary & Productivity"), content_width: 450, content_height: 600 ); } construct { navigation_view = new Adw.NavigationView (); navigation_view.add (build_main_page ()); dimming_widget = new Adw.Bin () { visible = false, css_classes = { "dimming-bg" } }; var dimming_gesture = new Gtk.GestureClick (); dimming_widget.add_controller (dimming_gesture); dimming_gesture.pressed.connect (() => { hide_goals_setup (); }); goals_revealer = new Gtk.Revealer () { child = build_goals_setup (), valign = END, transition_type = SLIDE_UP, reveal_child = false }; goals_revealer.notify["reveal-child"].connect (() => { dimming_widget.visible = goals_revealer.reveal_child; }); var main_overlay = new Gtk.Overlay () { child = navigation_view }; main_overlay.add_overlay (dimming_widget); main_overlay.add_overlay (goals_revealer); child = main_overlay; closed.connect (() => { Services.EventBus.get_default ().connect_typing_accel (); }); Services.EventBus.get_default ().disconnect_typing_accel (); } private void show_goals_setup () { goals_revealer.reveal_child = true; } private void hide_goals_setup () { goals_revealer.reveal_child = false; } private Gtk.Widget build_goals_setup () { var title_label = new Gtk.Label (_("Set Up Goals")) { css_classes = { "font-bold" }, halign = START }; var description_label = new Gtk.Label (_("Define how many tasks you want to complete per day and week")) { css_classes = { "caption", "dimmed" }, halign = START, wrap = true }; var title_box = new Gtk.Box (VERTICAL, 3); title_box.append (title_label); title_box.append (description_label); // Daily goal var daily_label = new Gtk.Label (_("Daily")) { halign = START, hexpand = true }; var daily_spin = new Gtk.SpinButton.with_range (0, 100, 1) { value = 5 }; var daily_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 8) { hexpand = true }; daily_box.append (daily_label); daily_box.append (daily_spin); // Weekly goal var weekly_label = new Gtk.Label (_("Weekly")) { halign = START, hexpand = true }; var weekly_spin = new Gtk.SpinButton.with_range (0, 500, 1) { value = 25 }; var weekly_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 8) { hexpand = true }; weekly_box.append (weekly_label); weekly_box.append (weekly_spin); var goals_row = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 16) { homogeneous = true, hexpand = true }; goals_row.append (daily_box); goals_row.append (weekly_box); // Load saved values int saved_daily = Services.Settings.get_default ().settings.get_int ("daily-task-goal"); int saved_weekly = Services.Settings.get_default ().settings.get_int ("weekly-task-goal"); if (saved_daily > 0) { daily_spin.value = saved_daily; } if (saved_weekly > 0) { weekly_spin.value = saved_weekly; } // Save button var save_button = new Gtk.Button.with_label (_("Save")) { css_classes = { "suggested-action" }, hexpand = true, margin_top = 6 }; save_button.clicked.connect (() => { int daily_val = (int) daily_spin.value; int weekly_val = (int) weekly_spin.value; if (daily_val <= 0 || weekly_val <= 0) { daily_spin.add_css_class (daily_val <= 0 ? "error" : ""); weekly_spin.add_css_class (weekly_val <= 0 ? "error" : ""); return; } daily_spin.remove_css_class ("error"); weekly_spin.remove_css_class ("error"); Services.Settings.get_default ().settings.set_int ("daily-task-goal", daily_val); Services.Settings.get_default ().settings.set_int ("weekly-task-goal", weekly_val); hide_goals_setup (); productivity_section.refresh (); }); daily_spin.value_changed.connect (() => { daily_spin.remove_css_class ("error"); }); weekly_spin.value_changed.connect (() => { weekly_spin.remove_css_class ("error"); }); var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 12) { margin_start = 16, margin_end = 16, margin_top = 16, margin_bottom = 16 }; content_box.append (title_box); content_box.append (goals_row); content_box.append (save_button); return new Adw.Bin () { css_classes = { "card" }, child = content_box }; } private Adw.NavigationPage build_main_page () { var headerbar = new Adw.HeaderBar (); headerbar.add_css_class ("flat"); var summary_section = new Dialogs.ProductivityReport.SummarySection (); summary_section.see_more_clicked.connect (() => { navigation_view.push (build_summary_detail_page ()); }); productivity_section = new Dialogs.ProductivityReport.ProductivitySection (); productivity_section.see_more_clicked.connect (() => { navigation_view.push (build_productivity_detail_page ()); }); productivity_section.setup_goals_clicked.connect (() => { show_goals_setup (); }); var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 24) { margin_start = 16, margin_end = 16, margin_top = 8, margin_bottom = 24 }; content_box.append (summary_section); content_box.append (productivity_section); var scrolled_window = new Gtk.ScrolledWindow () { hscrollbar_policy = Gtk.PolicyType.NEVER, hexpand = true, vexpand = true, child = content_box }; var toolbar_view = new Adw.ToolbarView () { content = scrolled_window }; toolbar_view.add_top_bar (headerbar); return new Adw.NavigationPage (toolbar_view, _("Summary & Productivity")); } private Adw.NavigationPage build_summary_detail_page () { var headerbar = new Adw.HeaderBar (); headerbar.add_css_class ("flat"); var status_page = new Adw.StatusPage () { title = _("Summary Details"), description = _("Detailed summary will appear here") }; var toolbar_view = new Adw.ToolbarView () { content = status_page }; toolbar_view.add_top_bar (headerbar); return new Adw.NavigationPage (toolbar_view, _("Summary")); } private Adw.NavigationPage build_productivity_detail_page () { var headerbar = new Adw.HeaderBar (); headerbar.add_css_class ("flat"); var status_page = new Adw.StatusPage () { title = _("Productivity Details"), description = _("Detailed productivity stats will appear here") }; var toolbar_view = new Adw.ToolbarView () { content = status_page }; toolbar_view.add_top_bar (headerbar); return new Adw.NavigationPage (toolbar_view, _("Productivity")); } } alainm23-planify-69962f8/src/Dialogs/ProductivityReport/ProductivitySection.vala000066400000000000000000000344711517337276100300550ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.ProductivityReport.ProductivitySection : Adw.Bin { public signal void see_more_clicked (); public signal void setup_goals_clicked (); private Gtk.Stack content_stack; private Gtk.Revealer see_more_revealer; private Dialogs.ProductivityReport.StatCard today_card; private Dialogs.ProductivityReport.StatCard week_card; private Dialogs.ProductivityReport.StatCard month_card; private Gtk.Label goal_value_label; private Gtk.LevelBar goal_bar; private Gtk.Label weekly_value_label; private Gtk.LevelBar weekly_bar; private Gtk.Label motivation_label; private Gtk.Revealer motivation_revealer; construct { var title_label = new Gtk.Label (_("Productivity")) { halign = START, css_classes = { "font-bold" } }; var see_more_button = new Gtk.Button.with_label (_("See More")) { halign = END, valign = CENTER, hexpand = true, css_classes = { "flat", "caption" } }; see_more_button.clicked.connect (() => { see_more_clicked (); }); see_more_revealer = new Gtk.Revealer () { child = see_more_button, transition_type = CROSSFADE, reveal_child = false, visible = false }; var header_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { hexpand = true }; header_box.append (title_label); header_box.append (see_more_revealer); content_stack = new Gtk.Stack () { transition_type = Gtk.StackTransitionType.CROSSFADE }; content_stack.add_named (build_setup_view (), "setup"); content_stack.add_named (build_stats_view (), "stats"); var section_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 12); section_box.append (header_box); section_box.append (content_stack); child = section_box; update_view (); map.connect (() => { if (content_stack.visible_child_name == "stats") { Timeout.add (200, () => { load_stats (); return GLib.Source.REMOVE; }); } }); } public void refresh () { update_view (); if (content_stack.visible_child_name == "stats") { load_stats (); } } private void update_view () { int daily = Services.Settings.get_default ().settings.get_int ("daily-task-goal"); int weekly = Services.Settings.get_default ().settings.get_int ("weekly-task-goal"); if (daily <= 0 && weekly <= 0) { content_stack.visible_child_name = "setup"; see_more_revealer.reveal_child = false; } else { content_stack.visible_child_name = "stats"; see_more_revealer.reveal_child = true; } } private void load_stats () { var now = new GLib.DateTime.now_local (); var today = Utils.Datetime.get_date_only (now); int start_of_week_day = Services.Settings.get_default ().settings.get_enum ("start-week"); var week_start = get_week_start (today, start_of_week_day); var month_start = new GLib.DateTime.local (now.get_year (), now.get_month (), 1, 0, 0, 0); int completed_today = 0; int completed_week = 0; int completed_month = 0; foreach (Objects.Item item in Services.Store.instance ().items) { if (!item.checked || item.completed_at == "" || item.was_archived ()) { continue; } var completed_date = Utils.Datetime.get_date_from_string (item.completed_at); if (completed_date == null) { continue; } var completed_date_only = Utils.Datetime.get_date_only (completed_date); if (completed_date_only.compare (today) == 0) { completed_today++; } if (completed_date_only.compare (week_start) >= 0 && completed_date_only.compare (today) <= 0) { completed_week++; } if (completed_date_only.compare (month_start) >= 0 && completed_date_only.compare (today) <= 0) { completed_month++; } } today_card.animate_to (completed_today); week_card.animate_to (completed_week); month_card.animate_to (completed_month); // Goals int daily_goal = Services.Settings.get_default ().settings.get_int ("daily-task-goal"); int weekly_goal = Services.Settings.get_default ().settings.get_int ("weekly-task-goal"); double daily_progress = daily_goal > 0 ? double.min (1.0, (double) completed_today / daily_goal) : 0.0; double weekly_progress = weekly_goal > 0 ? double.min (1.0, (double) completed_week / weekly_goal) : 0.0; goal_value_label.label = "%d / %d".printf (completed_today, daily_goal); weekly_value_label.label = "%d / %d".printf (completed_week, weekly_goal); var daily_target = new Adw.CallbackAnimationTarget ((val) => { goal_bar.value = val; }); var daily_animation = new Adw.TimedAnimation ( goal_bar, 0, daily_progress, 800, daily_target ) { easing = Adw.Easing.EASE_OUT_CUBIC }; daily_animation.play (); var weekly_target = new Adw.CallbackAnimationTarget ((val) => { weekly_bar.value = val; }); var weekly_animation = new Adw.TimedAnimation ( weekly_bar, 0, weekly_progress, 800, weekly_target ) { easing = Adw.Easing.EASE_OUT_CUBIC }; weekly_animation.play (); // Motivational message motivation_label.label = get_motivation_message (completed_today, daily_goal, completed_week, weekly_goal); motivation_revealer.reveal_child = false; Timeout.add (900, () => { motivation_revealer.reveal_child = true; return GLib.Source.REMOVE; }); } private string get_motivation_message (int today, int daily_goal, int week, int weekly_goal) { double daily_ratio = daily_goal > 0 ? (double) today / daily_goal : 0; double weekly_ratio = weekly_goal > 0 ? (double) week / weekly_goal : 0; if (daily_ratio >= 1.0 && weekly_ratio >= 1.0) { return "� " + _("All goals achieved! You're unstoppable"); } if (daily_ratio >= 1.0) { return "🔥 " + _("Daily goal crushed! Keep the momentum going"); } if (weekly_ratio >= 1.0) { return "🎉 " + _("Weekly goal achieved! Enjoy the rest of your week"); } if (today == 0) { return "🚀 " + _("Start your day, your first task awaits"); } if (daily_ratio >= 0.75) { return "💪 " + _("Almost there! Just a few more tasks today"); } if (weekly_ratio >= 0.75) { return "📈 " + _("Great pace this week, you're almost at your goal"); } if (daily_ratio >= 0.5) { return "� " + _("Halfway through your daily goal, nice progress"); } if (weekly_ratio >= 0.5) { return "✨ " + _("Solid week so far, keep it up"); } return "� " + _("Every task completed is a step forward"); } private GLib.DateTime get_week_start (GLib.DateTime date, int start_day) { // start_day: 0=Sunday, 1=Monday, ..., 6=Saturday // GLib day_of_week: 1=Monday, ..., 7=Sunday int current_dow = date.get_day_of_week (); // 1-7 int target_dow = start_day == 0 ? 7 : start_day; // convert to 1-7 int diff = current_dow - target_dow; if (diff < 0) { diff += 7; } return Utils.Datetime.get_date_only (date.add_days (-diff)); } private Gtk.Widget build_setup_view () { var description_label = new Gtk.Label (_("Set your daily and weekly goals to start tracking your productivity")) { wrap = true, justify = CENTER, css_classes = { "title-2" }, max_width_chars = 40 }; var setup_button = new Gtk.Button.with_label (_("Set Up Goals")) { halign = CENTER, css_classes = { "suggested-action", "pill" } }; setup_button.clicked.connect (() => { setup_goals_clicked (); }); var box = new Gtk.Box (Gtk.Orientation.VERTICAL, 24) { halign = CENTER, valign = CENTER, margin_top = 24, margin_bottom = 24 }; box.append (description_label); box.append (setup_button); return new Adw.Bin () { child = box }; } private Gtk.Widget build_stats_view () { today_card = new Dialogs.ProductivityReport.StatCard ("0", _("Today")); week_card = new Dialogs.ProductivityReport.StatCard ("0", _("This Week")); month_card = new Dialogs.ProductivityReport.StatCard ("0", _("This Month")); var cards_grid = new Gtk.Grid () { column_spacing = 12, column_homogeneous = true, hexpand = true }; cards_grid.attach (today_card, 0, 0); cards_grid.attach (week_card, 1, 0); cards_grid.attach (month_card, 2, 0); // Daily goal progress var goal_label = new Gtk.Label (_("Daily Goal")) { halign = START, css_classes = { "caption" } }; goal_value_label = new Gtk.Label ("0 / 0") { halign = END, hexpand = true, css_classes = { "caption", "dimmed" } }; var goal_header = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0); goal_header.append (goal_label); goal_header.append (goal_value_label); goal_bar = new Gtk.LevelBar () { min_value = 0.0, max_value = 1.0, value = 0.0 }; var goal_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 6) { margin_top = 4 }; goal_box.append (goal_header); goal_box.append (goal_bar); // Weekly goal progress var weekly_label = new Gtk.Label (_("Weekly Goal")) { halign = START, css_classes = { "caption" } }; weekly_value_label = new Gtk.Label ("0 / 0") { halign = END, hexpand = true, css_classes = { "caption", "dimmed" } }; var weekly_header = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0); weekly_header.append (weekly_label); weekly_header.append (weekly_value_label); weekly_bar = new Gtk.LevelBar () { min_value = 0.0, max_value = 1.0, value = 0.0 }; var weekly_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 6) { margin_top = 4 }; weekly_box.append (weekly_header); weekly_box.append (weekly_bar); // Goals card var goals_content = new Gtk.Box (Gtk.Orientation.VERTICAL, 12) { margin_top = 12, margin_bottom = 12, margin_start = 12, margin_end = 12 }; goals_content.append (goal_box); goals_content.append (weekly_box); var goals_card = new Adw.Bin () { css_classes = { "card" }, child = goals_content }; var stats_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 12) { margin_top = 1, margin_bottom = 1, margin_start = 1, margin_end = 1, }; stats_box.append (cards_grid); stats_box.append (goals_card); stats_box.append (build_motivation_card ()); var edit_goals_button = new Gtk.Button.with_label (_("Edit Goals")) { halign = CENTER, css_classes = { "flat", "caption", "accent" } }; edit_goals_button.clicked.connect (() => { setup_goals_clicked (); }); stats_box.append (edit_goals_button); return stats_box; } private Gtk.Widget build_motivation_card () { motivation_label = new Gtk.Label (null) { wrap = true, halign = CENTER, justify = CENTER, css_classes = { "caption" }, opacity = 0 }; var box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { margin_top = 12, margin_bottom = 12, margin_start = 12, margin_end = 12 }; box.append (motivation_label); var card = new Adw.Bin () { css_classes = { "card" }, child = box, margin_top = 2, margin_bottom = 2, margin_start = 2, margin_end = 2, }; motivation_revealer = new Gtk.Revealer () { child = card, transition_type = SLIDE_DOWN, transition_duration = 400, reveal_child = false }; motivation_revealer.notify["reveal-child"].connect (() => { if (motivation_revealer.reveal_child) { var fade_target = new Adw.CallbackAnimationTarget ((val) => { motivation_label.opacity = val; }); var fade_animation = new Adw.TimedAnimation ( motivation_label, 0, 1, 500, fade_target ) { easing = Adw.Easing.EASE_IN_QUAD }; fade_animation.play (); } }); return motivation_revealer; } } alainm23-planify-69962f8/src/Dialogs/ProductivityReport/StatCard.vala000066400000000000000000000046461517337276100255310ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.ProductivityReport.StatCard : Adw.Bin { private Gtk.Label _value_label; private Gtk.Label _description_label; public string stat_value { get { return _value_label.label; } set { _value_label.label = value; } } public string stat_label { get; construct; } public StatCard (string stat_value, string stat_label) { Object ( stat_label: stat_label ); this.stat_value = stat_value; } construct { _value_label = new Gtk.Label ("0") { css_classes = { "font-bold", "title-1" }, halign = CENTER }; _description_label = new Gtk.Label (stat_label) { css_classes = { "caption", "dimmed" }, halign = CENTER }; var box = new Gtk.Box (Gtk.Orientation.VERTICAL, 4) { halign = FILL, valign = CENTER, margin_top = 16, margin_bottom = 16, margin_start = 8, margin_end = 8 }; box.append (_value_label); box.append (_description_label); css_classes = { "card" }; child = box; } public void animate_to (int target, uint duration = 600) { var animation_target = new Adw.CallbackAnimationTarget ((val) => { _value_label.label = ((int) Math.round (val)).to_string (); }); var animation = new Adw.TimedAnimation ( this, 0, target, duration, animation_target ) { easing = Adw.Easing.EASE_OUT_CUBIC }; animation.play (); } } alainm23-planify-69962f8/src/Dialogs/ProductivityReport/SummarySection.vala000066400000000000000000000124151517337276100267770ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.ProductivityReport.SummarySection : Adw.Bin { public signal void see_more_clicked (); private Dialogs.ProductivityReport.StatCard total_card; private Dialogs.ProductivityReport.StatCard pending_card; private Dialogs.ProductivityReport.StatCard completed_card; private Dialogs.ProductivityReport.StatCard overdue_card; private Gtk.Label progress_value_label; private Gtk.LevelBar progress_bar; construct { var title_label = new Gtk.Label (_("Summary")) { halign = START, css_classes = { "font-bold" } }; var see_more_button = new Gtk.Button.with_label (_("See More")) { halign = END, valign = CENTER, hexpand = true, visible = false, css_classes = { "flat", "caption" } }; see_more_button.clicked.connect (() => { see_more_clicked (); }); var header_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { hexpand = true }; header_box.append (title_label); header_box.append (see_more_button); total_card = new Dialogs.ProductivityReport.StatCard ("0", _("Total")); pending_card = new Dialogs.ProductivityReport.StatCard ("0", _("Pending")); completed_card = new Dialogs.ProductivityReport.StatCard ("0", _("Completed")); overdue_card = new Dialogs.ProductivityReport.StatCard ("0", _("Overdue")); var cards_grid = new Gtk.Grid () { column_spacing = 12, row_spacing = 12, column_homogeneous = true, hexpand = true }; cards_grid.attach (total_card, 0, 0); cards_grid.attach (pending_card, 1, 0); cards_grid.attach (completed_card, 2, 0); cards_grid.attach (overdue_card, 3, 0); var progress_label = new Gtk.Label (_("Progress")) { halign = START, css_classes = { "caption" } }; progress_value_label = new Gtk.Label ("0%") { halign = END, hexpand = true, css_classes = { "caption", "dimmed" } }; var progress_header = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0); progress_header.append (progress_label); progress_header.append (progress_value_label); progress_bar = new Gtk.LevelBar () { min_value = 0.0, max_value = 1.0, value = 0.0 }; var progress_content = new Gtk.Box (Gtk.Orientation.VERTICAL, 6) { margin_top = 12, margin_bottom = 12, margin_start = 12, margin_end = 12 }; progress_content.append (progress_header); progress_content.append (progress_bar); var progress_card = new Adw.Bin () { css_classes = { "card" }, child = progress_content }; var section_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 12); section_box.append (header_box); section_box.append (cards_grid); section_box.append (progress_card); child = section_box; map.connect (() => { Timeout.add (200, () => { load_stats (); return GLib.Source.REMOVE; }); }); } private void load_stats () { int total = 0; int pending = 0; int completed = 0; foreach (Objects.Item item in Services.Store.instance ().items) { if (item.was_archived ()) { continue; } total++; if (item.checked) { completed++; } else { pending++; } } int overdue = Services.Store.instance ().get_items_by_overdue_view (false).size; double progress = total > 0 ? (double) completed / (double) total : 0.0; total_card.animate_to (total); pending_card.animate_to (pending); completed_card.animate_to (completed); overdue_card.animate_to (overdue); var progress_target = new Adw.CallbackAnimationTarget ((val) => { progress_bar.value = val; progress_value_label.label = "%d%%".printf ((int) Math.round (val * 100)); }); var progress_animation = new Adw.TimedAnimation ( progress_bar, 0, progress, 800, progress_target ) { easing = Adw.Easing.EASE_OUT_CUBIC }; progress_animation.play (); } } alainm23-planify-69962f8/src/Dialogs/Project.vala000066400000000000000000000432761517337276100215330ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.Project : Adw.Dialog { public Objects.Project project { get; construct; } public bool backend_picker { get; construct; } public string header_title { get; construct; } private Gtk.Stack emoji_color_stack; private Widgets.CircularProgressBar progress_bar; private Adw.EntryRow name_entry; private Widgets.ColorPickerRow color_picker_row; private Widgets.LoadingButton submit_button; private Widgets.ComboWrapRow markdown_row; private Gtk.Switch emoji_switch; private Gtk.Label emoji_label; private Gtk.Label source_selected_label; private Widgets.TextView description_textview; private Adw.NavigationView navigation_view; private Adw.NavigationPage sources_page; public bool is_creating { get { return project.id == ""; } } private Gee.HashMap signal_map = new Gee.HashMap (); public Project.new (string source_id, bool backend_picker = false, string parent_id = "") { var project = new Objects.Project (); project.color = "blue"; project.emoji = "🚀�"; project.id = ""; project.parent_id = parent_id; project.source_id = source_id; Object ( project: project, backend_picker: backend_picker, header_title: project.parent_id == "" ? _("New Project") : project.parent.name + " → " + _("New Project") ); } public Project (Objects.Project project) { Object ( project: project, backend_picker: false, header_title: _("Edit Project") ); } ~Project () { debug ("Destroying - Dialogs.Project\n"); } construct { emoji_label = new Gtk.Label (project.emoji); progress_bar = new Widgets.CircularProgressBar (32) { percentage = 0.64, gap = 4, border_width = 4 }; emoji_color_stack = new Gtk.Stack () { halign = Gtk.Align.CENTER, valign = Gtk.Align.CENTER, transition_type = Gtk.StackTransitionType.CROSSFADE }; emoji_color_stack.add_named (progress_bar, "color"); emoji_color_stack.add_named (emoji_label, "emoji"); emoji_color_stack.visible_child_name = project.icon_style == ProjectIconStyle.PROGRESS ? "color" : "emoji"; var emoji_picker_button = new Gtk.Button () { hexpand = true, halign = Gtk.Align.CENTER, valign = Gtk.Align.CENTER, height_request = 64, width_request = 64, margin_top = 6, child = emoji_color_stack, css_classes = { "title-2", "button-emoji-picker" } }; var emoji_chooser = new Gtk.EmojiChooser () { has_arrow = false }; emoji_chooser.set_parent (emoji_picker_button); name_entry = new Adw.EntryRow (); name_entry.title = _("Give your project a name"); name_entry.text = project.name; var emoji_icon = new Gtk.Image.from_icon_name ("reaction-add2-symbolic"); emoji_switch = new Gtk.Switch () { valign = Gtk.Align.CENTER, active = project.icon_style == ProjectIconStyle.EMOJI }; var emoji_switch_row = new Adw.ActionRow (); emoji_switch_row.title = _("Use Emoji"); emoji_switch_row.set_activatable_widget (emoji_switch); emoji_switch_row.add_prefix (emoji_icon); emoji_switch_row.add_suffix (emoji_switch); description_textview = new Widgets.TextView () { wrap_mode = Gtk.WrapMode.WORD, hexpand = true, vexpand = true, top_margin = 6, bottom_margin = 6, left_margin = 12, right_margin = 12, placeholder_text = _("Add a description…") }; description_textview.set_text (project.description); var description_scrolled = new Gtk.ScrolledWindow () { hexpand = true, vexpand = true, child = description_textview, height_request = 128 }; var description_row = new Adw.ExpanderRow () { title = _("Description"), expanded = project.description != "" }; description_row.add_prefix (new Gtk.Image.from_icon_name ("paper-symbolic")); description_row.add_row (description_scrolled); var name_group = new Adw.PreferencesGroup () { margin_end = 12, margin_start = 12, margin_top = 24 }; name_group.add (name_entry); name_group.add (description_row); name_group.add (emoji_switch_row); source_selected_label = new Gtk.Label (project.source.display_name) { css_classes = { "dimmed" }, tooltip_text = project.source.subheader_text }; var pan_icon = new Gtk.Image.from_icon_name ("go-next-symbolic") { pixel_size = 16 }; var source_selected_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6); source_selected_box.append (source_selected_label); source_selected_box.append (pan_icon); var source_row = new Adw.ActionRow () { activatable = true, title = _("Source") }; source_row.add_suffix (source_selected_box); var source_group = new Adw.PreferencesGroup () { margin_end = 12, margin_start = 12, margin_top = 24, margin_bottom = 1 }; source_group.add (source_row); var source_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, reveal_child = backend_picker, child = source_group }; color_picker_row = new Widgets.ColorPickerRow (); var color_group = new Adw.Bin () { margin_end = 12, margin_start = 12, margin_top = 24, margin_bottom = 1, valign = Gtk.Align.START, css_classes = { "card" }, child = color_picker_row }; var color_box_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, reveal_child = project.icon_style == ProjectIconStyle.PROGRESS }; color_box_revealer.child = color_group; submit_button = new Widgets.LoadingButton.with_label (is_creating ? _("Add Project") : _("Update Project")) { vexpand = true, hexpand = true, margin_bottom = 12, margin_end = 12, margin_start = 12, margin_top = 24, valign = Gtk.Align.END }; submit_button.add_css_class ("suggested-action"); // Settings group (only for existing projects) var markdown_model = new Gtk.StringList (null); markdown_model.append (_("Global Default")); markdown_model.append (_("Enabled")); markdown_model.append (_("Disabled")); markdown_row = new Widgets.ComboWrapRow (); markdown_row.title = _("Markdown Formatting"); markdown_row.subtitle = _("Override the global markdown setting for this project"); markdown_row.model = markdown_model; markdown_row.selected = (int) project.markdown_setting; var settings_group = new Adw.PreferencesGroup () { margin_top = 12, margin_start = 12, margin_end = 12 }; settings_group.title = _("Settings"); settings_group.add (markdown_row); var settings_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, reveal_child = !is_creating, child = settings_group }; var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); content_box.append (emoji_picker_button); content_box.append (name_group); content_box.append (source_revealer); content_box.append (color_box_revealer); content_box.append (settings_revealer); content_box.append (submit_button); var content_clamp = new Adw.Clamp () { margin_start = 6, margin_end = 6, margin_bottom = 6, margin_top = 6 }; content_clamp.child = content_box; var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (new Adw.HeaderBar ()); toolbar_view.content = content_clamp; var main_page = new Adw.NavigationPage (toolbar_view, header_title); sources_page = get_sources_page (); navigation_view = new Adw.NavigationView (); navigation_view.add (main_page); child = navigation_view; Services.EventBus.get_default ().disconnect_typing_accel (); Timeout.add (emoji_color_stack.transition_duration, () => { progress_bar.color = project.color; color_picker_row.color = project.color; if (is_creating) { name_entry.grab_focus (); } return GLib.Source.REMOVE; }); signal_map[name_entry.entry_activated.connect (add_update_project)] = name_entry; signal_map[submit_button.clicked.connect (add_update_project)] = submit_button; signal_map[emoji_chooser.emoji_picked.connect ((emoji) => { emoji_label.label = emoji; })] = emoji_chooser; signal_map[emoji_switch.notify["active"].connect (() => { if (emoji_switch.active) { color_box_revealer.reveal_child = false; emoji_color_stack.visible_child_name = "emoji"; if (emoji_label.label.strip () == "") { emoji_label.label = "🚀�"; } emoji_chooser.popup (); } else { color_box_revealer.reveal_child = true; emoji_color_stack.visible_child_name = "color"; } })] = emoji_switch; signal_map[color_picker_row.color_changed.connect (() => { progress_bar.color = color_picker_row.color; })] = color_picker_row; signal_map[emoji_picker_button.clicked.connect (() => { if (emoji_switch.active) { emoji_chooser.popup (); } })] = emoji_picker_button; signal_map[source_row.activated.connect (() => { navigation_view.push (sources_page); })] = source_row; closed.connect (() => { clean_up (); Services.EventBus.get_default ().connect_typing_accel (); }); } private Adw.NavigationPage get_sources_page () { var headerbar = new Adw.HeaderBar (); headerbar.add_css_class ("flat"); var sources_group = new Adw.PreferencesGroup () { margin_end = 12, margin_start = 12, margin_top = 6, }; var none_radio = new Gtk.CheckButton (); foreach (Objects.Source source in Services.Store.instance ().sources) { if (source.is_visible) { var radio_button = new Gtk.CheckButton () { group = none_radio, active = project.source_id == source.id }; var source_row = new Adw.ActionRow () { activatable = true, title = source.display_name, subtitle = source.subheader_text }; source_row.add_suffix (radio_button); source_row.set_activatable_widget (radio_button); signal_map[source_row.activated.connect (() => { project.source_id = source.id; source_selected_label.label = source.display_name; source_selected_label.tooltip_text = source.subheader_text; navigation_view.pop (); })] = source_row; signal_map[radio_button.toggled.connect (() => { project.source_id = source.id; source_selected_label.label = source.display_name; source_selected_label.tooltip_text = source.subheader_text; navigation_view.pop (); })] = radio_button; sources_group.add (source_row); } } var content_clamp = new Adw.Clamp () { maximum_size = 600, margin_start = 12, margin_end = 12, margin_bottom = 12, margin_top = 6, child = sources_group }; var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (headerbar); toolbar_view.content = content_clamp; var navigation_page = new Adw.NavigationPage (toolbar_view, _("Sources")); return navigation_page; } private void add_update_project () { if (name_entry.text.length <= 0) { close (); return; } project.name = name_entry.text; project.color = color_picker_row.color; project.icon_style = emoji_switch.active ? ProjectIconStyle.EMOJI : ProjectIconStyle.PROGRESS; project.emoji = emoji_label.label; project.description = description_textview.get_text (); project.markdown_setting = (MarkdownSetting) markdown_row.selected; submit_button.is_loading = true; if (!is_creating) { update_project.begin (); } else { add_project (); } } private async void update_project () { if (project.source_type == SourceType.LOCAL) { Services.Store.instance ().update_project (project); close (); return; } HttpResponse ? response; if (project.source_type == SourceType.TODOIST) { response = yield Services.Todoist.get_default ().update (project); } else if (project.source_type == SourceType.CALDAV) { var caldav_client = Services.CalDAV.Core.get_default ().get_client (project.source); response = yield caldav_client.update_project (project); } else { close (); return; } if (response.status) { Services.Store.instance ().update_project (project); close (); } else { Services.EventBus.get_default ().send_error_toast (response.error_code, response.error); close (); } } private void add_project () { project.child_order = Services.Store.instance ().get_projects_by_source (project.source_id).size; if (project.source_type == SourceType.LOCAL || project.source_type == SourceType.NONE) { project.id = Util.get_default ().generate_id (project); Services.Store.instance ().insert_project (project); go_project (project.id); } else if (project.source_type == SourceType.TODOIST) { Services.Todoist.get_default ().add.begin (project, (obj, res) => { HttpResponse response = Services.Todoist.get_default ().add.end (res); if (response.status) { project.id = response.data; Services.Store.instance ().insert_project (project); go_project (project.id); } else { Services.EventBus.get_default ().send_error_toast (response.error_code, response.error); close (); } }); } else if (project.source_type == SourceType.CALDAV) { project.id = Util.get_default ().generate_id (project); var caldav_client = Services.CalDAV.Core.get_default ().get_client (project.source); caldav_client.create_project.begin (project, (obj, res) => { HttpResponse response = caldav_client.create_project.end (res); if (response.status) { Services.Store.instance ().insert_project (project); caldav_client.update_sync_token.begin (project, new GLib.Cancellable ()); go_project (project.id); } else { Services.EventBus.get_default ().send_error_toast (response.error_code, response.error); close (); } }); } } public void go_project (string id) { Timeout.add (250, () => { Services.EventBus.get_default ().send_toast ( Util.get_default ().create_toast (_("Project added successfully!")) ); Services.EventBus.get_default ().pane_selected (PaneType.PROJECT, id); close (); return GLib.Source.REMOVE; }); } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); if (color_picker_row != null) { color_picker_row.clean_up (); } } } alainm23-planify-69962f8/src/Dialogs/ProjectPicker.vala000066400000000000000000000050051517337276100226550ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.ProjectPicker.ProjectPicker : Adw.Dialog { public Objects.Source ? source { get; construct; } private Widgets.ProjectPickerCore project_picker_core; public Objects.Project project { set { project_picker_core.set_selected_project (value); } } public signal void changed (string type, string id); public ProjectPicker.for_source (Objects.Source source) { Object ( source: source, title: _("Move"), content_width: 400, content_height: 550 ); } public ProjectPicker.for_projects () { Object ( source: null, title: _("Move"), content_width: 400, content_height: 550 ); } ~ProjectPicker () { debug ("Destroying Dialogs.ProjectPicker.ProjectPicker\n"); } construct { project_picker_core = new Widgets.ProjectPickerCore (source); var toolbar_view = new Adw.ToolbarView () { content = project_picker_core }; toolbar_view.add_top_bar (new Adw.HeaderBar ()); child = toolbar_view; Services.EventBus.get_default ().disconnect_all_accels (); project_picker_core.selected.connect ((project) => { changed ("project", project.id); }); project_picker_core.close.connect (() => { close (); }); closed.connect (() => { clean_up (); Services.EventBus.get_default ().connect_all_accels (); }); } public void clean_up () { if (project_picker_core != null) { project_picker_core.clean_up (); } } } alainm23-planify-69962f8/src/Dialogs/QuickAdd.vala000066400000000000000000000113061517337276100215770ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.QuickAdd : Adw.Dialog { public Objects.Item item { get; construct; } private Layouts.QuickAddCore quick_add_widget; public int position { set { quick_add_widget.position = value; } get { return quick_add_widget.position; } } private Gee.HashMap signal_map = new Gee.HashMap (); public QuickAdd () { Object ( content_width: 550 ); } ~QuickAdd () { debug ("Destroying - Dialogs.QuickAdd\n"); } construct { Services.EventBus.get_default ().disconnect_all_accels (); quick_add_widget = new Layouts.QuickAddCore (); child = quick_add_widget; signal_map[quick_add_widget.hide_destroy.connect (() => { close (); })] = quick_add_widget; signal_map[quick_add_widget.add_item_db.connect ((add_item_db))] = quick_add_widget; signal_map[quick_add_widget.parent_can_close.connect ((active) => { Timeout.add (250, () => { can_close = active; return GLib.Source.REMOVE; }); })] = quick_add_widget; signal_map[quick_add_widget.error.connect ((response) => { Services.EventBus.get_default ().send_error_toast (response.error_code, response.error); close (); })] = quick_add_widget; closed.connect (() => { clean_up (); Services.EventBus.get_default ().connect_all_accels (); }); } private void add_item_db (Objects.Item item, Gee.ArrayList reminders) { Services.Store.instance ().insert_item (item); if (reminders.size > 0) { quick_add_widget.is_loading = true; foreach (Objects.Reminder reminder in reminders) { item.add_reminder (reminder); } } if (Services.Settings.get_default ().get_boolean ("automatic-reminders-enabled") && item.has_time) { var reminder = new Objects.Reminder (); reminder.mm_offset = Util.get_reminders_mm_offset (); reminder.reminder_type = ReminderType.RELATIVE; item.add_reminder (reminder); } Services.EventBus.get_default ().update_section_sort_func (item.project_id, item.section_id, false); quick_add_widget.added_successfully (); } public void update_content (string content = "") { quick_add_widget.update_content (content); } public void set_project (Objects.Project project) { quick_add_widget.for_project (project); } public void set_due (GLib.DateTime date) { quick_add_widget.set_due (date); } public void set_priority (int priority) { quick_add_widget.set_priority (priority); } public void set_pinned (bool pinned) { quick_add_widget.set_pinned (pinned); } public void for_base_object (Objects.BaseObject base_object) { if (base_object is Objects.Project) { quick_add_widget.for_project (base_object as Objects.Project); } else if (base_object is Objects.Section) { quick_add_widget.for_section (base_object as Objects.Section); } else if (base_object is Objects.Item) { quick_add_widget.for_parent (base_object as Objects.Item); } } public void set_labels (Gee.HashMap new_labels) { quick_add_widget.set_labels (new_labels); } public void set_new_task_position (NewTaskPosition value) { quick_add_widget.new_task_position = value; } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); if (quick_add_widget != null) { quick_add_widget.clean_up (); } } } alainm23-planify-69962f8/src/Dialogs/QuickFind/000077500000000000000000000000001517337276100211215ustar00rootroot00000000000000alainm23-planify-69962f8/src/Dialogs/QuickFind/QuickFind.vala000066400000000000000000000322401517337276100236440ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.QuickFind.QuickFind : Adw.Dialog { private Gtk.SearchEntry search_entry; private Gtk.ListView list_view; private Gtk.ScrolledWindow list_view_scrolled; private ListStore list_store; private Gtk.FilterListModel filter_model; private Gtk.CustomFilter custom_filter; private Gtk.SingleSelection selection_model; private Gtk.SignalListItemFactory list_item_factory; private Gtk.SignalListItemFactory header_factory; private Gtk.Stack stack; public QuickFind () { Object ( content_width: 425, content_height: 350, presentation_mode: Adw.DialogPresentationMode.FLOATING ); } ~QuickFind () { debug ("Destroying Dialogs.QuickFind.QuickFind\n"); } construct { search_entry = new Gtk.SearchEntry () { placeholder_text = _ ("Quick Find"), hexpand = true, css_classes = { "border-radius-9" } }; var cancel_button = new Gtk.Button.with_label (_ ("Cancel")) { css_classes = { "flat" } }; var headerbar_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { hexpand = true, margin_top = 6, margin_bottom = 6, margin_start = 6 }; headerbar_box.append (search_entry); headerbar_box.append (cancel_button); var headerbar = new Adw.HeaderBar () { title_widget = headerbar_box, show_start_title_buttons = false, show_end_title_buttons = false, css_classes = { "flat" } }; list_store = new GLib.ListStore (typeof (QuickFindItem)); custom_filter = new Gtk.CustomFilter ((obj) => { var item = (QuickFindItem) obj; if (search_entry.text.strip () == "") { return false; } var matches = item_matches_search (item, search_entry.text.down ()); return matches; }); filter_model = new Gtk.FilterListModel (list_store, custom_filter) { incremental = false }; var sort_model = new Gtk.SortListModel (filter_model, new QuickFindSectionSorter ()); sort_model.section_sorter = new QuickFindSectionSorter (); selection_model = new Gtk.SingleSelection (sort_model); list_item_factory = QuickFindFactory.create_list_item_factory (); header_factory = QuickFindFactory.create_header_factory (); list_view = new Gtk.ListView (selection_model, list_item_factory) { hexpand = true, vexpand = true, css_classes = { "listbox-background", "quick-find-list" }, margin_bottom = 6 }; list_view.header_factory = header_factory; list_view.activate.connect ((position) => { var item = selection_model.get_item (position); if (item != null) { var quick_find_item = (QuickFindItem) item; activate_item (quick_find_item); } }); list_view_scrolled = new Gtk.ScrolledWindow () { hexpand = true, vexpand = true, hscrollbar_policy = Gtk.PolicyType.NEVER, child = list_view }; stack = new Gtk.Stack (); stack.add_titled (get_placeholder (), "placeholder", "Placeholder"); stack.add_titled (list_view_scrolled, "list", "List"); var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (headerbar); toolbar_view.content = stack; child = toolbar_view; default_widget = search_entry; Services.EventBus.get_default ().disconnect_typing_accel (); populate_store (); search_entry.search_changed.connect (() => { search_changed (); }); var click_gesture = new Gtk.GestureClick (); click_gesture.pressed.connect (() => { var selected = selection_model.get_selected (); if (selected != Gtk.INVALID_LIST_POSITION) { var item = selection_model.get_item (selected); if (item != null) { activate_item ((QuickFindItem) item); } } }); list_view.add_controller (click_gesture); var list_view_controller_key = new Gtk.EventControllerKey (); list_view.add_controller (list_view_controller_key); list_view_controller_key.key_pressed.connect (key_pressed); var search_entry_ctrl_key = new Gtk.EventControllerKey (); search_entry.add_controller (search_entry_ctrl_key); search_entry_ctrl_key.key_pressed.connect ((keyval, keycode, state) => { var key = Gdk.keyval_name (keyval).replace ("KP_", ""); if (keyval == Gdk.Key.Escape) { hide_destroy (); } else if (key == "Down") { list_view.grab_focus (); return true; } return false; }); var event_controller_key = new Gtk.EventControllerKey (); ((Gtk.Widget) this).add_controller (event_controller_key); event_controller_key.key_pressed.connect ((keyval, keycode, state) => { if (keyval == Gdk.Key.Escape) { hide_destroy (); } return false; }); cancel_button.clicked.connect (() => { hide_destroy (); }); closed.connect (() => { Services.EventBus.get_default ().connect_typing_accel (); }); } private bool key_pressed (uint keyval, uint keycode, Gdk.ModifierType state) { var key = Gdk.keyval_name (keyval).replace ("KP_", ""); if (key == "Up") { var selected = selection_model.get_selected (); if (selected == 0) { search_entry.grab_focus (); search_entry.set_position (search_entry.text.length); return true; } } else if (key == "Down") { } else if (key == "Enter" || key == "Return" || key == "KP_Enter") { var selected = selection_model.get_selected (); if (selected != Gtk.INVALID_LIST_POSITION) { var item = selection_model.get_item (selected); if (item != null) { activate_item ((QuickFindItem) item); } } } else if (key == "BackSpace") { if (!search_entry.has_focus && search_entry.text.length > 0) { search_entry.grab_focus (); int pos = search_entry.text.length; search_entry.delete_text (pos - 1, pos); search_entry.set_position (pos - 1); return true; } } else { if (!search_entry.has_focus) { unichar c = Gdk.keyval_to_unicode (keyval); if (c.isprint ()) { search_entry.grab_focus (); int pos = search_entry.text.length; search_entry.insert_text (c.to_string (), - 1, ref pos); search_entry.set_position (pos); return true; } } } return false; } private void search_changed () { var n_items = list_store.get_n_items (); for (uint i = 0; i < n_items; i++) { var item = (QuickFindItem) list_store.get_item (i); item.pattern = search_entry.text; } custom_filter.changed (Gtk.FilterChange.DIFFERENT); var has_results = filter_model.get_n_items () > 0; stack.set_visible_child_name (has_results ? "list" : "placeholder"); if (has_results) { Idle.add (() => { list_view_scrolled.vadjustment.set_value (0); return GLib.Source.REMOVE; }); } } private void populate_store () { Objects.BaseObject[] filters = { Objects.Filters.Inbox.get_default (), Objects.Filters.Today.get_default (), Objects.Filters.Scheduled.get_default (), Objects.Filters.Pinboard.get_default (), Objects.Filters.Priority.high (), Objects.Filters.Priority.medium (), Objects.Filters.Priority.low (), Objects.Filters.Priority.none (), Objects.Filters.Labels.get_default (), Objects.Filters.Completed.get_default (), Objects.Filters.Tomorrow.get_default (), Objects.Filters.Anytime.get_default (), Objects.Filters.Repeating.get_default (), Objects.Filters.Unlabeled.get_default (), Objects.Filters.AllItems.get_default () }; foreach (var obj in filters) { var item = new QuickFindItem (obj, ""); list_store.append (item); } foreach (var project in Services.Store.instance ().projects) { var item = new QuickFindItem (project, ""); list_store.append (item); } foreach (var section in Services.Store.instance ().sections) { var item = new QuickFindItem (section, ""); list_store.append (item); } foreach (var item_obj in Services.Store.instance ().items) { if (item_obj.project != null) { var item = new QuickFindItem (item_obj, ""); list_store.append (item); } } foreach (var label in Services.Store.instance ().labels) { var item = new QuickFindItem (label, ""); list_store.append (item); } } private bool item_matches_search (QuickFindItem item, string search_text_lower) { var base_object = item.base_object; bool matches = false; if (base_object.object_type == ObjectType.FILTER) { var filter_name = base_object.name.down (); matches = search_text_lower in filter_name || search_text_lower in base_object.keywords.down (); } else if (base_object is Objects.Item) { var item_obj = (Objects.Item) base_object; var item_content = item_obj.content.down (); matches = search_text_lower in item_content; } else { matches = search_text_lower in base_object.name.down (); } return matches; } private Gtk.Widget get_placeholder () { var message_label = new Gtk.Label (_ ("Quickly switch projects and views, find tasks, search by labels")) { wrap = true, justify = Gtk.Justification.CENTER, hexpand = true, vexpand = true, margin_top = 6, margin_start = 6, margin_end = 6, margin_bottom = 6 }; var placeholder_grid = new Gtk.Grid () { hexpand = true, vexpand = true, margin_top = 24, margin_start = 24, margin_end = 24, margin_bottom = 24 }; placeholder_grid.attach (message_label, 0, 0); return placeholder_grid; } private void activate_item (QuickFindItem item) { var base_object = item.base_object; if (base_object.object_type == ObjectType.PROJECT) { Services.EventBus.get_default ().pane_selected (PaneType.PROJECT, base_object.id_string); } else if (base_object.object_type == ObjectType.SECTION) { Services.EventBus.get_default ().pane_selected (PaneType.PROJECT, ((Objects.Section) base_object).project_id.to_string () ); } else if (base_object.object_type == ObjectType.ITEM) { Services.EventBus.get_default ().pane_selected (PaneType.PROJECT, ((Objects.Item) base_object).project_id.to_string () ); Timeout.add (275, () => { Services.EventBus.get_default ().open_item ((Objects.Item) base_object); return GLib.Source.REMOVE; }); } else if (base_object.object_type == ObjectType.LABEL) { Services.EventBus.get_default ().pane_selected (PaneType.LABEL, ((Objects.Label) base_object).id_string ); } else if (base_object.object_type == ObjectType.FILTER) { Services.EventBus.get_default ().pane_selected (PaneType.FILTER, base_object.view_id); } hide_destroy (); } private void hide_destroy () { close (); } } alainm23-planify-69962f8/src/Dialogs/QuickFind/QuickFindFactory.vala000066400000000000000000000272751517337276100252100ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.QuickFind.QuickFindFactory : GLib.Object { public static Gtk.SignalListItemFactory create_list_item_factory () { var factory = new Gtk.SignalListItemFactory (); factory.setup.connect (on_list_item_setup); factory.bind.connect (on_list_item_bind); factory.unbind.connect (on_list_item_unbind); factory.teardown.connect (on_list_item_teardown); return factory; } public static Gtk.SignalListItemFactory create_header_factory () { var factory = new Gtk.SignalListItemFactory (); factory.setup.connect (on_header_setup); factory.bind.connect (on_header_bind); return factory; } private static void on_list_item_setup (Gtk.SignalListItemFactory factory, GLib.Object list_item_obj) { var list_item = (Gtk.ListItem) list_item_obj; var main_grid = new Gtk.Grid () { column_spacing = 9, margin_top = 3, margin_bottom = 3, margin_end = 3, margin_start = 3 }; list_item.child = main_grid; } private static void on_list_item_unbind (Gtk.SignalListItemFactory factory, GLib.Object list_item_obj) { var list_item = (Gtk.ListItem) list_item_obj; var main_grid = (Gtk.Grid) list_item.child; var child = main_grid.get_first_child (); while (child != null) { var next = child.get_next_sibling (); main_grid.remove (child); child = next; } } private static void on_list_item_teardown (Gtk.SignalListItemFactory factory, GLib.Object list_item_obj) { var list_item = (Gtk.ListItem) list_item_obj; // TODO: Signals? } private static void on_list_item_bind (Gtk.SignalListItemFactory factory, GLib.Object list_item_obj) { var list_item = (Gtk.ListItem) list_item_obj; var item = (QuickFindItem) list_item.item; var main_grid = (Gtk.Grid) list_item.child; if (item.base_object is Objects.Project) { bind_project (item, main_grid); } else if (item.base_object is Objects.Section) { bind_section (item, main_grid); } else if (item.base_object is Objects.Item) { bind_item (item, main_grid); } else if (item.base_object is Objects.Label) { bind_label (item, main_grid); } else if (item.base_object is Objects.Filters.Priority) { bind_priority (item, main_grid); } else if (is_filter_type (item.base_object)) { bind_filter (item, main_grid); } } private static void bind_project (QuickFindItem item, Gtk.Grid main_grid) { Objects.Project project = (Objects.Project) item.base_object; var icon_project = new Widgets.IconColorProject (18); icon_project.project = project; var name_label = new Gtk.Label (markup_string_with_search (project.name, item.pattern)) { ellipsize = Pango.EllipsizeMode.END, xalign = 0, use_markup = true }; main_grid.column_spacing = 6; main_grid.margin_start = 6; main_grid.margin_end = 3; main_grid.margin_top = 3; main_grid.margin_bottom = 3; main_grid.attach (icon_project, 0, 0); main_grid.attach (name_label, 1, 0); } private static void bind_section (QuickFindItem item, Gtk.Grid main_grid) { Objects.Section section = (Objects.Section) item.base_object; var section_icon = new Gtk.Image.from_icon_name ("carousel-symbolic") { valign = Gtk.Align.CENTER }; var name_label = new Gtk.Label (markup_string_with_search (section.name, item.pattern)) { ellipsize = Pango.EllipsizeMode.END, xalign = 0, use_markup = true }; var project_label = new Gtk.Label (section.project.name) { ellipsize = Pango.EllipsizeMode.END, xalign = 0, css_classes = { "dimmed", "caption" } }; main_grid.margin_start = 6; main_grid.margin_end = 6; main_grid.margin_top = 3; main_grid.margin_bottom = 3; main_grid.attach (section_icon, 0, 0, 1, 2); main_grid.attach (name_label, 1, 0, 1, 1); main_grid.attach (project_label, 1, 1, 1, 1); } private static void bind_item (QuickFindItem item, Gtk.Grid main_grid) { Objects.Item item_obj = (Objects.Item) item.base_object; var checked_button = new Gtk.CheckButton () { valign = Gtk.Align.CENTER, sensitive = false }; checked_button.add_css_class ("priority-color"); Util.get_default ().set_widget_priority (item_obj.priority, checked_button); var content_label = new Gtk.Label (markup_string_with_search (item_obj.content, item.pattern)) { ellipsize = Pango.EllipsizeMode.END, xalign = 0, use_markup = true }; var project_label = new Gtk.Label (item_obj.project.name) { ellipsize = Pango.EllipsizeMode.END, xalign = 0, css_classes = { "dimmed", "caption" } }; if (item_obj.has_section) { project_label.label += "%s / %s".printf (project_label.label, item_obj.section.name); } main_grid.margin_start = 6; main_grid.margin_end = 6; main_grid.margin_top = 3; main_grid.margin_bottom = 3; main_grid.attach (checked_button, 0, 0, 1, 2); main_grid.attach (content_label, 1, 0, 1, 1); main_grid.attach (project_label, 1, 1, 1, 1); } private static void bind_label (QuickFindItem item, Gtk.Grid main_grid) { Objects.Label label = (Objects.Label) item.base_object; var widget_color = new Gtk.Grid () { valign = Gtk.Align.CENTER, height_request = 16, width_request = 16 }; widget_color.add_css_class ("circle-color"); Util.get_default ().set_widget_color (Util.get_default ().get_color (label.color), widget_color); var name_label = new Gtk.Label (markup_string_with_search (label.name, item.pattern)) { ellipsize = Pango.EllipsizeMode.END, xalign = 0, use_markup = true }; main_grid.margin_start = 6; main_grid.margin_end = 6; main_grid.margin_top = 3; main_grid.margin_bottom = 3; main_grid.attach (widget_color, 0, 0); main_grid.attach (name_label, 1, 0); } private static void bind_priority (QuickFindItem item, Gtk.Grid main_grid) { Objects.Filters.Priority priority = (Objects.Filters.Priority) item.base_object; var priority_icon = new Gtk.Image.from_icon_name (priority.icon); priority_icon.add_css_class ("view-icon"); Util.get_default ().set_widget_color (priority.color, priority_icon); var name_label = new Gtk.Label (markup_string_with_search (priority.title, item.pattern)) { ellipsize = Pango.EllipsizeMode.END, xalign = 0, use_markup = true }; main_grid.margin_start = 6; main_grid.margin_end = 6; main_grid.margin_top = 3; main_grid.margin_bottom = 3; main_grid.attach (priority_icon, 0, 0); main_grid.attach (name_label, 1, 0); } private static void bind_filter (QuickFindItem item, Gtk.Grid main_grid) { var filter_icon = new Gtk.Image.from_icon_name (item.base_object.icon_name) { valign = Gtk.Align.CENTER, pixel_size = 16 }; var name_label = new Gtk.Label (markup_string_with_search (item.base_object.name, item.pattern)) { ellipsize = Pango.EllipsizeMode.END, xalign = 0, use_markup = true }; main_grid.margin_start = 6; main_grid.margin_end = 6; main_grid.margin_top = 3; main_grid.margin_bottom = 3; main_grid.attach (filter_icon, 0, 0); main_grid.attach (name_label, 1, 0); } private static bool is_filter_type (Objects.BaseObject base_object) { return base_object is Objects.Filters.Today || base_object is Objects.Filters.Scheduled || base_object is Objects.Filters.Completed || base_object is Objects.Filters.Tomorrow || base_object is Objects.Filters.Labels || base_object is Objects.Filters.Pinboard || base_object is Objects.Filters.Anytime || base_object is Objects.Filters.Repeating || base_object is Objects.Filters.Unlabeled || base_object is Objects.Filters.AllItems || base_object is Objects.Filters.Inbox; } private static void on_header_setup (Object object) { var header = (Gtk.ListHeader) object; var header_label = new Gtk.Label (null) { css_classes = { "caption", "font-bold" }, halign = Gtk.Align.START, margin_start = 9, }; header.child = header_label; } private static void on_header_bind (Object object) { var header = (Gtk.ListHeader) object; var label = (Gtk.Label) header.child; var item = (QuickFindItem) header.item; label.label = item.base_object.object_type.get_header (); } private static string markup_string_with_search (string text, string pattern) { const string MARKUP = "%s"; if (pattern == "") { return MARKUP.printf (Markup.escape_text (text)); } // if no text found, use pattern if (text == "") { return MARKUP.printf (Markup.escape_text (pattern)); } var matchers = Synapse.Query.get_matchers_for_query ( pattern, 0, RegexCompileFlags.OPTIMIZE | RegexCompileFlags.CASELESS ); string ? highlighted = null; foreach (var matcher in matchers) { MatchInfo mi; if (matcher.key.match (text, 0, out mi)) { int start_pos; int end_pos; int last_pos = 0; int cnt = mi.get_match_count (); StringBuilder res = new StringBuilder (); for (int i = 1; i < cnt; i++) { mi.fetch_pos (i, out start_pos, out end_pos); warn_if_fail (start_pos >= 0 && end_pos >= 0); res.append (Markup.escape_text (text.substring (last_pos, start_pos - last_pos))); last_pos = end_pos; res.append (Markup.printf_escaped ("%s", mi.fetch (i))); if (i == cnt - 1) { res.append (Markup.escape_text (text.substring (last_pos))); } } highlighted = res.str; break; } } if (highlighted != null) { return MARKUP.printf (highlighted); } else { return MARKUP.printf (Markup.escape_text (text)); } } } alainm23-planify-69962f8/src/Dialogs/QuickFind/QuickFindItem.vala000066400000000000000000000023451517337276100244660ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.QuickFind.QuickFindItem : GLib.Object { public Objects.BaseObject base_object { get; construct; } public string pattern { get; set; } public QuickFindItem (Objects.BaseObject base_object, string pattern) { Object (base_object: base_object, pattern: pattern); } ~QuickFindItem () { debug ("Destroying Dialogs.QuickFind.QuickFindItem\n"); } } alainm23-planify-69962f8/src/Dialogs/QuickFind/QuickFindSectionSorter.vala000066400000000000000000000042221517337276100263670ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.QuickFind.QuickFindSectionSorter : Gtk.Sorter { public override Gtk.Ordering compare (Object? item1, Object? item2) { var a = item1 as Dialogs.QuickFind.QuickFindItem; if (a == null) return Gtk.Ordering.SMALLER; var b = item2 as Dialogs.QuickFind.QuickFindItem; if (b == null) return Gtk.Ordering.LARGER; var type_a = a.base_object.object_type; var type_b = b.base_object.object_type; if (type_a != type_b) { int order_a = get_type_order (type_a); int order_b = get_type_order (type_b); if (order_a < order_b) return Gtk.Ordering.SMALLER; else return Gtk.Ordering.LARGER; } return Gtk.Ordering.EQUAL; } private int get_type_order (ObjectType type) { switch (type) { case ObjectType.FILTER: return 0; case ObjectType.PROJECT: return 1; case ObjectType.SECTION: return 2; case ObjectType.ITEM: return 3; case ObjectType.LABEL: return 4; default: return 99; } } public override Gtk.SorterOrder get_order () { return Gtk.SorterOrder.PARTIAL; } } alainm23-planify-69962f8/src/Dialogs/QuickFind/Synapse.vala000066400000000000000000000230531517337276100234130ustar00rootroot00000000000000namespace Synapse { [Flags] public enum QueryFlags { /* HowTo create categories (32bit). * Authored by Alberto Aldegheri * Categories are "stored" in 3 Levels: * Super-Category * -> Category * ----> Sub-Category * ------------------------------------ * if (Super-Category does NOT have childs): * SUPER = 1 << FreeBitPosition * else: * if (Category does NOT have childs) * CATEGORY = 1 << FreeBitPosition * else * SUB = 1 << FreeBitPosition * CATEGORY = OR ([subcategories, ...]); * * SUPER = OR ([categories, ...]); * * * Remember: * if you add or remove a category, * change labels in UIInterface.CategoryConfig.init_labels * */ INCLUDE_REMOTE = 1 << 0, UNCATEGORIZED = 1 << 1, APPLICATIONS = 1 << 2, ACTIONS = 1 << 3, AUDIO = 1 << 4, VIDEO = 1 << 5, DOCUMENTS = 1 << 6, IMAGES = 1 << 7, FILES = AUDIO | VIDEO | DOCUMENTS | IMAGES, PLACES = 1 << 8, INTERNET = 1 << 9, TEXT = 1 << 10, CONTACTS = 1 << 11, ALL = 0xFFFFFFFF, LOCAL_CONTENT = ALL ^ QueryFlags.INCLUDE_REMOTE } [Flags] public enum MatcherFlags { NO_REVERSED = 1 << 0, NO_SUBSTRING = 1 << 1, NO_PARTIAL = 1 << 2, NO_FUZZY = 1 << 3 } public struct Query { string query_string; string query_string_folded; Cancellable cancellable; QueryFlags query_type; uint max_results; uint query_id; public Query (uint query_id, string query, QueryFlags flags = QueryFlags.LOCAL_CONTENT, uint num_results = 96) { this.query_id = query_id; this.query_string = query; this.query_string_folded = query.casefold (); this.query_type = flags; this.max_results = num_results; } public bool is_cancelled () { return cancellable.is_cancelled (); } public static Gee.List > get_matchers_for_query (string query, MatcherFlags match_flags = 0, RegexCompileFlags flags = GLib.RegexCompileFlags.OPTIMIZE) { /* create a couple of regexes and try to help with matching * match with these regular expressions (with descending score): * 1) ^query$ * 2) ^query * 3) \bquery * 4) split to words and search \bword1.+\bword2 (if there are 2+ words) * 5) query * 6) split to characters and search \bq.+\bu.+\be.+\br.+\by * 7) split to characters and search \bq.*u.*e.*r.*y * * The set of returned regular expressions depends on MatcherFlags. */ var results = new Gee.HashMap (); Regex re; try { re = new Regex ("^(%s)$".printf (Regex.escape_string (query)), flags); results[re] = Match.Score.HIGHEST; } catch (RegexError err) { } try { re = new Regex ("^(%s)".printf (Regex.escape_string (query)), flags); results[re] = Match.Score.EXCELLENT; } catch (RegexError err) { } try { re = new Regex ("\\b(%s)".printf (Regex.escape_string (query)), flags); results[re] = Match.Score.VERY_GOOD; } catch (RegexError err) { } // split to individual chars string[] individual_words = Regex.split_simple ("\\s+", query.strip ()); if (individual_words.length >= 2) { string[] escaped_words = {}; foreach (unowned string word in individual_words) { escaped_words += Regex.escape_string (word); } string pattern = "\\b(%s)".printf (string.joinv (").+\\b(", escaped_words)); try { re = new Regex (pattern, flags); results[re] = Match.Score.GOOD; } catch (RegexError err) { } if (!(MatcherFlags.NO_REVERSED in match_flags)) { if (escaped_words.length == 2) { var reversed = "\\b(%s)".printf ( string.join (").+\\b(", escaped_words[1], escaped_words[0], null) ); try { re = new Regex (reversed, flags); results[re] = Match.Score.GOOD - Match.Score.INCREMENT_MINOR; } catch (RegexError err) { } } else { // not too nice, but is quite fast to compute var orred = "\\b((?:%s))".printf (string.joinv (")|(?:", escaped_words)); var any_order = ""; for (int i = 0; i < escaped_words.length; i++) { bool is_last = i == escaped_words.length - 1; any_order += orred; if (!is_last) { any_order += ".+"; } } try { re = new Regex (any_order, flags); results[re] = Match.Score.AVERAGE + Match.Score.INCREMENT_MINOR; } catch (RegexError err) { } } } } if (!(MatcherFlags.NO_SUBSTRING in match_flags)) { try { re = new Regex ("(%s)".printf (Regex.escape_string (query)), flags); results[re] = Match.Score.BELOW_AVERAGE; } catch (RegexError err) { } } // split to individual characters string[] individual_chars = Regex.split_simple ("\\s*", query); string[] escaped_chars = {}; foreach (unowned string word in individual_chars) { escaped_chars += Regex.escape_string (word); } // make "aj" match "Activity Journal" if ( !(MatcherFlags.NO_PARTIAL in match_flags) && individual_words.length == 1 && individual_chars.length <= 5 ) { string pattern = "\\b(%s)".printf (string.joinv (").+\\b(", escaped_chars)); try { re = new Regex (pattern, flags); results[re] = Match.Score.ABOVE_AVERAGE; } catch (RegexError err) { } } if (!(MatcherFlags.NO_FUZZY in match_flags) && escaped_chars.length > 0) { string pattern = "\\b(%s)".printf (string.joinv (").*(", escaped_chars)); try { re = new Regex (pattern, flags); results[re] = Match.Score.POOR; } catch (RegexError err) { } } var sorted_results = new Gee.ArrayList > (); var entries = results.entries; sorted_results.set_data ("entries-ref", entries); sorted_results.add_all (entries); sorted_results.sort ((a, b) => { unowned Gee.Map.Entry e1 = (Gee.Map.Entry) a; unowned Gee.Map.Entry e2 = (Gee.Map.Entry) b; return e2.value - e1.value; }); return sorted_results; } } } public enum Synapse.MatchType { UNKNOWN = 0, TEXT, APPLICATION, GENERIC_URI, ACTION, SEARCH, CONTACT } public abstract class Synapse.Match : GLib.Object { public enum Score { INCREMENT_MINOR = 2000, INCREMENT_SMALL = 5000, INCREMENT_MEDIUM = 10000, INCREMENT_LARGE = 20000, URI_PENALTY = 15000, POOR = 50000, BELOW_AVERAGE = 60000, AVERAGE = 70000, ABOVE_AVERAGE = 75000, GOOD = 80000, VERY_GOOD = 85000, EXCELLENT = 90000, HIGHEST = 100000 } // properties public string title { get; construct set; default = ""; } public string description { get; set; default = ""; } public string ? icon_name { get; construct set; default = null; } public bool has_thumbnail { get; construct set; default = false; } public string ? thumbnail_path { get; construct set; default = null; } public Synapse.MatchType match_type { get; construct set; default = Synapse.MatchType.UNKNOWN; } public virtual void execute (Synapse.Match ? match) { critical ("execute () is not implemented"); } public virtual void execute_with_target (Synapse.Match ? source, Synapse.Match ? target = null) { if (target == null) { execute (source); } else { critical ("execute () is not implemented"); } } public virtual bool needs_target () { return false; } public virtual Synapse.QueryFlags target_flags () { return Synapse.QueryFlags.ALL; } public signal void executed (); } alainm23-planify-69962f8/src/Dialogs/Section.vala000066400000000000000000000172761517337276100215320ustar00rootroot00000000000000/* * Copyright © 2024 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Dialogs.Section : Adw.Dialog { public Objects.Section section { get; construct; } private Adw.EntryRow name_entry; private Widgets.ColorPickerRow color_picker_row; private Widgets.LoadingButton submit_button; private Adw.EntryRow description_entry; public bool is_creating { get { return section.id == ""; } } private Gee.HashMap signal_map = new Gee.HashMap (); public Section.new (Objects.Project project) { var section = new Objects.Section (); section.project_id = project.id; section.color = "blue"; section.id = ""; Object ( section: section, title: _("New Section") ); } public Section (Objects.Section section) { Object ( section: section, title: _("Edit Section") ); } ~Section () { debug ("Destroying - Dialogs.Section\n"); } construct { var headerbar = new Adw.HeaderBar () { css_classes = { "flat" } }; name_entry = new Adw.EntryRow (); name_entry.title = _("Section Name"); name_entry.text = section.name; var name_group = new Adw.PreferencesGroup () { margin_end = 12, margin_start = 12, margin_top = 24 }; name_group.add (name_entry); color_picker_row = new Widgets.ColorPickerRow (); var color_group = new Adw.Bin () { margin_end = 12, margin_start = 12, margin_top = 24, margin_bottom = 1, valign = Gtk.Align.START, css_classes = { "card" }, child = color_picker_row }; description_entry = new Adw.EntryRow (); description_entry.title = _("Description"); description_entry.text = section.description; var description_group = new Adw.PreferencesGroup () { margin_end = 12, margin_start = 12, margin_top = 24 }; description_group.add (description_entry); submit_button = new Widgets.LoadingButton.with_label (is_creating ? _("Add Section") : _("Update Section")) { vexpand = true, hexpand = true, margin_bottom = 12, margin_end = 12, margin_start = 12, margin_top = 24, valign = Gtk.Align.END }; submit_button.add_css_class ("suggested-action"); var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); content_box.append (name_group); content_box.append (color_group); content_box.append (description_group); content_box.append (submit_button); var content_clamp = new Adw.Clamp () { maximum_size = 600, margin_start = 12, margin_end = 12, margin_bottom = 12 }; content_clamp.child = content_box; var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (headerbar); toolbar_view.content = content_clamp; child = toolbar_view; Services.EventBus.get_default ().disconnect_typing_accel (); Timeout.add (225, () => { color_picker_row.color = section.color; if (is_creating) { name_entry.grab_focus (); } return GLib.Source.REMOVE; }); signal_map[name_entry.entry_activated.connect (add_update_section)] = name_entry; signal_map[submit_button.clicked.connect (add_update_section)] = submit_button; closed.connect (() => { clean_up (); Services.EventBus.get_default ().connect_typing_accel (); }); } private void add_update_section () { if (name_entry.text.length <= 0) { close (); return; } string _name = section.name; string _description = section.description; string _color = section.color; section.name = name_entry.text; section.description = description_entry.text; section.color = color_picker_row.color; if (!is_creating) { update_section (_name, _description, _color); } else { add_section (); } } private void update_section (string _name, string _description, string _color) { if (section.project.source_type == SourceType.LOCAL) { Services.Store.instance ().update_section (section); close (); return; } if (section.project.source_type == SourceType.TODOIST) { submit_button.is_loading = true; Services.Todoist.get_default ().update.begin (section, (obj, res) => { submit_button.is_loading = false; HttpResponse response = Services.Todoist.get_default ().update.end (res); if (response.status) { Services.Store.instance ().update_section (section); close (); } else { section.name = _name; section.description = _description; section.color = _color; Services.EventBus.get_default ().send_error_toast (response.error_code, response.error); close (); } }); } } private void add_section () { if (section.project.source_type == SourceType.LOCAL) { section.id = Util.get_default ().generate_id (section); section.project.add_section_if_not_exists (section); send_toast (_("Section added")); close (); return; } if (section.project.source_type == SourceType.TODOIST) { submit_button.is_loading = true; Services.Todoist.get_default ().add.begin (section, (obj, res) => { submit_button.is_loading = false; HttpResponse response = Services.Todoist.get_default ().add.end (res); if (response.status) { section.id = response.data; section.project.add_section_if_not_exists (section); send_toast (_("Section added")); close (); } else { Services.EventBus.get_default ().send_error_toast (response.error_code, response.error); close (); } }); } } private void send_toast (string message) { var toast = new Adw.Toast (message); Services.EventBus.get_default ().send_toast (toast); } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); if (color_picker_row != null) { color_picker_row.clean_up (); } } } alainm23-planify-69962f8/src/Layouts/000077500000000000000000000000001517337276100173225ustar00rootroot00000000000000alainm23-planify-69962f8/src/Layouts/FilterPaneChild.vala000066400000000000000000000166771517337276100232050ustar00rootroot00000000000000 /* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Layouts.FilterPaneChild : Gtk.FlowBoxChild { public Objects.BaseObject filter_type { get; construct; } private Gtk.Label count_label; private Gtk.Revealer indicator_revealer; private Objects.Project? current_inbox_project = null; private ulong inbox_count_signal_id = 0; private Gee.HashMap signals_map = new Gee.HashMap (); public FilterPaneChild (Objects.BaseObject filter_type) { Object ( filter_type: filter_type ); } ~FilterPaneChild () { debug ("Destroying Layouts.FilterPaneChild\n"); } construct { var title_image = new Gtk.Image.from_icon_name (filter_type.icon_name) { margin_start = 3 }; var title_label = new Gtk.Label (filter_type.name) { margin_start = 3, ellipsize = Pango.EllipsizeMode.END }; var indicator_widget = new Adw.Bin () { width_request = 9, height_request = 9, margin_end = 3, margin_top = 3, valign = END, css_classes = { "indicator", "bg-danger" } }; indicator_revealer = new Gtk.Revealer () { transition_type = CROSSFADE, child = indicator_widget, hexpand = true, halign = END }; var title_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0); title_box.append (title_label); title_box.append (indicator_revealer); count_label = new Gtk.Label (null) { hexpand = true, halign = Gtk.Align.END, margin_end = 3, css_classes = { "font-bold" } }; var count_revealer = new Gtk.Revealer () { transition_type = CROSSFADE, child = count_label }; var main_grid = new Gtk.Grid () { column_spacing = 6, row_spacing = 6, margin_start = 3, margin_end = 3, margin_top = 3, margin_bottom = 3 }; main_grid.attach (title_image, 0, 0, 1, 1); main_grid.attach (count_revealer, 1, 0, 1, 1); main_grid.attach (title_box, 0, 1, 2, 2); child = main_grid; add_css_class ("filter-pane-child"); Services.Settings.get_default ().settings.bind ("show-tasks-count", count_revealer, "reveal_child", GLib.SettingsBindFlags.DEFAULT); Util.get_default ().set_widget_color (filter_type.theme_color (), this); signals_map[Services.EventBus.get_default ().theme_changed.connect (() => { Util.get_default ().set_widget_color (filter_type.theme_color (), this); })] = Services.EventBus.get_default (); var select_gesture = new Gtk.GestureClick (); add_controller (select_gesture); signals_map[select_gesture.pressed.connect (() => { Services.EventBus.get_default ().pane_selected (PaneType.FILTER, filter_type.view_id); })] = select_gesture; signals_map[Services.EventBus.get_default ().pane_selected.connect ((pane_type, id) => { if (pane_type == PaneType.FILTER && filter_type.view_id == id) { add_css_class ("selected"); if (!has_css_class ("animation")) { add_css_class ("animation"); Timeout.add (700, () => { remove_css_class ("animation"); return GLib.Source.REMOVE; }); } } else { remove_css_class ("selected"); } })] = Services.EventBus.get_default (); if (Services.Database.get_default ().is_opened) { init_badge_count (); } signals_map[Services.Database.get_default ().opened.connect (() => { init_badge_count (); })] = Services.Database.get_default (); } private void update_count_label (int count) { count_label.label = count <= 0 ? "" : count.to_string (); } public void init_badge_count () { if (filter_type is Objects.Filters.Inbox) { init_inbox_count (); Services.Settings.get_default ().settings.changed["local-inbox-project-id"].connect (() => { init_inbox_count (); }); } else if (filter_type is Objects.Filters.Today) { var today_filter = filter_type as Objects.Filters.Today; update_count_label (today_filter.item_count + today_filter.overdeue_count); indicator_revealer.reveal_child = today_filter.overdeue_count > 0; signals_map[Objects.Filters.Today.get_default ().count_updated.connect (() => { update_count_label (today_filter.item_count + today_filter.overdeue_count); indicator_revealer.reveal_child = today_filter.overdeue_count > 0; })] = Objects.Filters.Today.get_default (); } else { update_count_label (filter_type.item_count); signals_map[filter_type.count_updated.connect (() => { update_count_label (filter_type.item_count); })] = filter_type; } } private void init_inbox_count () { if (current_inbox_project != null && inbox_count_signal_id > 0) { current_inbox_project.disconnect (inbox_count_signal_id); } current_inbox_project = Services.Store.instance ().get_project ( Services.Settings.get_default ().settings.get_string ("local-inbox-project-id") ); update_count_label (current_inbox_project.item_count); inbox_count_signal_id = current_inbox_project.count_updated.connect (() => { update_count_label (current_inbox_project.item_count); }); } public int item_order () { return find_index (Services.Settings.get_default ().settings.get_strv ("views-order-visible"), filter_type.view_id); } public bool active () { var views_order = Services.Settings.get_default ().settings.get_strv ("views-order-visible"); for (int i = 0; i < views_order.length; i++) { if (views_order[i] == filter_type.view_id) { return true; } } return false; } private int find_index (string[] array, string elemento) { for (int i = 0; i < array.length; i++) { if (array[i] == elemento) { return i; } } return -1; } public void clean_up () { foreach (var entry in signals_map.entries) { entry.value.disconnect (entry.key); } signals_map.clear (); } } alainm23-planify-69962f8/src/Layouts/FilterPaneRow.vala000066400000000000000000000174261517337276100227220ustar00rootroot00000000000000 /* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Layouts.FilterPaneRow : Gtk.ListBoxRow { public Objects.BaseObject filter_type { get; construct; } private Gtk.Label count_label; private Gtk.Revealer indicator_revealer; private Objects.Project? current_inbox_project = null; private ulong inbox_count_signal_id = 0; private Gee.HashMap signals_map = new Gee.HashMap (); public FilterPaneRow (Objects.BaseObject filter_type) { Object ( filter_type: filter_type ); } ~FilterPaneRow () { debug ("Destroying Layouts.FilterPaneRow\n"); } construct { css_classes = { "row", "transition", "no-padding", "filter-pane-row" }; var title_image = new Gtk.Image.from_icon_name (filter_type.icon_name) { pixel_size = 16, valign = CENTER, halign = CENTER, css_classes = { "view-icon" } }; title_image.add_css_class ("view-icon"); var title_label = new Gtk.Label (filter_type.name) { margin_start = 3, ellipsize = Pango.EllipsizeMode.END }; var indicator_widget = new Adw.Bin () { width_request = 9, height_request = 9, margin_end = 3, margin_top = 3, valign = END, css_classes = { "indicator", "bg-danger" } }; indicator_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.CROSSFADE, child = indicator_widget, hexpand = true, halign = END }; count_label = new Gtk.Label (null) { hexpand = true, margin_end = 12, halign = Gtk.Align.CENTER, css_classes = { "caption", "dimmed" } }; var count_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.CROSSFADE, child = count_label }; var end_box = new Gtk.Box (VERTICAL, 0) { hexpand = true, halign = END, valign = CENTER }; end_box.append (count_revealer); var main_box = new Gtk.Box (HORIZONTAL, 6) { margin_start = 3, margin_end = 3, margin_top = 3, margin_bottom = 3 }; main_box.append (title_image); main_box.append (title_label); main_box.append (end_box); var handle_grid = new Adw.Bin () { css_classes = { "transition", "selectable-item" }, child = main_box }; child = handle_grid; Services.Settings.get_default ().settings.bind ("show-tasks-count", count_revealer, "reveal_child", GLib.SettingsBindFlags.DEFAULT); Util.get_default ().set_widget_color (filter_type.theme_color (), title_image); signals_map[Services.EventBus.get_default ().theme_changed.connect (() => { Util.get_default ().set_widget_color (filter_type.theme_color (), title_image); })] = Services.EventBus.get_default (); var select_gesture = new Gtk.GestureClick (); add_controller (select_gesture); signals_map[select_gesture.pressed.connect (() => { Services.EventBus.get_default ().pane_selected (PaneType.FILTER, filter_type.view_id); })] = select_gesture; signals_map[Services.EventBus.get_default ().pane_selected.connect ((pane_type, id) => { if (pane_type == PaneType.FILTER && filter_type.view_id == id) { handle_grid.add_css_class ("selected"); if (!has_css_class ("animation")) { add_css_class ("animation"); Timeout.add (700, () => { remove_css_class ("animation"); return GLib.Source.REMOVE; }); } } else { handle_grid.remove_css_class ("selected"); } })] = Services.EventBus.get_default (); if (Services.Database.get_default ().is_opened) { init_badge_count (); } signals_map[Services.Database.get_default ().opened.connect (() => { init_badge_count (); })] = Services.Database.get_default (); } private void update_count_label (int count) { count_label.label = count <= 0 ? "" : count.to_string (); } public void init_badge_count () { if (filter_type is Objects.Filters.Inbox) { init_inbox_count (); Services.Settings.get_default ().settings.changed["local-inbox-project-id"].connect (() => { init_inbox_count (); }); } else if (filter_type is Objects.Filters.Today) { var today_filter = filter_type as Objects.Filters.Today; update_count_label (today_filter.item_count + today_filter.overdeue_count); indicator_revealer.reveal_child = today_filter.overdeue_count > 0; signals_map[Objects.Filters.Today.get_default ().count_updated.connect (() => { update_count_label (today_filter.item_count + today_filter.overdeue_count); indicator_revealer.reveal_child = today_filter.overdeue_count > 0; })] = Objects.Filters.Today.get_default (); } else { update_count_label (filter_type.item_count); filter_type.count_updated.connect (() => { update_count_label (filter_type.item_count); }); } } private void init_inbox_count () { if (current_inbox_project != null && inbox_count_signal_id > 0) { current_inbox_project.disconnect (inbox_count_signal_id); } current_inbox_project = Services.Store.instance ().get_project ( Services.Settings.get_default ().settings.get_string ("local-inbox-project-id") ); update_count_label (current_inbox_project.item_count); inbox_count_signal_id = current_inbox_project.count_updated.connect (() => { update_count_label (current_inbox_project.item_count); }); } public int item_order () { return find_index (Services.Settings.get_default ().settings.get_strv ("views-order-visible"), filter_type.view_id); } public bool active () { var views_order = Services.Settings.get_default ().settings.get_strv ("views-order-visible"); for (int i = 0; i < views_order.length; i++) { if (views_order[i] == filter_type.view_id) { return true; } } return false; } private int find_index (string[] array, string elemento) { for (int i = 0; i < array.length; i++) { if (array[i] == elemento) { return i; } } return -1; } public void clean_up () { foreach (var entry in signals_map.entries) { entry.value.disconnect (entry.key); } signals_map.clear (); } } alainm23-planify-69962f8/src/Layouts/HeaderBar.vala000066400000000000000000000121571517337276100220120ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Layouts.HeaderBar : Adw.Bin { private Adw.HeaderBar headerbar; private Gtk.Label title_label; private Gtk.Label subtitle_label; private Gtk.Revealer subtitle_revealer; private Gtk.Revealer title_box_revealer; private Gtk.Revealer back_button_revealer; private Gtk.Button back_button; private Gtk.Button sidebar_button; private string _title; public string title { set { _title = value; title_label.label = _title; } get { return _title; } } private string _subtitle; public string subtitle { set { _subtitle = value; subtitle_label.label = _subtitle; subtitle_revealer.reveal_child = _subtitle.length > 0; } get { return _title; } } public bool back_revealer { set { back_button_revealer.reveal_child = value; } get { return back_button_revealer.reveal_child; } } public signal void back_activated (); private Gee.HashMap signal_map = new Gee.HashMap (); ~HeaderBar () { debug ("Destroying - Layouts.HeaderBar\n"); } construct { sidebar_button = new Gtk.Button () { valign = Gtk.Align.CENTER, css_classes = { "flat" }, tooltip_markup = Util.get_default ().markup_accel_tooltip (_("Open/Close Sidebar"), "M"), }; update_sidebar_icon (); // Back Button back_button = new Gtk.Button.from_icon_name ("go-previous-symbolic") { valign = Gtk.Align.CENTER, css_classes = { "flat" }, tooltip_text = _("Back") }; back_button_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_LEFT, child = back_button, reveal_child = false }; // Title title_label = new Gtk.Label (null) { css_classes = { "font-bold" }, ellipsize = END }; subtitle_label = new Gtk.Label (null) { css_classes = { "caption", "dimmed" }, ellipsize = END }; subtitle_revealer = new Gtk.Revealer () { transition_type = SLIDE_DOWN, child = subtitle_label }; var title_box = new Gtk.Box (VERTICAL, 0) { valign = CENTER, halign = CENTER }; title_box.append (title_label); title_box.append (subtitle_revealer); title_box_revealer = new Gtk.Revealer () { transition_type = CROSSFADE, child = title_box }; headerbar = new Adw.HeaderBar () { hexpand = true, title_widget = title_box_revealer, }; headerbar.pack_start (sidebar_button); headerbar.pack_start (back_button_revealer); child = headerbar; signal_map[sidebar_button.clicked.connect (() => { bool slim_mode = Services.Settings.get_default ().settings.get_boolean ("slim-mode"); Services.Settings.get_default ().settings.set_boolean ("slim-mode", !slim_mode); })] = sidebar_button; signal_map[back_button.clicked.connect (() => { back_activated (); })] = back_button; signal_map[Services.Settings.get_default ().settings.changed["slim-mode"].connect (() => { update_sidebar_icon (); })] = Services.Settings.get_default (); } private void update_sidebar_icon () { if (Services.Settings.get_default ().settings.get_boolean ("slim-mode")) { sidebar_button.icon_name = "dock-right-symbolic"; } else { sidebar_button.icon_name = "dock-left-symbolic"; } } public void pack_end (Gtk.Widget widget) { headerbar.pack_end (widget); } public void revealer_title_box (bool reveal) { title_box_revealer.reveal_child = reveal; } public void update_title_box_visibility (bool visible) { title_box_revealer.reveal_child = visible; } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } } alainm23-planify-69962f8/src/Layouts/ItemBase.vala000066400000000000000000000032071517337276100216620ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public abstract class Layouts.ItemBase : Gtk.ListBoxRow { public Objects.Item item { get; construct; } public string update_id { get; set; default = Util.get_default ().generate_id (); } public Gee.HashMap signals_map = new Gee.HashMap (); public abstract void update_request (); public abstract void hide_destroy (); public abstract void delete_request (bool undo = true); public abstract void select_row (bool active); public abstract void checked_toggled (bool active, uint ? time = null); public abstract void clean_up (); public void _show_task_completed_toast () { if (item.project.show_completed) { return; } Services.EventBus.get_default ().send_task_completed_toast (item.project_id); } } alainm23-planify-69962f8/src/Layouts/ItemBoard.vala000066400000000000000000001307601517337276100220440ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Layouts.ItemBoard : Layouts.ItemBase { private Gtk.Grid motion_top_grid; private Gtk.Revealer motion_top_revealer; private Gtk.CheckButton checked_button; private Gtk.Revealer checked_button_revealer; private Gtk.Label content_label; private Gtk.Box content_box; private Widgets.LoadingButton hide_loading_button; private Gtk.Revealer hide_loading_revealer; private Gtk.Label description_label; private Gtk.Revealer description_revealer; private Gtk.Label deadline_label; private Gtk.Revealer deadline_revealer; private Gtk.Box deadline_box; private Gtk.Label due_label; private Gtk.Box due_box; private Gtk.Revealer repeat_revealer; private Gtk.Revealer due_box_revealer; private Widgets.LabelsSummary labels_summary; private Gtk.Revealer reminder_revealer; private Gtk.Label reminder_count; private Gtk.Label subtaks_label; private Gtk.Revealer subtaks_revealer; private Gtk.Revealer footer_revealer; public Gtk.Box handle_grid; public Adw.Bin card_widget; public Gtk.Box footer_box; private Gtk.Popover menu_handle_popover = null; private Widgets.ContextMenu.MenuItem no_date_item; private Widgets.ContextMenu.MenuItem pinboard_item; private Gtk.Revealer main_revealer; private Gtk.CheckButton select_checkbutton; private Gtk.Revealer select_revealer; public uint complete_timeout { get; set; default = 0; } private bool _is_loading; public bool is_loading { set { _is_loading = value; hide_loading_button.is_loading = _is_loading; set_loading_state (_is_loading); } get { return _is_loading; } } private bool _pin_mode = false; public bool pin_mode { get { return _pin_mode; } set { _pin_mode = value; if (_pin_mode) { hide_loading_revealer.reveal_child = true; card_widget.margin_end = 6; card_widget.margin_top = 6; handle_grid.width_request = 200; hide_loading_button.margin_end = 0; hide_loading_button.margin_top = 0; } else { card_widget.margin_end = 0; card_widget.margin_top = 0; handle_grid.width_request = -1; hide_loading_button.margin_end = 6; hide_loading_button.margin_top = 6; } } } public bool on_drag = false; public ItemBoard (Objects.Item item) { Object ( item: item ); } ~ItemBoard () { debug ("Destroying - Layouts.ItemBoard - %s\n".printf (item.content)); } construct { add_css_class ("br-12"); add_css_class ("row"); add_css_class ("no-padding"); motion_top_grid = new Gtk.Grid () { css_classes = { "drop-area", "drop-target" }, margin_bottom = 3 }; motion_top_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = motion_top_grid }; checked_button = new Gtk.CheckButton () { valign = Gtk.Align.START, css_classes = { "priority-color" } }; checked_button_revealer = new Gtk.Revealer () { child = checked_button, transition_type = SLIDE_RIGHT, reveal_child = true }; content_label = new Gtk.Label (item.content) { wrap = true, hexpand = true, wrap_mode = Pango.WrapMode.WORD_CHAR, xalign = 0, yalign = 0, use_markup = true }; hide_loading_button = new Widgets.LoadingButton.with_icon ("window-close", 16) { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, tooltip_text = _ ("Unpin"), css_classes = { "min-height-0", "view-button" }, margin_end = 6, margin_top = 6 }; hide_loading_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_LEFT, valign = Gtk.Align.START, halign = Gtk.Align.END, vexpand = true, child = hide_loading_button }; select_checkbutton = new Gtk.CheckButton () { valign = Gtk.Align.CENTER, margin_start = 6, css_classes = { "circular-check" } }; select_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_LEFT, child = select_checkbutton }; content_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_top = 6, margin_start = 6, margin_end = 6 }; content_box.add_css_class ("transition"); content_box.append (checked_button_revealer); content_box.append (content_label); content_box.append (select_revealer); description_label = new Gtk.Label (null) { xalign = 0, lines = 1, ellipsize = Pango.EllipsizeMode.END, margin_start = 30, margin_end = 6, css_classes = { "dimmed", "caption", "transition" } }; description_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = description_label }; // Due Label due_label = new Gtk.Label (null) { valign = Gtk.Align.CENTER, css_classes = { "caption" } }; var repeat_image = new Gtk.Image.from_icon_name ("playlist-repeat-symbolic") { pixel_size = 12, margin_top = 3, margin_start = 6 }; repeat_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_LEFT, child = repeat_image }; due_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { valign = CENTER, margin_end = 6 }; due_box.append (due_label); due_box.append (repeat_revealer); due_box_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_LEFT, child = due_box }; labels_summary = new Widgets.LabelsSummary (item, 1, true) { end_margin = 6 }; var reminder_icon = new Gtk.Image.from_icon_name ("alarm-symbolic") { pixel_size = 12 }; reminder_count = new Gtk.Label (item.reminders.size.to_string ()); reminder_count.add_css_class ("caption"); var reminder_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 3) { valign = Gtk.Align.CENTER, margin_end = 6 }; reminder_box.add_css_class ("upcoming-grid"); reminder_box.append (reminder_icon); reminder_box.append (reminder_count); reminder_revealer = new Gtk.Revealer () { transition_type = SLIDE_RIGHT, child = reminder_box }; subtaks_label = new Gtk.Label (null); subtaks_label.add_css_class ("caption"); var subtaks_container = new Adw.Bin () { child = subtaks_label, margin_end = 6 }; subtaks_container.add_css_class ("upcoming-grid"); subtaks_revealer = new Gtk.Revealer () { transition_type = SLIDE_RIGHT, child = subtaks_container }; var deadline_icon = new Gtk.Image.from_icon_name ("delay-long-small-symbolic") { pixel_size = 12 }; deadline_label = new Gtk.Label (null); deadline_label.add_css_class ("caption"); deadline_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 3) { valign = Gtk.Align.CENTER, hexpand = true, halign = END, css_classes = { "dimmed" } }; deadline_box.append (deadline_icon); deadline_box.append (deadline_label); deadline_revealer = new Gtk.Revealer () { transition_type = SLIDE_RIGHT, child = deadline_box }; footer_box = new Gtk.Box (HORIZONTAL, 0) { hexpand = true, margin_start = 30, margin_top = 3, margin_end = 12 }; footer_box.append (due_box_revealer); footer_box.append (labels_summary); footer_box.append (reminder_revealer); footer_box.append (subtaks_revealer); footer_box.append (deadline_revealer); footer_revealer = new Gtk.Revealer () { transition_type = SLIDE_DOWN, child = footer_box }; handle_grid = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); handle_grid.append (content_box); handle_grid.append (description_revealer); handle_grid.append (deadline_revealer); handle_grid.append (footer_revealer); card_widget = new Adw.Bin () { margin_top = 3, margin_end = 3, margin_bottom = 3, child = handle_grid }; card_widget.add_css_class ("card"); card_widget.add_css_class ("border-radius-9"); card_widget.add_css_class ("pb-6"); card_widget.add_css_class ("activatable"); card_widget.add_css_class ("task-item"); var overlay = new Gtk.Overlay (); overlay.child = card_widget; overlay.add_overlay (hide_loading_revealer); var v_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { margin_start = 3 }; v_box.append (motion_top_revealer); v_box.append (overlay); var scrolled_window = new Gtk.ScrolledWindow () { hscrollbar_policy = Gtk.PolicyType.NEVER, vscrollbar_policy = Gtk.PolicyType.NEVER, child = v_box }; main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = scrolled_window }; child = main_revealer; update_request (); Timeout.add (main_revealer.transition_duration, () => { main_revealer.reveal_child = true; return GLib.Source.REMOVE; }); update_request (); if (!item.pinned && !item.checked) { build_drag_and_drop (); } var checked_button_gesture = new Gtk.GestureClick (); checked_button.add_controller (checked_button_gesture); signals_map[checked_button_gesture.pressed.connect (() => { checked_button_gesture.set_state (Gtk.EventSequenceState.CLAIMED); checked_button.active = !checked_button.active; checked_toggled (checked_button.active); })] = checked_button_gesture; var select_button_gesture = new Gtk.GestureClick (); select_checkbutton.add_controller (select_button_gesture); signals_map[select_button_gesture.pressed.connect (() => { select_button_gesture.set_state (Gtk.EventSequenceState.CLAIMED); select_checkbutton.active = !select_checkbutton.active; selected_toggled (select_checkbutton.active); })] = select_button_gesture; var detail_gesture_click = new Gtk.GestureClick (); card_widget.add_controller (detail_gesture_click); signals_map[detail_gesture_click.released.connect ((n_press, x, y) => { var modifier = detail_gesture_click.get_current_event_state (); if ((modifier & Gdk.ModifierType.CONTROL_MASK) != 0) { Idle.add (() => { if (item.project == null) { return GLib.Source.REMOVE; } if (!Services.EventBus.get_default ().multi_select_enabled) { item.project.show_multi_select = true; } select_checkbutton.active = !select_checkbutton.active; selected_toggled (select_checkbutton.active); return GLib.Source.REMOVE; }); return; } if (Services.EventBus.get_default ().multi_select_enabled) { select_checkbutton.active = !select_checkbutton.active; selected_toggled (select_checkbutton.active); } else { if (!on_drag) { open_detail (); } } })] = detail_gesture_click; var menu_handle_gesture = new Gtk.GestureClick (); menu_handle_gesture.set_button (3); card_widget.add_controller (menu_handle_gesture); signals_map[menu_handle_gesture.pressed.connect ((n_press, x, y) => { if (!item.completed) { build_handle_context_menu (x, y); } })] = menu_handle_gesture; signals_map[item.reminder_added.connect (() => { update_request (); })] = item; signals_map[item.reminder_deleted.connect (() => { update_request (); })] = item; signals_map[item.item_added.connect (() => { update_request (); })] = item; signals_map[item.updated.connect ((_item, _update_id) => { if (item.id == _item.id && update_id != _update_id) { update_request (); } })] = item; signals_map[Services.Store.instance ().item_deleted.connect ((_item) => { if (item.id == _item.parent_id) { update_request (); } })] = Services.Store.instance (); signals_map[Services.EventBus.get_default ().item_moved.connect ((_item, old_project_id, old_section_id, old_parent_id) => { if (item.id == old_parent_id) { update_request (); } if (item.id == _item.parent_id) { update_request (); } })] = Services.EventBus.get_default (); signals_map[Services.EventBus.get_default ().checked_toggled.connect ((_item) => { if (item.id == _item.parent_id) { update_request (); } })] = Services.EventBus.get_default (); signals_map[Services.EventBus.get_default ().show_multi_select.connect ((active) => { if (active) { select_revealer.reveal_child = true; checked_button.sensitive = false; } else { select_revealer.reveal_child = false; checked_button.sensitive = true; select_checkbutton.active = false; } })] = Services.EventBus.get_default (); signals_map[item.show_item_changed.connect (() => { main_revealer.reveal_child = item.show_item; })] = item; signals_map[item.loading_change.connect (() => { is_loading = item.loading; })] = item; signals_map[item.sensitive_change.connect (() => { sensitive = item.sensitive; })] = item; signals_map[Services.EventBus.get_default ().drag_items_end.connect ((project_id) => { if (item.project_id == project_id) { motion_top_revealer.reveal_child = false; } })] = Services.EventBus.get_default (); signals_map[hide_loading_button.clicked.connect (() => { item.update_pin (false); })] = hide_loading_button; signals_map[Services.EventBus.get_default ().day_changed.connect (() => { update_request (); })] = Services.EventBus.get_default (); signals_map[activate.connect (() => { open_detail (); })] = this; } private void update_next_recurrency () { var promise = new Services.Promise (); promise.resolved.connect ((result) => { recurrency_update_complete (result); }); item.update_next_recurrency (promise); } private void open_detail () { Services.EventBus.get_default ().open_item (item); } public override void checked_toggled (bool active, uint ? time = null) { bool old_checked = item.checked; if (active) { complete_item (old_checked, time); } else { if (complete_timeout != 0) { GLib.Source.remove (complete_timeout); complete_timeout = 0; card_widget.remove_css_class ("complete"); content_label.remove_css_class ("dimmed"); content_label.remove_css_class ("line-through"); } else { var old_completed_at = item.completed_at; item.checked = false; item.completed_at = ""; _complete_item.begin (old_checked, old_completed_at); } } } private void complete_item (bool old_checked, uint ? time = null) { if (Services.Settings.get_default ().settings.get_boolean ("task-complete-tone")) { Services.LogService.get_default ().info ("ItemBoard", "Task completed, playing audio: %s".printf (item.content)); Util.get_default ().play_audio (); } uint timeout = 3000; if (Services.Settings.get_default ().settings.get_enum ("complete-task") == 0) { timeout = 0; } if (time != null) { timeout = time; } content_label.add_css_class ("dimmed"); card_widget.add_css_class ("complete"); if (Services.Settings.get_default ().settings.get_boolean ("underline-completed-tasks")) { content_label.add_css_class ("line-through"); } complete_timeout = Timeout.add (timeout, () => { complete_timeout = 0; if (item.due.is_recurring && !item.due.is_recurrency_end) { update_next_recurrency (); } else { var old_completed_at = item.completed_at; item.checked = true; item.completed_at = new GLib.DateTime.now_local ().to_string (); _complete_item.begin (old_checked, old_completed_at); } return GLib.Source.REMOVE; }); } private async void _complete_item (bool old_checked, string old_completed_at) { checked_button.sensitive = false; HttpResponse response = yield item.complete_item (old_checked); if (response.status) { _show_task_completed_toast (); } else { _complete_item_error (response, old_checked, old_completed_at); } } private void _complete_item_error (HttpResponse response, bool old_checked, string old_completed_at) { item.checked = old_checked; item.completed_at = old_completed_at; is_loading = false; checked_button.sensitive = true; checked_button.active = false; card_widget.remove_css_class ("complete"); content_label.remove_css_class ("dimmed"); content_label.remove_css_class ("line-through"); if (response.error_code != 412) { Services.EventBus.get_default ().send_error_toast (response.error_code, response.error); } } private void recurrency_update_complete (GLib.DateTime next_recurrency) { checked_button.active = false; complete_timeout = 0; card_widget.remove_css_class ("complete"); content_label.remove_css_class ("line-through"); content_label.remove_css_class ("dimmed"); var title = _ ("Completed. Next occurrence: %s".printf (Utils.Datetime.get_default_date_format_from_date (next_recurrency))); var toast = Util.get_default ().create_toast (title, 3); Services.EventBus.get_default ().send_toast (toast); } public override void update_request () { if (complete_timeout <= 0) { Util.get_default ().set_widget_priority (item.priority, checked_button); checked_button.active = item.completed; } content_label.label = MarkdownProcessor.get_default ().markup_string (item.content); content_label.tooltip_text = item.content.strip (); // ItemType verify_item_type (); description_label.label = Util.get_default ().line_break_to_space (item.description); description_label.tooltip_text = item.description.strip (); description_revealer.reveal_child = description_label.label.length > 0; update_deadline (); update_due_label (); labels_summary.update_request (); labels_summary.check_revealer (); reminder_count.label = item.reminders.size.to_string (); reminder_revealer.reveal_child = item.reminders.size > 0; update_subtasks (); footer_revealer.reveal_child = due_box_revealer.reveal_child || labels_summary.reveal_child || reminder_revealer.reveal_child || subtaks_revealer.reveal_child || deadline_revealer.reveal_child; } private void verify_item_type () { bool is_task = item.item_type == ItemType.TASK && !item.content.has_prefix ("* "); if (is_task) { checked_button_revealer.reveal_child = true; description_label.margin_start = 30; footer_box.margin_start = 30; content_box.margin_start = 6; } else { checked_button_revealer.reveal_child = false; description_label.margin_start = 9; footer_box.margin_start = 9; content_box.margin_start = 3; } } public void update_due_label () { due_box.remove_css_class ("overdue-grid"); due_box.remove_css_class ("today-grid"); due_box.remove_css_class ("upcoming-grid"); if (item.completed) { due_label.label = Utils.Datetime.get_relative_date_from_date ( Utils.Datetime.get_date_only ( Utils.Datetime.get_date_from_string (item.completed_at) ) ); due_box.add_css_class ("completed-grid"); due_box_revealer.reveal_child = true; return; } if (item.has_due) { due_label.label = Utils.Datetime.get_relative_date_from_date (item.due.datetime); due_box_revealer.reveal_child = true; repeat_revealer.reveal_child = item.due.is_recurring; if (item.due.is_recurring) { var end_label = ""; if (item.due.end_type == RecurrencyEndType.ON_DATE) { var date_label = Utils.Datetime.get_default_date_format_from_date ( Utils.Datetime.get_date_only ( Utils.Datetime.get_date_from_string (item.due.recurrency_end) ) ); end_label = _("until") + " " + date_label; } else if (item.due.end_type == RecurrencyEndType.AFTER) { int count = item.due.recurrency_count; end_label = _("for") + " " + "%d %s".printf (count, count > 1 ? _("times") : _("time")); } due_box.tooltip_text = Utils.Datetime.get_recurrency_weeks ( item.due.recurrency_type, item.due.recurrency_interval, item.due.recurrency_weeks, end_label ).down (); } if (Utils.Datetime.is_today (item.due.datetime)) { due_box.add_css_class ("today-grid"); } else if (Utils.Datetime.is_overdue (item.due.datetime)) { due_box.add_css_class ("overdue-grid"); } else { due_box.add_css_class ("upcoming-grid"); } } else { due_label.label = ""; due_box.tooltip_text = ""; due_box_revealer.reveal_child = false; repeat_revealer.reveal_child = false; } } private void update_deadline () { deadline_box.remove_css_class ("error"); deadline_box.remove_css_class ("dimmed"); if (item.has_deadline) { deadline_label.label = Utils.Datetime.get_relative_time_from_date (item.deadline_datetime); if (!item.completed) { var date_only = Utils.Datetime.get_date_only (item.deadline_datetime); bool is_overdue = Utils.Datetime.is_today (date_only) || Utils.Datetime.is_yesterday (date_only) || Utils.Datetime.is_overdue (date_only); if (is_overdue) { deadline_box.add_css_class ("error"); } else { deadline_box.add_css_class ("dimmed"); } } else { deadline_box.add_css_class ("dimmed"); } } else { deadline_label.label = ""; } deadline_revealer.reveal_child = item.has_deadline; } private void update_subtasks () { subtaks_revealer.reveal_child = item.items.size > 0; int checked = 0; foreach (Objects.Item item in item.items) { if (item.checked) { checked++; } } subtaks_label.label = "%d/%d".printf (checked, item.items.size); } private void build_handle_context_menu (double x, double y) { if (menu_handle_popover != null) { if (item.has_due) { no_date_item.visible = true; } else { no_date_item.visible = false; } pinboard_item.title = item.pinned ? _ ("Unpin") : _ ("Pin"); menu_handle_popover.pointing_to = { (int) x, (int) y, 1, 1 }; menu_handle_popover.popup (); return; } var today_item = new Widgets.ContextMenu.MenuItem (_ ("Today"), "star-outline-thick-symbolic"); today_item.secondary_text = new GLib.DateTime.now_local ().format ("%a"); var tomorrow_item = new Widgets.ContextMenu.MenuItem (_ ("Tomorrow"), "today-calendar-symbolic"); tomorrow_item.secondary_text = new GLib.DateTime.now_local ().add_days (1).format ("%a"); pinboard_item = new Widgets.ContextMenu.MenuItem (item.pinned ? _ ("Unpin") : _ ("Pin"), "pin-symbolic"); no_date_item = new Widgets.ContextMenu.MenuItem (_ ("No Date"), "cross-large-circle-filled-symbolic"); no_date_item.visible = item.has_due; var move_item = new Widgets.ContextMenu.MenuItem (_ ("Move"), "arrow3-right-symbolic"); var labels_item = new Widgets.ContextMenu.MenuItem (_ ("Labels"), "tag-outline-symbolic"); var add_item = new Widgets.ContextMenu.MenuItem (_ ("Add Subtask"), "plus-large-symbolic"); var complete_item = new Widgets.ContextMenu.MenuItem (_ ("Complete"), "check-round-outline-symbolic"); var edit_item = new Widgets.ContextMenu.MenuItem (_ ("Edit"), "edit-symbolic"); var duplicate_item = new Widgets.ContextMenu.MenuItem (_ ("Duplicate"), "tabs-stack-symbolic"); var delete_item = new Widgets.ContextMenu.MenuItem (_ ("Delete Task"), "user-trash-symbolic"); delete_item.add_css_class ("menu-item-danger"); var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; menu_box.append (complete_item); menu_box.append (edit_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (today_item); menu_box.append (tomorrow_item); menu_box.append (no_date_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (pinboard_item); menu_box.append (move_item); menu_box.append (labels_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (add_item); menu_box.append (duplicate_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (delete_item); menu_handle_popover = new Gtk.Popover () { has_arrow = false, child = menu_box, halign = Gtk.Align.START, width_request = 250 }; menu_handle_popover.set_parent (this); menu_handle_popover.pointing_to = { (int) x, (int) y, 1, 1 }; menu_handle_popover.popup (); move_item.activate_item.connect (() => { Dialogs.ProjectPicker.ProjectPicker dialog; if (item.project.is_inbox_project) { dialog = new Dialogs.ProjectPicker.ProjectPicker.for_projects (); } else { dialog = new Dialogs.ProjectPicker.ProjectPicker.for_source (item.source); } dialog.project = item.project; dialog.present (Planify._instance.main_window); dialog.changed.connect ((type, id) => { if (type == "project") { move (Services.Store.instance ().get_project (id), ""); } else { move (item.project, id); } }); }); labels_item.activate_item.connect (() => { var dialog = new Dialogs.LabelPicker (LabelPickerType.FILTER_AND_CREATE) { button_text = _("Apply") }; dialog.add_labels (item.source); dialog.labels = item.labels; dialog.labels_changed.connect ((labels) => { item.update_labels (labels); }); dialog.present (Planify._instance.main_window); }); today_item.activate_item.connect (() => { update_date (Utils.Datetime.get_date_only (new DateTime.now_local ())); }); tomorrow_item.activate_item.connect (() => { update_date (Utils.Datetime.get_date_only (new DateTime.now_local ().add_days (1))); }); pinboard_item.activate_item.connect (() => { item.update_pin (!item.pinned); }); no_date_item.activate_item.connect (() => { update_date (null); }); complete_item.activate_item.connect (() => { checked_button.active = !checked_button.active; checked_toggled (checked_button.active); }); edit_item.activate_item.connect (() => { open_detail (); }); delete_item.activate_item.connect (() => { delete_request (); }); add_item.activate_item.connect (() => { var dialog = new Dialogs.QuickAdd (); dialog.for_base_object (item); dialog.present (Planify._instance.main_window); }); duplicate_item.clicked.connect (() => { Util.get_default ().duplicate_item.begin (item, item.project_id, item.section_id, item.parent_id); }); } private void build_drag_and_drop () { // Drop Motion build_drop_motion (); // Drag Souyrce build_drag_source (); // Drop build_drop_target (); // Drop Magic Button build_drop_magic_button_target (); // Drop Order build_drop_order_target (); } private void build_drop_motion () { var drop_motion_ctrl = new Gtk.DropControllerMotion (); add_controller (drop_motion_ctrl); signals_map[drop_motion_ctrl.enter.connect ((x, y) => { var drop = drop_motion_ctrl.get_drop (); GLib.Value value = Value (typeof (Gtk.Widget)); try { drop.drag.content.get_value (ref value); if (value.dup_object () is Layouts.ItemBoard) { var picked_widget = (Layouts.ItemBoard) value; if (picked_widget.item.id == item.parent_id) { return; } motion_top_grid.height_request = picked_widget.card_widget.get_height (); motion_top_revealer.reveal_child = drop_motion_ctrl.contains_pointer && item.project.sorted_by == SortedByType.MANUAL; } else if (value.dup_object () is Widgets.MagicButton) { motion_top_grid.height_request = 32; motion_top_revealer.reveal_child = drop_motion_ctrl.contains_pointer && item.project.sorted_by == SortedByType.MANUAL; } } catch (Error e) { debug (e.message); } })] = drop_motion_ctrl; signals_map[drop_motion_ctrl.leave.connect (() => { motion_top_revealer.reveal_child = false; })] = drop_motion_ctrl; } private void build_drag_source () { var drag_source = new Gtk.DragSource (); drag_source.set_actions (Gdk.DragAction.MOVE); card_widget.add_controller (drag_source); signals_map[drag_source.prepare.connect ((source, x, y) => { return new Gdk.ContentProvider.for_value (this); })] = drag_source; signals_map[drag_source.drag_begin.connect ((source, drag) => { var paintable = new Gtk.WidgetPaintable (card_widget); source.set_icon (paintable, 0, 0); drag_begin (); })] = drag_source; signals_map[drag_source.drag_end.connect ((source, drag, delete_data) => { drag_end (); })] = drag_source; signals_map[drag_source.drag_cancel.connect ((source, drag, reason) => { drag_end (); return false; })] = drag_source; } private void build_drop_target () { var drop_target = new Gtk.DropTarget (typeof (Layouts.ItemBoard), Gdk.DragAction.MOVE); card_widget.add_controller (drop_target); signals_map[drop_target.accept.connect ((drop) => { GLib.Value value = Value (typeof (Gtk.Widget)); try { drop.drag.content.get_value (ref value); } catch (Error e) { debug (e.message); } if (value.dup_object () is Layouts.ItemBoard) { var picked_widget = (Layouts.ItemBoard) value; if (picked_widget.item.id != item.parent_id) { return true; } } return false; })] = drop_target; signals_map[drop_target.drop.connect ((value, x, y) => { var picked_widget = (Layouts.ItemBase) value; var target_widget = this; var picked_item = picked_widget.item; var target_item = target_widget.item; Services.EventBus.get_default ().drag_items_end (item.project_id); if (picked_widget == target_widget || target_widget == null) { return false; } string old_parent_id = picked_item.parent_id; string old_project_id = picked_item.project_id; string old_section_id = picked_item.section_id; picked_item.section_id = ""; picked_item.parent_id = target_item.id; if (picked_item.project.source_type == SourceType.LOCAL) { Services.Store.instance ().update_item (picked_item); Services.EventBus.get_default ().item_moved (picked_item, old_project_id, old_section_id, old_parent_id); } else if (picked_item.project.source_type == SourceType.TODOIST) { Services.Todoist.get_default ().move_item.begin (picked_item, "parent_id", picked_item.parent_id, (obj, res) => { if (Services.Todoist.get_default ().move_item.end (res).status) { Services.Store.instance ().update_item (picked_widget.item); Services.EventBus.get_default ().item_moved (picked_item, old_project_id, old_section_id, old_parent_id); } }); } else if (picked_item.project.source_type == SourceType.CALDAV) { var caldav_client = Services.CalDAV.Core.get_default ().get_client (picked_item.project.source); caldav_client.add_item.begin (picked_item, true, (obj, res) => { if (caldav_client.add_item.end (res).status) { Services.Store.instance ().update_item (picked_widget.item); Services.EventBus.get_default ().item_moved (picked_item, old_project_id, old_section_id, old_parent_id); } }); } return true; })] = drop_target; } private void build_drop_magic_button_target () { var drop_magic_button_target = new Gtk.DropTarget (typeof (Widgets.MagicButton), Gdk.DragAction.MOVE); card_widget.add_controller (drop_magic_button_target); signals_map[drop_magic_button_target.drop.connect ((value, x, y) => { var dialog = new Dialogs.QuickAdd (); dialog.for_base_object (item); dialog.present (Planify._instance.main_window); return true; })] = drop_magic_button_target; var drop_order_magic_button_target = new Gtk.DropTarget (typeof (Widgets.MagicButton), Gdk.DragAction.MOVE); motion_top_grid.add_controller (drop_order_magic_button_target); signals_map[drop_order_magic_button_target.drop.connect ((value, x, y) => { var dialog = new Dialogs.QuickAdd () { position = get_index () }; if (item.section_id != "") { dialog.for_base_object (item.section); } else { dialog.for_base_object (item.project); } dialog.present (Planify._instance.main_window); return true; })] = drop_order_magic_button_target; } private void build_drop_order_target () { var drop_order_target = new Gtk.DropTarget (typeof (Layouts.ItemBoard), Gdk.DragAction.MOVE); motion_top_grid.add_controller (drop_order_target); signals_map[drop_order_target.drop.connect ((value, x, y) => { var picked_widget = (Layouts.ItemBoard) value; var target_widget = this; picked_widget.drag_end (); target_widget.drag_end (); Services.EventBus.get_default ().drag_items_end (item.project_id); if (picked_widget == target_widget || target_widget == null) { return false; } if (item.project.sort_order != 0) { item.project.sort_order = 0; Services.EventBus.get_default ().send_toast ( Util.get_default ().create_toast (_ ("Order changed to 'Custom sort order'")) ); item.project.update_local (); } string old_section_id = picked_widget.item.section_id; string old_parent_id = picked_widget.item.parent_id; if (picked_widget.item.project_id != target_widget.item.project_id || picked_widget.item.section_id != target_widget.item.section_id || picked_widget.item.parent_id != target_widget.item.parent_id) { if (picked_widget.item.project_id != target_widget.item.project_id) { picked_widget.item.project_id = target_widget.item.project_id; } if (picked_widget.item.section_id != target_widget.item.section_id) { picked_widget.item.section_id = target_widget.item.section_id; } if (picked_widget.item.parent_id != target_widget.item.parent_id) { picked_widget.item.parent_id = target_widget.item.parent_id; } if (picked_widget.item.project.source_type == SourceType.TODOIST) { string move_id = picked_widget.item.project_id; string move_type = "project_id"; if (picked_widget.item.section_id != "") { move_id = picked_widget.item.section_id; move_type = "section_id"; } if (picked_widget.item.has_parent) { move_id = picked_widget.item.parent_id; move_type = "parent_id"; } Services.Todoist.get_default ().move_item.begin (picked_widget.item, move_type, move_id, (obj, res) => { if (Services.Todoist.get_default ().move_item.end (res).status) { Services.Store.instance ().update_item (picked_widget.item); } }); } else if (picked_widget.item.project.source_type == SourceType.LOCAL) { Services.Store.instance ().update_item (picked_widget.item); } } var source_list = (Gtk.ListBox) picked_widget.parent; source_list.remove (picked_widget); var target_list = (Gtk.ListBox) target_widget.parent; int new_index = target_widget.get_index (); target_list.insert (picked_widget, new_index); Services.EventBus.get_default ().update_inserted_item_map (picked_widget, old_section_id, old_parent_id); Utils.TaskUtils.update_single_item_order (target_list, picked_widget, new_index); return true; })] = drop_order_target; } public void drag_begin () { card_widget.add_css_class ("drop-begin"); on_drag = true; main_revealer.reveal_child = false; } public void drag_end () { card_widget.remove_css_class ("drop-begin"); on_drag = false; main_revealer.reveal_child = item.show_item; } public override void delete_request (bool undo = true) { main_revealer.reveal_child = false; if (undo) { delete_undo (); } else { item.delete_item (); } } private void delete_undo () { var toast = new Adw.Toast (_ ("%s was deleted".printf (Util.get_default ().get_short_name (item.content)))); toast.button_label = _ ("Undo"); toast.priority = Adw.ToastPriority.HIGH; toast.timeout = 3; Services.EventBus.get_default ().send_toast (toast); toast.dismissed.connect (() => { if (!main_revealer.reveal_child) { item.delete_item (); } }); toast.button_clicked.connect (() => { main_revealer.reveal_child = true; }); } public void move (Objects.Project project, string section_id) { string project_id = project.id; if (item.project.source_id != project.source_id) { Util.get_default ().move_backend_type_item.begin (item, project); } else { if (item.project_id != project_id || item.section_id != section_id) { item.move (project, section_id); } } } public void update_date (GLib.DateTime ? date) { item.update_date (date); } private void selected_toggled (bool active) { if (select_checkbutton.active) { Services.EventBus.get_default ().select_item (this); } else { Services.EventBus.get_default ().unselect_item (this); } } public override void select_row (bool active) { if (active) { card_widget.add_css_class ("complete"); } else { card_widget.remove_css_class ("complete"); } } public override void hide_destroy () { main_revealer.reveal_child = false; clean_up (); Timeout.add (main_revealer.transition_duration, () => { ((Gtk.ListBox) parent).remove (this); return GLib.Source.REMOVE; }); } public void hide_widget () { main_revealer.reveal_child = false; } private void set_loading_state (bool loading) { if (pin_mode) { hide_loading_revealer.reveal_child = true; } else { hide_loading_revealer.reveal_child = loading; } } public override void clean_up () { foreach (var entry in signals_map.entries) { entry.value.disconnect (entry.key); } signals_map.clear (); } } alainm23-planify-69962f8/src/Layouts/ItemRow.vala000066400000000000000000002422031517337276100215600ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Layouts.ItemRow : Layouts.ItemBase { public bool is_project_view { get; construct; } public string project_id { get; set; default = ""; } public string section_id { get; set; default = ""; } public string parent_id { get; set; default = ""; } private Gtk.Grid motion_top_grid; private Gtk.Revealer motion_top_revealer; private Gtk.CheckButton checked_button; private Gtk.Revealer checked_button_revealer; private Widgets.TextView content_textview; private Gtk.Revealer hide_loading_revealer; private Gtk.Label project_name_label; private Gtk.Revealer project_name_label_revealer; private Gtk.CheckButton select_checkbutton; private Gtk.Revealer select_revealer; private Gtk.Label content_label; private Gtk.Revealer content_label_revealer; private Gtk.Revealer content_entry_revealer; private Widgets.ContextMenu.MenuSwitch use_note_item; private Gtk.Box content_box; #if WITH_LIBSPELLING private Spelling.TextBufferAdapter? spelling_adapter = null; #endif private Gtk.Label due_label; private Gtk.Box due_box; private Gtk.Revealer repeat_revealer; private Gtk.Revealer due_box_revealer; private Gtk.Revealer description_image_revealer; private Gtk.Revealer reminder_revealer; private Gtk.Label reminder_count; private Gtk.Label deadline_label; private Gtk.Box deadline_box; private Gtk.Revealer deadline_revealer; private Gtk.Box action_box_right; private Gtk.Box dates_box; private Gtk.Overlay attachments_button_overlay; private Gtk.Revealer detail_revealer; private Gtk.Revealer main_revealer; public Adw.Bin itemrow_box; private Gtk.Popover menu_handle_popover; private Widgets.LoadingButton hide_loading_button; private Widgets.MarkdownEditor markdown_editor; private Gtk.Revealer markdown_revealer; private Widgets.ItemLabels item_labels; private Widgets.ScheduleButton schedule_button; private Widgets.LabelsSummary labels_summary; private Widgets.PriorityButton priority_button; private Widgets.LabelPicker.LabelButton label_button; private Widgets.PinButton pin_button; private Widgets.ReminderPicker.ReminderButton reminder_button; private Widgets.DeadlineButton deadline_button; private Widgets.DeadlineButton deadline_button_detail; private Gtk.MenuButton attachments_button; private Widgets.Attachments attachments; private Gtk.Label attachments_count; private Gtk.Box action_box; private Gtk.Label show_subtasks_label; private Gtk.Revealer show_subtasks_revealer; private Gtk.Revealer add_subtasks_button_revealer; private Gtk.Button add_subtasks_button; private Widgets.SubItems subitems; private Gtk.MenuButton menu_button; private Gtk.Button hide_subtask_button; private Gtk.Button show_subtasks_button; private Gtk.Revealer hide_subtask_revealer; private Widgets.ContextMenu.MenuItem no_date_item; private Widgets.ContextMenu.MenuItem pinboard_item; private Gtk.DropControllerMotion drop_motion_ctrl; private Gtk.DragSource drag_source; private Gtk.DropTarget drop_target; private Gtk.DropTarget drop_order_target; private Gtk.DropTarget drop_magic_button_target; private Gtk.DropTarget drop_order_magic_button_target; private Gee.HashMap dnd_handlerses = new Gee.HashMap (); private Gee.HashMap markdown_handlerses = new Gee.HashMap (); bool _edit = false; public bool edit { set { bool was_edit = _edit; _edit = value; if (value && !was_edit) { add_css_class ("no-selectable"); add_css_class ("task-editing"); itemrow_box.add_css_class ("card"); itemrow_box.add_css_class ("selected"); build_markdown_editor (); detail_revealer.reveal_child = true; content_label_revealer.reveal_child = false; content_entry_revealer.reveal_child = true; project_name_label_revealer.reveal_child = false; hide_subtask_revealer.reveal_child = false; hide_loading_button.remove_css_class ("no-padding"); hide_loading_revealer.reveal_child = true; show_subtasks_revealer.reveal_child = subitems.has_children && edit; add_subtasks_button_revealer.reveal_child = edit; // Due labels due_box_revealer.reveal_child = false; description_image_revealer.reveal_child = false; reminder_revealer.reveal_child = false; deadline_revealer.reveal_child = false; if (complete_timeout != 0) { itemrow_box.remove_css_class ("complete"); content_label.remove_css_class ("dimmed"); } if (drag_source != null) { itemrow_box.remove_controller (drag_source); drag_source = null; } Idle.add (() => { if (content_textview != null) { content_textview.grab_focus (); } return Source.REMOVE; }); } else if (!value) { remove_css_class ("no-selectable"); remove_css_class ("task-editing"); itemrow_box.remove_css_class ("card"); itemrow_box.remove_css_class ("selected"); destroy_markdown_editor (); detail_revealer.reveal_child = false; content_label_revealer.reveal_child = true; content_entry_revealer.reveal_child = false; project_name_label_revealer.reveal_child = !is_project_view; hide_subtask_revealer.reveal_child = subitems.has_children; hide_loading_button.add_css_class ("no-padding"); hide_loading_revealer.reveal_child = false; show_subtasks_revealer.reveal_child = false; add_subtasks_button_revealer.reveal_child = false; check_due (); check_description (); check_reminders (); check_deadline (); if (drag_enabled) { build_drag_and_drop (); } } } get { return _edit; } } public bool reveal { set { main_revealer.reveal_child = true; } get { return main_revealer.reveal_child; } } private bool _is_loading; public bool is_loading { set { _is_loading = value; if (_is_loading) { hide_loading_revealer.reveal_child = _is_loading; hide_loading_button.is_loading = _is_loading; } else { hide_loading_button.is_loading = _is_loading; hide_loading_revealer.reveal_child = edit; } } get { return _is_loading; } } public uint destroy_timeout { get; set; default = 0; } public uint complete_timeout { get; set; default = 0; } public bool drag_enabled { get; set; default = true; } public signal void item_added (); public ItemRow (Objects.Item item, bool is_project_view = false) { Object ( item: item, is_project_view: is_project_view ); } ~ItemRow () { debug ("Destroying - Layouts.ItemRow - %s\n".printf (item.content)); } construct { add_css_class ("row"); add_css_class ("no-padding"); project_id = item.project_id; section_id = item.section_id; parent_id = item.parent_id; motion_top_grid = new Gtk.Grid () { height_request = 32, css_classes = { "drop-area", "drop-target" }, margin_bottom = 3, margin_start = 27 }; motion_top_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = motion_top_grid }; checked_button = new Gtk.CheckButton () { valign = Gtk.Align.CENTER, sensitive = !item.project.is_deck }; checked_button.add_css_class ("priority-color"); checked_button_revealer = new Gtk.Revealer () { child = checked_button, transition_type = SLIDE_RIGHT, reveal_child = true }; // Due Label due_label = new Gtk.Label (null) { valign = CENTER, css_classes = { "caption" } }; var repeat_image = new Gtk.Image.from_icon_name ("playlist-repeat-symbolic") { pixel_size = 12, margin_top = 3, margin_start = 6, }; repeat_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_LEFT, child = repeat_image }; due_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { valign = CENTER, margin_end = 6 }; due_box.append (due_label); due_box.append (repeat_revealer); due_box_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_LEFT, child = due_box }; content_label = new Gtk.Label (null) { xalign = 0, yalign = 0.8f, wrap = false, ellipsize = END, use_markup = true }; content_label.update_property (Gtk.AccessibleProperty.LABEL, "", -1); // Description Icon description_image_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_LEFT, child = new Gtk.Image.from_icon_name ("paper-symbolic") { valign = Gtk.Align.CENTER, margin_start = 6, css_classes = { "dimmed" }, pixel_size = 12 } }; // Reminder Icon var reminder_icon = new Gtk.Image.from_icon_name ("alarm-symbolic") { pixel_size = 12 }; reminder_count = new Gtk.Label (item.reminders.size.to_string ()); reminder_count.add_css_class ("caption"); var reminder_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 3) { valign = Gtk.Align.CENTER, margin_start = 6, margin_top = 1, css_classes = { "dimmed" }, }; reminder_box.append (reminder_icon); reminder_box.append (reminder_count); reminder_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_LEFT, child = reminder_box }; labels_summary = new Widgets.LabelsSummary (item) { reveal_child = true, start_margin = 6 }; var deadline_icon = new Gtk.Image.from_icon_name ("delay-long-small-symbolic") { pixel_size = 12 }; deadline_label = new Gtk.Label (null); deadline_label.add_css_class ("caption"); deadline_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 3) { valign = CENTER, css_classes = { "dimmed" }, }; deadline_box.append (deadline_icon); deadline_box.append (deadline_label); deadline_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_LEFT, child = deadline_box }; project_name_label = new Gtk.Label (null) { css_classes = { "caption", "dimmed" }, ellipsize = Pango.EllipsizeMode.END, max_width_chars = 16, margin_start = 6 }; project_name_label_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_LEFT, child = project_name_label, reveal_child = !is_project_view }; var right_box = new Gtk.Box (HORIZONTAL, 0) { hexpand = true, halign = END }; right_box.append (deadline_revealer); right_box.append (project_name_label_revealer); var content_label_box = new Gtk.Box (HORIZONTAL, 0); content_label_box.append (due_box_revealer); content_label_box.append (content_label); content_label_box.append (description_image_revealer); content_label_box.append (reminder_revealer); content_label_box.append (labels_summary); content_label_box.append (right_box); content_label_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_UP, transition_duration = 115, reveal_child = true, child = content_label_box }; content_textview = new Widgets.TextView () { wrap_mode = WORD, accepts_tab = false, placeholder_text = _ ("To-do name"), hexpand = true, valign = CENTER }; content_textview.remove_css_class ("view"); content_textview.add_css_class ("font-bold"); #if WITH_LIBSPELLING var source_buffer = new GtkSource.Buffer (null); content_textview.buffer = source_buffer; #endif content_entry_revealer = new Gtk.Revealer () { valign = Gtk.Align.CENTER, transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, transition_duration = 115, reveal_child = false, child = content_textview }; pin_button = new Widgets.PinButton () { sensitive = !item.completed, no_padding = true }; hide_loading_button = new Widgets.LoadingButton.with_icon ("go-up-symbolic", 16) { css_classes = { "flat", "no-padding" } }; var top_right_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6); top_right_box.append (pin_button); top_right_box.append (hide_loading_button); hide_loading_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_LEFT, valign = Gtk.Align.START, child = top_right_box }; select_checkbutton = new Gtk.CheckButton () { valign = Gtk.Align.CENTER, margin_start = 6, css_classes = { "circular-check" } }; select_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_LEFT, child = select_checkbutton }; content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { valign = CENTER, margin_start = 6 }; content_box.append (content_label_revealer); content_box.append (content_entry_revealer); var content_main_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0); content_main_box.append (checked_button_revealer); content_main_box.append (content_box); content_main_box.append (hide_loading_revealer); markdown_revealer = new Gtk.Revealer (); item_labels = new Widgets.ItemLabels () { margin_start = 24, sensitive = !item.completed, item = item }; schedule_button = null; deadline_button_detail = null; dates_box = new Gtk.Box (VERTICAL, 0); priority_button = null; label_button = null; reminder_button = null; deadline_button = null; attachments = null; attachments_button = null; attachments_count = null; attachments_button_overlay = null; menu_button = new Gtk.MenuButton () { icon_name = "view-more-symbolic", popover = build_button_context_menu (), css_classes = { "flat" }, hexpand = Services.EventBus.get_default ().mobile_mode ? true : false, halign = Services.EventBus.get_default ().mobile_mode ? Gtk.Align.END : Gtk.Align.FILL }; action_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { margin_start = 16, margin_top = 6, hexpand = true, sensitive = !item.project.is_deck }; if (Services.EventBus.get_default ().mobile_mode) { action_box.orientation = Gtk.Orientation.VERTICAL; } action_box_right = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { hexpand = Services.EventBus.get_default ().mobile_mode ? false : true, halign = Services.EventBus.get_default ().mobile_mode ? Gtk.Align.FILL : Gtk.Align.END, valign = END }; action_box_right.append (menu_button); action_box.append (dates_box); action_box.append (action_box_right); var details_grid = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); details_grid.append (markdown_revealer); details_grid.append (item_labels); details_grid.append (action_box); detail_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = details_grid }; signals_map[detail_revealer.notify["reveal-child"].connect (() => { if (detail_revealer.reveal_child) { build_detail_widgets (); #if WITH_LIBSPELLING init_spelling_adapter (); #endif } })] = detail_revealer; var handle_grid = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { valign = Gtk.Align.START, css_classes = { "transition", "drop-target" } }; handle_grid.append (content_main_box); handle_grid.append (detail_revealer); var _itemrow_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { margin_top = 3, margin_bottom = 3, margin_end = 3, margin_start = 6 }; _itemrow_box.append (handle_grid); _itemrow_box.append (select_revealer); itemrow_box = new Adw.Bin () { child = _itemrow_box }; itemrow_box.add_css_class ("task-item"); itemrow_box.add_css_class ("drop-target"); var add_subtasks_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6); add_subtasks_box.append (new Gtk.Image.from_icon_name ("plus-large-symbolic") { pixel_size = 12 }); add_subtasks_box.append (new Gtk.Label (_ ("Add Subtasks"))); add_subtasks_button = new Gtk.Button () { child = add_subtasks_box, css_classes = { "flat", "small-button", "hidden-button" }, margin_start = 16, margin_bottom = 3, halign = START, sensitive = !item.completed }; add_subtasks_button_revealer = new Gtk.Revealer () { child = add_subtasks_button, reveal_child = edit }; show_subtasks_label = new Gtk.Label (null); var show_subtasks_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6); show_subtasks_box.append (new Gtk.Image.from_icon_name ("go-next-symbolic") { pixel_size = 12 }); show_subtasks_box.append (show_subtasks_label); show_subtasks_button = new Gtk.Button () { css_classes = { "flat", "small-button", "hidden-button" }, child = show_subtasks_box, margin_start = 16, margin_bottom = 3, halign = START }; subitems = new Widgets.SubItems (is_project_view); show_subtasks_revealer = new Gtk.Revealer () { child = show_subtasks_button, reveal_child = subitems.has_children && edit }; subitems.present_item (item); subitems.reveal_child = item.items.size > 0 && item.collapsed; var box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); box.append (itemrow_box); box.append (add_subtasks_button_revealer); box.append (show_subtasks_revealer); box.append (subitems); hide_subtask_button = new Gtk.Button () { valign = Gtk.Align.START, margin_start = 3, margin_top = 3, css_classes = { "flat", "dimmed", "no-padding", "hidden-button" }, child = new Gtk.Image.from_icon_name ("go-next-symbolic") { pixel_size = 12 } }; if (item.collapsed) { hide_subtask_button.add_css_class ("opened"); show_subtasks_button.add_css_class ("opened"); } hide_subtask_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.CROSSFADE, reveal_child = subitems.has_children, child = hide_subtask_button }; var h_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0); h_box.append (hide_subtask_revealer); h_box.append (box); var main_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); main_box.append (motion_top_revealer); main_box.append (h_box); main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = main_box }; child = main_revealer; update_request (); if (!item.checked && !item.project.is_deck) { build_drag_and_drop (); } Timeout.add (main_revealer.transition_duration, () => { main_revealer.reveal_child = true; return GLib.Source.REMOVE; }); connect_signals (); } private void connect_signals () { var handle_gesture_click = new Gtk.GestureClick (); itemrow_box.add_controller (handle_gesture_click); signals_map[handle_gesture_click.pressed.connect ((n_press, x, y) => { if (Services.Settings.get_default ().settings.get_boolean ("attention-at-one") && Services.EventBus.get_default ().item_edit_active && !edit) { handle_gesture_click.set_state (Gtk.EventSequenceState.CLAIMED); } })] = handle_gesture_click; signals_map[handle_gesture_click.released.connect ((n_press, x, y) => { var modifier = handle_gesture_click.get_current_event_state (); if ((modifier & Gdk.ModifierType.CONTROL_MASK) != 0) { Idle.add (() => { if (item.project == null) { return GLib.Source.REMOVE; } if (!Services.EventBus.get_default ().multi_select_enabled) { item.project.show_multi_select = true; } select_checkbutton.active = !select_checkbutton.active; selected_toggled (select_checkbutton.active); return GLib.Source.REMOVE; }); return; } if (Services.EventBus.get_default ().multi_select_enabled) { select_checkbutton.active = !select_checkbutton.active; selected_toggled (select_checkbutton.active); return; } if (edit) { return; } if (Services.Settings.get_default ().settings.get_boolean ("attention-at-one")) { if (Services.EventBus.get_default ().item_edit_active) { Services.EventBus.get_default ().close_item_edit (); return; } } show_details (); })] = handle_gesture_click; signals_map[activate.connect (() => { show_details (); })] = this; signals_map[Services.EventBus.get_default ().mobile_mode_change.connect (() => { if (Services.EventBus.get_default ().mobile_mode) { action_box_right.hexpand = false; action_box_right.halign = Gtk.Align.FILL; menu_button.hexpand = true; menu_button.halign = Gtk.Align.END; action_box.orientation = Gtk.Orientation.VERTICAL; } else { action_box_right.hexpand = true; action_box_right.halign = Gtk.Align.END; menu_button.hexpand = false; menu_button.halign = Gtk.Align.FILL; action_box.orientation = Gtk.Orientation.HORIZONTAL; } })] = Services.EventBus.get_default (); signals_map[Services.EventBus.get_default ().item_selected.connect ((item_id) => { edit = item.id == item_id; })] = Services.EventBus.get_default (); var content_controller_key = new Gtk.EventControllerKey (); content_textview.add_controller (content_controller_key); signals_map[content_controller_key.key_pressed.connect ((keyval, keycode, state) => { if (keyval == Gdk.Key.Return) { edit = false; return Gdk.EVENT_STOP; } else if (keyval == Gdk.Key.Tab && markdown_editor != null) { markdown_editor.view_focus (); return Gdk.EVENT_STOP; } return false; })] = content_controller_key; signals_map[content_controller_key.key_released.connect ((keyval, keycode, state) => { if (keyval == Gdk.Key.Escape) { edit = false; } else { update_content_description (); } })] = content_controller_key; var checked_button_gesture = new Gtk.GestureClick (); checked_button.add_controller (checked_button_gesture); signals_map[checked_button_gesture.pressed.connect (() => { checked_button_gesture.set_state (Gtk.EventSequenceState.CLAIMED); checked_button.active = !checked_button.active; checked_toggled (checked_button.active); })] = checked_button_gesture; signals_map[hide_loading_button.clicked.connect (() => { Timeout.add (100, () => { edit = false; return GLib.Source.REMOVE; }); })] = hide_loading_button; signals_map[pin_button.changed.connect (() => { item.update_pin (!item.pinned); if (Services.Settings.get_default ().settings.get_boolean ("attention-at-one") && edit) { Services.EventBus.get_default ().item_edit_active = false; Services.EventBus.get_default ().dim_content (false, ""); } })] = pin_button; signals_map[ Services.Settings.get_default ().settings.changed["underline-completed-tasks"].connect (update_request) ] = Services.Settings.get_default (); signals_map[ Services.Settings.get_default ().settings.changed["clock-format"].connect (update_request) ] = Services.Settings.get_default (); var menu_handle_gesture = new Gtk.GestureClick (); menu_handle_gesture.set_button (3); itemrow_box.add_controller (menu_handle_gesture); signals_map[menu_handle_gesture.pressed.connect ((n_press, x, y) => { if (!item.project.is_deck) { menu_handle_gesture.set_state (Gtk.EventSequenceState.CLAIMED); build_handle_context_menu (x, y); } })] = menu_handle_gesture; var multiselect_gesture = new Gtk.GestureClick (); select_checkbutton.add_controller (multiselect_gesture); signals_map[multiselect_gesture.pressed.connect (() => { multiselect_gesture.set_state (Gtk.EventSequenceState.CLAIMED); select_checkbutton.active = !select_checkbutton.active; selected_toggled (select_checkbutton.active); })] = multiselect_gesture; signals_map[Services.EventBus.get_default ().show_multi_select.connect ((active) => { if (active) { select_revealer.reveal_child = true; checked_button.sensitive = false; if (drag_source != null) { itemrow_box.remove_controller (drag_source); drag_source = null; } } else { select_revealer.reveal_child = false; checked_button.sensitive = true; if (drag_enabled) { build_drag_and_drop (); } select_checkbutton.active = false; } })] = Services.EventBus.get_default (); var add_subitem_gesture = new Gtk.GestureClick (); add_subtasks_button.add_controller (add_subitem_gesture); signals_map[add_subitem_gesture.pressed.connect ((n_press, x, y) => { add_subitem_gesture.set_state (Gtk.EventSequenceState.CLAIMED); subitems.prepare_new_item (); })] = add_subitem_gesture; signals_map[item.loading_change.connect (() => { is_loading = item.loading; })] = item; signals_map[item.sensitive_change.connect (() => { sensitive = item.sensitive; })] = item; signals_map[hide_subtask_button.clicked.connect (() => { item.collapsed = !item.collapsed; item.update_local (); })] = hide_subtask_button; signals_map[show_subtasks_button.clicked.connect (() => { item.collapsed = !item.collapsed; item.update_local (); })] = show_subtasks_button; signals_map[subitems.children_changes.connect (() => { check_hide_subtask_button (); })] = subitems; signals_map[item.collapsed_change.connect (() => { subitems.reveal_child = item.collapsed; if (item.collapsed) { hide_subtask_button.add_css_class ("opened"); show_subtasks_button.add_css_class ("opened"); } else { hide_subtask_button.remove_css_class ("opened"); show_subtasks_button.remove_css_class ("opened"); } })] = item; signals_map[item.show_item_changed.connect (() => { main_revealer.reveal_child = item.show_item; })] = item; signals_map[item.reminder_added.connect ((reminder) => { if (reminder_button != null) { reminder_button.add_reminder (reminder, item.reminders); } check_reminders (); })] = item; signals_map[item.reminder_deleted.connect ((reminder) => { if (reminder_button != null) { reminder_button.delete_reminder (reminder, item.reminders); } check_reminders (); })] = item; signals_map[Services.EventBus.get_default ().drag_items_end.connect ((project_id) => { if (item.project_id == project_id) { motion_top_revealer.reveal_child = false; } })] = Services.EventBus.get_default (); signals_map[Services.EventBus.get_default ().close_item_edit.connect (() => { if (edit) { edit = false; } })] = Services.EventBus.get_default (); signals_map[Services.EventBus.get_default ().dim_content.connect ((active, focused_item_id) => { if (!edit) { if (active) { if (item.id != focused_item_id) { itemrow_box.add_css_class ("dimmed"); } } else { itemrow_box.remove_css_class ("dimmed"); } } else if (!active && edit) { edit = false; } })] = Services.EventBus.get_default (); signals_map[Services.EventBus.get_default ().dim_content.connect ((active, focused_item_id) => { if (active) { show_subtasks_button.add_css_class ("dimmed"); } else { show_subtasks_button.remove_css_class ("dimmed"); } })] = Services.EventBus.get_default (); signals_map[Services.EventBus.get_default ().day_changed.connect (() => { update_request (); })] = Services.EventBus.get_default (); signals_map[notify["edit"].connect (() => { if (!edit) { if (Services.Settings.get_default ().settings.get_boolean ("attention-at-one")) { Services.EventBus.get_default ().item_edit_active = false; Services.EventBus.get_default ().dim_content (false, ""); } } })] = this; } private void show_details () { if (Services.Settings.get_default ().settings.get_boolean ("open-task-sidebar")) { Services.EventBus.get_default ().open_item (item); } else { if (Services.Settings.get_default ().settings.get_boolean ("attention-at-one")) { edit = true; Services.EventBus.get_default ().item_edit_active = true; Services.EventBus.get_default ().dim_content (true, item.id); } else { edit = true; } } } public void check_hide_subtask_button () { if (!edit) { hide_subtask_revealer.reveal_child = subitems.has_children; } } private void selected_toggled (bool active) { if (select_checkbutton.active) { Services.EventBus.get_default ().select_item (this); } else { Services.EventBus.get_default ().unselect_item (this); } } public override void select_row (bool active) { if (active) { itemrow_box.add_css_class ("complete"); } else { itemrow_box.remove_css_class ("complete"); } } private void update_content_description () { if (item.content != content_textview.buffer.text) { item.content = content_textview.buffer.text; item.item_type = item.content.has_prefix ("* ") ? ItemType.NOTE : ItemType.TASK; content_label.label = MarkdownProcessor.get_default ().markup_string (item.content); content_label.tooltip_text = item.content.strip (); content_label.update_property (Gtk.AccessibleProperty.LABEL, item.content, -1); _verify_item_type (); item.update_async_timeout (update_id); return; } if (markdown_editor != null && item.description != markdown_editor.get_text ().chomp ()) { item.description = markdown_editor.get_text ().chomp (); item.update_async_timeout (update_id); return; } } public override void update_request () { if (complete_timeout <= 0) { Util.get_default ().set_widget_priority (item.priority, checked_button); checked_button.active = item.completed; if (item.completed && Services.Settings.get_default ().settings.get_boolean ("underline-completed-tasks")) { content_label.add_css_class ("line-through"); } else if (item.completed && !Services.Settings.get_default ().settings.get_boolean ("underline-completed-tasks")) { content_label.remove_css_class ("line-through"); } } content_label.label = MarkdownProcessor.get_default ().markup_string (item.content); content_label.tooltip_text = item.content; content_label.update_property (Gtk.AccessibleProperty.LABEL, item.content, -1); content_textview.set_text (item.content); // ItemType _verify_item_type (); if (markdown_editor != null) { destroy_markdown_signals (); markdown_editor.set_text (item.description); build_markdown_signals (); } project_name_label.label = item.project.name; if (item.has_parent) { if (item.parent.has_parent) { project_name_label.label += " /…/ " + item.parent.content; } else { project_name_label.label += " / " + item.parent.content; } } project_name_label.tooltip_text = project_name_label.label; labels_summary.update_request (); if (label_button != null) { label_button.labels = item.get_labels_list (); } if (schedule_button != null) { schedule_button.update_from_item (item); } if (priority_button != null) { priority_button.update_from_item (item); } pin_button.update_from_item (item); if (reminder_button != null) { reminder_button.set_reminders (item.reminders); } if (deadline_button != null) { deadline_button.datetime = item.deadline_datetime; deadline_button.reveal_content = !item.has_deadline; } if (deadline_button_detail != null) { deadline_button_detail.datetime = item.deadline_datetime; deadline_button_detail.reveal_content = item.has_deadline; } show_subtasks_label.label = item.collapsed ? _ ("Hide Sub-tasks") : _ ("Show Sub-tasks"); check_due (); check_description (); check_reminders (); check_deadline (); if (edit) { add_css_class ("task-editing"); content_textview.editable = !item.completed && !item.project.is_deck; if (markdown_editor != null) { markdown_editor.is_editable = !item.completed && !item.project.is_deck; } item_labels.sensitive = !item.completed && !item.project.is_deck; if (schedule_button != null) schedule_button.sensitive = !item.completed; if (priority_button != null) priority_button.sensitive = !item.completed; if (label_button != null) label_button.sensitive = !item.completed; pin_button.sensitive = !item.completed; if (reminder_button != null) reminder_button.sensitive = !item.completed; add_subtasks_button.sensitive = !item.completed; if (attachments_button != null) attachments_button.sensitive = !item.completed; if (deadline_button != null) deadline_button.sensitive = !item.completed; if (deadline_button_detail != null) deadline_button_detail.sensitive = !item.completed; } else { remove_css_class ("task-editing"); } if (item.completed && deadline_button_detail != null) { deadline_button_detail.remove_error_style (); } } private void _verify_item_type () { bool is_task = item.item_type == ItemType.TASK && !item.content.has_prefix ("* "); if (is_task) { checked_button_revealer.reveal_child = true; action_box.margin_start = 16; content_box.margin_start = 6; item_labels.margin_start = 24; } else { checked_button_revealer.reveal_child = false; action_box.margin_start = 0; content_box.margin_start = 0; item_labels.margin_start = 6; } if (markdown_editor != null) { markdown_editor.margin_start = is_task ? 24 : 0; } if (use_note_item != null) { use_note_item.active = !is_task; } } private void check_description () { description_image_revealer.reveal_child = !edit && item.description != null && Util.get_default ().line_break_to_space (item.description).length > 0; } private void check_reminders () { reminder_count.label = item.reminders.size.to_string (); reminder_revealer.reveal_child = !edit && item.reminders.size > 0; } private void check_deadline () { deadline_box.remove_css_class ("error"); deadline_box.remove_css_class ("dimmed"); if (item.has_deadline) { deadline_label.label = Utils.Datetime.get_relative_time_from_date (item.deadline_datetime); var date_only = Utils.Datetime.get_date_only (item.deadline_datetime); bool is_overdue = Utils.Datetime.is_today (date_only) || Utils.Datetime.is_yesterday (date_only) || Utils.Datetime.is_overdue (date_only); if (is_overdue) { deadline_box.add_css_class ("error"); } else { deadline_box.add_css_class ("dimmed"); } } else { deadline_label.label = ""; } deadline_revealer.reveal_child = !edit && item.has_deadline; } private void check_due () { due_box.remove_css_class ("overdue-grid"); due_box.remove_css_class ("today-grid"); due_box.remove_css_class ("upcoming-grid"); if (item.completed) { due_label.label = Utils.Datetime.get_relative_date_from_date ( Utils.Datetime.get_date_from_string (item.completed_at) ); due_box.add_css_class ("completed-grid"); due_box_revealer.reveal_child = true; return; } if (item.has_due) { due_label.label = Utils.Datetime.get_relative_date_from_date (item.due.datetime); if (!edit) { due_box_revealer.reveal_child = true; } repeat_revealer.reveal_child = item.due.is_recurring; if (item.due.is_recurring) { var end_label = ""; if (item.due.end_type == RecurrencyEndType.ON_DATE) { var date_label = Utils.Datetime.get_default_date_format_from_date ( Utils.Datetime.get_date_only ( Utils.Datetime.get_date_from_string (item.due.recurrency_end) ) ); end_label = _("until") + " " + date_label; } else if (item.due.end_type == RecurrencyEndType.AFTER) { int count = item.due.recurrency_count; end_label = _("for") + " " + "%d %s".printf (count, count > 1 ? _("times") : _("time")); } due_box.tooltip_text = Utils.Datetime.get_recurrency_weeks ( item.due.recurrency_type, item.due.recurrency_interval, item.due.recurrency_weeks, end_label ).down (); } if (Utils.Datetime.is_today (item.due.datetime)) { due_box.add_css_class ("today-grid"); } else if (Utils.Datetime.is_overdue (item.due.datetime)) { due_box.add_css_class ("overdue-grid"); } else { due_box.add_css_class ("upcoming-grid"); } } else { due_label.label = ""; due_box.tooltip_text = ""; due_box_revealer.reveal_child = false; repeat_revealer.reveal_child = false; } } public override void hide_destroy () { clean_up (); main_revealer.reveal_child = false; Timeout.add (main_revealer.transition_duration, () => { var list_parent = (Gtk.ListBox) parent; list_parent.remove (this); return GLib.Source.REMOVE; }); } private void build_handle_context_menu (double x, double y) { if (menu_handle_popover != null) { if (item.has_due) { no_date_item.visible = true; } else { no_date_item.visible = false; } pinboard_item.title = item.pinned ? _ ("Unpin") : _ ("Pin"); menu_handle_popover.pointing_to = { ((int) x), (int) y, 1, 1 }; menu_handle_popover.popup (); return; } var today_item = new Widgets.ContextMenu.MenuItem (_ ("Today"), "star-outline-thick-symbolic"); today_item.secondary_text = new GLib.DateTime.now_local ().format ("%a"); var tomorrow_item = new Widgets.ContextMenu.MenuItem (_ ("Tomorrow"), "month-symbolic"); tomorrow_item.secondary_text = new GLib.DateTime.now_local ().add_days (1).format ("%a"); pinboard_item = new Widgets.ContextMenu.MenuItem (item.pinned ? _ ("Unpin") : _ ("Pin"), "pin-symbolic"); no_date_item = new Widgets.ContextMenu.MenuItem (_ ("No Date"), "cross-large-circle-filled-symbolic"); no_date_item.visible = item.has_due; var move_item = new Widgets.ContextMenu.MenuItem (_ ("Move"), "arrow3-right-symbolic"); var labels_item = new Widgets.ContextMenu.MenuItem (_ ("Labels"), "tag-outline-symbolic"); var add_item = new Widgets.ContextMenu.MenuItem (_ ("Add Subtask"), "plus-large-symbolic"); var complete_item = new Widgets.ContextMenu.MenuItem (_ ("Complete"), "check-round-outline-symbolic"); var edit_item = new Widgets.ContextMenu.MenuItem (_ ("Edit"), "edit-symbolic"); var duplicate_item = new Widgets.ContextMenu.MenuItem (_ ("Duplicate"), "tabs-stack-symbolic"); var delete_item = new Widgets.ContextMenu.MenuItem (_ ("Delete Task"), "user-trash-symbolic"); delete_item.add_css_class ("menu-item-danger"); var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; if (!item.completed && !item.project.is_deck) { menu_box.append (complete_item); menu_box.append (edit_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (today_item); menu_box.append (tomorrow_item); menu_box.append (no_date_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (pinboard_item); menu_box.append (move_item); menu_box.append (labels_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (add_item); menu_box.append (duplicate_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); signals_map[today_item.activate_item.connect (() => { update_date (Utils.Datetime.get_date_only (new DateTime.now_local ())); })] = today_item; signals_map[tomorrow_item.activate_item.connect (() => { update_date (Utils.Datetime.get_date_only (new DateTime.now_local ().add_days (1))); })] = tomorrow_item; signals_map[pinboard_item.activate_item.connect (() => { item.update_pin (!item.pinned); })] = pinboard_item; signals_map[no_date_item.activate_item.connect (() => { update_due (new Objects.DueDate ()); })] = no_date_item; signals_map[move_item.activate_item.connect (() => { Dialogs.ProjectPicker.ProjectPicker dialog; if (item.project.is_inbox_project) { dialog = new Dialogs.ProjectPicker.ProjectPicker.for_projects (); } else { dialog = new Dialogs.ProjectPicker.ProjectPicker.for_source (item.source); } dialog.project = item.project; signals_map[dialog.changed.connect ((type, id) => { if (type == "project") { move (Services.Store.instance ().get_project (id), ""); } else { move (item.project, id); } })] = dialog; dialog.present (Planify._instance.main_window); })] = move_item; signals_map[labels_item.activate_item.connect (() => { var dialog = new Dialogs.LabelPicker (LabelPickerType.FILTER_AND_CREATE) { button_text = _("Apply") }; dialog.add_labels (item.source); dialog.labels = item.labels; signals_map[dialog.labels_changed.connect ((labels) => { item.update_labels (labels); })] = dialog; dialog.present (Planify._instance.main_window); })] = labels_item; signals_map[complete_item.activate_item.connect (() => { checked_button.active = !checked_button.active; checked_toggled (checked_button.active); })] = complete_item; signals_map[edit_item.activate_item.connect (() => { Services.EventBus.get_default ().open_item (item); })] = edit_item; signals_map[add_item.activate_item.connect (() => { var dialog = new Dialogs.QuickAdd (); dialog.for_base_object (item); dialog.present (Planify._instance.main_window); })] = add_item; signals_map[duplicate_item.clicked.connect (() => { Util.get_default ().duplicate_item.begin (item, item.project_id, item.section_id, item.parent_id); })] = duplicate_item; } if (!item.project.is_deck) { menu_box.append (delete_item); signals_map[delete_item.activate_item.connect (() => { delete_request (); })] = delete_item; } menu_handle_popover = new Gtk.Popover () { has_arrow = false, child = menu_box, halign = Gtk.Align.START, width_request = 275 }; menu_handle_popover.set_parent (this); menu_handle_popover.pointing_to = { ((int) x), (int) y, 1, 1 }; menu_handle_popover.popup (); } private Gtk.Popover build_button_context_menu () { use_note_item = new Widgets.ContextMenu.MenuSwitch (_ ("Use as a Note"), "paper-symbolic"); use_note_item.active = item.item_type == ItemType.NOTE; var copy_clipboard_item = new Widgets.ContextMenu.MenuItem (_ ("Copy to Clipboard"), "clipboard-symbolic"); var duplicate_item = new Widgets.ContextMenu.MenuItem (_ ("Duplicate"), "tabs-stack-symbolic"); var move_item = new Widgets.ContextMenu.MenuItem (_ ("Move"), "arrow3-right-symbolic"); var delete_item = new Widgets.ContextMenu.MenuItem (_ ("Delete Task"), "user-trash-symbolic"); delete_item.add_css_class ("menu-item-danger"); var more_information_item = new Widgets.ContextMenu.MenuItem (_ ("Change History"), "rotation-edit-symbolic"); var popover = new Gtk.Popover () { has_arrow = false, position = Gtk.PositionType.BOTTOM, width_request = 250 }; var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; if (!item.completed) { menu_box.append (use_note_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (copy_clipboard_item); menu_box.append (duplicate_item); menu_box.append (move_item); signals_map[use_note_item.activate_item.connect (() => { item.item_type = use_note_item.active ? ItemType.NOTE : ItemType.TASK; item.update_local (); })] = use_note_item; signals_map[copy_clipboard_item.clicked.connect (() => { item.copy_clipboard (); })] = copy_clipboard_item; signals_map[duplicate_item.clicked.connect (() => { Util.get_default ().duplicate_item.begin (item, item.project_id, item.section_id, item.parent_id); })] = duplicate_item; signals_map[move_item.clicked.connect (() => { Dialogs.ProjectPicker.ProjectPicker dialog; if (item.project.is_inbox_project) { dialog = new Dialogs.ProjectPicker.ProjectPicker.for_projects (); } else { dialog = new Dialogs.ProjectPicker.ProjectPicker.for_source (item.source); } signals_map[dialog.changed.connect ((type, id) => { if (type == "project") { move (Services.Store.instance ().get_project (id), ""); } else { move (item.project, id); } })] = dialog; dialog.project = item.project; dialog.present (Planify._instance.main_window); })] = move_item; } menu_box.append (delete_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (more_information_item); popover.child = menu_box; signals_map[delete_item.activate_item.connect (() => { delete_request (); })] = delete_item; signals_map[more_information_item.activate_item.connect (() => { var dialog = new Dialogs.ItemChangeHistory (item); dialog.present (Planify._instance.main_window); })] = more_information_item; return popover; } public override void checked_toggled (bool active, uint ? time = null) { bool old_checked = item.checked; if (active) { if (edit) { edit = false; } complete_item (old_checked, time); } else { if (complete_timeout != 0) { GLib.Source.remove (complete_timeout); complete_timeout = 0; itemrow_box.remove_css_class ("complete"); content_label.remove_css_class ("dimmed"); content_label.remove_css_class ("line-through"); } else { var old_completed_at = item.completed_at; item.checked = false; item.completed_at = ""; _complete_item.begin (old_checked, old_completed_at); } } } private void complete_item (bool old_checked, uint ? time = null) { if (Services.Settings.get_default ().settings.get_boolean ("task-complete-tone")) { Services.LogService.get_default ().info ("ItemRow", "Task completed, playing audio: %s".printf (item.content)); Util.get_default ().play_audio (); } uint timeout = 3000; if (Services.Settings.get_default ().settings.get_enum ("complete-task") == 0) { timeout = 0; } if (time != null) { timeout = time; } content_label.add_css_class ("dimmed"); itemrow_box.add_css_class ("complete"); if (Services.Settings.get_default ().settings.get_boolean ("underline-completed-tasks")) { content_label.add_css_class ("line-through"); } complete_timeout = Timeout.add (timeout, () => { complete_timeout = 0; if (item.due.is_recurring && !item.due.is_recurrency_end) { update_next_recurrency (); } else { var old_completed_at = item.completed_at; item.checked = true; item.completed_at = new GLib.DateTime.now_local ().to_string (); _complete_item.begin (old_checked, old_completed_at); } return GLib.Source.REMOVE; }); } private async void _complete_item (bool old_checked, string old_completed_at) { checked_button.sensitive = false; subitems.sensitive = false; HttpResponse response = yield item.complete_item (old_checked); if (response.status) { _show_task_completed_toast (); } else { _complete_item_error (response, old_checked, old_completed_at); } } private void _complete_item_error (HttpResponse response, bool old_checked, string old_completed_at) { item.checked = old_checked; item.completed_at = old_completed_at; is_loading = false; checked_button.sensitive = true; checked_button.active = false; subitems.sensitive = true; itemrow_box.remove_css_class ("complete"); content_label.remove_css_class ("dimmed"); content_label.remove_css_class ("line-through"); if (response.error_code != 412) { Services.EventBus.get_default ().send_error_toast (response.error_code, response.error); } } public void update_content (string content = "") { content_textview.buffer.text = content; } public void update_priority (int priority) { item.priority = priority; item.update_async (); } public void update_due (Objects.DueDate duedate) { item.update_due (duedate); } public void update_date (GLib.DateTime ? date) { item.update_date (date); } public void update_deadline (GLib.DateTime ? date) { item.deadline_date = date == null ? "" : date.to_string (); item.update_async (); } private void update_next_recurrency () { var promise = new Services.Promise (); signals_map[promise.resolved.connect ((result) => { recurrency_update_complete (result); })] = promise; item.update_next_recurrency (promise); } private void recurrency_update_complete (GLib.DateTime next_recurrency) { checked_button.active = false; complete_timeout = 0; itemrow_box.remove_css_class ("complete"); content_label.remove_css_class ("dimmed"); content_label.remove_css_class ("line-through"); var title = _("Completed. Next occurrence: %s".printf ( Utils.Datetime.get_default_date_format_from_date (next_recurrency) )); var toast = Util.get_default ().create_toast (title, 3); Services.EventBus.get_default ().send_toast (toast); } public override void delete_request (bool undo = true) { main_revealer.reveal_child = false; if (Services.Settings.get_default ().settings.get_boolean ("attention-at-one") && edit) { Services.EventBus.get_default ().item_edit_active = false; Services.EventBus.get_default ().dim_content (false, ""); } if (undo) { delete_undo (); } else { item.delete_item (); } } private void delete_undo () { var toast = new Adw.Toast (_("%s was deleted".printf (Util.get_default ().get_short_name (item.content)))); toast.button_label = _("Undo"); toast.priority = HIGH; toast.timeout = 3; Services.EventBus.get_default ().send_toast (toast); signals_map[toast.dismissed.connect (() => { if (!main_revealer.reveal_child) { item.delete_item (); } })] = toast; signals_map[toast.button_clicked.connect (() => { main_revealer.reveal_child = true; })] = toast; } public void move (Objects.Project project, string section_id) { string project_id = project.id; if (item.project.source_id != project.source_id) { Util.get_default ().move_backend_type_item.begin (item, project); } else { if (item.project_id != project_id || item.section_id != section_id) { item.move (project, section_id); } } if (Services.Settings.get_default ().settings.get_boolean ("attention-at-one") && edit) { Services.EventBus.get_default ().item_edit_active = false; Services.EventBus.get_default ().dim_content (false, ""); } } public void build_drag_and_drop () { _disable_drag_and_drop (); // Drop Motion build_drop_motion (); // Drag Souyrce build_drag_source (); // Drop build_drop_target (); // Drop Magic Button build_drop_magic_button_target (); // Drop Order build_drop_order_target (); } private void build_drop_motion () { drop_motion_ctrl = new Gtk.DropControllerMotion (); add_controller (drop_motion_ctrl); dnd_handlerses[drop_motion_ctrl.enter.connect ((x, y) => { var drop = drop_motion_ctrl.get_drop (); GLib.Value value = Value (typeof (Gtk.Widget)); try { drop.drag.content.get_value (ref value); if (value.dup_object () is Layouts.ItemRow) { var picked_widget = (Layouts.ItemRow) value; if (picked_widget.item.id == item.parent_id) { return; } motion_top_grid.height_request = picked_widget.itemrow_box.get_height (); motion_top_revealer.reveal_child = drop_motion_ctrl.contains_pointer && item.project.sorted_by == SortedByType.MANUAL; } else if (value.dup_object () is Widgets.MagicButton) { motion_top_grid.height_request = 30; motion_top_revealer.reveal_child = drop_motion_ctrl.contains_pointer && item.project.sorted_by == SortedByType.MANUAL; } } catch (Error e) { debug (e.message); } })] = drop_motion_ctrl; dnd_handlerses[drop_motion_ctrl.leave.connect (() => { motion_top_revealer.reveal_child = false; })] = drop_motion_ctrl; } private void build_drag_source () { drag_source = new Gtk.DragSource (); drag_source.set_actions (Gdk.DragAction.MOVE); itemrow_box.add_controller (drag_source); dnd_handlerses[drag_source.prepare.connect ((source, x, y) => { return new Gdk.ContentProvider.for_value (this); })] = drag_source; dnd_handlerses[drag_source.drag_begin.connect ((source, drag) => { var paintable = new Gtk.WidgetPaintable (itemrow_box); source.set_icon (paintable, 0, 0); drag_begin (); })] = drag_source; dnd_handlerses[drag_source.drag_end.connect ((source, drag, delete_data) => { drag_end (); })] = drag_source; dnd_handlerses[drag_source.drag_cancel.connect ((source, drag, reason) => { drag_end (); return false; })] = drag_source; } private void build_drop_target () { drop_target = new Gtk.DropTarget (typeof (Layouts.ItemRow), Gdk.DragAction.MOVE); itemrow_box.add_controller (drop_target); dnd_handlerses[drop_target.drop.connect ((value, x, y) => { var picked_widget = (Layouts.ItemRow) value; var target_widget = this; var picked_item = picked_widget.item; var target_item = target_widget.item; Services.EventBus.get_default ().drag_items_end (item.project_id); Services.EventBus.get_default ().drag_n_drop_active (item.project_id, false); if (picked_widget == target_widget || target_widget == null) { return false; } string old_parent_id = picked_item.parent_id; string old_project_id = picked_item.project_id; string old_section_id = picked_item.section_id; picked_item.section_id = ""; picked_item.parent_id = target_item.id; if (picked_item.project.source_type == SourceType.LOCAL) { target_item.collapsed = true; Services.Store.instance ().update_item (picked_item); Services.EventBus.get_default ().item_moved (picked_item, old_project_id, old_section_id, old_parent_id); } else if (picked_item.project.source_type == SourceType.TODOIST) { Services.Todoist.get_default ().move_item.begin (picked_item, "parent_id", picked_item.parent_id, (obj, res) => { if (Services.Todoist.get_default ().move_item.end (res).status) { target_item.collapsed = true; Services.Store.instance ().update_item (picked_widget.item); Services.EventBus.get_default ().item_moved (picked_item, old_project_id, old_section_id, old_parent_id); } }); } else if (picked_item.project.source_type == SourceType.CALDAV) { var caldav_client = Services.CalDAV.Core.get_default ().get_client (picked_item.project.source); caldav_client.add_item.begin (picked_item, true, (obj, res) => { if (caldav_client.add_item.end (res).status) { target_item.collapsed = true; Services.Store.instance ().update_item (picked_widget.item); Services.EventBus.get_default ().item_moved (picked_item, old_project_id, old_section_id, old_parent_id); } }); } return true; })] = drop_target; } private void build_drop_magic_button_target () { drop_magic_button_target = new Gtk.DropTarget (typeof (Widgets.MagicButton), Gdk.DragAction.MOVE); itemrow_box.add_controller (drop_magic_button_target); dnd_handlerses[drop_magic_button_target.drop.connect ((value, x, y) => { var dialog = new Dialogs.QuickAdd (); dialog.for_base_object (item); dialog.present (Planify._instance.main_window); return true; })] = drop_magic_button_target; drop_order_magic_button_target = new Gtk.DropTarget (typeof (Widgets.MagicButton), Gdk.DragAction.MOVE); motion_top_grid.add_controller (drop_order_magic_button_target); dnd_handlerses[drop_order_magic_button_target.drop.connect ((value, x, y) => { var dialog = new Dialogs.QuickAdd () { position = get_index () }; if (item.has_parent) { dialog.for_base_object (item.parent); } else { if (item.section_id != "") { dialog.for_base_object (item.section); } else { dialog.for_base_object (item.project); } } signals_map[dialog.closed.connect (() => { motion_top_revealer.reveal_child = false; })] = dialog; dialog.present (Planify._instance.main_window); return true; })] = drop_order_magic_button_target; } private void build_drop_order_target () { drop_order_target = new Gtk.DropTarget (typeof (Layouts.ItemRow), Gdk.DragAction.MOVE); motion_top_grid.add_controller (drop_order_target); dnd_handlerses[drop_order_target.drop.connect ((value, x, y) => { var picked_widget = (Layouts.ItemRow) value; var target_widget = this; picked_widget.drag_end (); target_widget.drag_end (); Services.EventBus.get_default ().drag_items_end (item.project_id); if (picked_widget == target_widget || target_widget == null) { return false; } if (item.project.sorted_by != SortedByType.MANUAL) { item.project.sorted_by = SortedByType.MANUAL; Services.EventBus.get_default ().send_toast ( Util.get_default ().create_toast (_ ("Order changed to 'Custom sort order'")) ); item.project.update_local (); } string old_project_id = picked_widget.item.project_id; string old_section_id = picked_widget.item.section_id; string old_parent_id = picked_widget.item.parent_id; if (picked_widget.item.project_id != target_widget.item.project_id || picked_widget.item.section_id != target_widget.item.section_id || picked_widget.item.parent_id != target_widget.item.parent_id) { if (picked_widget.item.project_id != target_widget.item.project_id) { picked_widget.item.project_id = target_widget.item.project_id; } if (picked_widget.item.section_id != target_widget.item.section_id) { picked_widget.item.section_id = target_widget.item.section_id; } if (picked_widget.item.parent_id != target_widget.item.parent_id) { picked_widget.item.parent_id = target_widget.item.parent_id; } if (picked_widget.item.project.source_type == SourceType.LOCAL) { Services.Store.instance ().move_item (picked_widget.item, old_project_id, old_section_id, old_parent_id); } else if (picked_widget.item.project.source_type == SourceType.TODOIST) { string move_id = picked_widget.item.project_id; string move_type = "project_id"; if (picked_widget.item.section_id != "") { move_id = picked_widget.item.section_id; move_type = "section_id"; } if (picked_widget.item.has_parent) { move_id = picked_widget.item.parent_id; move_type = "parent_id"; } Services.Todoist.get_default ().move_item.begin (picked_widget.item, move_type, move_id, (obj, res) => { if (Services.Todoist.get_default ().move_item.end (res).status) { Services.Store.instance ().move_item (picked_widget.item, old_project_id, old_section_id, old_parent_id); } }); } else if (picked_widget.item.project.source_type == SourceType.CALDAV) { var caldav_client = Services.CalDAV.Core.get_default ().get_client (picked_widget.item.project.source); caldav_client.add_item.begin (picked_widget.item, true, (obj, res) => { if (caldav_client.add_item.end (res).status) { Services.Store.instance ().move_item (picked_widget.item, old_project_id, old_section_id, old_parent_id); } }); } } var source_list = (Gtk.ListBox) picked_widget.parent; source_list.remove (picked_widget); var target_list = (Gtk.ListBox) target_widget.parent; int new_index = target_widget.get_index (); target_list.insert (picked_widget, new_index); Utils.TaskUtils.update_single_item_order (target_list, picked_widget, new_index); Services.EventBus.get_default ().update_inserted_item_map (picked_widget, old_section_id, old_parent_id); return true; })] = drop_order_target; } public void disable_drag_and_drop () { drag_enabled = false; _disable_drag_and_drop (); subitems.disable_drag_and_drop (); } private void _disable_drag_and_drop () { if (drop_motion_ctrl != null) { remove_controller (drop_motion_ctrl); drop_motion_ctrl = null; } if (drag_source != null) { itemrow_box.remove_controller (drag_source); drag_source = null; } if (drop_target != null) { itemrow_box.remove_controller (drop_target); drop_target = null; } if (drop_magic_button_target != null) { itemrow_box.remove_controller (drop_magic_button_target); drop_magic_button_target = null; } if (drop_order_target != null) { motion_top_grid.remove_controller (drop_order_target); drop_order_target = null; } if (drop_order_magic_button_target != null) { motion_top_grid.remove_controller (drop_order_magic_button_target); drop_order_magic_button_target = null; } dnd_handlerses.clear (); } public void drag_begin () { itemrow_box.add_css_class ("drop-begin"); main_revealer.reveal_child = false; Services.EventBus.get_default ().drag_n_drop_active (item.project_id, true); } public void drag_end () { itemrow_box.remove_css_class ("drop-begin"); main_revealer.reveal_child = item.show_item; Services.EventBus.get_default ().drag_n_drop_active (item.project_id, false); } private void build_markdown_editor () { if (markdown_editor != null) { return; } markdown_editor = new Widgets.MarkdownEditor () { placeholder_text = _("Description"), project = item.project }; markdown_editor.text_view.height_request = 64; markdown_editor.margin_start = item.item_type == ItemType.TASK ? 24 : 0; markdown_editor.margin_end = 6; markdown_editor.margin_top = 3; markdown_editor.margin_bottom = 12; markdown_editor.is_editable = !item.completed && !item.project.is_deck; markdown_editor.set_text (item.description); markdown_editor.text_view.update_property (Gtk.AccessibleProperty.LABEL, item.description, -1); markdown_revealer.child = markdown_editor; markdown_revealer.reveal_child = true; build_markdown_signals (); } private void build_markdown_signals () { var description_gesture_click = new Gtk.GestureClick (); markdown_editor.add_controller (description_gesture_click); markdown_handlerses[description_gesture_click.released.connect ((n_press, x, y) => { description_gesture_click.set_state (Gtk.EventSequenceState.CLAIMED); markdown_editor.view_focus (); })] = description_gesture_click; markdown_handlerses[markdown_editor.escape_pressed.connect (() => { edit = false; })] = markdown_editor; markdown_handlerses[markdown_editor.text_changed.connect (() => { update_content_description (); })] = markdown_editor.buffer; } private void build_detail_widgets () { if (schedule_button != null) { return; } schedule_button = new Widgets.ScheduleButton () { sensitive = !item.completed }; deadline_button_detail = new Widgets.DeadlineButton.with_detail () { sensitive = !item.completed }; dates_box.append (schedule_button); dates_box.append (deadline_button_detail); priority_button = new Widgets.PriorityButton () { sensitive = !item.completed }; label_button = new Widgets.LabelPicker.LabelButton () { sensitive = !item.completed }; label_button.source = item.project.source; label_button.labels = item.get_labels_list (); reminder_button = new Widgets.ReminderPicker.ReminderButton () { sensitive = !item.completed }; deadline_button = new Widgets.DeadlineButton () { sensitive = !item.completed }; attachments = new Widgets.Attachments (); attachments.present_item (item); attachments_button = new Gtk.MenuButton () { icon_name = "mail-attachment-symbolic", tooltip_text = _ ("Add Attachments"), popover = new Gtk.Popover () { has_arrow = false, child = attachments, width_request = 350 }, css_classes = { "flat" }, sensitive = !item.completed }; attachments_count = new Gtk.Label (item.attachments.size.to_string ()) { css_classes = { "badge", "caption" }, width_request = 12, margin_end = 3, halign = END, valign = START, visible = item.attachments.size > 0 }; attachments_button_overlay = new Gtk.Overlay () { child = attachments_button }; attachments_button_overlay.add_overlay (attachments_count); action_box_right.remove (menu_button); action_box_right.append (attachments_button_overlay); action_box_right.append (label_button); action_box_right.append (priority_button); action_box_right.append (reminder_button); action_box_right.append (deadline_button); action_box_right.append (menu_button); schedule_button.update_from_item (item); priority_button.update_from_item (item); pin_button.update_from_item (item); reminder_button.set_reminders (item.reminders); deadline_button.datetime = item.deadline_datetime; deadline_button.reveal_content = !item.has_deadline; deadline_button_detail.datetime = item.deadline_datetime; deadline_button_detail.reveal_content = item.has_deadline; signals_map[schedule_button.duedate_changed.connect (() => { update_due (schedule_button.duedate); })] = schedule_button; signals_map[priority_button.changed.connect ((priority) => { if (item.priority != priority) { item.priority = priority; item.update_async (); } })] = priority_button; signals_map[label_button.labels_changed.connect ((labels) => { item.update_labels (labels); })] = label_button; signals_map[reminder_button.reminder_added.connect ((reminder) => { item.add_reminder (reminder); })] = reminder_button; signals_map[deadline_button.date_selected.connect ((date) => { update_deadline (date); })] = deadline_button; signals_map[deadline_button_detail.date_selected.connect ((date) => { update_deadline (date); })] = deadline_button_detail; signals_map[attachments.update_count.connect ((count) => { attachments_count.label = count <= 0 ? "" : count.to_string (); attachments_count.visible = count > 0; })] = attachments; signals_map[attachments.file_selector_opened.connect ((active) => { if (active) { attachments_button.popover.popdown (); } })] = attachments; } #if WITH_LIBSPELLING private void init_spelling_adapter () { if (spelling_adapter != null) return; var source_buffer = content_textview.buffer as GtkSource.Buffer; if (source_buffer == null) return; spelling_adapter = new Spelling.TextBufferAdapter (source_buffer, Spelling.Checker.get_default ()); content_textview.extra_menu = spelling_adapter.get_menu_model (); content_textview.insert_action_group ("spelling", spelling_adapter); spelling_adapter.enabled = Services.Settings.get_default ().settings.get_boolean ("spell-checking-enabled"); Services.Settings.get_default ().settings.changed["spell-checking-enabled"].connect (() => { if (spelling_adapter != null) { spelling_adapter.enabled = Services.Settings.get_default ().settings.get_boolean ("spell-checking-enabled"); } }); } #endif private void destroy_markdown_editor () { if (markdown_editor == null) { return; } markdown_editor.cleanup (); destroy_markdown_signals (); markdown_revealer.reveal_child = false; if (markdown_revealer.transition_duration > 0) { Timeout.add (markdown_revealer.transition_duration, () => { markdown_revealer.child = null; markdown_editor = null; return GLib.Source.REMOVE; }); } else { markdown_revealer.child = null; markdown_editor = null; } } private void destroy_markdown_signals () { foreach (var entry in markdown_handlerses.entries) { if (entry.value != null && GLib.SignalHandler.is_connected (entry.value, entry.key)) { try { entry.value.disconnect (entry.key); } catch (Error e) { warning ("Error disconnecting markdown signal: %s", e.message); } } } markdown_handlerses.clear (); } public override void clean_up () { foreach (var entry in signals_map.entries) { if (entry.value != null && GLib.SignalHandler.is_connected (entry.value, entry.key)) { try { entry.value.disconnect (entry.key); } catch (Error e) { warning ("Error disconnecting signal: %s", e.message); } } } signals_map.clear (); dnd_handlerses.clear (); destroy_markdown_editor (); destroy_markdown_signals (); subitems.clean_up (); if (attachments != null) attachments.clean_up (); if (item_labels != null) item_labels.clean_up (); if (schedule_button != null) schedule_button.clean_up (); if (priority_button != null) priority_button.clean_up (); if (label_button != null) label_button.clean_up (); if (reminder_button != null) reminder_button.clean_up (); markdown_editor = null; } } alainm23-planify-69962f8/src/Layouts/ItemSidebarView.vala000066400000000000000000000701421517337276100232160ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Layouts.ItemSidebarView : Adw.Bin { public Objects.Item item { get; set; } private Gtk.Button parent_back_button; private Gtk.Label parent_label; private Gtk.Revealer spinner_revealer; private Widgets.TextView content_textview; private Widgets.MarkdownEditor markdown_editor; private Gtk.Revealer markdown_editor_revealer; private Widgets.StatusButton status_button; private Widgets.ScheduleButton schedule_button; private Widgets.PriorityButton priority_button; private Widgets.LabelPicker.LabelButton label_button; private Widgets.PinButton pin_button; private Widgets.SectionPicker.SectionButton section_button; private Widgets.ReminderPicker.ReminderButton reminder_button; private Widgets.DeadlineButton deadline_button; private Widgets.SubItems subitems; private Widgets.Attachments attachments; private Widgets.ContextMenu.MenuSwitch use_note_item; private Widgets.ContextMenu.MenuItem copy_clipboard_item; private Widgets.ContextMenu.MenuItem duplicate_item; private Widgets.ContextMenu.MenuItem move_item; private Gee.HashMap signals_map = new Gee.HashMap (); private Gee.HashMap markdown_handlerses = new Gee.HashMap (); public string update_id { get; set; } public bool show_completed { get { return Services.Settings.get_default ().settings.get_boolean ("always-show-completed-subtasks"); } } construct { var previous_icon = new Gtk.Image.from_icon_name ("go-previous-symbolic"); parent_label = new Gtk.Label (null) { ellipsize = Pango.EllipsizeMode.END }; parent_label.add_css_class ("font-bold"); var parent_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6); parent_box.append (previous_icon); parent_box.append (parent_label); parent_back_button = new Gtk.Button () { child = parent_box, valign = Gtk.Align.CENTER }; parent_back_button.add_css_class ("flat"); var close_button = new Gtk.Button.from_icon_name ("step-out-symbolic") { tooltip_text = _("Close Detail") }; var menu_button = new Gtk.MenuButton () { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, icon_name = "view-more-symbolic" }; menu_button.popover = build_context_menu (); menu_button.add_css_class ("flat"); pin_button = new Widgets.PinButton (); var spinner = new Adw.Spinner () { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER }; spinner_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.CROSSFADE, child = spinner }; var headerbar = new Adw.HeaderBar () { title_widget = new Gtk.Label (null), hexpand = true, decoration_layout = ":" }; headerbar.pack_start (parent_back_button); headerbar.pack_end (close_button); headerbar.pack_end (menu_button); headerbar.pack_end (pin_button); headerbar.pack_end (spinner_revealer); content_textview = new Widgets.TextView () { left_margin = 12, right_margin = 12, top_margin = 12, bottom_margin = 12, height_request = 64, wrap_mode = Gtk.WrapMode.WORD, accepts_tab = false, placeholder_text = _("To-do name") }; content_textview.remove_css_class ("view"); content_textview.add_css_class ("card"); #if WITH_LIBSPELLING var source_buffer = new GtkSource.Buffer (null); content_textview.buffer = source_buffer; var adapter = new Spelling.TextBufferAdapter (source_buffer, Spelling.Checker.get_default ()); content_textview.extra_menu = adapter.get_menu_model (); content_textview.insert_action_group ("spelling", adapter); adapter.enabled = Services.Settings.get_default ().settings.get_boolean ("spell-checking-enabled"); Services.Settings.get_default ().settings.changed["spell-checking-enabled"].connect (() => { adapter.enabled = Services.Settings.get_default ().settings.get_boolean ("spell-checking-enabled"); }); #endif var content_group = new Adw.PreferencesGroup () { margin_start = 12, margin_end = 12 }; content_group.title = _("Title"); content_group.add (content_textview); status_button = new Widgets.StatusButton (); section_button = new Widgets.SectionPicker.SectionButton (); schedule_button = new Widgets.ScheduleButton.for_board (); priority_button = new Widgets.PriorityButton.for_board (); label_button = new Widgets.LabelPicker.LabelButton.for_board (); reminder_button = new Widgets.ReminderPicker.ReminderButton.for_board (); deadline_button = new Widgets.DeadlineButton.card (); var properties_grid = new Gtk.Grid () { column_homogeneous = true, column_spacing = 12, row_homogeneous = true, row_spacing = 12 }; properties_grid.attach (status_button, 0, 0); properties_grid.attach (section_button, 1, 0); properties_grid.attach (schedule_button, 0, 1); properties_grid.attach (priority_button, 1, 1); properties_grid.attach (label_button, 0, 2); properties_grid.attach (reminder_button, 1, 2); properties_grid.attach (deadline_button, 0, 3); var properties_group = new Adw.PreferencesGroup () { margin_start = 12, margin_end = 12, margin_top = 12 }; properties_group.title = _("Properties"); properties_group.add (properties_grid); markdown_editor_revealer = new Gtk.Revealer (); var description_title = new Gtk.Label (_("Description")) { halign = START, hexpand = true, ellipsize = END, margin_start = 3, margin_end = 3 }; description_title.add_css_class ("heading"); var expand_button = new Gtk.Button.from_icon_name ("four-arrows-pointing-outward-symbolic") { valign = CENTER, tooltip_text = _("Expand Description") }; expand_button.add_css_class ("flat"); expand_button.add_css_class ("caption"); var description_header = new Gtk.Box (HORIZONTAL, 0) { margin_start = 3, margin_end = 3 }; description_header.append (description_title); description_header.append (expand_button); var description_group = new Gtk.Box (VERTICAL, 6) { margin_start = 9, margin_end = 9, margin_top = 12 }; description_group.append (description_header); description_group.append (markdown_editor_revealer); expand_button.clicked.connect (() => { open_description_dialog (); }); subitems = new Widgets.SubItems.for_board () { margin_top = 12 }; attachments = new Widgets.Attachments (true) { margin_top = 12, card = true }; var content = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { valign = Gtk.Align.START, margin_bottom = 24, margin_start = 6, margin_end = 6 }; content.append (content_group); content.append (properties_group); content.append (description_group); content.append (subitems); content.append (attachments); var scrolled_window = new Widgets.ScrolledWindow (content); var toolbar_view = new Adw.ToolbarView () { bottom_bar_style = Adw.ToolbarStyle.RAISED_BORDER, reveal_bottom_bars = false }; toolbar_view.add_top_bar (headerbar); toolbar_view.content = scrolled_window; child = toolbar_view; close_button.clicked.connect (() => { Services.EventBus.get_default ().close_item (); }); var content_controller_key = new Gtk.EventControllerKey (); content_textview.add_controller (content_controller_key); content_controller_key.key_released.connect ((keyval, keycode, state) => { update_content_description (); }); schedule_button.duedate_changed.connect (() => { update_due (schedule_button.duedate); }); priority_button.changed.connect ((priority) => { if (item.priority != priority) { item.priority = priority; if (item.project.source_type == SourceType.TODOIST || item.project.source_type == SourceType.CALDAV) { item.update_async (""); } else { item.update_local (); } } }); label_button.labels_changed.connect ((labels) => { update_labels (labels); }); pin_button.changed.connect (() => { item.update_pin (!item.pinned); }); section_button.selected.connect ((section) => { move (item.project, section.id, ""); }); reminder_button.reminder_added.connect ((reminder) => { reminder.item_id = item.id; if (item.project.source_type == SourceType.TODOIST) { item.loading = true; Services.Todoist.get_default ().add.begin (reminder, (obj, res) => { HttpResponse response = Services.Todoist.get_default ().add.end (res); item.loading = false; if (response.status) { reminder.id = response.data; } else { reminder.id = Util.get_default ().generate_id (reminder); } item.add_reminder_if_not_exists (reminder); }); } else { reminder.id = Util.get_default ().generate_id (reminder); item.add_reminder_if_not_exists (reminder); } }); status_button.changed.connect ((active) => { checked_toggled (active); }); parent_back_button.clicked.connect (() => { if (item.has_parent) { Services.EventBus.get_default ().open_item (item.parent); } else { Services.EventBus.get_default ().close_item (); } }); if (Services.Settings.get_default ().settings.get_boolean ("always-show-details-sidebar")) { init_markdown_editor (); } } private void update_content_description () { if (item.content != content_textview.get_text () || item.description != markdown_editor.get_text ().chomp ()) { item.content = content_textview.get_text (); item.item_type = item.content.has_prefix ("* ") ? ItemType.NOTE : ItemType.TASK; use_note_item.active = item.item_type == ItemType.NOTE; item.description = markdown_editor.get_text ().chomp (); item.update_async_timeout (update_id); } } public void present_item (Objects.Item _item) { bool always_show = Services.Settings.get_default ().settings.get_boolean ("always-show-details-sidebar"); if (always_show) { clean_up (); } item = _item; update_id = Util.get_default ().generate_id (); if (!always_show) { build_markdown_editor (); } label_button.source = item.project.source; update_request (); subitems.present_item (item); subitems.reveal_child = true; attachments.present_item (item); spinner_revealer.reveal_child = false; if (item.has_parent) { parent_label.label = item.parent.content; parent_label.tooltip_text = item.parent.content; } else { if (item.section_id != "") { parent_label.label = item.section.name; parent_label.tooltip_text = item.section.name; } else { parent_label.label = item.project.name; parent_label.tooltip_text = item.project.name; } } content_textview.grab_focus (); signals_map[Services.EventBus.get_default ().checked_toggled.connect ((_item) => { if (item.id == _item.id) { update_request (); } })] = Services.EventBus.get_default (); signals_map[item.updated.connect ((_update_id) => { if (update_id != _update_id) { update_request (); } })] = item; signals_map[item.pin_updated.connect (() => { pin_button.update_from_item (item); })] = item; signals_map[item.reminder_added.connect ((reminder) => { reminder_button.add_reminder (reminder, item.reminders); })] = item; signals_map[item.reminder_deleted.connect ((reminder) => { reminder_button.delete_reminder (reminder, item.reminders); })] = item; signals_map[item.loading_change.connect (() => { spinner_revealer.reveal_child = item.loading; })] = item; signals_map[deadline_button.date_selected.connect ((date) => { update_deadline (date); })] = deadline_button; } public void clean_up () { foreach (var entry in signals_map.entries) { entry.value.disconnect (entry.key); } signals_map.clear (); subitems.clean_up (); attachments.clean_up (); destroy_markdown_signals (); if (!Services.Settings.get_default ().settings.get_boolean ("always-show-details-sidebar")) { destroy_markdown_editor (); } } public void update_request () { content_textview.set_text (item.content); if (markdown_editor != null) { destroy_markdown_signals (); markdown_editor.set_text (item.description); build_markdown_signals (); } schedule_button.update_from_item (item); priority_button.update_from_item (item); status_button.update_from_item (item); label_button.labels = item.get_labels_list (); label_button.update_tooltip_from_item (item); pin_button.update_from_item (item); section_button.set_sections (item.project.sections); section_button.update_from_item (item); reminder_button.set_reminders (item.reminders); deadline_button.datetime = item.deadline_datetime; content_textview.editable = !item.completed; markdown_editor.is_editable = !item.completed; schedule_button.sensitive = !item.completed; priority_button.sensitive = !item.completed; label_button.sensitive = !item.completed; pin_button.sensitive = !item.completed; section_button.sensitive = !item.completed; reminder_button.sensitive = !item.completed; copy_clipboard_item.sensitive = !item.completed; duplicate_item.sensitive = !item.completed; move_item.sensitive = !item.completed; subitems.add_button.sensitive = !item.completed; attachments.add_button.sensitive = !item.completed; use_note_item.active = item.item_type == ItemType.NOTE; status_button.sensitive = item.item_type == ItemType.TASK; parent_back_button.visible = item.has_parent; deadline_button.sensitive = !item.completed; if (item.completed) { deadline_button.remove_error_style (); } } public void update_due (Objects.DueDate duedate) { if (item == null) { return; } item.update_due (duedate); } public void update_labels (Gee.HashMap new_labels) { bool update = false; foreach (var entry in new_labels.entries) { if (item.get_label (entry.key) == null) { item.add_label_if_not_exists (entry.value); update = true; } } foreach (var label in item.get_labels_list ()) { if (!new_labels.has_key (label.id)) { item.delete_item_label (label.id); update = true; } } if (!update) { return; } item.update_async (""); } private Gtk.Popover build_context_menu () { use_note_item = new Widgets.ContextMenu.MenuSwitch (_("Use as a Note"), "paper-symbolic"); copy_clipboard_item = new Widgets.ContextMenu.MenuItem (_("Copy to Clipboard"), "clipboard-symbolic"); duplicate_item = new Widgets.ContextMenu.MenuItem (_("Duplicate"), "tabs-stack-symbolic"); move_item = new Widgets.ContextMenu.MenuItem (_("Move"), "arrow3-right-symbolic"); var delete_item = new Widgets.ContextMenu.MenuItem (_("Delete Task"), "user-trash-symbolic"); delete_item.add_css_class ("menu-item-danger"); var more_information_item = new Widgets.ContextMenu.MenuItem (_("Change History"), "rotation-edit-symbolic"); var popover = new Gtk.Popover () { has_arrow = false, position = Gtk.PositionType.BOTTOM, width_request = 250 }; var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; menu_box.append (use_note_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (copy_clipboard_item); menu_box.append (duplicate_item); menu_box.append (move_item); menu_box.append (delete_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (more_information_item); popover.child = menu_box; use_note_item.activate_item.connect (() => { item.item_type = use_note_item.active ? ItemType.NOTE : ItemType.TASK; item.update_local (); }); copy_clipboard_item.clicked.connect (() => { item.copy_clipboard (); }); duplicate_item.clicked.connect (() => { Util.get_default ().duplicate_item.begin (item, item.project_id, item.section_id, item.parent_id); }); move_item.clicked.connect (() => { Dialogs.ProjectPicker.ProjectPicker dialog; if (item.project.is_inbox_project) { dialog = new Dialogs.ProjectPicker.ProjectPicker.for_projects (); } else { dialog = new Dialogs.ProjectPicker.ProjectPicker.for_source (item.source); } dialog.project = item.project; dialog.present (Planify._instance.main_window); dialog.changed.connect ((type, id) => { if (type == "project") { move (Services.Store.instance ().get_project (id), ""); } else { move (item.project, id); } }); }); delete_item.activate_item.connect (() => { delete_request (); }); more_information_item.activate_item.connect (() => { var dialog = new Dialogs.ItemChangeHistory (item); dialog.present (Planify._instance.main_window); }); return popover; } public void move (Objects.Project project, string section_id, string parent_id = "") { string project_id = project.id; if (item.project.source_id != project.source_id) { Util.get_default ().move_backend_type_item.begin (item, project); } else { if (item.project_id != project_id || item.section_id != section_id || item.parent_id != parent_id) { item.move (project, section_id); } } } public void delete_request (bool undo = true) { var dialog = new Adw.AlertDialog ( _("Are you sure you want to delete?"), _("This can not be undone") ); dialog.add_response ("cancel", _("Cancel")); dialog.add_response ("delete", _("Delete")); dialog.set_response_appearance ("delete", Adw.ResponseAppearance.DESTRUCTIVE); dialog.present (Planify._instance.main_window); dialog.response.connect ((response) => { if (response == "delete") { item.delete_item (); Services.EventBus.get_default ().close_item (); } }); } public void prepare_new_item (string content = "") { var dialog = new Dialogs.QuickAdd (); dialog.for_base_object (item); dialog.update_content (content); dialog.present (Planify._instance.main_window); } public void checked_toggled (bool active) { bool old_checked = item.checked; if (active) { complete_item (old_checked); } else { var old_completed_at = item.completed_at; item.checked = false; item.completed_at = ""; _complete_item.begin (old_checked, old_completed_at); } } private void complete_item (bool old_checked) { if (Services.Settings.get_default ().settings.get_boolean ("task-complete-tone")) { Util.get_default ().play_audio (); } if (item.due.is_recurring && !item.due.is_recurrency_end) { update_next_recurrency (); } else { var old_completed_at = item.completed_at; item.checked = true; item.completed_at = new GLib.DateTime.now_local ().to_string (); _complete_item.begin (old_checked, old_completed_at); } } private async void _complete_item (bool old_checked, string old_completed_at) { HttpResponse response = yield item.complete_item (old_checked); if (!response.status) { _complete_item_error (response, old_checked, old_completed_at); } } private void _complete_item_error (HttpResponse response, bool old_checked, string old_completed_at) { item.checked = old_checked; item.completed_at = old_completed_at; Services.EventBus.get_default ().send_error_toast (response.error_code, response.error); } private void update_next_recurrency () { var promise = new Services.Promise (); promise.resolved.connect ((result) => { recurrency_update_complete (result); }); item.update_next_recurrency (promise); } private void recurrency_update_complete (GLib.DateTime next_recurrency) { var title = _("Completed. Next occurrence: %s".printf (Utils.Datetime.get_default_date_format_from_date (next_recurrency))); var toast = Util.get_default ().create_toast (title, 3); Services.EventBus.get_default ().send_toast (toast); } private void init_markdown_editor () { markdown_editor = new Widgets.MarkdownEditor () { project = item.project }; markdown_editor.text_view.height_request = 64; markdown_editor.margin_start = 12; markdown_editor.margin_end = 12; markdown_editor.margin_top = 12; markdown_editor.margin_bottom = 12; var markdown_editor_card = new Adw.Bin () { child = markdown_editor, margin_top = 3, margin_start = 3, margin_end = 3, margin_bottom = 3 }; markdown_editor_card.add_css_class ("card"); markdown_editor_revealer.child = markdown_editor_card; markdown_editor_revealer.reveal_child = true; } private void build_markdown_editor () { if (markdown_editor != null) { return; } markdown_editor = new Widgets.MarkdownEditor () { project = item.project }; markdown_editor.text_view.height_request = 64; markdown_editor.margin_start = 12; markdown_editor.margin_end = 12; markdown_editor.margin_top = 12; markdown_editor.margin_bottom = 12; markdown_editor.set_text (item.description); var markdown_editor_card = new Adw.Bin () { child = markdown_editor, margin_top = 3, margin_start = 3, margin_end = 3, margin_bottom = 3 }; markdown_editor_card.add_css_class ("card"); markdown_editor_revealer.child = markdown_editor_card; markdown_editor_revealer.reveal_child = true; build_markdown_signals (); } private void build_markdown_signals () { markdown_handlerses[markdown_editor.text_changed.connect (() => { update_content_description (); })] = markdown_editor.buffer; } private void destroy_markdown_editor () { if (markdown_editor != null) { markdown_editor.cleanup (); } destroy_markdown_signals (); markdown_editor_revealer.reveal_child = false; Timeout.add (markdown_editor_revealer.transition_duration, () => { markdown_editor_revealer.child = null; markdown_editor = null; return GLib.Source.REMOVE; }); } private void destroy_markdown_signals () { foreach (var entry in markdown_handlerses.entries) { if (entry.value != null && GLib.SignalHandler.is_connected (entry.value, entry.key)) { try { entry.value.disconnect (entry.key); } catch (Error e) { warning ("Error disconnecting markdown signal: %s", e.message); } } } markdown_handlerses.clear (); } public void update_deadline (GLib.DateTime ? date) { item.deadline_date = date == null ? "" : date.to_string (); item.update_async (); } private void open_description_dialog () { var editor = new Widgets.MarkdownEditor () { project = item.project, margin_start = 16, margin_end = 16, margin_top = 16, margin_bottom = 16 }; editor.text_view.height_request = 300; editor.set_text (item.description); editor.is_editable = !item.completed; var scrolled = new Gtk.ScrolledWindow () { hexpand = true, vexpand = true, child = editor }; var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (new Adw.HeaderBar ()); toolbar_view.content = scrolled; var dialog = new Adw.Dialog () { title = item.content, content_width = 700, content_height = 500 }; dialog.child = toolbar_view; dialog.present (Planify._instance.main_window); editor.escape_pressed.connect (() => { dialog.close (); }); dialog.closed.connect (() => { var new_description = editor.get_text ().chomp (); if (item.description != new_description) { item.description = new_description; item.update_async_timeout (update_id); if (markdown_editor != null) { destroy_markdown_signals (); markdown_editor.set_text (item.description); build_markdown_signals (); } } }); } } alainm23-planify-69962f8/src/Layouts/LabelRow.vala000066400000000000000000000156701517337276100217070ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Layouts.LabelRow : Gtk.ListBoxRow { public Objects.Label label { get; construct; } private Gtk.Label name_label; private Gtk.Label count_label; private Gtk.Revealer count_revealer; private Gtk.Revealer main_revealer; private Gtk.Image widget_color; private Gtk.Box handle_grid; private Widgets.ReorderChild reorder; private Gee.HashMap signal_map = new Gee.HashMap (); public LabelRow (Objects.Label label) { Object ( label: label ); } ~LabelRow () { debug ("Destroying - Layouts.LabelRow\n"); } construct { css_classes = { "row", "transition", "no-padding" }; widget_color = new Gtk.Image.from_icon_name ("tag-outline-symbolic") { css_classes = { "icon-color" }, valign = Gtk.Align.CENTER, }; name_label = new Gtk.Label (label.name) { valign = Gtk.Align.CENTER, ellipsize = Pango.EllipsizeMode.END }; count_label = new Gtk.Label (label.label_count.to_string ()) { hexpand = true, halign = Gtk.Align.END }; count_revealer = new Gtk.Revealer () { reveal_child = int.parse (count_label.label) > 0, transition_type = Gtk.RevealerTransitionType.CROSSFADE, child = count_label }; var menu_button = new Gtk.MenuButton () { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, popover = build_context_menu (), icon_name = "view-more-symbolic", css_classes = { "flat", "header-item-button", "dimmed" } }; var loading_button = new Widgets.LoadingButton.with_icon ("go-next-symbolic", 16) { valign = Gtk.Align.CENTER, css_classes = { "flat", "dimmed", "no-padding" } }; var buttons_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6); buttons_box.append (menu_button); buttons_box.append (loading_button); handle_grid = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_start = 6, margin_end = 6, margin_top = 3, margin_bottom = 3 }; handle_grid.append (widget_color); handle_grid.append (name_label); handle_grid.append (count_revealer); handle_grid.append (buttons_box); reorder = new Widgets.ReorderChild (handle_grid, this); main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = reorder }; child = main_revealer; reorder.build_drag_and_drop (); update_request (); Timeout.add (main_revealer.transition_duration, () => { main_revealer.reveal_child = true; return GLib.Source.REMOVE; }); signal_map[label.updated.connect (() => { update_request (); })] = label; signal_map[label.label_count_updated.connect (() => { count_label.label = label.label_count.to_string (); count_revealer.reveal_child = int.parse (count_label.label) > 0; })] = label; signal_map[reorder.on_drop_end.connect ((listbox) => { update_labels_item_order (listbox); })] = reorder; signal_map[label.loading_change.connect (() => { loading_button.is_loading = label.loading; })] = label; signal_map[loading_button.clicked.connect (() => { Services.EventBus.get_default ().pane_selected (PaneType.LABEL, label.id); })] = loading_button; signal_map[main_revealer.notify["child-revealed"].connect (() => { reorder.draw_motion_widgets (); })] = main_revealer; } public void update_request () { name_label.label = label.name; Util.get_default ().set_widget_color (Util.get_default ().get_color (label.color), widget_color); } private void update_labels_item_order (Gtk.ListBox listbox) { unowned Layouts.LabelRow ? label_row = null; var row_index = 0; do { label_row = (Layouts.LabelRow) listbox.get_row_at_index (row_index); if (label_row != null) { label_row.label.item_order = row_index; Services.Store.instance ().update_label (label_row.label); } row_index++; } while (label_row != null); } private Gtk.Popover build_context_menu () { var edit_item = new Widgets.ContextMenu.MenuItem (_("Edit Label"), "edit-symbolic"); var delete_item = new Widgets.ContextMenu.MenuItem (_("Delete Label"), "user-trash-symbolic"); delete_item.add_css_class ("menu-item-danger"); var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; menu_box.append (edit_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (delete_item); var menu_popover = new Gtk.Popover () { has_arrow = false, child = menu_box, position = Gtk.PositionType.BOTTOM, width_request = 250 }; signal_map[edit_item.clicked.connect (() => { var dialog = new Dialogs.Label (label); dialog.present (Planify._instance.main_window); })] = edit_item; signal_map[delete_item.clicked.connect (() => { label.delete_label.begin (Planify._instance.main_window); })] = delete_item; return menu_popover; } public void hide_destroy () { main_revealer.reveal_child = false; clean_up (); Timeout.add (main_revealer.transition_duration, () => { ((Gtk.ListBox) parent).remove (this); return GLib.Source.REMOVE; }); } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); if (reorder != null) { reorder.clean_up (); reorder = null; } } } alainm23-planify-69962f8/src/Layouts/ProjectContainerRow.vala000066400000000000000000000044271517337276100241370ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Layouts.ProjectContainerRow : Gtk.ListBoxRow { public Objects.Project project { get; construct; } public bool show_subprojects { get; construct; } public bool drag_n_drop { get; construct; } private Gtk.Revealer main_revealer; public ProjectContainerRow (Objects.Project project, bool show_subprojects = true, bool drag_n_drop = true) { Object ( project: project, show_subprojects: show_subprojects, drag_n_drop: drag_n_drop ); } ~ProjectContainerRow () { debug ("Destroying Layouts.ProjectContainerRow\n"); } construct { css_classes = { "no-selectable", "no-padding" }; var listbox = new Gtk.ListBox () { css_classes = { "listbox-background" } }; listbox.append (new Layouts.ProjectRow (project, drag_n_drop)); main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = listbox }; child = main_revealer; Timeout.add (main_revealer.transition_duration, () => { main_revealer.reveal_child = true; return GLib.Source.REMOVE; }); } public void hide_destroy () { main_revealer.reveal_child = false; Timeout.add (main_revealer.transition_duration, () => { ((Gtk.ListBox) parent).remove (this); return GLib.Source.REMOVE; }); } } alainm23-planify-69962f8/src/Layouts/ProjectRow.vala000066400000000000000000000760741517337276100223030ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Layouts.ProjectRow : Gtk.ListBoxRow { public Objects.Project project { get; construct; } public bool show_subprojects { get; construct; } public bool drag_n_drop { get; construct; } private Widgets.IconColorProject icon_project; private Gtk.Label name_label; private Gtk.Label count_label; private Gtk.Revealer count_revealer; private Gtk.Button arrow_button; private Gtk.Revealer arrow_revealer; private Gtk.ListBox listbox; private Adw.Bin handle_grid; private Gtk.Revealer listbox_revealer; private Gtk.Label due_label; private Gtk.Stack menu_stack; private Gtk.Revealer loading_revealer; public Gtk.Box main_content; public Gtk.Revealer main_revealer; private Gtk.Popover menu_popover = null; private Widgets.ContextMenu.MenuItem favorite_item; private Gtk.Grid motion_top_grid; private Gtk.Revealer motion_top_revealer; public Gtk.Grid drop_target_end; public Gtk.Revealer drop_target_end_revealer; public Gee.HashMap subprojects_hashmap = new Gee.HashMap (); private Gee.HashMap signals_map = new Gee.HashMap (); private bool has_subprojects { get { return project.subprojects.size > 0; } } public bool reveal_child { set { main_revealer.reveal_child = value; } get { return main_revealer.reveal_child; } } public bool is_loading { set { loading_revealer.reveal_child = value; } get { return loading_revealer.reveal_child; } } public ProjectRow (Objects.Project project, bool show_subprojects = true, bool drag_n_drop = true) { Object ( project: project, show_subprojects: show_subprojects, drag_n_drop: drag_n_drop ); } ~ProjectRow () { debug ("Destroying Layouts.ProjectRow\n"); } construct { css_classes = { "row", "transition", "no-padding" }; motion_top_grid = new Gtk.Grid () { height_request = 27, css_classes = { "drop-target" }, margin_bottom = 3 }; motion_top_revealer = new Gtk.Revealer () { transition_type = SLIDE_UP, transition_duration = 150, child = motion_top_grid }; icon_project = new Widgets.IconColorProject (22); icon_project.project = project; name_label = new Gtk.Label (project.name) { valign = Gtk.Align.CENTER, ellipsize = Pango.EllipsizeMode.END, hexpand = true, halign = Gtk.Align.START, }; count_label = new Gtk.Label (null) { hexpand = true, margin_end = 3, halign = Gtk.Align.CENTER, css_classes = { "caption", "dimmed" } }; count_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.CROSSFADE, child = count_label }; arrow_button = new Gtk.Button () { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, css_classes = { "flat", "transparent", "hidden-button", "no-padding", "dimmed" }, margin_start = 6, child = new Gtk.Image.from_icon_name ("go-next-symbolic") { pixel_size = 12 } }; arrow_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_RIGHT, child = arrow_button, reveal_child = has_subprojects }; if (project.collapsed) { arrow_button.add_css_class ("opened"); } menu_stack = new Gtk.Stack () { transition_type = Gtk.StackTransitionType.CROSSFADE }; due_label = new Gtk.Label (null) { use_markup = true, valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, css_classes = { "pane-due-button", "caption" } }; menu_stack.add_named (due_label, "due_label"); menu_stack.add_named (count_revealer, "count_revealer"); var end_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { hexpand = true, halign = END }; end_box.append (menu_stack); end_box.append (arrow_revealer); var loading_spinner = new Adw.Spinner () { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, margin_end = 6 }; loading_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_RIGHT, child = loading_spinner }; var projectrow_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_end = 3, margin_start = 3, margin_top = 3, margin_bottom = 3 }; projectrow_box.append (icon_project); projectrow_box.append (name_label); projectrow_box.append (end_box); projectrow_box.append (loading_revealer); handle_grid = new Adw.Bin () { css_classes = { "transition", "selectable-item", "drop-target" }, child = projectrow_box }; listbox = new Gtk.ListBox () { hexpand = true, css_classes = { "bg-transparent" } }; var listbox_grid = new Adw.Bin () { margin_start = 12, child = listbox }; listbox_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, reveal_child = project.collapsed, child = listbox_grid }; drop_target_end = new Gtk.Grid () { height_request = 27, css_classes = { "drop-target" }, margin_top = 3 }; drop_target_end_revealer = new Gtk.Revealer () { transition_type = SLIDE_UP, transition_duration = 150, child = drop_target_end }; main_content = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); main_content.append (handle_grid); main_content.append (listbox_revealer); main_content.append (drop_target_end_revealer); var box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); box.append (motion_top_revealer); box.append (main_content); main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = box }; child = main_revealer; update_request (); update_count_label (project.item_count); Services.Settings.get_default ().settings.bind ("show-tasks-count", count_revealer, "reveal_child", GLib.SettingsBindFlags.DEFAULT); if (drag_n_drop) { build_drag_and_drop (); } if (show_subprojects) { add_subprojects (); } Timeout.add (main_revealer.transition_duration, () => { main_revealer.reveal_child = !project.is_inbox_project; return GLib.Source.REMOVE; }); var select_gesture = new Gtk.GestureClick (); handle_grid.add_controller (select_gesture); signals_map[select_gesture.released.connect (() => { Services.EventBus.get_default ().pane_selected (PaneType.PROJECT, project.id); })] = select_gesture; signals_map[activate.connect (() => { Services.EventBus.get_default ().pane_selected (PaneType.PROJECT, project.id); })] = this; var menu_gesture = new Gtk.GestureClick () { button = 3 }; handle_grid.add_controller (menu_gesture); signals_map[menu_gesture.pressed.connect ((n_press, x, y) => { build_context_menu (x, y); })] = menu_gesture; var arrow_gesture = new Gtk.GestureClick (); arrow_button.add_controller (arrow_gesture); signals_map[arrow_gesture.pressed.connect (() => { arrow_gesture.set_state (Gtk.EventSequenceState.CLAIMED); listbox_revealer.reveal_child = !listbox_revealer.reveal_child; update_listbox_revealer (); project.update_local (); })] = arrow_gesture; signals_map[Services.EventBus.get_default ().pane_selected.connect ((pane_type, id) => { if (pane_type == PaneType.PROJECT && project.id == id) { handle_grid.add_css_class ("selected"); } else { handle_grid.remove_css_class ("selected"); } })] = Services.EventBus.get_default (); signals_map[project.updated.connect (update_request)] = project; signals_map[project.deleted.connect (hide_destroy)] = project; signals_map[project.archived.connect (hide_destroy)] = project; signals_map[project.count_updated.connect (() => { update_count_label (project.item_count); icon_project.update_request (); })] = project; signals_map[project.subproject_added.connect ((subproject) => { add_subproject (subproject); })] = project; signals_map[Services.EventBus.get_default ().project_parent_changed.connect ((_project, old_parent_id, collapsed) => { if (old_parent_id == project.id) { if (subprojects_hashmap.has_key (_project.id)) { subprojects_hashmap[_project.id].hide_destroy (); subprojects_hashmap.unset (_project.id); } } if (_project.parent_id == project.id) { add_subproject (_project); if (collapsed) { project.collapsed = true; arrow_button.add_css_class ("opened"); } } arrow_revealer.reveal_child = has_subprojects; })] = Services.EventBus.get_default (); signals_map[Services.EventBus.get_default ().update_inserted_project_map.connect ((_row, old_parent_id) => { var row = (Layouts.ProjectRow) _row; if (old_parent_id == project.id) { if (subprojects_hashmap.has_key (row.project.id)) { subprojects_hashmap.unset (row.project.id); } } arrow_revealer.reveal_child = has_subprojects; })] = Services.EventBus.get_default (); signals_map[project.loading_change.connect (() => { is_loading = project.loading; })] = project; signals_map[Services.EventBus.get_default ().projects_drag_end.connect ((source_id) => { if (project.source_id == source_id) { motion_top_revealer.reveal_child = false; } })] = Services.EventBus.get_default (); Services.EventBus.get_default ().projects_drag_begin.connect ((source_id) => { if (source_id == project.source.id) { var listbox_parent = parent as Gtk.ListBox; if (listbox_parent == null) { return; } var children_count = (int) Util.get_default ().get_children (listbox_parent).length (); bool is_last = (get_index () == children_count - 1); if (is_last && project.parent_id != "") { drop_target_end_revealer.reveal_child = true; } } }); Services.EventBus.get_default ().projects_drag_end.connect ((source_id) => { if (source_id == project.source.id) { drop_target_end_revealer.reveal_child = false; } }); Services.Settings.get_default ().settings.changed["local-inbox-project-id"].connect (() => { update_request (); main_revealer.reveal_child = !project.is_inbox_project; }); destroy.connect (() => { foreach (var entry in signals_map.entries) { entry.value.disconnect (entry.key); } signals_map.clear (); }); } private void update_count_label (int count) { count_label.label = count <= 0 ? "" : count.to_string (); } private void build_drag_and_drop () { // Motion Drop build_drop_motion (); // Drag Souyrce build_drag_source (); // Magic Button var drop_magic_button_target = new Gtk.DropTarget (typeof (Widgets.MagicButton), Gdk.DragAction.MOVE); handle_grid.add_controller (drop_magic_button_target); signals_map[drop_magic_button_target.drop.connect ((value, x, y) => { var dialog = new Dialogs.Project.new (project.source_id, false, project.id); dialog.present (Planify._instance.main_window); return true; })] = drop_magic_button_target; // Drop build_drop_project_target (); build_drop_item_target (); // Drop Order var drop_order_target = new Gtk.DropTarget (typeof (Layouts.ProjectRow), Gdk.DragAction.MOVE); motion_top_grid.add_controller (drop_order_target); signals_map[drop_order_target.drop.connect ((value, x, y) => { return on_order_drop (value, x, y, false); })] = drop_order_target; var drop_order_end_target = new Gtk.DropTarget (typeof (Layouts.ProjectRow), Gdk.DragAction.MOVE); drop_target_end.add_controller (drop_order_end_target); signals_map[drop_order_end_target.drop.connect ((value, x, y) => { return on_order_drop (value, x, y, true); })] = drop_order_end_target; } private bool on_order_drop (GLib.Value value, double x, double y, bool bottom = false) { var picked_widget = (Layouts.ProjectRow) value; var target_widget = this; // fix #1131 Services.EventBus.get_default ().projects_drag_end (target_widget.project.source_id); var picked_project = picked_widget.project; var target_project = target_widget.project; if (picked_widget == target_widget || target_widget == null) { return false; } var projects_sort = Services.Settings.get_default ().settings.get_enum ("projects-sort-by"); if (projects_sort != 0) { Services.Settings.get_default ().settings.set_enum ("projects-sort-by", 0); Services.EventBus.get_default ().send_toast ( Util.get_default ().create_toast (_("Projects sort changed to 'Custom sort order'")) ); } var source_list = (Gtk.ListBox) picked_widget.parent; var target_list = (Gtk.ListBox) target_widget.parent; string old_parent_id = picked_project.parent_id; if (picked_project.parent_id != target_project.parent_id) { picked_project.parent_id = target_project.parent_id; if (picked_project.source_type == SourceType.TODOIST) { Services.Todoist.get_default ().move_project_section.begin (picked_project, target_project.parent_id, (obj, res) => { if (Services.Todoist.get_default ().move_project_section.end (res).status) { Services.Store.instance ().update_project (picked_project); Services.EventBus.get_default ().update_inserted_project_map (picked_widget, old_parent_id); } }); } else { Services.Store.instance ().update_project (picked_project); Services.EventBus.get_default ().update_inserted_project_map (picked_widget, old_parent_id); } } source_list.remove (picked_widget); target_list.insert (picked_widget, target_widget.get_index () + (bottom ? 1 : 0)); update_projects_child_order (target_list); return true; } private void build_drop_motion () { var drop_motion_ctrl = new Gtk.DropControllerMotion (); add_controller (drop_motion_ctrl); signals_map[drop_motion_ctrl.motion.connect ((x, y) => { var drop = drop_motion_ctrl.get_drop (); try { GLib.Value value = Value (typeof (Gtk.Widget)); drop.drag.content.get_value (ref value); if (value.dup_object () is Layouts.ProjectRow) { var picked_widget = (Layouts.ProjectRow) value; if (picked_widget.project.source_id == project.source_id) { motion_top_revealer.reveal_child = drop_motion_ctrl.contains_pointer; } } } catch (Error e) { debug (e.message); } })] = drop_motion_ctrl; signals_map[drop_motion_ctrl.leave.connect (() => { motion_top_revealer.reveal_child = false; })] = drop_motion_ctrl; } private void build_drag_source () { var drag_source = new Gtk.DragSource (); drag_source.set_actions (Gdk.DragAction.MOVE); handle_grid.add_controller (drag_source); signals_map[drag_source.prepare.connect ((source, x, y) => { return new Gdk.ContentProvider.for_value (this); })] = drag_source; signals_map[drag_source.drag_begin.connect ((source, drag) => { var paintable = new Gtk.WidgetPaintable (handle_grid); source.set_icon (paintable, 0, 0); drag_begin (); })] = drag_source; signals_map[drag_source.drag_cancel.connect ((source, drag, reason) => { drag_end (); return true; })] = drag_source; signals_map[drag_source.drag_end.connect ((source, drag, delete_data) => { drag_end (); })] = drag_source; } private void build_drop_project_target () { var drop_target = new Gtk.DropTarget (typeof (Layouts.ProjectRow), Gdk.DragAction.MOVE); handle_grid.add_controller (drop_target); signals_map[drop_target.accept.connect ((drop) => { GLib.Value value = Value (typeof (Gtk.Widget)); try { drop.drag.content.get_value (ref value); } catch (Error e) { debug (e.message); } if (value.dup_object () is Layouts.ProjectRow) { var picked_widget = (Layouts.ProjectRow) value; if (picked_widget.project.source_id == project.source_id) { return true; } } return false; })] = drop_target; signals_map[drop_target.drop.connect ((value, x, y) => { var picked_widget = (Layouts.ProjectRow) value; var target_widget = this; // fix #1131 Services.EventBus.get_default ().projects_drag_end (target_widget.project.source_id); var picked_project = picked_widget.project; var target_project = target_widget.project; if (picked_widget == target_widget || target_widget == null) { return false; } string old_parent_id = picked_project.parent_id; picked_project.parent_id = target_project.id; if (picked_project.source_type == SourceType.TODOIST) { Services.Todoist.get_default ().move_project_section.begin (picked_project, target_project.id, (obj, res) => { if (Services.Todoist.get_default ().move_project_section.end (res).status) { Services.Store.instance ().update_project (picked_project); Services.EventBus.get_default ().project_parent_changed (picked_project, old_parent_id, true); } }); } else { Services.Store.instance ().update_project (picked_project); Services.EventBus.get_default ().project_parent_changed (picked_project, old_parent_id, true); } return true; })] = drop_target; } private void build_drop_item_target () { var drop_row_target = new Gtk.DropTarget (typeof (Layouts.ItemRow), Gdk.DragAction.MOVE); handle_grid.add_controller (drop_row_target); signals_map[drop_row_target.accept.connect ((drop) => { var target_widget = this; if (target_widget.project.is_deck) { return false; } GLib.Value value = Value (typeof (Gtk.Widget)); try { drop.drag.content.get_value (ref value); } catch (Error e) { debug (e.message); } if (value.dup_object () is Layouts.ItemRow) { var picked_widget = (Layouts.ItemRow) value; if (picked_widget.item.project.is_inbox_project) { return true; } if (picked_widget.item.project.source_id == project.source_id) { return true; } } return false; })] = drop_row_target; signals_map[drop_row_target.drop.connect ((value, x, y) => { var picked_widget = (Layouts.ItemBoard) value; var target_widget = this; if (picked_widget.item.project.source_id != target_widget.project.source_id) { Util.get_default ().move_backend_type_item.begin (picked_widget.item, target_widget.project); } else { picked_widget.item.move (target_widget.project, ""); } return true; })] = drop_row_target; var drop_board_target = new Gtk.DropTarget (typeof (Layouts.ItemBoard), Gdk.DragAction.MOVE); handle_grid.add_controller (drop_board_target); signals_map[drop_board_target.accept.connect ((drop) => { GLib.Value value = Value (typeof (Gtk.Widget)); try { drop.drag.content.get_value (ref value); } catch (Error e) { debug (e.message); } if (value.dup_object () is Layouts.ItemBoard) { var picked_widget = (Layouts.ItemBoard) value; if (picked_widget.item.project.is_inbox_project) { return true; } if (picked_widget.item.project.source_id == project.source_id) { return true; } } return false; })] = drop_board_target; signals_map[drop_board_target.drop.connect ((value, x, y) => { var picked_widget = (Layouts.ItemBoard) value; var target_widget = this; if (picked_widget.item.project.source_id != target_widget.project.source_id) { Util.get_default ().move_backend_type_item.begin (picked_widget.item, target_widget.project); } else { picked_widget.item.move (target_widget.project, ""); } return true; })] = drop_board_target; } public void drag_begin () { handle_grid.add_css_class ("drop-begin"); main_revealer.reveal_child = false; listbox_revealer.reveal_child = false; Services.EventBus.get_default ().projects_drag_begin (project.source_id); } public void drag_end () { handle_grid.remove_css_class ("drop-begin"); main_revealer.reveal_child = true; listbox_revealer.reveal_child = project.collapsed; Services.EventBus.get_default ().projects_drag_end (project.source_id); } private void update_projects_child_order (Gtk.ListBox listbox) { unowned Layouts.ProjectRow ? project_row = null; var row_index = 0; do { project_row = (Layouts.ProjectRow) listbox.get_row_at_index (row_index); if (project_row != null) { project_row.project.child_order = row_index; Services.Store.instance ().update_project (project_row.project); } row_index++; } while (project_row != null); } private void build_context_menu (double x, double y) { if (menu_popover != null) { favorite_item.title = project.is_favorite ? _("Remove From Favorites") : _("Add to Favorites"); menu_popover.pointing_to = { ((int) x), (int) y, 1, 1 }; menu_popover.popup (); return; } favorite_item = new Widgets.ContextMenu.MenuItem (project.is_favorite ? _("Remove From Favorites") : _("Add to Favorites"), "star-outline-thick-symbolic"); var edit_item = new Widgets.ContextMenu.MenuItem (_("Edit Project"), "edit-symbolic"); var duplicate_item = new Widgets.ContextMenu.MenuItem (_("Duplicate"), "tabs-stack-symbolic"); var refresh_item = new Widgets.ContextMenu.MenuItem (_("Refresh"), "update-symbolic"); var archive_item = new Widgets.ContextMenu.MenuItem (_("Archive"), "shoe-box-symbolic"); var delete_item = new Widgets.ContextMenu.MenuItem (_("Delete Project"), "user-trash-symbolic"); delete_item.add_css_class ("menu-item-danger"); var share_markdown_item = new Widgets.ContextMenu.MenuItem (_("Share"), "share-alt-symbolic"); var share_email_item = new Widgets.ContextMenu.MenuItem (_("Send by E-Mail"), "mail-symbolic"); var export_pdf_item = new Widgets.ContextMenu.MenuItem (_("Export as PDF"), "paper-symbolic"); var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; menu_box.append (favorite_item); if (!project.is_deck && !project.inbox_project) { menu_box.append (edit_item); } menu_box.append (duplicate_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); if (project.source_type == SourceType.CALDAV && !project.is_deck) { menu_box.append (refresh_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); } menu_box.append (share_markdown_item); menu_box.append (share_email_item); menu_box.append (export_pdf_item); if (!project.is_deck && !project.inbox_project) { menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (archive_item); menu_box.append (delete_item); } menu_popover = new Gtk.Popover () { has_arrow = false, halign = Gtk.Align.START, child = menu_box, width_request = 250 }; menu_popover.set_parent (this); menu_popover.pointing_to = { ((int) x), (int) y, 1, 1 }; menu_popover.popup (); favorite_item.clicked.connect (() => { project.is_favorite = !project.is_favorite; Services.Store.instance ().update_project (project); Services.EventBus.get_default ().favorite_toggled (project); project.update (); }); edit_item.clicked.connect (() => { var dialog = new Dialogs.Project (project); dialog.present (Planify._instance.main_window); }); refresh_item.clicked.connect (() => { sync_project (); }); delete_item.clicked.connect (() => { project.delete_project ((Gtk.Window) Planify.instance.main_window); }); share_markdown_item.clicked.connect (() => { project.share_markdown (); }); share_email_item.clicked.connect (() => { project.share_mail (); }); export_pdf_item.clicked.connect (() => { var file_dialog = new Gtk.FileDialog () { initial_name = "%s.pdf".printf (project.name) }; file_dialog.save.begin (Planify._instance.main_window, null, (obj, res) => { try { var file = file_dialog.save.end (res); Services.ExportService.get_default ().export_project_pdf (project, file.get_path ()); Services.EventBus.get_default ().send_toast ( Util.get_default ().create_toast (_("Project exported as PDF")) ); } catch (Error e) { if (!(e is IOError.CANCELLED)) { warning ("Error exporting PDF: %s", e.message); } } }); }); duplicate_item.clicked.connect (() => { Util.get_default ().duplicate_project.begin (project, project.parent_id); }); archive_item.clicked.connect (() => { project.archive_project ((Gtk.Window) Planify.instance.main_window); }); } private void sync_project () { var caldav_client = Services.CalDAV.Core.get_default ().get_client (project.source); caldav_client.sync_tasklist.begin (project, new GLib.Cancellable ()); } private void update_listbox_revealer () { if (listbox_revealer.reveal_child) { project.collapsed = true; arrow_button.add_css_class ("opened"); } else { arrow_button.remove_css_class ("opened"); project.collapsed = false; } } public void update_request () { icon_project.update_request (); name_label.label = project.name; check_due_date (); } private void check_due_date () { bool has_due_date = project.due_date != ""; menu_stack.visible_child_name = has_due_date ? "due_label" : "count_revealer"; if (!has_due_date) { return; } var datetime = Utils.Datetime.get_date_from_string (project.due_date); due_label.label = Utils.Datetime.get_relative_time_from_date (datetime); if (Utils.Datetime.is_today (datetime) || Utils.Datetime.is_overdue (datetime)) { due_label.add_css_class ("error"); } else { due_label.remove_css_class ("error"); } } private void add_subprojects () { foreach (Objects.Project subproject in project.subprojects) { add_subproject (subproject); } } public void hide_destroy () { main_revealer.reveal_child = false; Timeout.add (main_revealer.transition_duration, () => { ((Gtk.ListBox) parent).remove (this); return GLib.Source.REMOVE; }); } public void add_subproject (Objects.Project project) { if (!subprojects_hashmap.has_key (project.id) && show_subprojects) { subprojects_hashmap[project.id] = new Layouts.ProjectRow (project); listbox.append (subprojects_hashmap[project.id]); } } } alainm23-planify-69962f8/src/Layouts/SectionBoard.vala000066400000000000000000000670551517337276100225600ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Layouts.SectionBoard : Gtk.FlowBoxChild { public Objects.Section section { get; construct; } private Gtk.Grid widget_color; private Gtk.Label name_label; private Gtk.Label count_label; private Gtk.Label description_label; private Gtk.Revealer description_revealer; private Gtk.ListBox listbox; private Gtk.Box listbox_target; private Gtk.ListBox checked_listbox; private Gtk.Button load_more_button; private Gtk.Revealer load_more_button_revealer; private Gtk.Revealer checked_revealer; private Gtk.Box content_box; public bool is_inbox_section { get { return section.id == ""; } } public bool is_loading { set { // add_button.is_loading = value; } } public int section_count { get { return items_map.size; } } public Gee.HashMap items_map = new Gee.HashMap (); public Gee.HashMap checked_items_map = new Gee.HashMap (); private Gee.HashMap signals_map = new Gee.HashMap (); private Gee.ArrayList completed_items_list; private int completed_page_index = 0; private const int PAGE_SIZE = Constants.COMPLETED_PAGE_SIZE; public SectionBoard (Objects.Section section) { Object ( section: section, focusable: false, width_request: 350, vexpand: true ); } public SectionBoard.for_project (Objects.Project project) { var section = new Objects.Section (); section.id = ""; section.project_id = project.id; section.name = _ ("(No Section)"); Object ( section: section, focusable: false, width_request: 350, vexpand: true ); } ~SectionBoard () { debug ("Destroying - Layouts.SectionBoard\n"); } construct { add_css_class ("no-selectable"); add_css_class ("no-padding"); widget_color = new Gtk.Grid () { valign = Gtk.Align.CENTER, height_request = 16, width_request = 3, css_classes = { "event-bar" } }; name_label = new Gtk.Label (section.name) { halign = START, css_classes = { "font-bold" }, margin_start = 6 }; count_label = new Gtk.Label (null) { margin_start = 9, halign = Gtk.Align.CENTER, css_classes = { "dimmed", "caption" } }; var menu_button = new Gtk.MenuButton () { hexpand = true, halign = END, icon_name = "view-more-symbolic", popover = build_context_menu (), css_classes = { "flat" } }; var header_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { margin_start = 6 }; header_box.append (widget_color); header_box.append (name_label); header_box.append (count_label); header_box.append (menu_button); description_label = new Gtk.Label (section.description.strip ()) { wrap = true, selectable = true, halign = START, css_classes = { "dimmed" }, margin_start = 6, margin_top = 6, margin_bottom = 6 }; description_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = description_label }; listbox = new Gtk.ListBox () { selection_mode = Gtk.SelectionMode.SINGLE, css_classes = { "listbox-background", "drop-target-list" } }; var add_button_box = new Gtk.Box (HORIZONTAL, 6) { valign = CENTER }; add_button_box.append (new Gtk.Image.from_icon_name ("plus-large-symbolic") { css_classes = { "color-primary" } }); add_button_box.append (new Gtk.Label (_("Add tasks"))); var add_button = new Gtk.Button () { child = add_button_box, margin_top = 6, margin_bottom = 6, halign = START }; add_button.add_css_class ("flat"); add_button.add_css_class ("add-button"); checked_listbox = new Gtk.ListBox () { valign = Gtk.Align.START, selection_mode = Gtk.SelectionMode.NONE, hexpand = true, css_classes = { "listbox-background", "listbox-separator-3" } }; load_more_button = new Gtk.Button.with_label (_("Load more")) { halign = START, }; load_more_button.add_css_class ("flat"); load_more_button_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, reveal_child = false, child = load_more_button }; var checked_listbox_container = new Gtk.Box (VERTICAL, 6); checked_listbox_container.append (checked_listbox); checked_listbox_container.append (load_more_button_revealer); checked_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = checked_listbox_container }; listbox_target = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { vexpand = true, margin_end = 6, margin_bottom = 12 }; listbox_target.append (listbox); listbox_target.append (add_button); listbox_target.append (checked_revealer); var items_scrolled = new Widgets.ScrolledWindow (listbox_target); content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { vexpand = true, css_classes = { "transition", "drop-target-list" } }; content_box.append (header_box); content_box.append (description_revealer); content_box.append (items_scrolled); child = content_box; update_request (); add_items (); show_completed_changed (); build_drag_and_drop (); update_count_label (section_count); listbox.set_filter_func ((row) => { var item = ((Layouts.ItemBoard) row).item; return Utils.TaskUtils.items_filter_func (item, section.project.filters); }); signals_map[listbox.row_selected.connect ((row) => { var item = ((Layouts.ItemBoard) row).item; })] = listbox; signals_map[section.updated.connect (() => { update_request (); })] = section; if (is_inbox_section) { signals_map[section.project.item_added.connect ((item) => { add_item (item); })] = section.project; } else { signals_map[section.item_added.connect ((item) => { add_item (item); })] = section; } signals_map[Services.EventBus.get_default ().checked_toggled.connect ((item, old_checked) => { if (item.project_id == section.project_id && item.section_id == section.id && !item.has_parent) { if (!old_checked) { if (items_map.has_key (item.id)) { items_map[item.id].hide_destroy (); items_map.unset (item.id); } if (!checked_items_map.has_key (item.id)) { checked_items_map[item.id] = new Layouts.ItemBoard (item); checked_listbox.insert (checked_items_map[item.id], 0); } } else { if (checked_items_map.has_key (item.id)) { checked_items_map[item.id].hide_destroy (); checked_items_map.unset (item.id); } if (!items_map.has_key (item.id)) { items_map[item.id] = new Layouts.ItemBoard (item); listbox.append (items_map[item.id]); } } } })] = Services.EventBus.get_default (); signals_map[Services.Store.instance ().item_updated.connect ((item, update_id) => { if (items_map.has_key (item.id)) { items_map[item.id].update_request (); if (section.project.sorted_by != SortedByType.MANUAL) { update_sort (); } } if (checked_items_map.has_key (item.id_string)) { checked_items_map[item.id_string].update_request (); } })] = Services.Store.instance (); signals_map[Services.Store.instance ().item_pin_change.connect ((item) => { // vala-lint=no-space if (!item.pinned && item.project_id == section.project_id && item.section_id == section.id && !item.has_parent && !items_map.has_key (item.id)) { add_item (item); } if (item.pinned && items_map.has_key (item.id)) { items_map[item.id].hide_destroy (); items_map.unset (item.id); } })] = Services.Store.instance (); signals_map[Services.Store.instance ().item_deleted.connect ((item) => { if (items_map.has_key (item.id)) { items_map[item.id].hide_destroy (); items_map.unset (item.id); } })] = Services.Store.instance (); signals_map[Services.EventBus.get_default ().item_moved.connect ((item, old_project_id, old_section_id, old_parent_id) => { if (old_project_id == section.project_id && old_section_id == section.id) { if (items_map.has_key (item.id)) { items_map[item.id].hide_destroy (); items_map.unset (item.id); } if (checked_items_map.has_key (item.id_string)) { checked_items_map[item.id_string].hide_destroy (); checked_items_map.unset (item.id_string); } } if (item.project_id == section.project_id && item.section_id == section.id && !item.has_parent) { add_item (item); } })] = Services.EventBus.get_default (); signals_map[section.project.sorted_by_changed.connect (() => { update_sort (); })] = section.project; signals_map[section.project.sort_order_changed.connect (() => { update_sort (); })] = section.project; signals_map[Services.EventBus.get_default ().update_section_sort_func.connect ((project_id, section_id, value) => { if (section.project_id == project_id && section.id == section_id) { update_sort (); } })] = Services.EventBus.get_default (); signals_map[section.section_count_updated.connect (() => { update_count_label (section.section_count); })] = section; signals_map[Services.EventBus.get_default ().update_inserted_item_map.connect ((_row, old_section_id) => { if (_row is Layouts.ItemBoard) { var row = (Layouts.ItemBoard) _row; if (row.item.project_id == section.project_id && row.item.section_id == section.id) { if (!items_map.has_key (row.item.id)) { items_map[row.item.id] = row; } } // vala-lint=no-space if (row.item.project_id == section.project_id && row.item.section_id != section.id && old_section_id == section.id) { if (items_map.has_key (row.item.id)) { items_map.unset (row.item.id); } } } })] = Services.EventBus.get_default (); signals_map[section.project.filter_added.connect (() => { update_sort (); })] = section.project; signals_map[section.project.filter_removed.connect (() => { update_sort (); })] = section.project; signals_map[section.project.filter_updated.connect (() => { update_sort (); })] = section.project; signals_map[section.sensitive_change.connect (() => { sensitive = section.sensitive; })] = section; signals_map[section.loading_change.connect (() => { is_loading = section.loading; })] = section; var edit_gesture = new Gtk.GestureClick (); name_label.add_controller (edit_gesture); signals_map[edit_gesture.released.connect ((n_press, x, y) => { if (n_press == 2) { var dialog = new Dialogs.Section (section); dialog.present (Planify._instance.main_window); } })] = edit_gesture; signals_map[section.project.show_completed_changed.connect (show_completed_changed)] = section.project; signals_map[load_more_button.clicked.connect (() => { load_next_completed_page (); })] = load_more_button; signals_map[add_button.clicked.connect (() => { prepare_new_item ("", NewTaskPosition.END); })] = add_button; signals_map[section.project.source.sync_finished.connect (() => { update_sort (); })] = section.project.source; signals_map[Services.EventBus.get_default ().drag_n_drop_active.connect ((project_id, active) => { if (section.project_id == project_id) { if (active) { listbox.set_sort_func (null); } } })] = Services.EventBus.get_default (); } private void update_request () { name_label.label = section.name; description_label.label = section.description.strip (); description_revealer.reveal_child = description_label.label.length > 0; Util.get_default ().set_widget_color (Util.get_default ().get_color (section.color), widget_color); } private void update_count_label (int count) { count_label.label = count <= 0 ? "" : count.to_string (); } public void add_items () { items_map.clear (); var items = is_inbox_section ? section.project.items : section.items; items.sort ((item1, item2) => { return Util.get_default ().set_item_sort_func ( item1, item2, section.project.sorted_by, section.project.sort_order ); }); foreach (Objects.Item item in items) { add_item (item); } update_sort (); } private void update_sort () { listbox.set_sort_func (set_sort_func); listbox.set_sort_func (null); listbox.invalidate_filter (); } private int set_sort_func (Gtk.ListBoxRow lbrow, Gtk.ListBoxRow lbbefore) { Objects.Item item1 = ((Layouts.ItemBoard) lbrow).item; Objects.Item item2 = ((Layouts.ItemBoard) lbbefore).item; return Util.get_default ().set_item_sort_func ( item1, item2, section.project.sorted_by, section.project.sort_order ); } public void add_item (Objects.Item item, int position = -1) { if (item.checked) { return; } if (item.pinned) { return; } if (items_map.has_key (item.id)) { return; } items_map[item.id] = new Layouts.ItemBoard (item); listbox.append (items_map[item.id]); } private void show_completed_changed () { if (section.project.show_completed) { add_completed_items (); } else { foreach (Layouts.ItemBoard row in checked_items_map.values) { row.hide_destroy (); } checked_items_map.clear (); } checked_revealer.reveal_child = section.project.show_completed; } public void add_completed_items () { foreach (Layouts.ItemBoard row in checked_items_map.values) { row.hide_destroy (); } checked_items_map.clear (); completed_items_list = new Gee.ArrayList (); foreach (Objects.Item item in is_inbox_section ? section.project.items : section.items) { if (item.checked) { completed_items_list.add (item); } } completed_items_list.sort ((a, b) => { var completed_a = Utils.Datetime.get_date_only ( Utils.Datetime.get_date_from_string (a.completed_at) ); var completed_b = Utils.Datetime.get_date_only ( Utils.Datetime.get_date_from_string (b.completed_at) ); return completed_b.compare (completed_a); }); completed_page_index = 0; load_next_completed_page (); } private void load_next_completed_page () { int start = completed_page_index * PAGE_SIZE; int end = (start + PAGE_SIZE < completed_items_list.size) ? (start + PAGE_SIZE) : completed_items_list.size; for (int i = start; i < end; i++) { Objects.Item item = completed_items_list[i]; add_complete_item (item); } completed_page_index++; update_load_more_button_label (); } private void update_load_more_button_label () { int loaded = completed_page_index * PAGE_SIZE; int remaining = completed_items_list.size - loaded; if (remaining > 0) { int to_show = remaining < PAGE_SIZE ? remaining : PAGE_SIZE; load_more_button.label = "+%d %s".printf (to_show, _ ("completed tasks")); load_more_button_revealer.reveal_child = true; } else { load_more_button.set_label ("No more tasks"); load_more_button_revealer.reveal_child = false; } } public void add_complete_item (Objects.Item item) { if (section.project.show_completed && item.checked) { if (!checked_items_map.has_key (item.id_string)) { checked_items_map[item.id_string] = new Layouts.ItemBoard (item); checked_listbox.append (checked_items_map[item.id_string]); } } } private Gtk.Popover build_context_menu () { var add_item = new Widgets.ContextMenu.MenuItem (_ ("Add Task"), "plus-large-symbolic"); var edit_item = new Widgets.ContextMenu.MenuItem (_ ("Edit Section"), "edit-symbolic"); var move_item = new Widgets.ContextMenu.MenuItem (_ ("Move Section"), "arrow3-right-symbolic"); var manage_item = new Widgets.ContextMenu.MenuItem (_ ("Manage Section Order"), "view-list-ordered-symbolic"); var duplicate_item = new Widgets.ContextMenu.MenuItem (_ ("Duplicate"), "tabs-stack-symbolic"); var show_completed_item = new Widgets.ContextMenu.MenuItem (_ ("Show Completed Tasks"), "check-round-outline-symbolic"); var archive_item = new Widgets.ContextMenu.MenuItem (_ ("Archive"), "shoe-box-symbolic"); var delete_item = new Widgets.ContextMenu.MenuItem (_ ("Delete Section"), "user-trash-symbolic"); delete_item.add_css_class ("menu-item-danger"); var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; menu_box.append (add_item); if (!is_inbox_section) { menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (edit_item); menu_box.append (move_item); menu_box.append (manage_item); menu_box.append (duplicate_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (show_completed_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (archive_item); menu_box.append (delete_item); } else { menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (show_completed_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (manage_item); } var menu_popover = new Gtk.Popover () { has_arrow = false, child = menu_box, position = Gtk.PositionType.BOTTOM, width_request = 250 }; add_item.clicked.connect (() => { prepare_new_item (); }); edit_item.clicked.connect (() => { var dialog = new Dialogs.Section (section); dialog.present (Planify._instance.main_window); }); move_item.clicked.connect (() => { var dialog = new Dialogs.ProjectPicker.ProjectPicker.for_source (section.source); dialog.project = section.project; dialog.present (Planify._instance.main_window); dialog.changed.connect ((type, id) => { if (type == "project") { move_section (id); } }); }); manage_item.clicked.connect (() => { var dialog = new Dialogs.ManageSectionOrder (section.project); dialog.present (Planify._instance.main_window); }); archive_item.clicked.connect (() => { section.archive_section ((Gtk.Window) Planify.instance.main_window); }); delete_item.clicked.connect (() => { var dialog = new Adw.AlertDialog ( _ ("Delete Section %s".printf (section.name)), _ ("This can not be undone") ); dialog.add_response ("cancel", _ ("Cancel")); dialog.add_response ("delete", _ ("Delete")); dialog.set_response_appearance ("delete", Adw.ResponseAppearance.DESTRUCTIVE); dialog.present (Planify._instance.main_window); dialog.response.connect ((response) => { if (response == "delete") { is_loading = true; if (section.project.source_type == SourceType.TODOIST) { Services.Todoist.get_default ().delete.begin (section, (obj, res) => { Services.Todoist.get_default ().delete.end (res); Services.Store.instance ().delete_section (section); }); } else { Services.Store.instance ().delete_section (section); } } }); }); show_completed_item.clicked.connect (() => { var dialog = new Dialogs.CompletedTasks (section.project); dialog.add_update_filter (section); dialog.present (Planify._instance.main_window); }); duplicate_item.clicked.connect (() => { Util.get_default ().duplicate_section.begin (section, section.project_id); }); return menu_popover; } public void prepare_new_item (string content = "", NewTaskPosition new_task_position = Services.Settings.get_default ().get_new_task_position ()) { var dialog = new Dialogs.QuickAdd (); dialog.for_base_object (section); dialog.update_content (content); dialog.set_new_task_position (new_task_position); dialog.present (Planify._instance.main_window); } private void move_section (string project_id) { string old_section_id = section.project_id; section.project_id = project_id; if (section.project.source_type == SourceType.TODOIST) { is_loading = true; Services.Todoist.get_default ().move_project_section.begin (section, project_id, (obj, res) => { if (Services.Todoist.get_default ().move_project_section.end (res).status) { Services.Store.instance ().move_section (section, old_section_id); is_loading = false; } }); } else if (section.project.source_type == SourceType.LOCAL) { Services.Store.instance ().move_section (section, project_id); is_loading = false; } } private void build_drag_and_drop () { // Drop build_drop_target (); } private void build_drop_target () { var drop_target = new Gtk.DropTarget (typeof (Layouts.ItemBoard), Gdk.DragAction.MOVE); content_box.add_controller (drop_target); signals_map[drop_target.drop.connect ((value, x, y) => { var picked_widget = (Layouts.ItemBoard) value; picked_widget.drag_end (); string old_section_id = picked_widget.item.section_id; string old_parent_id = picked_widget.item.parent_id; picked_widget.item.project_id = section.project_id; picked_widget.item.section_id = section.id; picked_widget.item.parent_id = ""; if (picked_widget.item.project.source_type == SourceType.TODOIST) { string type = "section_id"; string id = section.id; if (is_inbox_section) { type = "project_id"; id = section.project_id; } Services.Todoist.get_default ().move_item.begin (picked_widget.item, type, id, (obj, res) => { if (Services.Todoist.get_default ().move_item.end (res).status) { Services.Store.instance ().move_item (picked_widget.item); } }); } else if (picked_widget.item.project.source_type == SourceType.LOCAL) { Services.Store.instance ().move_item (picked_widget.item); } var source_list = (Gtk.ListBox) picked_widget.parent; source_list.remove (picked_widget); listbox.append (picked_widget); Utils.TaskUtils.update_single_item_order (listbox, picked_widget, picked_widget.get_index ()); Services.EventBus.get_default ().update_inserted_item_map (picked_widget, old_section_id, old_parent_id); return true; })] = drop_target; } public void hide_destroy () { visible = false; clean_up (); Timeout.add (225, () => { ((Gtk.FlowBox) parent).remove (this); return GLib.Source.REMOVE; }); } public void clean_up () { listbox.set_sort_func (null); listbox.set_filter_func (null); foreach (var row in Util.get_default ().get_children (listbox)) { ((Layouts.ItemBoard) row).clean_up (); } foreach (var row in Util.get_default ().get_children (checked_listbox)) { ((Layouts.ItemBoard) row).clean_up (); } // Clean Signals foreach (var entry in signals_map.entries) { entry.value.disconnect (entry.key); } signals_map.clear (); } } alainm23-planify-69962f8/src/Layouts/SectionRow.vala000066400000000000000000000720211517337276100222650ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Layouts.SectionRow : Gtk.ListBoxRow { public Objects.Section section { get; construct; } private Gtk.Revealer bottom_revealer; private Gtk.Label name_label; private Gtk.Label count_label; private Gtk.ListBox listbox; private Gtk.ListBox checked_listbox; private Gtk.Button load_more_button; private Gtk.Revealer load_more_button_revealer; private Gtk.Revealer checked_revealer; private Gtk.Revealer content_revealer; private Gtk.Grid drop_inbox_widget; private Gtk.Revealer drop_inbox_revealer; private Adw.Bin handle_grid; private Widgets.LoadingButton add_button; private Gtk.Button hide_subtask_button; public bool is_inbox_section { get { return section.id == ""; } } public bool has_children { get { return items_map.size > 0 || checked_items_map.size > 0; } } public bool is_creating { get { return section.id == ""; } } public bool is_loading { set { add_button.is_loading = value; } } public Gee.HashMap items_map = new Gee.HashMap (); public Gee.HashMap checked_items_map = new Gee.HashMap (); private Gee.ArrayList completed_items_list; private int completed_page_index = 0; private const int PAGE_SIZE = Constants.COMPLETED_PAGE_SIZE; private Gee.HashMap signal_map = new Gee.HashMap (); public signal void children_size_changed (); public SectionRow (Objects.Section section) { Object ( section: section, focusable: false, can_focus: true ); } public SectionRow.for_project (Objects.Project project) { var section = new Objects.Section (); section.id = ""; section.project_id = project.id; section.name = _ ("(No Section)"); Object ( section: section, focusable: false, can_focus: true ); } ~SectionRow () { debug ("Destroying - Layouts.SectionRow\n"); } construct { add_css_class ("no-selectable"); add_css_class ("no-padding"); hide_subtask_button = new Gtk.Button () { valign = Gtk.Align.CENTER, css_classes = { "flat", "dimmed", "no-padding", "hidden-button" }, child = new Gtk.Image.from_icon_name ("go-next-symbolic") { pixel_size = 12 } }; name_label = new Gtk.Label (section.name) { halign = START, css_classes = { "font-bold" }, margin_start = 9 }; count_label = new Gtk.Label (null) { margin_start = 9, halign = Gtk.Align.CENTER, css_classes = { "dimmed", "caption" } }; var menu_button = new Gtk.MenuButton () { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, popover = build_context_menu (), icon_name = "view-more-symbolic", css_classes = { "flat" } }; var actions_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { hexpand = true, halign = END }; actions_box.append (menu_button); var actions_box_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.CROSSFADE, reveal_child = true, child = actions_box, margin_end = 6 }; var sectionrow_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { margin_start = 3 }; sectionrow_box.append (hide_subtask_button); sectionrow_box.append (name_label); sectionrow_box.append (count_label); sectionrow_box.append (actions_box_revealer); var sectionrow_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, reveal_child = !is_inbox_section, child = sectionrow_box }; handle_grid = new Adw.Bin () { css_classes = { "transition", "drop-target" }, child = sectionrow_revealer }; drop_inbox_widget = new Gtk.Grid () { css_classes = { "transition", "drop-target" }, height_request = 30, margin_start = 32, margin_end = 24, margin_bottom = 6 }; drop_inbox_revealer = new Gtk.Revealer () { transition_type = SLIDE_DOWN, child = drop_inbox_widget }; listbox = new Gtk.ListBox () { valign = Gtk.Align.START, hexpand = true, css_classes = { "listbox-background" } }; checked_listbox = new Gtk.ListBox () { valign = Gtk.Align.START, hexpand = true, css_classes = { "listbox-background" } }; load_more_button = new Gtk.Button.with_label ("Cargar más") { margin_start = 9, halign = START, }; load_more_button.add_css_class ("flat"); load_more_button_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, reveal_child = false, child = load_more_button }; var checked_listbox_container = new Gtk.Box (VERTICAL, 6); checked_listbox_container.append (checked_listbox); checked_listbox_container.append (load_more_button_revealer); checked_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, reveal_child = true, child = checked_listbox_container }; var bottom_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { hexpand = true, margin_end = 24 }; var add_button_box = new Gtk.Box (HORIZONTAL, 6) { valign = CENTER }; add_button_box.append (new Gtk.Image.from_icon_name ("plus-large-symbolic") { css_classes = { "color-primary" } }); add_button_box.append (new Gtk.Label (_("Add tasks"))); var add_button = new Gtk.Button () { child = add_button_box, margin_start = 24, margin_bottom = 6, margin_top = 3, halign = START, visible = !section.project.is_deck }; add_button.add_css_class ("flat"); add_button.add_css_class ("add-button"); add_items (); show_completed_changed (); build_drag_and_drop (); update_count_label (section.section_count); update_collapsed_button (); bottom_box.append (listbox); bottom_box.append (drop_inbox_revealer); bottom_box.append (add_button); bottom_box.append (checked_revealer); bottom_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, reveal_child = section.collapsed, child = bottom_box }; var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { hexpand = true }; content_box.append (handle_grid); content_box.append (bottom_revealer); content_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = content_box }; child = content_revealer; Timeout.add (content_revealer.transition_duration, () => { content_revealer.reveal_child = true; return GLib.Source.REMOVE; }); signal_map[section.updated.connect (() => { name_label.label = section.name; bottom_revealer.reveal_child = section.collapsed; update_collapsed_button (); })] = section; signal_map[Services.EventBus.get_default ().dim_content.connect ((active, focused_item_id) => { sectionrow_box.sensitive = !active; add_button.sensitive = !active; })] = Services.EventBus.get_default (); if (is_inbox_section) { signal_map[section.project.item_added.connect ((item) => { add_item (item); })] = section; } else { signal_map[section.item_added.connect ((item) => { add_item (item); })] = section; } var edit_gesture = new Gtk.GestureClick (); name_label.add_controller (edit_gesture); signal_map[edit_gesture.released.connect ((n_press, x, y) => { if (n_press == 2) { var dialog = new Dialogs.Section (section); dialog.present (Planify._instance.main_window); } })] = edit_gesture; signal_map[Services.EventBus.get_default ().checked_toggled.connect ((item, old_checked) => { if (item.project_id == section.project_id && item.section_id == section.id && !item.has_parent) { if (!old_checked) { if (items_map.has_key (item.id)) { items_map[item.id].hide_destroy (); items_map.unset (item.id); } if (!checked_items_map.has_key (item.id)) { checked_items_map[item.id] = new Layouts.ItemRow (item, true); checked_listbox.insert (checked_items_map[item.id], 0); } } else { if (checked_items_map.has_key (item.id)) { checked_items_map[item.id].hide_destroy (); checked_items_map.unset (item.id); } if (!items_map.has_key (item.id)) { items_map[item.id] = new Layouts.ItemRow (item, true); listbox.append (items_map[item.id]); } } } })] = Services.EventBus.get_default (); signal_map[Services.Store.instance ().item_updated.connect ((item, update_id) => { if (items_map.has_key (item.id)) { if (items_map[item.id].update_id != update_id) { items_map[item.id].update_request (); if (section.project.sorted_by != SortedByType.MANUAL) { update_sort (); } } if (checked_items_map.has_key (item.id)) { checked_items_map[item.id].update_request (); } } })] = Services.Store.instance (); signal_map[Services.Store.instance ().item_pin_change.connect ((item) => { // vala-lint=no-space if (!item.pinned && item.project_id == section.project_id && item.section_id == section.id && !item.has_parent && !items_map.has_key (item.id)) { add_item (item); } if (item.pinned && items_map.has_key (item.id)) { items_map[item.id].hide_destroy (); items_map.unset (item.id); } })] = Services.Store.instance (); signal_map[Services.Store.instance ().item_deleted.connect ((item) => { if (items_map.has_key (item.id)) { items_map[item.id].hide_destroy (); items_map.unset (item.id); } if (checked_items_map.has_key (item.id)) { checked_items_map[item.id].hide_destroy (); checked_items_map.unset (item.id); } })] = Services.Store.instance (); signal_map[Services.EventBus.get_default ().item_moved.connect ((item, old_project_id, old_section_id, old_parent_id) => { // vala-lint=no-space if (old_project_id == section.project_id && old_section_id == section.id) { if (items_map.has_key (item.id)) { items_map[item.id].hide_destroy (); items_map.unset (item.id); } if (checked_items_map.has_key (item.id)) { checked_items_map[item.id].hide_destroy (); checked_items_map.unset (item.id); } } // vala-lint=no-space if (item.project_id == section.project_id && item.section_id == section.id && !item.has_parent) { add_item (item); } })] = Services.EventBus.get_default (); signal_map[Services.EventBus.get_default ().update_inserted_item_map.connect ((_row, old_section_id) => { if (_row is Layouts.ItemRow) { var row = (Layouts.ItemRow) _row; if (row.item.project_id == section.project_id && row.item.section_id == section.id) { if (!items_map.has_key (row.item.id)) { items_map[row.item.id] = row; } } // vala-lint=no-space if (row.item.project_id == section.project_id && row.item.section_id != section.id && old_section_id == section.id) { if (items_map.has_key (row.item.id)) { items_map.unset (row.item.id); } } } })] = Services.EventBus.get_default (); signal_map[section.project.show_completed_changed.connect (show_completed_changed)] = section.project; signal_map[section.project.sort_order_changed.connect (() => { update_sort (); })] = section.project; signal_map[section.project.sorted_by_changed.connect (() => { update_sort (); })] = section.project; signal_map[Services.EventBus.get_default ().update_section_sort_func.connect ((project_id, section_id, value) => { if (section.project_id == project_id && section.id == section_id) { update_sort (); } })] = Services.EventBus.get_default (); signal_map[section.section_count_updated.connect (() => { update_count_label (section.section_count); })] = section; signal_map[Services.EventBus.get_default ().drag_n_drop_active.connect ((project_id, active) => { if (section.project_id == project_id) { drop_inbox_revealer.reveal_child = active; if (active) { listbox.set_sort_func (null); } } })] = Services.EventBus.get_default (); listbox.set_filter_func ((row) => { var item = ((Layouts.ItemRow) row).item; return Utils.TaskUtils.items_filter_func (item, section.project.filters); }); signal_map[section.project.filter_added.connect (() => { update_sort (); })] = section.project; signal_map[section.project.filter_removed.connect (() => { update_sort (); })] = section.project; signal_map[section.project.filter_updated.connect (() => { update_sort (); })] = section.project; signal_map[section.sensitive_change.connect (() => { sensitive = section.sensitive; })] = section; signal_map[section.loading_change.connect (() => { is_loading = section.loading; })] = section; signal_map[Services.EventBus.get_default ().expand_all.connect ((project_id, value) => { if (section.project_id == project_id) { foreach (Layouts.ItemRow row in items_map.values) { row.edit = value; } } })] = Services.EventBus.get_default (); signal_map[hide_subtask_button.clicked.connect (() => { section.collapsed = !section.collapsed; section.update_local (); })] = hide_subtask_button; signal_map[load_more_button.clicked.connect (() => { load_next_completed_page (); })] = load_more_button; signal_map[add_button.clicked.connect (() => { prepare_new_item ("", NewTaskPosition.END); })] = add_button; signal_map[section.project.sync_finished.connect (() => { update_sort (); })] = section.project.source; } private void update_count_label (int count) { count_label.label = count <= 0 ? "" : count.to_string (); } private void update_sort () { listbox.set_sort_func (set_sort_func); listbox.set_sort_func (null); listbox.invalidate_filter (); } private int set_sort_func (Gtk.ListBoxRow lbrow, Gtk.ListBoxRow lbbefore) { Objects.Item item1 = ((Layouts.ItemRow) lbrow).item; Objects.Item item2 = ((Layouts.ItemRow) lbbefore).item; return Util.get_default ().set_item_sort_func ( item1, item2, section.project.sorted_by, section.project.sort_order ); } public void add_items () { items_map.clear (); var items = is_inbox_section ? section.project.items : section.items; items.sort ((item1, item2) => { return Util.get_default ().set_item_sort_func ( item1, item2, section.project.sorted_by, section.project.sort_order ); }); int index = 0; Idle.add (() => { int count = 0; while (index < items.size && count < 50) { add_item (items[index]); index++; count++; } return index < items.size; }); update_sort (); } public void add_item (Objects.Item item) { if (item.checked) { return; } if (item.pinned) { return; } if (items_map.has_key (item.id)) { return; } items_map[item.id] = new Layouts.ItemRow (item, true); listbox.append (items_map[item.id]); } private void show_completed_changed () { if (section.project.show_completed) { add_completed_items (); } else { foreach (Layouts.ItemRow row in checked_items_map.values) { row.hide_destroy (); } checked_items_map.clear (); } checked_revealer.reveal_child = section.project.show_completed; } public void add_completed_items () { foreach (Layouts.ItemRow row in checked_items_map.values) { row.hide_destroy (); } checked_items_map.clear (); completed_items_list = new Gee.ArrayList (); foreach (Objects.Item item in is_inbox_section ? section.project.items : section.items) { if (item.checked) { completed_items_list.add (item); } } completed_items_list.sort ((a, b) => { var completed_a = Utils.Datetime.get_date_only ( Utils.Datetime.get_date_from_string (a.completed_at) ); var completed_b = Utils.Datetime.get_date_only ( Utils.Datetime.get_date_from_string (b.completed_at) ); return completed_b.compare (completed_a); }); completed_page_index = 0; load_next_completed_page (); } private void load_next_completed_page () { int start = completed_page_index * PAGE_SIZE; int end = (start + PAGE_SIZE < completed_items_list.size) ? (start + PAGE_SIZE) : completed_items_list.size; for (int i = start; i < end; i++) { Objects.Item item = completed_items_list[i]; add_complete_item (item); } completed_page_index++; update_load_more_button_label (); } private void update_load_more_button_label () { int loaded = completed_page_index * PAGE_SIZE; int remaining = completed_items_list.size - loaded; if (remaining > 0) { int to_show = remaining < PAGE_SIZE ? remaining : PAGE_SIZE; load_more_button.label = "+%d %s".printf (to_show, _ ("completed tasks")); load_more_button_revealer.reveal_child = true; } else { load_more_button.set_label ("No more tasks"); load_more_button_revealer.reveal_child = false; } } public void add_complete_item (Objects.Item item) { if (!section.project.show_completed) { return; } if (!item.checked) { return; } if (checked_items_map.has_key (item.id_string)) { return; } checked_items_map[item.id_string] = new Layouts.ItemRow (item); checked_listbox.append (checked_items_map[item.id_string]); } public void prepare_new_item (string content = "", NewTaskPosition new_task_position = Services.Settings.get_default ().get_new_task_position ()) { var dialog = new Dialogs.QuickAdd (); dialog.for_base_object (section); dialog.update_content (content); dialog.set_new_task_position (new_task_position); dialog.present (Planify._instance.main_window); } public void hide_destroy () { content_revealer.reveal_child = false; clean_up (); Timeout.add (content_revealer.transition_duration, () => { ((Gtk.ListBox) parent).remove (this); return GLib.Source.REMOVE; }); } private Gtk.Popover build_context_menu () { var add_item = new Widgets.ContextMenu.MenuItem (_ ("Add Task"), "plus-large-symbolic"); var edit_item = new Widgets.ContextMenu.MenuItem (_ ("Edit Section"), "edit-symbolic"); var move_item = new Widgets.ContextMenu.MenuItem (_ ("Move Section"), "arrow3-right-symbolic"); var manage_item = new Widgets.ContextMenu.MenuItem (_ ("Manage Sections"), "view-list-ordered-symbolic"); var duplicate_item = new Widgets.ContextMenu.MenuItem (_ ("Duplicate"), "tabs-stack-symbolic"); var show_completed_item = new Widgets.ContextMenu.MenuItem (_ ("Show Completed Tasks"), "check-round-outline-symbolic"); var archive_item = new Widgets.ContextMenu.MenuItem (_ ("Archive"), "shoe-box-symbolic"); var delete_item = new Widgets.ContextMenu.MenuItem (_ ("Delete Section"), "user-trash-symbolic"); delete_item.add_css_class ("menu-item-danger"); var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; menu_box.append (add_item); if (!is_inbox_section) { menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (edit_item); } menu_box.append (move_item); menu_box.append (manage_item); menu_box.append (duplicate_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (show_completed_item); if (!is_inbox_section) { menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (archive_item); menu_box.append (delete_item); } var menu_popover = new Gtk.Popover () { has_arrow = false, child = menu_box, position = Gtk.PositionType.BOTTOM, width_request = 250 }; add_item.clicked.connect (() => { prepare_new_item (); }); edit_item.clicked.connect (() => { var dialog = new Dialogs.Section (section); dialog.present (Planify._instance.main_window); }); move_item.clicked.connect (() => { var dialog = new Dialogs.ProjectPicker.ProjectPicker.for_source (section.source); dialog.project = section.project; dialog.present (Planify._instance.main_window); dialog.changed.connect ((type, id) => { if (type == "project") { move_section (id); } }); }); manage_item.clicked.connect (() => { var dialog = new Dialogs.ManageSectionOrder (section.project); dialog.present (Planify._instance.main_window); }); delete_item.clicked.connect (() => { section.delete_section ((Gtk.Window) Planify.instance.main_window); }); show_completed_item.clicked.connect (() => { var dialog = new Dialogs.CompletedTasks (section.project); dialog.add_update_filter (section); dialog.present (Planify._instance.main_window); }); archive_item.clicked.connect (() => { section.archive_section ((Gtk.Window) Planify.instance.main_window); }); duplicate_item.clicked.connect (() => { Util.get_default ().duplicate_section.begin (section, section.project_id); }); return menu_popover; } private void build_drag_and_drop () { var drop_inbox_target = new Gtk.DropTarget (typeof (Layouts.ItemRow), Gdk.DragAction.MOVE); drop_inbox_widget.add_controller (drop_inbox_target); signal_map[drop_inbox_target.drop.connect ((target, value, x, y) => { var picked_widget = (Layouts.ItemRow) value; picked_widget.drag_end (); string old_section_id = picked_widget.item.section_id; string old_parent_id = picked_widget.item.parent_id; picked_widget.item.project_id = section.project_id; picked_widget.item.section_id = section.id; picked_widget.item.parent_id = ""; if (picked_widget.item.project.source_type == SourceType.TODOIST) { string type = "section_id"; string id = section.id; if (is_inbox_section) { type = "project_id"; id = section.project_id; } Services.Todoist.get_default ().move_item.begin (picked_widget.item, type, id, (obj, res) => { if (Services.Todoist.get_default ().move_item.end (res).status) { Services.Store.instance ().move_item (picked_widget.item, old_section_id, old_parent_id); } }); } else if (picked_widget.item.project.source_type == SourceType.LOCAL) { Services.Store.instance ().move_item (picked_widget.item, old_section_id, old_parent_id); } var source_list = (Gtk.ListBox) picked_widget.parent; source_list.remove (picked_widget); listbox.append (picked_widget); Utils.TaskUtils.update_single_item_order (listbox, picked_widget, picked_widget.get_index ()); Services.EventBus.get_default ().update_inserted_item_map (picked_widget, old_section_id, old_parent_id); return true; })] = drop_inbox_target; } private void move_section (string project_id) { string old_project_id = section.project_id; section.project_id = project_id; is_loading = true; if (section.project.source_type == SourceType.TODOIST) { Services.Todoist.get_default ().move_project_section.begin (section, project_id, (obj, res) => { if (Services.Todoist.get_default ().move_project_section.end (res).status) { Services.Store.instance ().move_section (section, old_project_id); } is_loading = false; }); } else if (section.project.source_type == SourceType.LOCAL) { Services.Store.instance ().move_section (section, old_project_id); is_loading = false; } } private void update_collapsed_button () { if (section.collapsed) { hide_subtask_button.add_css_class ("opened"); } else { hide_subtask_button.remove_css_class ("opened"); } } public void clean_up () { listbox.set_sort_func (null); listbox.set_filter_func (null); foreach (var row in Util.get_default ().get_children (listbox)) { ((Layouts.ItemRow) row).clean_up (); } foreach (var row in Util.get_default ().get_children (checked_listbox)) { ((Layouts.ItemRow) row).clean_up (); } // Clear Signals foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } } alainm23-planify-69962f8/src/Layouts/Sidebar.vala000066400000000000000000000377731517337276100215610ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Layouts.Sidebar : Adw.Bin { private Gtk.Revealer filters_revealer; private Gtk.ListBox sources_listbox; private Widgets.NewVersionPopup update_notification; private Gtk.Revealer update_notification_revealer; private Gtk.Popover context_menu; private Layouts.HeaderItem favorites_header; public Gee.HashMap favorites_hashmap = new Gee.HashMap (); public Gee.HashMap sources_hashmap = new Gee.HashMap (); construct { filters_revealer = new Gtk.Revealer () { hexpand = true, vexpand = true, transition_type = Gtk.RevealerTransitionType.CROSSFADE }; favorites_header = new Layouts.HeaderItem (_("Favorites")) { margin_top = 6, placeholder_message = _("No favorites available. Create one by clicking on the '+' button") }; sources_listbox = new Gtk.ListBox () { hexpand = true, valign = Gtk.Align.START, css_classes = { "listbox-background" } }; var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { margin_start = 12, margin_end = 12, margin_bottom = 12, margin_top = 6, valign = START }; content_box.append (filters_revealer); content_box.append (favorites_header); content_box.append (sources_listbox); var scrolled_window = new Widgets.ScrolledWindow (content_box); update_notification = new Widgets.NewVersionPopup (); update_notification_revealer = new Gtk.Revealer () { child = update_notification, valign = END, transition_type = SLIDE_UP }; var overlay = new Gtk.Overlay () { child = scrolled_window }; overlay.add_overlay (update_notification_revealer); child = overlay; update_filter_view (); create_context_menu (); var right_click = new Gtk.GestureClick () { button = Gdk.BUTTON_SECONDARY }; add_controller (right_click); right_click.pressed.connect (on_right_click); update_notification.dismissed.connect (() => { update_notification_revealer.reveal_child = false; string? current_version = update_notification.version; if (current_version != null) { Services.Settings.get_default ().settings.set_string ("dismissed-update-version", current_version.replace ("v", "")); } }); sources_listbox.set_sort_func ((child1, child2) => { int item1 = ((Layouts.SidebarSourceRow) child1).source.child_order; int item2 = ((Layouts.SidebarSourceRow) child2).source.child_order; return item1 - item2; }); Services.Settings.get_default ().settings.changed["views-order-visible"].connect (() => { if (filters_revealer.child is Gtk.FlowBox) { ((Gtk.FlowBox) filters_revealer.child).invalidate_sort (); ((Gtk.FlowBox) filters_revealer.child).invalidate_filter (); } else if (filters_revealer.child is Gtk.ListBox) { ((Gtk.ListBox) filters_revealer.child).invalidate_sort (); ((Gtk.ListBox) filters_revealer.child).invalidate_filter (); } }); Services.EventBus.get_default ().update_sources_position.connect (() => { sources_listbox.invalidate_sort (); }); Services.Settings.get_default ().settings.changed["filters-list-view"].connect (update_filter_view); } private void create_context_menu () { var add_project_item = new Widgets.ContextMenu.MenuItem (_("New Project"), "plus-large-symbolic"); var add_source_item = new Widgets.ContextMenu.MenuItem (_("Add Account"), "cloud-outline-thick-symbolic"); var customize_item = new Widgets.ContextMenu.MenuItem (_("Customize Sidebar"), "dock-left-symbolic"); var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; menu_box.append (add_project_item); menu_box.append (add_source_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (customize_item); context_menu = new Gtk.Popover () { has_arrow = false, child = menu_box, position = Gtk.PositionType.BOTTOM, width_request = 250 }; add_project_item.clicked.connect (() => { var default_source = Services.Store.instance ().get_default_source (); var source_id = default_source != null ? default_source.id : SourceType.LOCAL.to_string (); var dialog = new Dialogs.Project.new (source_id, true); dialog.present (Planify._instance.main_window); context_menu.popdown (); }); add_source_item.clicked.connect (() => { var preferences_dialog = new Dialogs.Preferences.PreferencesWindow (); preferences_dialog.show_page ("accounts"); preferences_dialog.present (Planify._instance.main_window); }); customize_item.clicked.connect (() => { var preferences_dialog = new Dialogs.Preferences.PreferencesWindow (); preferences_dialog.show_page ("sidebar-page"); preferences_dialog.present (Planify._instance.main_window); }); } private void on_right_click (int n_press, double x, double y) { Gdk.Rectangle rect = { (int) x, (int) y, 250, 1 }; context_menu.set_parent (this); context_menu.set_pointing_to (rect); context_menu.popup (); } public void select_project (Objects.Project project) { Services.EventBus.get_default ().pane_selected (PaneType.PROJECT, project.id); } private async void check_for_updates () { try { Objects.Release? latest_release = yield Services.Api.get_default ().get_latest_release (); if (latest_release != null && latest_release.version != Build.VERSION) { string dismissed_version = Services.Settings.get_default ().settings.get_string ("dismissed-update-version"); if (dismissed_version != latest_release.version) { update_notification.version = latest_release.version; string? release_message = latest_release.get_release_message (); if (release_message != null) { update_notification.description = release_message; } update_notification_revealer.reveal_child = true; Timeout.add (update_notification_revealer.transition_duration, () => { update_notification.show_with_animation (); return Source.REMOVE; }); } } } catch (Error e) { warning ("Error fetching latest release: %s", e.message); } } public void init () { Services.Store.instance ().source_added.connect (add_source_row); Services.Store.instance ().source_deleted.connect ((source) => { if (sources_hashmap.has_key (source.id)) { sources_hashmap.get (source.id).hide_destroy (); } }); Services.EventBus.get_default ().favorite_toggled.connect ((project) => { if (favorites_hashmap.has_key (project.id)) { favorites_hashmap[project.id].hide_destroy (); favorites_hashmap.unset (project.id); } else { add_row_favorite (project); } favorites_header.reveal = favorites_hashmap.size > 0; }); Services.Store.instance ().project_added.connect ((project) => { add_row_favorite (project); }); add_all_favorites (); foreach (Objects.Source source in Services.Store.instance ().sources) { add_source_row (source); } check_for_updates.begin (); } private void add_source_row (Objects.Source source) { if (!sources_hashmap.has_key (source.id)) { sources_hashmap[source.id] = new Layouts.SidebarSourceRow (source); sources_listbox.append (sources_hashmap[source.id]); } } private void add_all_favorites () { foreach (Objects.Project project in Services.Store.instance ().projects) { add_row_favorite (project); } favorites_header.reveal = favorites_hashmap.size > 0; } private void add_row_favorite (Objects.Project project) { if (!project.is_favorite) { return; } if (favorites_hashmap.has_key (project.id)) { return; } favorites_hashmap[project.id] = new Layouts.ProjectRow (project, false, false); favorites_header.add_child (favorites_hashmap[project.id]); } private void update_filter_view () { filters_revealer.reveal_child = false; Timeout.add (filters_revealer.transition_duration, () => { destroy_current_filter_view (); if (Services.Settings.get_default ().settings.get_boolean ("filters-list-view")) { filters_revealer.child = build_filters_listbox (); } else { filters_revealer.child = build_filters_flowbox (); } filters_revealer.reveal_child = true; return GLib.Source.REMOVE; }); } private void destroy_current_filter_view () { if (filters_revealer.child is Gtk.FlowBox) { Gtk.FlowBox ? filters_flowbox = (Gtk.FlowBox) filters_revealer.child; if (filters_flowbox != null) { // filters_flowbox.clean_up (); } } else if (filters_revealer.child is Gtk.ListBox) { Gtk.ListBox ? filters_listbox = (Gtk.ListBox) filters_revealer.child; if (filters_listbox != null) { foreach (Gtk.ListBoxRow row in Util.get_default ().get_children (filters_listbox)) { ((Layouts.FilterPaneRow) row).clean_up (); } } } filters_revealer.child = null; } private Gtk.Widget build_filters_flowbox () { var flowbox = new Gtk.FlowBox () { homogeneous = true, row_spacing = 9, column_spacing = 9, margin_start = 3, margin_end = 3, margin_top = 3, margin_bottom = 3, min_children_per_line = 2 }; flowbox.append (new Layouts.FilterPaneChild (Objects.Filters.Inbox.get_default ())); flowbox.append (new Layouts.FilterPaneChild (Objects.Filters.Today.get_default ()) { tooltip_markup = Util.get_default ().markup_accel_tooltip (_("Go to Today"), "Ctrl+T") }); flowbox.append (new Layouts.FilterPaneChild (Objects.Filters.Scheduled.get_default ()) { tooltip_markup = Util.get_default ().markup_accel_tooltip (_("Go to Scheduled"), "Ctrl+U") }); flowbox.append (new Layouts.FilterPaneChild (Objects.Filters.Labels.get_default ()) { tooltip_markup = Util.get_default ().markup_accel_tooltip (_("Go to Labels"), "Ctrl+L") }); flowbox.append (new Layouts.FilterPaneChild (Objects.Filters.Pinboard.get_default ()) { tooltip_markup = Util.get_default ().markup_accel_tooltip (_("Go to Pinboard"), "Ctrl+P") }); flowbox.append (new Layouts.FilterPaneChild (Objects.Filters.Completed.get_default ())); flowbox.append (new Layouts.FilterPaneChild (Objects.Filters.Tomorrow.get_default ())); flowbox.append (new Layouts.FilterPaneChild (Objects.Filters.Anytime.get_default ())); flowbox.append (new Layouts.FilterPaneChild (Objects.Filters.Repeating.get_default ())); flowbox.append (new Layouts.FilterPaneChild (Objects.Filters.Unlabeled.get_default ())); flowbox.append (new Layouts.FilterPaneChild (Objects.Filters.AllItems.get_default ())); flowbox.child_activated.connect ((child) => { var filter = (Layouts.FilterPaneChild) child; Services.EventBus.get_default ().pane_selected (PaneType.FILTER, filter.filter_type.view_id); }); flowbox.set_sort_func ((child1, child2) => { int item1 = ((Layouts.FilterPaneChild) child1).item_order (); int item2 = ((Layouts.FilterPaneChild) child2).item_order (); return item1 - item2; }); flowbox.set_filter_func ((child) => { return ((Layouts.FilterPaneChild) child).active (); }); return flowbox; } private Gtk.Widget build_filters_listbox () { var listbox = new Gtk.ListBox () { margin_top = 3, margin_bottom = 3 }; listbox.add_css_class ("bg-transparent"); listbox.add_css_class ("listbox-separator-3"); listbox.append (new Layouts.FilterPaneRow (Objects.Filters.Inbox.get_default ())); listbox.append (new Layouts.FilterPaneRow (Objects.Filters.Today.get_default ()) { tooltip_markup = Util.get_default ().markup_accel_tooltip (_("Go to Today"), "Ctrl+T") }); listbox.append (new Layouts.FilterPaneRow (Objects.Filters.Scheduled.get_default ()) { tooltip_markup = Util.get_default ().markup_accel_tooltip (_("Go to Scheduled"), "Ctrl+U") }); listbox.append (new Layouts.FilterPaneRow (Objects.Filters.Labels.get_default ()) { tooltip_markup = Util.get_default ().markup_accel_tooltip (_("Go to Labels"), "Ctrl+L") }); listbox.append (new Layouts.FilterPaneRow (Objects.Filters.Pinboard.get_default ()) { tooltip_markup = Util.get_default ().markup_accel_tooltip (_("Go to Pinboard"), "Ctrl+P") }); listbox.append (new Layouts.FilterPaneRow (Objects.Filters.Completed.get_default ())); listbox.append (new Layouts.FilterPaneRow (Objects.Filters.Tomorrow.get_default ())); listbox.append (new Layouts.FilterPaneRow (Objects.Filters.Anytime.get_default ())); listbox.append (new Layouts.FilterPaneRow (Objects.Filters.Repeating.get_default ())); listbox.append (new Layouts.FilterPaneRow (Objects.Filters.Unlabeled.get_default ())); listbox.append (new Layouts.FilterPaneRow (Objects.Filters.AllItems.get_default ())); listbox.row_activated.connect ((row) => { var filter = (Layouts.FilterPaneRow) row; Services.EventBus.get_default ().pane_selected (PaneType.FILTER, filter.filter_type.view_id); }); listbox.set_sort_func ((row1, row2) => { int item1 = ((Layouts.FilterPaneRow) row1).item_order (); int item2 = ((Layouts.FilterPaneRow) row2).item_order (); return item1 - item2; }); listbox.set_filter_func ((row) => { return ((Layouts.FilterPaneRow) row).active (); }); return listbox; } } alainm23-planify-69962f8/src/Layouts/SidebarSourceRow.vala000066400000000000000000000264001517337276100234130ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Layouts.SidebarSourceRow : Gtk.ListBoxRow { public Objects.Source source { get; construct; } private Layouts.HeaderItem group; private Gtk.Revealer main_revealer; public Gee.HashMap projects_hashmap = new Gee.HashMap (); public SidebarSourceRow (Objects.Source source) { Object ( source: source ); } construct { css_classes = { "no-selectable", "no-padding" }; group = new Layouts.HeaderItem (source.display_name) { reveal = true, show_separator = true, subheader_title = source.subheader_text }; group.placeholder_message = _("No project available. Create one by clicking on the '+' button"); group.margin_top = 12; if (source.source_type == SourceType.TODOIST || source.source_type == SourceType.CALDAV) { var sync_button = new Widgets.SyncButton () { reveal_child = true }; group.add_widget_end (sync_button); sync_button.clicked.connect (() => { if (source.source_type == SourceType.TODOIST) { if (source.needs_migration ()) { var preferences_dialog = new Dialogs.Preferences.PreferencesWindow (); preferences_dialog.show_page ("accounts"); preferences_dialog.present (Planify._instance.main_window); return; } Services.Todoist.get_default ().sync.begin (source); } else if (source.source_type == SourceType.CALDAV) { Services.CalDAV.Core.get_default ().sync.begin (source); } }); source.sync_started.connect (() => { sync_button.sync_started (); }); source.sync_finished.connect (() => { sync_button.sync_finished (); }); source.sync_failed.connect ((status) => { if (status != null) { sync_button.sync_failed ("%s\n%s".printf (status.title, status.description)); } else if (source.source_type == SourceType.TODOIST && source.needs_migration ()) { sync_button.sync_failed ("%s\n%s".printf ( _("Account Migration Required"), _("Todoist has updated their API. Please reconnect your account in Preferences to continue syncing.") )); } else { sync_button.sync_failed (); } }); } var add_button = new Gtk.Button.from_icon_name ("plus-large-symbolic") { valign = Gtk.Align.CENTER, css_classes = { "flat", "header-item-button" } }; group.add_widget_end (add_button); main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = group }; child = main_revealer; build_last_drag_and_drop (); Timeout.add (main_revealer.transition_duration, () => { main_revealer.reveal_child = source.is_visible; return GLib.Source.REMOVE; }); add_all_projects (); update_projects_sort (); source.updated.connect (() => { group.header_title = source.display_name; main_revealer.reveal_child = source.is_visible; }); add_button.clicked.connect (() => { prepare_new_project (source.id); }); Services.Store.instance ().project_added.connect (add_row_project); Services.Store.instance ().project_updated.connect (update_projects_sort); Services.Store.instance ().project_unarchived.connect (add_row_project); Services.Store.instance ().project_deleted.connect ((project) => { if (projects_hashmap.has_key (project.id)) { projects_hashmap.unset (project.id); } }); Services.Store.instance ().project_archived.connect ((project) => { if (projects_hashmap.has_key (project.id)) { projects_hashmap.unset (project.id); } }); Services.EventBus.get_default ().project_parent_changed.connect ((project, old_parent_id) => { if (old_parent_id == "") { if (projects_hashmap.has_key (project.id)) { projects_hashmap[project.id].hide_destroy (); projects_hashmap.unset (project.id); } } if (project.parent_id == "") { add_row_project (project); } }); Services.EventBus.get_default ().update_inserted_project_map.connect ((_row, old_parent_id) => { var row = (Layouts.ProjectRow) _row; if (old_parent_id == "") { if (projects_hashmap.has_key (row.project.id)) { projects_hashmap.unset (row.project.id); } } if (!row.project.is_inbox_project && row.project.parent_id == "") { if (row.project.source_id == source.id) { if (!projects_hashmap.has_key (row.project.id)) { projects_hashmap[row.project.id] = row; } } } }); Services.Settings.get_default ().settings.changed["projects-sort-by"].connect (update_projects_sort); Services.Settings.get_default ().settings.changed["projects-ordered"].connect (update_projects_sort); Services.EventBus.get_default ().projects_drag_begin.connect ((source_id) => { if (source_id == source.id) { group.drop_target_end_revealer.reveal_child = true; } }); Services.EventBus.get_default ().projects_drag_end.connect ((source_id) => { if (source_id == source.id) { group.drop_target_end_revealer.reveal_child = false; } }); } public void hide_destroy () { main_revealer.reveal_child = false; Timeout.add (main_revealer.transition_duration, () => { ((Gtk.ListBox) parent).remove (this); return GLib.Source.REMOVE; }); } private void prepare_new_project (string id) { var dialog = new Dialogs.Project.new (id); dialog.present (Planify._instance.main_window); } private void add_all_projects () { foreach (Objects.Project project in Services.Store.instance ().get_projects_by_source (source.id)) { add_row_project (project); } } private void add_row_project (Objects.Project project) { if (project.source_id == source.id && project.parent_id == "" && !project.is_archived) { if (!projects_hashmap.has_key (project.id)) { projects_hashmap[project.id] = new Layouts.ProjectRow (project); group.add_child (projects_hashmap[project.id]); } } } private void update_projects_sort () { if (Services.Settings.get_default ().settings.get_enum ("projects-sort-by") == 1) { group.set_sort_func (projects_sort_func); } else { group.set_sort_func (null); } } private int projects_sort_func (Gtk.ListBoxRow lbrow, Gtk.ListBoxRow lbbefore) { Objects.Project project1 = ((Layouts.ProjectRow) lbrow).project; Objects.Project project2 = ((Layouts.ProjectRow) lbbefore).project; int ordered = Services.Settings.get_default ().settings.get_enum ("projects-ordered"); return ordered == 0 ? project2.name.collate (project1.name) : project1.name.collate (project2.name); } private void build_last_drag_and_drop () { var drop_order_target = new Gtk.DropTarget (typeof (Layouts.ProjectRow), Gdk.DragAction.MOVE); group.drop_target_end.add_controller (drop_order_target); drop_order_target.drop.connect ((value, x, y) => { var picked_widget = (Layouts.ProjectRow) value; var picked_project = picked_widget.project; var projects_sort = Services.Settings.get_default ().settings.get_enum ("projects-sort-by"); if (projects_sort != 0) { Services.Settings.get_default ().settings.set_enum ("projects-sort-by", 0); Services.EventBus.get_default ().send_toast ( Util.get_default ().create_toast (_("Projects sort changed to 'Custom sort order'")) ); } var source_list = (Gtk.ListBox) picked_widget.parent; var target_list = (Gtk.ListBox) group.listbox; string old_parent_id = picked_project.parent_id; if (picked_project.parent_id != "") { picked_project.parent_id = ""; if (picked_project.source_type == SourceType.TODOIST) { Services.Todoist.get_default ().move_project_section.begin (picked_project, "", (obj, res) => { if (Services.Todoist.get_default ().move_project_section.end (res).status) { Services.Store.instance ().update_project (picked_project); Services.EventBus.get_default ().update_inserted_project_map (picked_widget, old_parent_id); } }); } else { Services.Store.instance ().update_project (picked_project); Services.EventBus.get_default ().update_inserted_project_map (picked_widget, old_parent_id); } } source_list.remove (picked_widget); var children_count = (int) Util.get_default ().get_children (target_list).length (); target_list.insert (picked_widget, children_count); update_projects_child_order (target_list); return true; }); } private void update_projects_child_order (Gtk.ListBox listbox) { unowned Layouts.ProjectRow ? project_row = null; var row_index = 0; do { project_row = (Layouts.ProjectRow) listbox.get_row_at_index (row_index); if (project_row != null) { project_row.project.child_order = row_index; Services.Store.instance ().update_project (project_row.project); } row_index++; } while (project_row != null); } } alainm23-planify-69962f8/src/MainWindow.vala000066400000000000000000001136101517337276100206050ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class MainWindow : Adw.ApplicationWindow { public weak Planify app { get; construct; } private Layouts.Sidebar sidebar; private Adw.ViewStack views_stack; private Adw.OverlaySplitView overlay_split_view; private Gtk.MenuButton settings_button; private Layouts.ItemSidebarView item_sidebar_view; private Gtk.Button fake_button; private Widgets.ContextMenu.MenuItem archive_item; private Widgets.ContextMenu.MenuSeparator archive_separator; private Adw.ToastOverlay toast_overlay; private Adw.ViewStack view_stack; private Gtk.Widget error_db_page; private string previous_inbox_project_id = ""; public Services.ActionManager action_manager; private const int64 VIEW_TIMEOUT = 300000000; private Gee.ArrayList view_cache = new Gee.ArrayList (); public MainWindow (Planify application) { Object ( application: application, app: application, icon_name: Build.APPLICATION_ID, title: "Planify", width_request: 360, height_request: 294 ); } ~MainWindow () { debug ("Destroying - MainWindow\n"); } static construct { weak Gtk.IconTheme default_theme = Gtk.IconTheme.get_for_display (Gdk.Display.get_default ()); default_theme.add_resource_path ("/io/github/alainm23/planify/"); } construct { if (Build.PROFILE == "development") { add_css_class ("devel"); } action_manager = new Services.ActionManager (app, this); var settings_popover = build_menu_app (); fake_button = new Gtk.Button () { visible = false }; settings_button = new Gtk.MenuButton () { css_classes = { "flat" }, popover = settings_popover, tooltip_text = _("Main Menu"), icon_name = "open-menu-symbolic" }; var search_button = new Gtk.Button.from_icon_name ("edit-find-symbolic") { tooltip_markup = Util.get_default ().markup_accel_tooltip (_("Open Quick Find"), "Ctrl+F"), css_classes = { "flat" } }; var title_label = new Gtk.Label ("Planify"); title_label.add_css_class ("title"); var sidebar_header = new Adw.HeaderBar () { title_widget = title_label, hexpand = true }; sidebar_header.add_css_class ("flat"); sidebar_header.pack_start (search_button); sidebar_header.pack_end (settings_button); sidebar_header.pack_end (fake_button); sidebar = new Layouts.Sidebar (); var sidebar_view = new Adw.ToolbarView (); sidebar_view.add_top_bar (sidebar_header); sidebar_view.content = sidebar; views_stack = new Adw.ViewStack () { hexpand = true, vexpand = true, vhomogeneous = false, hhomogeneous = false }; item_sidebar_view = new Layouts.ItemSidebarView (); if (Services.Settings.get_default ().settings.get_boolean ("always-show-details-sidebar")) { item_sidebar_view.add_css_class ("sidebar"); } var views_split_view = new Adw.OverlaySplitView () { sidebar_position = Gtk.PackType.END, collapsed = !Services.Settings.get_default ().settings.get_boolean ("always-show-details-sidebar"), max_sidebar_width = 360, min_sidebar_width = 360, content = views_stack, sidebar = item_sidebar_view, show_sidebar = false }; toast_overlay = new Adw.ToastOverlay () { child = views_split_view }; overlay_split_view = new Adw.OverlaySplitView () { content = toast_overlay, sidebar = sidebar_view }; var breakpoint = new Adw.Breakpoint (Adw.BreakpointCondition.parse ("max-width: 675sp")); breakpoint.add_setter (overlay_split_view, "collapsed", true); add_breakpoint (breakpoint); error_db_page = build_error_db_page (); view_stack = new Adw.ViewStack () { hhomogeneous = false, vhomogeneous = false }; view_stack.add (overlay_split_view); view_stack.add (error_db_page); content = view_stack; Services.Settings.get_default ().settings.bind ("pane-position", overlay_split_view, "min_sidebar_width", GLib.SettingsBindFlags.DEFAULT); Services.Settings.get_default ().settings.bind ("slim-mode", overlay_split_view, "show_sidebar", GLib.SettingsBindFlags.DEFAULT); Services.Settings.get_default ().settings.bind ("mobile-mode", overlay_split_view, "collapsed", GLib.SettingsBindFlags.DEFAULT); Timeout.add (250, () => { init_backend (); overlay_split_view.show_sidebar = true; fake_button.grab_focus (); return GLib.Source.REMOVE; }); Services.Database.get_default ().opened.connect (() => { if (!Services.Database.get_default ().verify_integrity ()) { view_stack.visible_child = error_db_page; return; } view_stack.visible_child = overlay_split_view; if (Services.Store.instance ().is_sources_empty ()) { Util.get_default ().create_local_source (); } if (Services.Store.instance ().is_database_empty ()) { Util.get_default ().create_inbox_project (); Util.get_default ().create_tutorial_project (); Util.get_default ().create_default_labels (); } sidebar.init (); Services.Notification.get_default (); Services.TimeMonitor.get_default ().init_timeout (); go_homepage (); Services.Store.instance ().project_deleted.connect (valid_view_removed); Services.Store.instance ().project_archived.connect (valid_view_removed); check_archived (); Services.DBusServer.get_default ().item_added.connect ((id) => { Objects.Item item = Services.Database.get_default ().get_item_by_id (id); Gee.ArrayList reminders = Services.Database.get_default ().get_reminders_by_item_id (id); Services.Store.instance ().insert_item (item, true, false); foreach (Objects.Reminder reminder in reminders) { item.add_reminder_events (reminder); } }); var did_startup_sync = false; // Remove hack when upstream issue is resolved Timeout.add (Constants.STARTUP_SYNC_TIMEOUT, () => { debug ("Starting startup sync\n"); foreach (Objects.Source source in Services.Store.instance ().sources) { source.run_server (); } did_startup_sync = true; return GLib.Source.REMOVE; }); Services.Store.instance ().source_added.connect ((source) => { if (source.sync_server) { source.run_server (); } }); // TODO: network_changed is sometimes called very rapidly, so we should debounce it ... var network_monitor = GLib.NetworkMonitor.get_default (); network_monitor.network_changed.connect (() => { if (did_startup_sync == false) { debug ("Ignoring early network change due to bug 1690\n"); return; } debug ("Network has changed, starting sync\n"); foreach (Objects.Source source in Services.Store.instance ().sources) { source.run_server (); } }); #if WITH_EVOLUTION Services.Store.instance ().setup_calendar_events (); #endif }); var color_scheme_settings = ColorSchemeSettings.Settings.get_default (); color_scheme_settings.notify["prefers-color-scheme"].connect (() => { if (Services.Settings.get_default ().settings.get_boolean ("system-appearance")) { Services.Settings.get_default ().settings.set_boolean ( "dark-mode", color_scheme_settings.prefers_color_scheme == ColorSchemeSettings.Settings.ColorScheme.DARK ); Util.get_default ().update_theme (); } }); Services.Settings.get_default ().settings.changed["system-appearance"].connect (() => { Services.Settings.get_default ().settings.set_boolean ( "dark-mode", color_scheme_settings.prefers_color_scheme == ColorSchemeSettings.Settings.ColorScheme.DARK ); Util.get_default ().update_theme (); }); Services.Settings.get_default ().settings.changed["appearance"].connect (Util.get_default ().update_theme); Services.Settings.get_default ().settings.changed["dark-mode"].connect (Util.get_default ().update_theme); #if WITH_LIBPORTAL Services.Settings.get_default ().settings.changed["run-on-startup"].connect (() => { update_autostart (); }); Services.Settings.get_default ().settings.changed["run-in-background"].connect (() => { bool run_on_startup = Services.Settings.get_default ().settings.get_boolean ("run-on-startup"); if (run_on_startup) { update_autostart (); } }); #endif Services.Settings.get_default ().settings.changed["mobile-mode"].connect (() => { Services.EventBus.get_default ().mobile_mode = Services.Settings.get_default ().settings.get_boolean ("mobile-mode"); }); Services.Settings.get_default ().settings.changed["font-scale"].connect (Util.get_default ().update_font_scale); Services.EventBus.get_default ().pane_selected.connect ((pane_type, id) => { if (Services.EventBus.get_default ().multi_select_enabled) { clear_multi_select (); } if (pane_type == PaneType.PROJECT) { var project = Services.Store.instance ().get_project (id); if (project != null) { add_project_view (project); } else { add_inbox_view (); } } else if (pane_type == PaneType.FILTER) { if (id == Objects.Filters.Inbox.get_default ().view_id) { add_inbox_view (); } else if (id == Objects.Filters.Today.get_default ().view_id) { add_today_view (); } else if (id == Objects.Filters.Scheduled.get_default ().view_id) { add_scheduled_view (); } else if (id == Objects.Filters.Pinboard.get_default ().view_id) { add_filter_view (Objects.Filters.Pinboard.get_default ()); } else if (id == Objects.Filters.Labels.get_default ().view_id) { add_labels_view (); } else if (id.has_prefix ("priority")) { add_priority_view (id); } else if (id == Objects.Filters.Completed.get_default ().view_id) { add_filter_view (Objects.Filters.Completed.get_default ()); } else if (id == Objects.Filters.Tomorrow.get_default ().view_id) { add_filter_view (Objects.Filters.Tomorrow.get_default ()); } else if (id == Objects.Filters.Anytime.get_default ().view_id) { add_filter_view (Objects.Filters.Anytime.get_default ()); } else if (id == Objects.Filters.Repeating.get_default ().view_id) { add_filter_view (Objects.Filters.Repeating.get_default ()); } else if (id == Objects.Filters.Unlabeled.get_default ().view_id) { add_filter_view (Objects.Filters.Unlabeled.get_default ()); } else if (id == Objects.Filters.AllItems.get_default ().view_id) { add_filter_view (Objects.Filters.AllItems.get_default ()); } } else if (pane_type == PaneType.LABEL) { add_label_view (id); } else { add_inbox_view (); } if (overlay_split_view.collapsed) { overlay_split_view.show_sidebar = false; } Services.EventBus.get_default ().item_edit_active = false; Services.EventBus.get_default ().dim_content (false, ""); }); Services.EventBus.get_default ().send_toast.connect ((toast) => { toast_overlay.add_toast (toast); }); Services.EventBus.get_default ().send_error_toast.connect (send_toast_error); Services.EventBus.get_default ().send_conflict_toast.connect ((source) => { var toast = new Adw.Toast (_("Task was modified on another device")) { timeout = 5, button_label = _("Sync Now") }; toast.button_clicked.connect (() => { if (source.source_type == SourceType.TODOIST) { Services.Todoist.get_default ().sync.begin (source); } else if (source.source_type == SourceType.CALDAV) { Services.CalDAV.Core.get_default ().sync.begin (source); } }); toast_overlay.add_toast (toast); }); Services.EventBus.get_default ().send_task_completed_toast.connect (show_task_completed_toast); search_button.clicked.connect (() => { (new Dialogs.QuickFind.QuickFind ()).present (Planify._instance.main_window); }); Services.EventBus.get_default ().open_item.connect ((item) => { if (Services.Settings.get_default ().settings.get_boolean ("always-show-details-sidebar")) { views_split_view.show_sidebar = true; item_sidebar_view.present_item (item); } else { if (views_split_view.show_sidebar) { views_split_view.show_sidebar = false; Timeout.add (275, () => { views_split_view.show_sidebar = true; item_sidebar_view.present_item (item); return GLib.Source.REMOVE; }); } else { views_split_view.show_sidebar = true; item_sidebar_view.present_item (item); } } }); Services.EventBus.get_default ().close_item.connect (() => { views_split_view.show_sidebar = false; }); views_split_view.notify["show-sidebar"].connect (() => { if (!views_split_view.show_sidebar) { item_sidebar_view.clean_up (); fake_button.grab_focus (); } }); Services.Store.instance ().project_archived.connect (check_archived); Services.Store.instance ().project_unarchived.connect (check_archived); Services.Settings.get_default ().settings.changed["always-show-details-sidebar"].connect (() => { if (Services.Settings.get_default ().settings.get_boolean ("always-show-details-sidebar")) { views_split_view.collapsed = false; item_sidebar_view.add_css_class ("sidebar"); } else { views_split_view.collapsed = true; item_sidebar_view.add_css_class ("sidebar"); } }); Services.EventBus.get_default ().theme_changed.connect (() => { Appearance appearance_mode = Appearance.get_default (); remove_css_class ("theme-dark"); remove_css_class ("theme-dark-blue"); if (appearance_mode == Appearance.DARK) { add_css_class ("theme-dark"); } else if (appearance_mode == Appearance.DARK_BLUE) { add_css_class ("theme-dark-blue"); } }); // Cleanup every 2 minutes Timeout.add_seconds (120, () => { cleanup_unused_views (); return Source.CONTINUE; }); var key_controller = new Gtk.EventControllerKey (); ((Gtk.Widget) this).add_controller (key_controller); key_controller.key_pressed.connect ((keyval, keycode, state) => { if (keyval == Gdk.Key.Escape) { Services.EventBus.get_default ().escape_pressed (); if (Services.EventBus.get_default ().item_edit_active) { Services.EventBus.get_default ().item_edit_active = false; Services.EventBus.get_default ().dim_content (false, ""); return true; } if (Services.EventBus.get_default ().multi_select_enabled) { clear_multi_select (); return true; } if (views_split_view.show_sidebar) { views_split_view.show_sidebar = false; return true; } } return false; }); var window_gesture = new Gtk.GestureClick (); view_stack.add_controller (window_gesture); window_gesture.pressed.connect ((n_press, x, y) => { if (Services.EventBus.get_default ().item_edit_active) { var target = view_stack.pick (x, y, Gtk.PickFlags.DEFAULT); bool clicked_on_editing_task = false; var widget = target; while (widget != null) { if (widget.has_css_class ("task-editing")) { clicked_on_editing_task = true; break; } widget = widget.get_parent (); } if (!clicked_on_editing_task) { Services.EventBus.get_default ().item_edit_active = false; Services.EventBus.get_default ().dim_content (false, ""); } } }); Services.Settings.get_default ().settings.changed["local-inbox-project-id"].connect (() => { handle_inbox_project_change (); }); close_request.connect (() => { if (Services.Settings.get_default ().settings.get_boolean ("run-in-background")) { hide (); return true; } return false; }); } public void show_hide_sidebar () { overlay_split_view.show_sidebar = !overlay_split_view.show_sidebar; } #if WITH_LIBPORTAL private void update_autostart () { bool run_on_startup = Services.Settings.get_default ().settings.get_boolean ("run-on-startup"); if (run_on_startup) { Planify.instance.ask_for_background.begin (Xdp.BackgroundFlags.AUTOSTART, (obj, res) => { Planify.instance.ask_for_background.end (res); }); } else { Planify.instance.ask_for_background.begin (Xdp.BackgroundFlags.NONE, (obj, res) => { Planify.instance.ask_for_background.end (res); }); } } #endif private void clear_multi_select () { Services.EventBus.get_default ().multi_select_enabled = false; Services.EventBus.get_default ().show_multi_select (false); Services.EventBus.get_default ().unselect_all (); } private void init_backend () { Services.Database.get_default ().init_database (); } private void check_archived () { archive_item.visible = Services.Store.instance ().get_all_projects_archived ().size > 0; archive_separator.visible = Services.Store.instance ().get_all_projects_archived ().size > 0; } private void add_inbox_view () { var inbox_project = Services.Store.instance ().get_project (Services.Settings.get_default ().settings.get_string ("local-inbox-project-id")); if (inbox_project != null) { add_project_view (inbox_project); previous_inbox_project_id = inbox_project.id; } } private void handle_inbox_project_change () { if (previous_inbox_project_id == "") { return; } var old_project = Services.Store.instance ().get_project (previous_inbox_project_id); if (old_project == null) { return; } string old_view_id = old_project.view_id; string current_visible = views_stack.visible_child_name; if (current_visible == old_view_id) { var old_view = views_stack.get_child_by_name (old_view_id); if (old_view != null) { foreach (var item in view_cache) { if (item.view_id == old_view_id) { view_cache.remove (item); break; } } cleanup_view (old_view); views_stack.remove (old_view); } add_inbox_view (); } } public Views.Project add_project_view (Objects.Project project) { Views.Project ? project_view = (Views.Project) views_stack.get_child_by_name (project.view_id); if (project_view == null) { project_view = new Views.Project (project); views_stack.add_named (project_view, project.view_id); add_view_to_cache (project.view_id, project_view); } else { update_view_access (project.view_id); } views_stack.set_visible_child_name (project.view_id); return project_view; } public void add_today_view () { Views.Today ? today_view = (Views.Today) views_stack.get_child_by_name ("today-view"); if (today_view == null) { today_view = new Views.Today (); views_stack.add_named (today_view, "today-view"); add_view_to_cache ("today-view", today_view); } else { update_view_access ("today-view"); } views_stack.set_visible_child_name ("today-view"); } public void add_scheduled_view () { Views.Scheduled.Scheduled ? scheduled_view = (Views.Scheduled.Scheduled) views_stack.get_child_by_name ("scheduled-view"); if (scheduled_view == null) { scheduled_view = new Views.Scheduled.Scheduled (); views_stack.add_named (scheduled_view, "scheduled-view"); add_view_to_cache ("scheduled-view", scheduled_view); } else { update_view_access ("scheduled-view"); } views_stack.set_visible_child_name ("scheduled-view"); } public void add_labels_view () { Views.Labels ? labels_view = (Views.Labels) views_stack.get_child_by_name ("labels-view"); if (labels_view == null) { labels_view = new Views.Labels (); views_stack.add_named (labels_view, "labels-view"); add_view_to_cache ("labels-view", labels_view); } else { update_view_access ("labels-view"); } views_stack.set_visible_child_name ("labels-view"); } private void add_label_view (string id) { Views.Label ? label_view = (Views.Label) views_stack.get_child_by_name ("label-view"); if (label_view == null) { label_view = new Views.Label (); views_stack.add_named (label_view, "label-view"); add_view_to_cache ("label-view", label_view); } else { update_view_access ("label-view"); } label_view.label = Services.Store.instance ().get_label (id); views_stack.set_visible_child_name ("label-view"); } public void add_priority_view (string view_id) { Views.Filter ? filter_view = (Views.Filter) views_stack.get_child_by_name (view_id); if (filter_view == null) { filter_view = new Views.Filter (Objects.Filters.Priority.get_default (int.parse (view_id.split ("-")[1]))); views_stack.add_named (filter_view, view_id); add_view_to_cache (view_id, filter_view); } else { update_view_access (view_id); } views_stack.set_visible_child_name (view_id); } private void add_filter_view (Objects.BaseObject base_object) { Views.Filter ? filter_view = (Views.Filter) views_stack.get_child_by_name (base_object.view_id); if (filter_view == null) { filter_view = new Views.Filter (base_object); views_stack.add_named (filter_view, base_object.view_id); add_view_to_cache (base_object.view_id, filter_view); } else { update_view_access (base_object.view_id); } views_stack.set_visible_child_name (base_object.view_id); } public void go_homepage () { string home_page_id = Services.Settings.get_default ().get_string ("home-view"); if (home_page_id.has_prefix ("project-")) { var project_id = home_page_id.substring (8); if (project_id != null && project_id.length > 0) { Services.EventBus.get_default ().pane_selected (PaneType.PROJECT, project_id); } } else { Services.EventBus.get_default ().pane_selected (PaneType.FILTER, home_page_id); } } public void view_item (string id) { var item = Services.Database.get_default ().get_item_by_id (id); Services.EventBus.get_default ().pane_selected (PaneType.PROJECT, item.project_id); } public void valid_view_removed (Objects.Project project) { Views.Project ? project_view = (Views.Project) views_stack.get_child_by_name (project.view_id); if (project_view != null) { foreach (var item in view_cache) { if (item.view_id == project.view_id) { view_cache.remove (item); break; } } if (views_stack.visible_child == project_view) { go_homepage (); // Use a timeout to ensure the view transition is complete before cleanup GLib.Timeout.add (views_stack.transition_duration, () => { project_view.clean_up (); project_view.destroy (); views_stack.remove (project_view); return GLib.Source.REMOVE; }); } else { // If not visible, we can clean up immediately project_view.clean_up (); project_view.destroy (); views_stack.remove (project_view); } } } public void add_task_action (string content = "") { if (views_stack.visible_child_name.has_prefix ("project")) { Views.Project ? project_view = (Views.Project) views_stack.visible_child; if (project_view != null) { project_view.prepare_new_item (content); } } else if (views_stack.visible_child_name.has_prefix ("today-view")) { Views.Today ? today_view = (Views.Today) views_stack.visible_child; if (today_view != null) { today_view.prepare_new_item (content); } } else if (views_stack.visible_child_name.has_prefix ("scheduled-view")) { Views.Scheduled.Scheduled ? scheduled_view = (Views.Scheduled.Scheduled) views_stack.visible_child; if (scheduled_view != null) { scheduled_view.prepare_new_item (content); } } else if (views_stack.visible_child_name.has_prefix ("labels-view")) { Views.Labels ? labels_view = (Views.Labels) views_stack.visible_child; if (labels_view != null) { labels_view.prepare_new_item (content); } } else if (views_stack.visible_child_name.has_prefix ("label-view")) { Views.Label ? label_view = (Views.Label) views_stack.visible_child; if (label_view != null) { label_view.prepare_new_item (content); } } else { Views.Filter ? filter_view = (Views.Filter) views_stack.visible_child; if (filter_view != null) { filter_view.prepare_new_item (content); } else { var dialog = new Dialogs.QuickAdd (); dialog.update_content (content); dialog.present (Planify._instance.main_window); } } } public void new_section_action () { if (views_stack.visible_child == null) { return; } if (views_stack.visible_child is Views.Project) { Views.Project ? project_view = (Views.Project) views_stack.visible_child; if (project_view != null) { project_view.prepare_new_section (); } } } private Gtk.Popover build_menu_app () { var preferences_item = new Widgets.ContextMenu.MenuItem (_("Preferences")); preferences_item.secondary_text = "Ctrl+,"; var productivity_item = new Widgets.ContextMenu.MenuItem (Markup.escape_text (_("Summary & Productivity"))); var keyboard_shortcuts_item = new Widgets.ContextMenu.MenuItem (_("Keyboard Shortcuts")); keyboard_shortcuts_item.secondary_text = "F1"; var about_item = new Widgets.ContextMenu.MenuItem (_("About Planify")); archive_item = new Widgets.ContextMenu.MenuItem (_("Archived Projects")); archive_separator = new Widgets.ContextMenu.MenuSeparator (); var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; menu_box.append (preferences_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (productivity_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (archive_item); menu_box.append (archive_separator); menu_box.append (keyboard_shortcuts_item); menu_box.append (about_item); var popover = new Gtk.Popover () { has_arrow = true, child = menu_box, width_request = 250, position = Gtk.PositionType.BOTTOM }; productivity_item.clicked.connect (() => { popover.popdown (); var dialog = new Dialogs.ProductivityReport.ProductivityReportDialog (); dialog.present (Planify._instance.main_window); }); preferences_item.clicked.connect (() => { open_preferences_window (); }); about_item.clicked.connect (() => { about_dialog (); }); keyboard_shortcuts_item.clicked.connect (() => { open_shortcuts_window (); }); archive_item.clicked.connect (() => { var dialog = new Dialogs.ManageProjects (); dialog.present (Planify._instance.main_window); }); return popover; } public void open_shortcuts_window () { try { var shortcuts_builder = new Gtk.Builder (); shortcuts_builder.add_from_resource ("/io/github/alainm23/planify/shortcuts.ui"); var shortcuts_window = (Gtk.ShortcutsWindow) shortcuts_builder.get_object ("shortcuts-planify"); shortcuts_window.set_transient_for (this); shortcuts_window.show (); } catch (Error e) { warning ("Failed to open shortcuts window: %s\n", e.message); } } public void open_preferences_window () { var preferences_dialog = new Dialogs.Preferences.PreferencesWindow (); preferences_dialog.present (Planify._instance.main_window); } public void send_toast_error (int error_code, string error_message) { var toast = new Adw.Toast (_("Oops! Something happened")); toast.timeout = 3; toast.priority = Adw.ToastPriority.HIGH; toast.button_label = _("See More"); toast.button_clicked.connect (() => { (new Dialogs.ErrorDialog (error_code, error_message)).present (this); }); toast_overlay.add_toast (toast); } public void show_task_completed_toast (string project_id) { var project = Services.Store.instance ().get_project (project_id); if (project == null) { return; } var toast = new Adw.Toast (_("Task completed")); toast.button_label = _("View"); toast.timeout = 3; toast.button_clicked.connect (() => { project.show_completed = true; project.update_local (); }); toast_overlay.add_toast (toast); } private void about_dialog () { Adw.AboutDialog dialog; if (Build.PROFILE == "development") { dialog = new Adw.AboutDialog (); } else { dialog = new Adw.AboutDialog.from_appdata ( "/io/github/alainm23/planify/" + Build.APPLICATION_ID + ".metainfo.xml.in.in", Build.VERSION ); } dialog.application_icon = Build.APPLICATION_ID; dialog.application_name = "Planify"; dialog.developer_name = "Alain"; dialog.designers = { "Alain" }; dialog.website = "https://github.com/alainm23/planify"; dialog.developers = { "Alain" }; dialog.issue_url = "https://github.com/alainm23/planify/issues"; dialog.present (Planify._instance.main_window); } private Gtk.Widget build_error_db_page () { var headerbar = new Adw.HeaderBar (); var status_page = new Adw.StatusPage (); status_page.icon_name = "process-error-symbolic"; status_page.title = _("Database Integrity Check Failed"); status_page.description = _("We've detected issues with the database structure that may prevent the application from functioning properly. This may be due to missing tables or columns, likely caused by data corruption or an incomplete update.\n\nThe database will now be reset to restore normal functionality, and any existing data will be removed.\n\nAfter the reset, you’ll be able to restore any backup you’ve created previously. Thank you for your patience"); var reset_button = new Gtk.Button.with_label (_("Reset Database")) { halign = CENTER }; reset_button.add_css_class ("destructive-action"); reset_button.add_css_class ("pill"); var box = new Gtk.Box (VERTICAL, 12) { valign = CENTER, margin_bottom = 32 }; box.append (status_page); box.append (reset_button); var toolbar_view = new Adw.ToolbarView () { content = box }; toolbar_view.add_top_bar (headerbar); reset_button.clicked.connect (() => { Services.Database.get_default ().clear_database (); Services.Settings.get_default ().reset_settings (); Timeout.add (250, () => { init_backend (); return GLib.Source.REMOVE; }); }); return toolbar_view; } private void cleanup_unused_views () { var current_time = GLib.get_monotonic_time (); var current_view = views_stack.visible_child_name; var to_remove = new Gee.ArrayList (); foreach (var item in view_cache) { if (item.view_id != current_view && current_time - item.last_access > get_timeout_for_view (item.view_id)) { to_remove.add (item); } } foreach (var item in to_remove) { cleanup_view (item.view); views_stack.remove (item.view); view_cache.remove (item); } } private int64 get_timeout_for_view (string view_id) { if (view_id.has_prefix ("project-")) { return 600000000; // 10 min } if (view_id == "today-view") { return 180000000; // 3 min } return VIEW_TIMEOUT; // 5 min } private void cleanup_view (Gtk.Widget view) { if (view is Views.Project) { ((Views.Project) view).clean_up (); } else if (view is Views.Today) { ((Views.Today) view).clean_up (); } else if (view is Views.Scheduled.Scheduled) { ((Views.Scheduled.Scheduled) view).clean_up (); } else if (view is Views.Filter) { ((Views.Filter) view).clean_up (); } else if (view is Views.Label) { ((Views.Label) view).clean_up (); } else if (view is Views.Labels) { ((Views.Labels) view).clean_up (); } } private void update_view_access (string view_id) { foreach (var item in view_cache) { if (item.view_id == view_id) { item.update_access (); break; } } } private void add_view_to_cache (string view_id, Gtk.Widget view) { view_cache.add (new ViewCacheItem (view_id, view)); } private class ViewCacheItem { public string view_id; public Gtk.Widget view; public int64 last_access; public ViewCacheItem (string id, Gtk.Widget widget) { view_id = id; view = widget; last_access = GLib.get_monotonic_time (); } public void update_access () { last_access = GLib.get_monotonic_time (); } } } alainm23-planify-69962f8/src/Objects/000077500000000000000000000000001517337276100172535ustar00rootroot00000000000000alainm23-planify-69962f8/src/Objects/Backup.vala000066400000000000000000000114201517337276100213230ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Objects.Backup : Object { public string version { get; set; default = ""; } public string date { get; set; default = new GLib.DateTime.now_local ().to_string (); } public string local_inbox_project_id { get; set; default = ""; } public Gee.ArrayList projects { get; set; default = new Gee.ArrayList (); } public Gee.ArrayList sections { get; set; default = new Gee.ArrayList (); } public Gee.ArrayList items { get; set; default = new Gee.ArrayList (); } public Gee.ArrayList labels { get; set; default = new Gee.ArrayList (); } public Gee.ArrayList sources { get; set; default = new Gee.ArrayList (); } public string path { get; set; } public string error { get; set; default = ""; } GLib.DateTime _datetime; public GLib.DateTime datetime { get { _datetime = new GLib.DateTime.from_iso8601 (date, new GLib.TimeZone.local ()); return _datetime; } } private string _title; public string title { get { _title = datetime.format ("%c"); return _title; } } public signal void deleted (); public Backup.from_file (File file) { var parser = new Json.Parser (); try { parser.load_from_file (file.get_path ()); path = file.get_path (); var node = parser.get_root ().get_object (); version = node.get_string_member ("version"); date = node.get_string_member ("date"); // Set Settings var settings = node.get_object_member ("settings"); local_inbox_project_id = settings.get_string_member ("local-inbox-project-id"); // Sources sources.clear (); unowned Json.Array _sources = node.get_array_member ("sources"); foreach (unowned Json.Node item in _sources.get_elements ()) { sources.add (new Objects.Source.from_import_json (item)); } // Labels labels.clear (); unowned Json.Array _labels = node.get_array_member ("labels"); foreach (unowned Json.Node item in _labels.get_elements ()) { labels.add (new Objects.Label.from_import_json (item)); } // Projects projects.clear (); unowned Json.Array _projects = node.get_array_member ("projects"); foreach (unowned Json.Node item in _projects.get_elements ()) { var _project = new Objects.Project.from_import_json (item); if (version == "1.0") { if (_project.source_id != SourceType.CALDAV.to_string ()) { projects.add (_project); } } else { projects.add (_project); } } // Sections sections.clear (); unowned Json.Array _sections = node.get_array_member ("sections"); foreach (unowned Json.Node item in _sections.get_elements ()) { sections.add (new Objects.Section.from_import_json (item)); } // Items items.clear (); unowned Json.Array _items = node.get_array_member ("items"); foreach (unowned Json.Node item in _items.get_elements ()) { items.add (new Objects.Item.from_import_json (item, labels)); } } catch (Error e) { error = e.message; } } public bool valid () { if (error != "") { return false; } if (version == null || version == "") { return false; } if (date == null || date == "") { return false; } if (projects.is_empty) { return false; } return true; } } alainm23-planify-69962f8/src/Services/000077500000000000000000000000001517337276100174455ustar00rootroot00000000000000alainm23-planify-69962f8/src/Services/ActionManager.vala000066400000000000000000000230121517337276100230200ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Services.ActionManager : Object { public Planify app { get; construct; } public MainWindow window { get; construct; } public SimpleActionGroup actions { get; construct; } public const string ACTION_PREFIX = "win."; public const string ACTION_QUIT_Q = "action_quit_q"; public const string ACTION_QUIT_W = "action_quit_w"; public const string ACTION_PREFERENCES = "action_preferences"; public const string ACTION_SHORTCUTS = "action_shortcuts"; public const string ACTION_ADD_TASK = "action_add_task"; public const string ACTION_ADD_TASK_PASTE = "action_add_task_paste"; public const string ACTION_OPEN_SEARCH = "action_open_search"; public const string ACTION_SYNC_MANUALLY = "action_sync_manually"; public const string ACTION_NEW_PROJECT = "action_new_project"; public const string ACTION_NEW_SECTION = "action_new_section"; public const string ACTION_VIEW_HOMEPAGE = "action_view_homepage"; public const string ACTION_VIEW_INBOX = "action_view_inbox"; public const string ACTION_VIEW_TODAY = "action_view_today"; public const string ACTION_VIEW_SCHEDULED = "action_view_scheduled"; public const string ACTION_VIEW_PINBOARD = "action_view_pinboard"; public const string ACTION_VIEW_LABELS = "action_view_labels"; public const string ACTION_VIEW_HOME = "action_view_home"; public const string ACTION_SHOW_HIDE_SIDEBAR = "action_show_hide_sidebar"; public static Gee.MultiMap action_accelerators = new Gee.HashMultiMap (); public static Gee.MultiMap typing_accelerators = new Gee.HashMultiMap (); private const ActionEntry[] ACTION_ENTRIES = { { ACTION_QUIT_Q, action_quit }, { ACTION_QUIT_W, action_quit }, { ACTION_PREFERENCES, action_preferences }, { ACTION_SHORTCUTS, action_shortcuts }, { ACTION_ADD_TASK, action_add_task }, { ACTION_ADD_TASK_PASTE, action_add_task_paste }, { ACTION_OPEN_SEARCH, action_open_search }, { ACTION_SYNC_MANUALLY, action_sync_manually }, { ACTION_NEW_PROJECT, action_new_project }, { ACTION_NEW_SECTION, action_new_section }, { ACTION_VIEW_HOMEPAGE, action_view_homepage }, { ACTION_VIEW_INBOX, action_view_inbox }, { ACTION_VIEW_TODAY, action_view_today }, { ACTION_VIEW_SCHEDULED, action_view_scheduled }, { ACTION_VIEW_PINBOARD, action_view_pinboard }, { ACTION_VIEW_LABELS, action_view_labels }, { ACTION_VIEW_HOME, action_view_home }, { ACTION_SHOW_HIDE_SIDEBAR, action_show_hide_sidebar } }; public ActionManager (Planify app, MainWindow window) { Object ( app: app, window: window ); } static construct { action_accelerators.set (ACTION_QUIT_Q, "q"); action_accelerators.set (ACTION_QUIT_W, "w"); action_accelerators.set (ACTION_PREFERENCES, "comma"); action_accelerators.set (ACTION_SHORTCUTS, "F1"); action_accelerators.set (ACTION_OPEN_SEARCH, "f"); action_accelerators.set (ACTION_SYNC_MANUALLY, "s"); action_accelerators.set (ACTION_VIEW_HOMEPAGE, "h"); action_accelerators.set (ACTION_VIEW_INBOX, "i"); action_accelerators.set (ACTION_VIEW_TODAY, "t"); action_accelerators.set (ACTION_VIEW_SCHEDULED, "u"); action_accelerators.set (ACTION_VIEW_LABELS, "l"); action_accelerators.set (ACTION_VIEW_PINBOARD, "p"); typing_accelerators.set (ACTION_ADD_TASK, "a"); typing_accelerators.set (ACTION_ADD_TASK_PASTE, "v"); typing_accelerators.set (ACTION_NEW_PROJECT, "p"); typing_accelerators.set (ACTION_NEW_SECTION, "s"); typing_accelerators.set (ACTION_VIEW_HOME, "h"); typing_accelerators.set (ACTION_SHOW_HIDE_SIDEBAR, "m"); } construct { actions = new SimpleActionGroup (); actions.add_action_entries (ACTION_ENTRIES, this); window.insert_action_group ("win", actions); foreach (var action in action_accelerators.get_keys ()) { var accels_array = action_accelerators[action].to_array (); accels_array += null; app.set_accels_for_action (ACTION_PREFIX + action, accels_array); } enable_typing_accels (); Services.EventBus.get_default ().disconnect_typing_accel.connect (disable_typing_accels); Services.EventBus.get_default ().connect_typing_accel.connect (enable_typing_accels); Services.EventBus.get_default ().disconnect_all_accels.connect (disable_all_accel); Services.EventBus.get_default ().connect_all_accels.connect (enable_all_accel); } // Temporarily disable all the accelerators that might interfere with input fields. private void disable_typing_accels () { foreach (var action in typing_accelerators.get_keys ()) { app.set_accels_for_action (ACTION_PREFIX + action, {}); } } private void disable_action_accels () { foreach (var action in action_accelerators.get_keys ()) { app.set_accels_for_action (ACTION_PREFIX + action, {}); } } // Enable all the accelerators that might interfere with input fields. private void enable_typing_accels () { foreach (var action in typing_accelerators.get_keys ()) { var accels_array = typing_accelerators[action].to_array (); accels_array += null; app.set_accels_for_action (ACTION_PREFIX + action, accels_array); } } private void enable_action_accels () { foreach (var action in action_accelerators.get_keys ()) { var accels_array = action_accelerators[action].to_array (); accels_array += null; app.set_accels_for_action (ACTION_PREFIX + action, accels_array); } } private void disable_all_accel () { disable_typing_accels (); disable_action_accels (); } private void enable_all_accel () { enable_typing_accels (); enable_action_accels (); } private void action_quit () { window.destroy (); } private void action_preferences () { window.open_preferences_window (); } private void action_open_search () { var dialog = new Dialogs.QuickFind.QuickFind (); dialog.present (Planify._instance.main_window); } private void action_sync_manually () { foreach (Objects.Source source in Services.Store.instance ().sources) { source.run_server (); } } private void action_new_project () { var default_source = Services.Store.instance ().get_default_source (); var source_id = default_source != null ? default_source.id : SourceType.LOCAL.to_string (); var dialog = new Dialogs.Project.new (source_id, true); dialog.present (Planify._instance.main_window); } private void action_view_homepage () { window.go_homepage (); } private void action_view_inbox () { Services.EventBus.get_default ().pane_selected (PaneType.FILTER, Objects.Filters.Inbox.get_default ().view_id); } private void action_view_today () { Services.EventBus.get_default ().pane_selected (PaneType.FILTER, Objects.Filters.Today.get_default ().view_id); } private void action_view_scheduled () { Services.EventBus.get_default ().pane_selected (PaneType.FILTER, Objects.Filters.Scheduled.get_default ().view_id); } private void action_view_labels () { Services.EventBus.get_default ().pane_selected (PaneType.FILTER, Objects.Filters.Labels.get_default ().view_id); } private void action_view_pinboard () { Services.EventBus.get_default ().pane_selected (PaneType.FILTER, Objects.Filters.Pinboard.get_default ().view_id); } private void action_show_hide_sidebar () { window.show_hide_sidebar (); } private void action_new_section () { window.new_section_action (); } private void action_add_task () { window.add_task_action (); } private void action_add_task_paste () { Gdk.Clipboard clipboard = Gdk.Display.get_default ().get_clipboard (); clipboard.read_text_async.begin (null, (obj, res) => { try { string content = clipboard.read_text_async.end (res); window.add_task_action (content); } catch (GLib.Error error) { debug (error.message); } }); } private void action_shortcuts () { window.open_shortcuts_window (); } private void action_view_home () { window.go_homepage (); } } alainm23-planify-69962f8/src/Services/Api.vala000066400000000000000000000047151517337276100210320ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Services.Api : GLib.Object { private static Api? _instance; public static Api get_default () { if (_instance == null) { _instance = new Api (); } return _instance; } public async Objects.Release? get_latest_release () throws Error { var session = new Soup.Session (); var message = new Soup.Message ("GET", "https://flathub.org/api/v2/appstream/io.github.alainm23.planify?locale=en"); var response = yield session.send_and_read_async (message, Priority.DEFAULT, null); var json_string = (string) response.get_data (); var parser = new Json.Parser (); parser.load_from_data (json_string); var root_object = parser.get_root ().get_object (); if (!root_object.has_member ("releases")) { return null; } var releases_array = root_object.get_array_member ("releases"); if (releases_array.get_length () == 0) { return null; } Json.Object? latest_release_json = null; int64 latest_timestamp = 0; releases_array.foreach_element ((array, index, element) => { var release_json = element.get_object (); var timestamp = int64.parse (release_json.get_string_member ("timestamp")); if (timestamp > latest_timestamp) { latest_timestamp = timestamp; latest_release_json = release_json; } }); return latest_release_json != null ? new Objects.Release.from_json (latest_release_json) : null; } } alainm23-planify-69962f8/src/Services/Backups.vala000066400000000000000000000236531517337276100217130ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Services.Backups : Object { private Json.Generator generator; private Json.Builder builder; private Json.Parser parser; private string path; private static Backups ? _instance; public static Backups get_default () { if (_instance == null) { _instance = new Backups (); } return _instance; } Gee.ArrayList _backups = null; public Gee.ArrayList backups { get { if (_backups == null) { _backups = get_backups_collection (); } return _backups; } } public signal void backup_added (Objects.Backup backup); construct { generator = new Json.Generator (); generator.pretty = true; builder = new Json.Builder (); parser = new Json.Parser (); path = Environment.get_user_data_dir () + "/io.github.alainm23.planify/backups"; } public Gee.ArrayList get_backups_collection () { Gee.ArrayList return_value = new Gee.ArrayList (); File directory = File.new_for_path (path); try { var children = directory.enumerate_children ("standard::*," + FileAttribute.STANDARD_CONTENT_TYPE + "," + FileAttribute.STANDARD_IS_HIDDEN + "," + FileAttribute.STANDARD_IS_SYMLINK + "," + FileAttribute.STANDARD_SYMLINK_TARGET, GLib.FileQueryInfoFlags.NONE); FileInfo file_info = null; while ((file_info = children.next_file ()) != null) { if (file_info.get_is_hidden ()) { continue; } if (file_info.get_is_symlink ()) { continue; } else if (file_info.get_file_type () == FileType.DIRECTORY) { continue; } else { string mime_type = file_info.get_content_type (); string uri = directory.get_uri () + "/" + file_info.get_name ().replace ("#", "%23"); if (is_backup_file (mime_type)) { var file = File.new_for_uri (uri); var backup = new Objects.Backup.from_file (file); return_value.add (backup); } } } children.close (); children.dispose (); } catch (Error err) { warning ("%s\n", err.message); } directory.dispose (); return return_value; } public static bool is_backup_file (string mime_type) { return mime_type == "application/json"; } public string export_to_json () { return Services.Backup.get_default ().export_to_json (); } public void create_backup () { var datetime = new GLib.DateTime.now_local (); var file_name = "Planify backup %s.json".printf (datetime.format ("%c")); var path = path + "/" + file_name; var file = File.new_for_path (path); try { var stream = file.create (FileCreateFlags.NONE, null); stream.write (export_to_json ().data, null); stream.close (null); var file_path = File.new_for_path (path); if (file_path.query_exists ()) { var backup = new Objects.Backup.from_file (file_path); backup_added (backup); _backups.add (backup); } } catch (Error e) { debug ("Error: %s\n", e.message); } } public void delete_backup (Objects.Backup backup) { var dialog = new Adw.AlertDialog ( _("Delete Backup"), _("This can not be undone") ); dialog.add_response ("cancel", _("Cancel")); dialog.add_response ("delete", _("Delete")); dialog.set_response_appearance ("delete", Adw.ResponseAppearance.DESTRUCTIVE); dialog.present ((Gtk.Window) Planify.instance.main_window); dialog.response.connect ((response) => { if (response == "delete") { File db_file = File.new_for_path (backup.path); if (db_file.query_exists ()) { try { if (db_file.delete ()) { backup.deleted (); _backups.remove (backup); } } catch (Error err) { warning (err.message); } } } }); } public void save_file_as (Objects.Backup backup) { var dialog = new Gtk.FileDialog (); dialog.initial_name = "Planify backup %s.json".printf (backup.title); add_filters (dialog); dialog.save.begin (Planify._instance.main_window, null, (obj, res) => { try { var file = dialog.save.end (res); if (!file.get_basename ().down ().has_suffix (".json")) { file = File.new_for_path (file.get_path () + ".json"); } var source_file = File.new_for_path (backup.path); if (source_file.query_exists ()) { source_file.copy (file, GLib.FileCopyFlags.OVERWRITE); } else { debug ("Error during save backup"); } } catch (Error e) { debug ("Error during save backup: %s".printf (e.message)); } }); } public async GLib.File ? choose_backup_file () { var dialog = new Gtk.FileDialog (); add_filters (dialog); try { var file = yield dialog.open (Planify._instance.main_window, null); return file; } catch (Error e) { debug ("Error during import backup: %s".printf (e.message)); } return null; } public void patch_backup (Objects.Backup backup) { Services.Settings.get_default ().reset_settings (); Services.Settings.get_default ().settings.set_string ("local-inbox-project-id", backup.local_inbox_project_id); // Clear Database Services.Database.get_default ().clear_database (); Services.Database.get_default ().init_database (); Util.get_default ().create_local_source (); // Create Sources foreach (Objects.Source source in backup.sources) { Services.Store.instance ().insert_source (source); } // Create Labels foreach (Objects.Label item in backup.labels) { Services.Store.instance ().insert_label (item); } // Create Projects foreach (Objects.Project item in backup.projects) { if (item.parent_id != "") { Objects.Project ? project = Services.Store.instance ().get_project (item.parent_id); if (project != null) { project.add_subproject_if_not_exists (item); } } else { Services.Store.instance ().insert_project (item); } } // Create Sections foreach (Objects.Section item in backup.sections) { Objects.Project ? project = Services.Store.instance ().get_project (item.project_id); if (project != null) { project.add_section_if_not_exists (item); } } // Create Items foreach (Objects.Item item in backup.items) { if (item.has_parent) { Objects.Item ? _item = Services.Store.instance ().get_item (item.parent_id); if (_item != null) { _item.add_item_if_not_exists (item); } } else { if (item.section_id != "") { Objects.Section ? section = Services.Store.instance ().get_section (item.section_id); if (section != null) { section.add_item_if_not_exists (item); } } else { Objects.Project ? project = Services.Store.instance ().get_project (item.project_id); if (project != null) { project.add_item_if_not_exists (item); } } } } show_message (); } private void show_message () { var dialog = new Adw.AlertDialog ( _("Backup Successfully Imported"), _("Planify will restart to apply the changes") ); dialog.add_response ("ok", _("Restart Now")); dialog.present (Planify._instance.main_window); dialog.response.connect ((response) => { restart_application (); }); } private void restart_application () { Planify._instance.recreate_main_window (); } private void add_filters (Gtk.FileDialog file_dialog) { var filter = new Gtk.FileFilter (); filter.set_filter_name (_("Planify Backup Files")); filter.add_pattern ("*.json"); var filters = new ListStore (typeof (Gtk.FileFilter)); filters.append (filter); file_dialog.filters = filters; file_dialog.default_filter = filter; } } alainm23-planify-69962f8/src/Services/DBusServer.vala000066400000000000000000000036351517337276100223450ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ [DBus (name = "io.github.alainm23.planify")] public class Services.DBusServer : Object { private const string DBUS_NAME = "io.github.alainm23.planify"; private const string DBUS_PATH = "/io/github/alainm23/planify"; private static GLib.Once instance; public static unowned DBusServer get_default () { return instance.once (() => { return new DBusServer (); }); } public signal void item_added (string id); construct { Bus.own_name ( BusType.SESSION, DBUS_NAME, BusNameOwnerFlags.NONE, (connection) => on_bus_aquired (connection), () => {}, null ); } public void add_item (string id) throws IOError, DBusError { item_added (id); } private void on_bus_aquired (DBusConnection conn) { try { conn.register_object (DBUS_PATH, get_default ()); } catch (Error e) { error (e.message); } } } [DBus (name = "io.github.alainm23.planify")] public errordomain DBusServerError { SOME_ERROR } alainm23-planify-69962f8/src/Services/ExportService.vala000066400000000000000000000213601517337276100231160ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Services.ExportService : GLib.Object { private const double PAGE_WIDTH = 595.0; // A4 width in points private const double PAGE_HEIGHT = 842.0; // A4 height in points private const double MARGIN = 50.0; private static ExportService ? _instance; public static ExportService get_default () { if (_instance == null) { _instance = new ExportService (); } return _instance; } public void export_project_pdf (Objects.Project project, string output_path) { var surface = new Cairo.PdfSurface (output_path, PAGE_WIDTH, PAGE_HEIGHT); var cr = new Cairo.Context (surface); double y = MARGIN; // Project name cr.select_font_face ("Sans", Cairo.FontSlant.NORMAL, Cairo.FontWeight.BOLD); cr.set_font_size (24); cr.set_source_rgb (0, 0, 0); y += 24; cr.move_to (MARGIN, y); cr.show_text (project.name); // Description if (project.description != "") { y += 24; cr.select_font_face ("Sans", Cairo.FontSlant.NORMAL, Cairo.FontWeight.NORMAL); cr.set_font_size (11); cr.set_source_rgb (0.4, 0.4, 0.4); foreach (string line in wrap_text (cr, project.description, PAGE_WIDTH - MARGIN * 2)) { cr.move_to (MARGIN, y); cr.show_text (line); y += 16; } } // Due date if (project.due_date != "") { y += 6; cr.select_font_face ("Sans", Cairo.FontSlant.NORMAL, Cairo.FontWeight.NORMAL); cr.set_font_size (10); cr.set_source_rgb (0.3, 0.3, 0.3); cr.move_to (MARGIN, y); var datetime = Utils.Datetime.get_date_from_string (project.due_date); if (datetime != null) { cr.show_text ("%s: %s".printf (_("Deadline"), Utils.Datetime.get_short_date_format_from_date (datetime))); } } // Tasks without section if (project.items.size > 0) { y += 12; y = draw_items (cr, surface, project.items, y, MARGIN); } // Sections var sorted_sections = new Gee.ArrayList (); sorted_sections.add_all (project.sections); sorted_sections.sort ((a, b) => { return a.section_order - b.section_order; }); bool is_first_section = true; foreach (Objects.Section section in sorted_sections) { if (y > PAGE_HEIGHT - MARGIN - 30) { surface.show_page (); y = MARGIN; } if (is_first_section && project.items.size <= 0) { y += 24; } else { y += 12; } is_first_section = false; cr.select_font_face ("Sans", Cairo.FontSlant.NORMAL, Cairo.FontWeight.BOLD); cr.set_font_size (11); cr.set_source_rgb (0, 0, 0); cr.move_to (MARGIN, y); cr.show_text (section.name); y += 24; if (section.items.size > 0) { y = draw_items (cr, surface, section.items, y, MARGIN); } } surface.show_page (); surface.finish (); } private double draw_items (Cairo.Context cr, Cairo.PdfSurface surface, Gee.ArrayList items, double start_y, double x) { double y = start_y; foreach (Objects.Item item in items) { if (y > PAGE_HEIGHT - MARGIN) { surface.show_page (); y = MARGIN; } string checkbox = item.checked ? "- [x]" : "- [ ]"; cr.select_font_face ("Sans", Cairo.FontSlant.NORMAL, Cairo.FontWeight.NORMAL); cr.set_font_size (11); cr.set_source_rgb (0.3, 0.3, 0.3); cr.move_to (x, y); cr.show_text (checkbox); Cairo.TextExtents extents; cr.text_extents (checkbox + " ", out extents); double text_x = x + extents.x_advance; // Due date if (item.has_due) { string date_str = "[%s] ".printf (Utils.Datetime.get_relative_date_from_date (item.due.datetime)); cr.set_source_rgb (0.4, 0.4, 0.4); cr.set_font_size (9); cr.move_to (text_x, y); cr.show_text (date_str); Cairo.TextExtents date_extents; cr.text_extents (date_str, out date_extents); text_x += date_extents.x_advance; } // Title cr.set_font_size (11); if (item.checked) { cr.set_source_rgb (0.5, 0.5, 0.5); } else { cr.set_source_rgb (0, 0, 0); } cr.move_to (text_x, y); cr.show_text (item.content); // Priority if (item.priority != Constants.PRIORITY_4) { string priority_str = " (P%d)".printf (4 - item.priority + 1); Cairo.TextExtents content_extents; cr.text_extents (item.content, out content_extents); cr.set_font_size (9); set_priority_color (cr, item.priority); cr.move_to (text_x + content_extents.x_advance, y); cr.show_text (priority_str); Cairo.TextExtents priority_extents; cr.text_extents (priority_str, out priority_extents); text_x += content_extents.x_advance + priority_extents.x_advance; } else { Cairo.TextExtents content_extents; cr.text_extents (item.content, out content_extents); text_x += content_extents.x_advance; } // Deadline if (item.has_deadline) { string deadline_str = " · %s %s".printf (_("Deadline:"), Utils.Datetime.get_relative_time_from_date (item.deadline_datetime)); cr.set_font_size (9); cr.set_source_rgb (0.5, 0.5, 0.5); cr.move_to (text_x, y); cr.show_text (deadline_str); } y += 20; // Sub-items if (item.items.size > 0) { y = draw_items (cr, surface, item.items, y, x + 20); } } return y; } private Gee.ArrayList wrap_text (Cairo.Context cr, string text, double max_width) { var lines = new Gee.ArrayList (); string[] paragraphs = text.split ("\n"); foreach (string paragraph in paragraphs) { if (paragraph.strip () == "") { lines.add (""); continue; } string[] words = paragraph.split (" "); string current_line = ""; foreach (string word in words) { string test_line = current_line == "" ? word : current_line + " " + word; Cairo.TextExtents extents; cr.text_extents (test_line, out extents); if (extents.width > max_width && current_line != "") { lines.add (current_line); current_line = word; } else { current_line = test_line; } } if (current_line != "") { lines.add (current_line); } } return lines; } private void set_priority_color (Cairo.Context cr, int priority) { switch (priority) { case Constants.PRIORITY_1: // P1 - red cr.set_source_rgb (1.0, 0.44, 0.40); break; case Constants.PRIORITY_2: // P2 - orange cr.set_source_rgb (1.0, 0.60, 0.08); break; case Constants.PRIORITY_3: // P3 - blue cr.set_source_rgb (0.32, 0.59, 1.0); break; default: cr.set_source_rgb (0.4, 0.4, 0.4); break; } } } alainm23-planify-69962f8/src/Services/MigrateFromPlanner.vala000066400000000000000000000142561517337276100240560ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Services.MigrateFromPlanner : GLib.Object { static GLib.Once _instance; public static unowned MigrateFromPlanner get_default () { return _instance.once (() => { return new MigrateFromPlanner (); }); } public bool migrate_from_file (GLib.File file) { string db_path = file.get_path (); Sqlite.Database db; Sqlite.Database.open (db_path, out db); migrate_labels (db); migrate_projects (db); migrate_sections (db); migrate_items (db); return true; } private void migrate_labels (Sqlite.Database db) { Sqlite.Statement stmt; string sql = """ SELECT * FROM Labels where todoist = 0; """; db.prepare_v2 (sql, sql.length, out stmt); while (stmt.step () == Sqlite.ROW) { Objects.Label label = new Objects.Label (); label.id = stmt.column_text (0); label.name = "(Planner) %s".printf (stmt.column_text (1)); label.color = stmt.column_text (2); label.source_id = SourceType.LOCAL.to_string (); Services.Store.instance ().insert_label (label); } stmt.reset (); } private void migrate_projects (Sqlite.Database db) { Sqlite.Statement stmt; string sql = """ SELECT * FROM Projects WHERE todoist = 0; """; db.prepare_v2 (sql, sql.length, out stmt); while (stmt.step () == Sqlite.ROW) { Objects.Project project = new Objects.Project (); project.id = stmt.column_text (0); project.name = "(Planner) %s".printf (stmt.column_text (1)); project.color = stmt.column_text (2); project.source_id = SourceType.LOCAL.to_string (); Services.Store.instance ().insert_project (project); } stmt.reset (); } private void migrate_sections (Sqlite.Database db) { Sqlite.Statement stmt; string sql = """ SELECT * FROM Sections; """; db.prepare_v2 (sql, sql.length, out stmt); while (stmt.step () == Sqlite.ROW) { Objects.Section section = new Objects.Section (); section.id = stmt.column_text (0); section.name = stmt.column_text (1); section.project_id = stmt.column_text (4); Objects.Project ? project = Services.Store.instance ().get_project (section.project_id); if (project != null) { project.add_section_if_not_exists (section); } } stmt.reset (); } private void migrate_items (Sqlite.Database db) { Sqlite.Statement stmt; string sql = """ SELECT * FROM Items; """; db.prepare_v2 (sql, sql.length, out stmt); while (stmt.step () == Sqlite.ROW) { Objects.Item item = new Objects.Item (); item.id = stmt.column_text (0); item.content = stmt.column_text (1); item.description = stmt.column_text (2); item.due.update_from_json (Services.Database.get_default ().get_due_parameter (stmt.column_text (3))); item.section_id = stmt.column_text (7) == "0" ? "" : stmt.column_text (7); item.project_id = stmt.column_text (8); item.parent_id = stmt.column_text (9) == "0" ? "" : stmt.column_text (9); item.priority = stmt.column_int (10); item.checked = stmt.column_int (12) == 1; item.pinned = stmt.column_int (16) == 1; item.labels = get_labels_by_item (db, item.id); if (item.parent_id != "") { Objects.Item ? parent_item = Services.Store.instance ().get_item (item.parent_id); if (parent_item != null) { parent_item.add_item_if_not_exists (item); } } else { if (item.section_id != "") { Objects.Section ? section = Services.Store.instance ().get_section (item.section_id); if (section != null) { section.add_item_if_not_exists (item); } } else { Objects.Project ? project = Services.Store.instance ().get_project (item.project_id); if (project != null) { project.add_item_if_not_exists (item); } } } } stmt.reset (); } private Gee.ArrayList get_labels_by_item (Sqlite.Database db, string id) { Gee.ArrayList return_value = new Gee.ArrayList (); Sqlite.Statement stmt; string sql = """ SELECT * FROM Items_Labels WHERE item_id = $item_id; """; db.prepare_v2 (sql, sql.length, out stmt); set_parameter_str (stmt, "$item_id", id); while (stmt.step () == Sqlite.ROW) { Objects.Label ? label = Services.Store.instance ().get_label (stmt.column_text (2)); if (label != null) { return_value.add (label); } } return return_value; } private void set_parameter_str (Sqlite.Statement ? stmt, string par, string val) { int par_position = stmt.bind_parameter_index (par); stmt.bind_text (par_position, val); } } alainm23-planify-69962f8/src/Services/Notification.vala000066400000000000000000000102611517337276100227400ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Services.Notification : GLib.Object { private static Notification ? _instance; public static Notification get_default () { if (_instance == null) { _instance = new Notification (); } return _instance; } private Gee.HashMap reminders; construct { regresh (); } public void regresh () { if (reminders == null) { reminders = new Gee.HashMap (); } else { reminders.clear (); } foreach (var reminder in Services.Store.instance ().reminders) { reminder_added (reminder); } Services.Store.instance ().reminder_added.connect ((reminder) => { reminder_added (reminder); }); Services.Store.instance ().reminder_deleted.connect ((reminder) => { if (reminders.has_key (reminder.id)) { reminders.unset (reminder.id); } }); } private void reminder_added (Objects.Reminder reminder) { if (reminder.datetime.compare (new GLib.DateTime.now_local ()) <= 0) { GLib.Notification notification = build_notification (reminder); Planify.instance.send_notification (reminder.id, notification); Services.Store.instance ().delete_reminder (reminder); } else if (Utils.Datetime.is_same_day (reminder.datetime, new GLib.DateTime.now_local ())) { uint interval = (uint) time_until_now (reminder.datetime); string uid = "%u-%u".printf (interval, GLib.Random.next_int ()); reminders.set (reminder.id, uid); Timeout.add_seconds (interval, () => { queue_reminder_notification (reminder, uid); return GLib.Source.REMOVE; }); } } private TimeSpan time_until_now (GLib.DateTime dt) { var now = new DateTime.now_local (); return dt.difference (now) / TimeSpan.SECOND; } private void queue_reminder_notification (Objects.Reminder reminder, string uid) { if (reminders.values.contains (uid) == false) { return; } GLib.Notification notification = build_notification (reminder); Planify.instance.send_notification (uid, notification); Services.Store.instance ().delete_reminder (reminder); } private GLib.Notification build_notification (Objects.Reminder reminder) { var notification = new GLib.Notification (reminder.item.project.name); notification.set_body (reminder.item.content); notification.set_icon (new ThemedIcon ("io.github.alainm23.planify")); notification.set_priority (GLib.NotificationPriority.URGENT); notification.set_default_action_and_target_value ("show-item", new Variant.string (reminder.item_id)); notification.add_button_with_target_value (_("Complete"), "app.complete", new Variant.string (reminder.item_id)); notification.add_button_with_target_value (_("Snooze for 10 minutes"), "app.snooze-10", new Variant.string (reminder.item_id)); notification.add_button_with_target_value (_("Snooze for 30 minutes"), "app.snooze-30", new Variant.string (reminder.item_id)); notification.add_button_with_target_value (_("Snooze for 1 hour"), "app.snooze-60", new Variant.string (reminder.item_id)); return notification; } } alainm23-planify-69962f8/src/Services/TimeMonitor.vala000066400000000000000000000134631517337276100225670ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Services.TimeMonitor : Object { private static TimeMonitor? _instance; public static TimeMonitor get_default () { if (_instance == null) { _instance = new TimeMonitor (); } return _instance; } private DateTime last_registered_date; private uint midnight_timeout_id = 0; public void init_timeout () { last_registered_date = new DateTime.now_local (); Services.LogService.get_default ().info ("TimeMonitor", "Initialized, tracking date: %s".printf (last_registered_date.format ("%Y-%m-%d"))); schedule_midnight_check (); listen_for_system_resume (); } private void schedule_midnight_check () { if (midnight_timeout_id != 0) { GLib.Source.remove (midnight_timeout_id); midnight_timeout_id = 0; } var now = new DateTime.now_local (); var tomorrow = now.add_days (1); var midnight = new DateTime.local (tomorrow.get_year (), tomorrow.get_month (), tomorrow.get_day_of_month (), 0, 0, 0); int seconds = (int) (midnight.difference (now) / TimeSpan.SECOND); Services.LogService.get_default ().info ("TimeMonitor", "Next day check scheduled in %d seconds".printf (seconds)); midnight_timeout_id = Timeout.add_seconds (seconds, () => { midnight_timeout_id = 0; check_day_change (); schedule_midnight_check (); return GLib.Source.REMOVE; }); } private void listen_for_system_resume () { // logind via system bus — only works outside Flatpak if (!Util.get_default ().is_flatpak ()) { try { var system_bus = GLib.Bus.get_sync (GLib.BusType.SYSTEM); system_bus.signal_subscribe ( "org.freedesktop.login1", "org.freedesktop.login1.Manager", "PrepareForSleep", "/org/freedesktop/login1", null, GLib.DBusSignalFlags.NONE, (conn, sender, path, iface, signal_name, parameters) => { bool going_to_sleep; parameters.get ("(b)", out going_to_sleep); if (going_to_sleep) { Services.LogService.get_default ().info ("TimeMonitor", "System going to sleep"); } else { Services.LogService.get_default ().info ("TimeMonitor", "System resumed from sleep (logind), checking day change"); check_day_change (); schedule_midnight_check (); } } ); Services.LogService.get_default ().info ("TimeMonitor", "Subscribed to logind PrepareForSleep signal"); } catch (Error e) { Services.LogService.get_default ().warn ("TimeMonitor", "Could not subscribe to logind: %s".printf (e.message)); } } // ScreenSaver WakeUpScreen via session bus — only needed in Flatpak if (Util.get_default ().is_flatpak ()) { try { var session_bus = GLib.Bus.get_sync (GLib.BusType.SESSION); session_bus.signal_subscribe ( "org.gnome.ScreenSaver", "org.gnome.ScreenSaver", "WakeUpScreen", "/org/gnome/ScreenSaver", null, GLib.DBusSignalFlags.NONE, (conn, sender, path, iface, signal_name, parameters) => { Services.LogService.get_default ().info ("TimeMonitor", "Screen woke up (ScreenSaver), checking day change"); check_day_change (); schedule_midnight_check (); } ); Services.LogService.get_default ().info ("TimeMonitor", "Subscribed to ScreenSaver WakeUpScreen signal"); } catch (Error e) { Services.LogService.get_default ().warn ("TimeMonitor", "Could not subscribe to ScreenSaver: %s".printf (e.message)); } } } private void check_day_change () { DateTime now = new DateTime.now_local (); Services.LogService.get_default ().debug ("TimeMonitor", "Checking day change: last=%s now=%s".printf (last_registered_date.format ("%Y-%m-%d"), now.format ("%Y-%m-%d"))); if (now.get_day_of_month () != last_registered_date.get_day_of_month () || now.get_month () != last_registered_date.get_month () || now.get_year () != last_registered_date.get_year ()) { Services.LogService.get_default ().info ("TimeMonitor", "Day changed from %s to %s".printf (last_registered_date.format ("%Y-%m-%d"), now.format ("%Y-%m-%d"))); Services.EventBus.get_default ().day_changed (); Services.Notification.get_default ().regresh (); last_registered_date = now; } } } alainm23-planify-69962f8/src/Utils/000077500000000000000000000000001517337276100167625ustar00rootroot00000000000000alainm23-planify-69962f8/src/Utils/TaskUtils.vala000066400000000000000000000102331517337276100215510ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Utils.TaskUtils { public static void update_single_item_order (Gtk.ListBox listbox, Layouts.ItemBase moved_row, int new_index) { var rows = new Gee.ArrayList (); for (int i = 0; i < Util.get_default ().get_children (listbox).length (); i++) { var row = (Layouts.ItemBase) listbox.get_row_at_index (i); if (row != null) { rows.add (row); } } Layouts.ItemBase? prev = null; Layouts.ItemBase? next = null; if (new_index > 0) { prev = rows.get (new_index - 1); } if (new_index < rows.size - 1) { next = rows.get (new_index + 1); } if (prev == null && next != null) { moved_row.item.child_order = (int) (next.item.child_order - 1000); } else if (prev != null && next == null) { moved_row.item.child_order = prev.item.child_order + 1000; } else if (prev != null && next != null) { moved_row.item.child_order = (int) ((prev.item.child_order + next.item.child_order) / 2); } else { moved_row.item.child_order = 1000; } moved_row.item.update_async (); if (prev != null && next != null && moved_row.item.child_order == prev.item.child_order) { normalize_orders (rows); } } public static void normalize_orders (Gee.ArrayList rows) { int spacing = 1000; int order = spacing; foreach (Layouts.ItemBase row in rows) { row.item.child_order = order; order += spacing; row.item.update_async (); } } public static bool items_filter_func (Objects.Item item, Gee.HashMap filters) { if (filters.size <= 0) { return true; } bool return_value = false; foreach (Objects.Filters.FilterItem filter in filters.values) { if (filter.filter_type == FilterItemType.PRIORITY) { return_value = return_value || item.priority == int.parse (filter.value); } else if (filter.filter_type == FilterItemType.LABEL) { return_value = return_value || item.has_label (filter.value); } else if (filter.filter_type == FilterItemType.DUE_DATE) { if (filter.value == "1") { return_value = return_value || (item.has_due && Utils.Datetime.is_today (item.due.datetime)); } else if (filter.value == "2") { return_value = return_value || (item.has_due && Utils.Datetime.is_this_week (item.due.datetime)); } else if (filter.value == "3") { return_value = return_value || (item.has_due && Utils.Datetime.is_next_x_week (item.due.datetime, 7)); } else if (filter.value == "4") { return_value = return_value || (item.has_due && Utils.Datetime.is_this_month (item.due.datetime)); } else if (filter.value == "5") { return_value = return_value || (item.has_due && Utils.Datetime.is_next_x_week (item.due.datetime, 30)); } else if (filter.value == "6") { return_value = return_value || !item.has_due; } } } return return_value; } } alainm23-planify-69962f8/src/Views/000077500000000000000000000000001517337276100167575ustar00rootroot00000000000000alainm23-planify-69962f8/src/Views/Filter.vala000066400000000000000000000612251517337276100210570ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Views.Filter : Adw.Bin { public Objects.BaseObject filter { get; construct; } private Layouts.HeaderBar headerbar; private Gtk.Image title_icon; private Gtk.Label title_label; private Gtk.ListBox listbox; private Gtk.Stack listbox_stack; private Widgets.MagicButton magic_button; private Gtk.Revealer view_setting_revealer; private Gtk.Button load_more_button; private Gtk.Revealer load_more_button_revealer; private Gee.HashMap items = new Gee.HashMap (); private Gee.HashMap signal_map = new Gee.HashMap (); private Gee.ArrayList items_list; private int page_index = 0; private const int PAGE_SIZE = Constants.COMPLETED_PAGE_SIZE; private bool has_items { get { return items.size > 0; } } public Filter (Objects.BaseObject filter) { Object ( filter: filter ); } ~Filter () { debug ("Destroying - Views.Filter\n"); } construct { title_icon = new Gtk.Image () { pixel_size = 16, valign = CENTER, halign = CENTER, }; title_icon.add_css_class ("view-icon"); title_label = new Gtk.Label (null) { css_classes = { "font-bold", "title-2" }, ellipsize = END, halign = START }; var title_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_start = 30 }; title_box.append (title_icon); title_box.append (title_label); var view_setting_button = new Gtk.MenuButton () { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, margin_end = 12, popover = build_view_setting_popover (), icon_name = "view-sort-descending-rtl-symbolic", css_classes = { "flat" }, tooltip_text = _("View Option Menu") }; view_setting_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.CROSSFADE, child = view_setting_button }; headerbar = new Layouts.HeaderBar (); headerbar.pack_end (view_setting_revealer); listbox = new Gtk.ListBox () { valign = Gtk.Align.START, selection_mode = Gtk.SelectionMode.NONE, hexpand = true, css_classes = { "listbox-background" } }; load_more_button = new Gtk.Button.with_label ("Cargar más") { margin_start = 20, halign = START, }; load_more_button.add_css_class ("flat"); load_more_button_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, reveal_child = false, child = load_more_button }; var listbox_box = new Gtk.Box (VERTICAL, 12) { margin_end = 24, margin_top = 12 }; listbox_box.append (listbox); listbox_box.append (load_more_button_revealer); var listbox_placeholder = new Adw.StatusPage (); listbox_placeholder.icon_name = "check-round-outline-symbolic"; listbox_placeholder.title = _("Add Some Tasks"); listbox_placeholder.description = _("Press 'a' to create a new task"); if (filter is Objects.Filters.Completed) { listbox_placeholder.title = _("All tasks completed!"); listbox_placeholder.description = _("Great job, nothing left to do 🎉"); } listbox_stack = new Gtk.Stack () { hexpand = true, vexpand = true, transition_type = Gtk.StackTransitionType.CROSSFADE }; listbox_stack.add_named (listbox_box, "listbox"); listbox_stack.add_named (listbox_placeholder, "placeholder"); var content = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { hexpand = true, vexpand = true }; content.append (title_box); content.append (listbox_stack); var content_clamp = new Adw.Clamp () { maximum_size = 864, tightening_threshold = 600, margin_bottom = 64, child = content }; var scrolled_window = new Gtk.ScrolledWindow () { hscrollbar_policy = Gtk.PolicyType.NEVER, hexpand = true, vexpand = true, child = content_clamp }; magic_button = new Widgets.MagicButton (); var content_overlay = new Gtk.Overlay () { hexpand = true, vexpand = true, child = scrolled_window }; content_overlay.add_overlay (magic_button); var toolbar_view = new Adw.ToolbarView () { content = content_overlay }; toolbar_view.add_top_bar (headerbar); child = toolbar_view; update_request (); add_items (); Timeout.add (listbox_stack.transition_duration, () => { validate_placeholder (); return GLib.Source.REMOVE; }); signal_map[Services.Store.instance ().item_added.connect (valid_add_item)] = Services.Store.instance (); signal_map[Services.Store.instance ().item_deleted.connect (valid_delete_item)] = Services.Store.instance (); signal_map[Services.Store.instance ().item_updated.connect (valid_update_item)] = Services.Store.instance (); signal_map[Services.EventBus.get_default ().checked_toggled.connect (valid_checked_item)] = Services.EventBus.get_default (); signal_map[Services.Store.instance ().item_archived.connect (valid_delete_item)] = Services.Store.instance (); signal_map[Services.Store.instance ().item_unarchived.connect ((item) => { valid_add_item (item); })] = Services.Store.instance (); signal_map[Services.EventBus.get_default ().item_moved.connect ((item) => { if (items.has_key (item.id)) { items[item.id].update_request (); } listbox.invalidate_sort (); })] = Services.EventBus.get_default (); signal_map[magic_button.clicked.connect (() => { prepare_new_item (); })] = magic_button; signal_map[Services.EventBus.get_default ().theme_changed.connect (() => { update_request (); })] = Services.EventBus.get_default (); signal_map[scrolled_window.vadjustment.value_changed.connect (() => { headerbar.revealer_title_box (scrolled_window.vadjustment.value >= Constants.HEADERBAR_TITLE_SCROLL_THRESHOLD); })] = scrolled_window.vadjustment; signal_map[load_more_button.clicked.connect (() => { load_next_page (); })] = load_more_button; signal_map[Services.EventBus.get_default ().dim_content.connect ((active, focused_item_id) => { title_box.sensitive = !active; })] = Services.EventBus.get_default (); } public void prepare_new_item (string content = "") { var inbox_project = Services.Store.instance ().get_project ( Services.Settings.get_default ().settings.get_string ("local-inbox-project-id") ); var dialog = new Dialogs.QuickAdd (); dialog.set_project (inbox_project); dialog.update_content (content); if (filter is Objects.Filters.Priority) { Objects.Filters.Priority priority = ((Objects.Filters.Priority) filter); dialog.set_priority (priority.priority); } else if (filter is Objects.Filters.Tomorrow) { dialog.set_due (Utils.Datetime.get_date_only ( new GLib.DateTime.now_local ().add_days (1) )); } else if (filter is Objects.Filters.Pinboard) { dialog.set_pinned (true); } dialog.present (Planify._instance.main_window); } private void update_request () { if (filter is Objects.Filters.Priority) { Objects.Filters.Priority priority = (Objects.Filters.Priority) filter; title_icon.icon_name = priority.icon; Util.get_default ().set_widget_color (priority.color, title_icon); title_label.label = priority.title; listbox.set_header_func (header_project_function); magic_button.visible = true; } else { title_icon.icon_name = filter.icon_name; Util.get_default ().set_widget_color (filter.theme_color (), title_icon); title_label.label = filter.name; magic_button.visible = true; if (filter is Objects.Filters.Completed) { magic_button.visible = false; listbox.set_header_func (header_completed_function); listbox.set_sort_func ((row1, row2) => { return sort_completed_function (((Layouts.ItemRow) row1).item, ((Layouts.ItemRow) row2).item); }); } else { listbox.set_header_func (header_project_function); } } headerbar.title = title_label.label; view_setting_revealer.reveal_child = filter is Objects.Filters.Completed; } private void add_items () { foreach (Layouts.ItemRow row in items.values) { row.clean_up (); listbox.remove (row); } items.clear (); if (items_list == null) { items_list = new Gee.ArrayList (); } else { items_list.clear (); } if (filter is Objects.Filters.Priority) { Objects.Filters.Priority priority = ((Objects.Filters.Priority) filter); foreach (Objects.Item item in Services.Store.instance ().get_items_by_priority (priority.priority, false)) { items_list.add (item); } } else if (filter is Objects.Filters.Completed) { foreach (Objects.Item item in Services.Store.instance ().get_items_completed ()) { items_list.add (item); } } else if (filter is Objects.Filters.Tomorrow) { foreach (Objects.Item item in Services.Store.instance ().get_items_by_date (new GLib.DateTime.now_local ().add_days (1), false)) { items_list.add (item); } } else if (filter is Objects.Filters.Pinboard) { foreach (Objects.Item item in Services.Store.instance ().get_items_pinned (false)) { items_list.add (item); } } else if (filter is Objects.Filters.Anytime) { foreach (Objects.Item item in Services.Store.instance ().get_items_no_date (false)) { items_list.add (item); } } else if (filter is Objects.Filters.Repeating) { foreach (Objects.Item item in Services.Store.instance ().get_items_repeating (false)) { items_list.add (item); } } else if (filter is Objects.Filters.Unlabeled) { foreach (Objects.Item item in Services.Store.instance ().get_items_unlabeled (false)) { items_list.add (item); } } else if (filter is Objects.Filters.AllItems) { foreach (Objects.Item item in Services.Store.instance ().get_items_no_parent (false)) { items_list.add (item); } } if (filter is Objects.Filters.Completed) { items_list.sort ((a, b) => { return sort_completed_function (a, b); }); } else { items_list.sort ((a, b) => { return a.project_id.strip ().collate (b.project_id.strip ()); }); } page_index = 0; load_next_page (); } private void load_next_page () { int start = page_index * PAGE_SIZE; int end = (start + PAGE_SIZE < items_list.size) ? (start + PAGE_SIZE) : items_list.size; for (int i = start; i < end; i++) { Objects.Item item = items_list[i]; add_item (item); } page_index++; update_load_more_button_label (); } private void update_load_more_button_label () { int loaded = page_index * PAGE_SIZE; int remaining = items_list.size - loaded; if (remaining > 0) { int to_show = remaining < PAGE_SIZE ? remaining : PAGE_SIZE; load_more_button.label = "+%d %s".printf (to_show, _ ("tasks")); load_more_button_revealer.reveal_child = true; } else { load_more_button.set_label ("No more tasks"); load_more_button_revealer.reveal_child = false; } } private void add_item (Objects.Item item) { items[item.id] = new Layouts.ItemRow (item); items[item.id].disable_drag_and_drop (); listbox.append (items[item.id]); } private void valid_add_item (Objects.Item item, bool insert = true) { if (filter is Objects.Filters.Priority) { Objects.Filters.Priority priority = ((Objects.Filters.Priority) filter); if (!items.has_key (item.id) && item.priority == priority.priority && insert) { add_item (item); } } else if (filter is Objects.Filters.Completed) { if (!items.has_key (item.id) && item.checked && insert) { add_item (item); } } else if (filter is Objects.Filters.Tomorrow) { if (!items.has_key (item.id) && item.has_due && Utils.Datetime.is_tomorrow (item.due.datetime) && insert) { add_item (item); } } else if (filter is Objects.Filters.Pinboard) { if (!items.has_key (item.id) && item.pinned && insert) { add_item (item); } } else if (filter is Objects.Filters.Anytime) { if (!items.has_key (item.id) && !item.has_due && insert) { add_item (item); } } else if (filter is Objects.Filters.Repeating) { if (!items.has_key (item.id) && item.has_due && item.due.is_recurring && insert) { add_item (item); } } else if (filter is Objects.Filters.Unlabeled) { if (!items.has_key (item.id) && item.labels.size <= 0 && insert) { add_item (item); } } else if (filter is Objects.Filters.AllItems) { if (!items.has_key (item.id) && insert) { add_item (item); } } validate_placeholder (); } private void valid_delete_item (Objects.Item item) { if (items.has_key (item.id)) { items[item.id].hide_destroy (); items.unset (item.id); } validate_placeholder (); } private void valid_update_item (Objects.Item item, string update_id = "") { if (items.has_key (item.id) && items[item.id].update_id != update_id) { items[item.id].update_request (); } if (filter is Objects.Filters.Priority) { Objects.Filters.Priority priority = ((Objects.Filters.Priority) filter); if (items.has_key (item.id) && item.priority != priority.priority) { items[item.id].hide_destroy (); items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } if (items.has_key (item.id) && !item.checked) { items[item.id].hide_destroy (); items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } valid_add_item (item); } else if (filter is Objects.Filters.Completed) { if (items.has_key (item.id) && item.checked) { items[item.id].hide_destroy (); items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } valid_add_item (item); } else if (filter is Objects.Filters.Tomorrow) { if (items.has_key (item.id) && (!item.has_due || !Utils.Datetime.is_tomorrow (item.due.datetime))) { items[item.id].hide_destroy (); items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } valid_add_item (item); } else if (filter is Objects.Filters.Pinboard) { if (items.has_key (item.id) && !item.pinned) { items[item.id].hide_destroy (); items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } valid_add_item (item); } else if (filter is Objects.Filters.Anytime) { if (items.has_key (item.id) && item.has_due) { items[item.id].hide_destroy (); items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } valid_add_item (item); } else if (filter is Objects.Filters.Repeating) { if (items.has_key (item.id) && (!item.has_due || !item.due.is_recurring)) { items[item.id].hide_destroy (); items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } valid_add_item (item); } else if (filter is Objects.Filters.Unlabeled) { if (items.has_key (item.id) && item.labels.size > 0) { items[item.id].hide_destroy (); items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } valid_add_item (item); } validate_placeholder (); } private void valid_checked_item (Objects.Item item, bool old_checked) { if (filter is Objects.Filters.Priority || filter is Objects.Filters.Tomorrow || filter is Objects.Filters.Pinboard || filter is Objects.Filters.Anytime || filter is Objects.Filters.Repeating || filter is Objects.Filters.Unlabeled || filter is Objects.Filters.AllItems ) { if (!old_checked) { if (items.has_key (item.id) && item.completed) { items[item.id].hide_destroy (); items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } } else { valid_update_item (item); } } else if (filter is Objects.Filters.Completed) { if (!old_checked) { valid_update_item (item); } else { if (items.has_key (item.id) && !item.completed) { items[item.id].hide_destroy (); items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } } } validate_placeholder (); } private void header_completed_function (Gtk.ListBoxRow lbrow, Gtk.ListBoxRow ? lbbefore) { var row = (Layouts.ItemRow) lbrow; if (row.item.completed_at == "") { return; } if (lbbefore != null) { var before = (Layouts.ItemRow) lbbefore; var comp_before = Utils.Datetime.get_date_only (Utils.Datetime.get_date_from_string (before.item.completed_at)); var comp_after = Utils.Datetime.get_date_only (Utils.Datetime.get_date_from_string (row.item.completed_at)); if (comp_before.compare (comp_after) == 0) { return; } } row.set_header ( get_header_box ( Utils.Datetime.get_relative_date_from_date ( Utils.Datetime.get_date_only (Utils.Datetime.get_date_from_string (row.item.completed_at)) ) ) ); } private void header_project_function (Gtk.ListBoxRow lbrow, Gtk.ListBoxRow ? lbbefore) { if (!(lbrow is Layouts.ItemRow)) { return; } var row = (Layouts.ItemRow) lbrow; if (lbbefore != null && lbbefore is Layouts.ItemRow) { var before = (Layouts.ItemRow) lbbefore; if (row.project_id == before.project_id) { row.set_header (null); return; } } row.set_header (get_header_box (row.item.project.name)); } private void validate_placeholder () { listbox_stack.visible_child_name = has_items ? "listbox" : "placeholder"; invalidate_listbox (); } private Gtk.Widget get_header_box (string title) { var header_label = new Gtk.Label (title) { css_classes = { "font-bold" }, halign = START }; var header_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 6) { margin_top = 12, margin_start = 34, margin_bottom = 6 }; header_box.append (header_label); if (Services.Settings.get_default ().settings.get_boolean ("attention-at-one")) { ulong handler_id = Services.EventBus.get_default ().dim_content.connect ((active, focused_item_id) => { header_box.sensitive = !active; }); header_box.destroy.connect (() => { Services.EventBus.get_default ().disconnect (handler_id); }); } return header_box; } private Gtk.Popover build_view_setting_popover () { var delete_all_completed = new Widgets.ContextMenu.MenuItem (_("Delete All Completed Tasks"), "user-trash-symbolic"); delete_all_completed.add_css_class ("menu-item-danger"); var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; menu_box.append (delete_all_completed); var popover = new Gtk.Popover () { has_arrow = false, position = Gtk.PositionType.BOTTOM, child = menu_box, width_request = 250 }; delete_all_completed.activate_item.connect (() => { var items = Services.Store.instance ().get_items_checked (); var dialog = new Adw.AlertDialog ( GLib.ngettext ( "Delete Completed Task", "Delete Completed Tasks", items.size ), GLib.ngettext ( "This will delete %d completed task and its subtasks", "This will delete %d completed tasks and their subtasks", items.size ).printf (items.size) ); dialog.body_use_markup = true; dialog.add_response ("cancel", _("Cancel")); dialog.add_response ("delete", _("Delete")); dialog.set_response_appearance ("delete", Adw.ResponseAppearance.DESTRUCTIVE); dialog.present (Planify._instance.main_window); dialog.response.connect ((response) => { if (response == "delete") { foreach (Objects.Item item in items) { item.delete_item (); } } }); }); return popover; } private void invalidate_listbox () { listbox.invalidate_sort (); listbox.invalidate_headers (); } private int sort_completed_function (Objects.Item a, Objects.Item b) { var completed_a = Utils.Datetime.get_date_only ( Utils.Datetime.get_date_from_string (a.completed_at) ); var completed_b = Utils.Datetime.get_date_only ( Utils.Datetime.get_date_from_string (b.completed_at) ); return completed_b.compare (completed_a); } public void clean_up () { listbox.set_sort_func (null); listbox.set_header_func (null); foreach (var row in Util.get_default ().get_children (listbox)) { ((Layouts.ItemRow) row).clean_up (); } foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } }alainm23-planify-69962f8/src/Views/Label/000077500000000000000000000000001517337276100177765ustar00rootroot00000000000000alainm23-planify-69962f8/src/Views/Label/Label.vala000066400000000000000000000202671517337276100216710ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Views.Label : Adw.Bin { private Layouts.HeaderBar headerbar; private Gtk.Image title_icon; private Gtk.Label title_label; private Gtk.ListBox listbox; private Gtk.Stack listbox_stack; public Gee.HashMap items; private Gee.HashMap signal_map = new Gee.HashMap (); private bool has_items { get { return items.size > 0; } } Objects.Label _label; public Objects.Label label { get { return _label; } set { _label = value; update_request (); add_items (); } } ~Label () { debug ("Destroying - Views.Label\n"); } construct { items = new Gee.HashMap (); headerbar = new Layouts.HeaderBar (); headerbar.back_revealer = true; title_icon = new Gtk.Image.from_icon_name (Objects.Filters.Labels.get_default ().icon_name) { pixel_size = 16, valign = CENTER, halign = CENTER, css_classes = { "view-icon" } }; title_label = new Gtk.Label (null) { css_classes = { "font-bold", "title-2" }, ellipsize = END, halign = START }; var title_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_start = 30 }; title_box.append (title_icon); title_box.append (title_label); listbox = new Gtk.ListBox () { valign = Gtk.Align.START, activate_on_single_click = true, selection_mode = Gtk.SelectionMode.SINGLE, hexpand = true, css_classes = { "listbox-background" } }; var listbox_content = new Adw.Bin () { margin_top = 20, margin_end = 24, child = listbox }; var listbox_placeholder = new Adw.StatusPage (); listbox_placeholder.icon_name = "check-round-outline-symbolic"; listbox_placeholder.title = _("Add Some Tasks"); listbox_placeholder.description = _("Press 'a' to create a new task"); listbox_stack = new Gtk.Stack () { vexpand = true, hexpand = true, transition_type = Gtk.StackTransitionType.CROSSFADE }; listbox_stack.add_named (listbox_content, "listbox"); listbox_stack.add_named (listbox_placeholder, "placeholder"); var content_box = new Gtk.Box (VERTICAL, 0) { hexpand = true, vexpand = true }; content_box.append (title_box); content_box.append (listbox_stack); var content_clamp = new Adw.Clamp () { maximum_size = 864, tightening_threshold = 600, margin_bottom = 64, child = content_box }; var scrolled_window = new Gtk.ScrolledWindow () { hscrollbar_policy = Gtk.PolicyType.NEVER, hexpand = true, vexpand = true, child = content_clamp }; var magic_button = new Widgets.MagicButton (); var content_overlay = new Gtk.Overlay () { hexpand = true, vexpand = true, child = scrolled_window }; content_overlay.add_overlay (magic_button); var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (headerbar); toolbar_view.content = content_overlay; child = toolbar_view; Timeout.add (listbox_stack.transition_duration, () => { validate_placeholder (); return GLib.Source.REMOVE; }); signal_map[Services.Store.instance ().item_added.connect (valid_add_item)] = Services.Store.instance (); signal_map[Services.Store.instance ().item_deleted.connect (valid_delete_item)] = Services.Store.instance (); signal_map[Services.Store.instance ().item_updated.connect (valid_update_item)] = Services.Store.instance (); signal_map[Services.Store.instance ().item_archived.connect (valid_delete_item)] = Services.Store.instance (); signal_map[Services.Store.instance ().item_unarchived.connect ((item) => { valid_add_item (item); })] = Services.Store.instance (); signal_map[headerbar.back_activated.connect (() => { Services.EventBus.get_default ().pane_selected (PaneType.FILTER, Objects.Filters.Labels.get_default ().view_id); })] = headerbar; signal_map[scrolled_window.vadjustment.value_changed.connect (() => { headerbar.revealer_title_box (scrolled_window.vadjustment.value >= Constants.HEADERBAR_TITLE_SCROLL_THRESHOLD); })] = scrolled_window.vadjustment; signal_map[magic_button.clicked.connect (() => { prepare_new_item (); })] = magic_button; signal_map[Services.EventBus.get_default ().dim_content.connect ((active, focused_item_id) => { title_box.sensitive = !active; })] = Services.EventBus.get_default (); } private void validate_placeholder () { listbox_stack.visible_child_name = has_items ? "listbox" : "placeholder"; } private void valid_add_item (Objects.Item item, bool insert = true) { if (!items.has_key (item.id) && item.has_label (label.id) && insert) { add_item (item); } validate_placeholder (); } private void valid_delete_item (Objects.Item item) { if (items.has_key (item.id)) { items[item.id].hide_destroy (); items.unset (item.id); } validate_placeholder (); } private void valid_update_item (Objects.Item item) { if (items.has_key (item.id) && !item.has_label (label.id)) { items[item.id].hide_destroy (); items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } valid_add_item (item); } private void add_items () { foreach (Layouts.ItemRow row in items.values) { listbox.remove (row); } items.clear (); foreach (Objects.Item item in Services.Store.instance ().get_items_by_label (label, false)) { add_item (item); } validate_placeholder (); } private void add_item (Objects.Item item) { items[item.id] = new Layouts.ItemRow (item); items[item.id].disable_drag_and_drop (); listbox.append (items[item.id]); } public void update_request () { title_label.label = label.name; headerbar.title = label.name; Util.get_default ().set_widget_color (Util.get_default ().get_color (label.color), title_icon); } public void prepare_new_item (string content = "") { var dialog = new Dialogs.QuickAdd (); dialog.update_content (content); var labels_map = new Gee.HashMap (); labels_map.set (label.id, label); dialog.set_labels (labels_map); dialog.present (Planify._instance.main_window); } public void clean_up () { foreach (var row in Util.get_default ().get_children (listbox)) { ((Layouts.ItemRow) row).clean_up (); } foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } }alainm23-planify-69962f8/src/Views/Label/LabelSourceRow.vala000066400000000000000000000140201517337276100235300ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Views.LabelSourceRow : Gtk.ListBoxRow { public Objects.Source source { get; construct; } private Layouts.HeaderItem group; private Gtk.Revealer main_revealer; private Gee.HashMap labels_hashmap = new Gee.HashMap (); private Gee.HashMap signal_map = new Gee.HashMap (); public LabelSourceRow (Objects.Source source) { Object ( source: source ); } ~LabelSourceRow () { debug ("Destroying - Views.LabelSourceRow\n"); } construct { css_classes = { "no-selectable", "no-padding" }; group = new Layouts.HeaderItem (source.display_name) { reveal = true, subheader_title = source.subheader_text, show_separator = true }; group.placeholder_message = _("No labels available. Create one by clicking on the '+' button"); group.margin_bottom = 12; group.set_sort_func (sort_func); var add_button = new Gtk.Button.from_icon_name ("plus-large-symbolic") { valign = Gtk.Align.CENTER, css_classes = { "flat", "header-item-button", "dimmed" }, tooltip_markup = Util.get_default ().markup_accel_tooltip (_("Add Project"), "P") }; group.add_widget_end (add_button); main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = group }; child = main_revealer; add_labels (); update_filter (); Timeout.add (main_revealer.transition_duration, () => { main_revealer.reveal_child = source.is_visible; group.set_sort_func (null); return GLib.Source.REMOVE; }); signal_map[source.updated.connect (() => { group.header_title = source.display_name; })] = source; signal_map[add_button.clicked.connect (() => { var dialog = new Dialogs.Label.new (source); dialog.present (Planify._instance.main_window); })] = add_button; signal_map[group.row_activated.connect ((row) => { Services.EventBus.get_default ().pane_selected (PaneType.LABEL, ((Layouts.LabelRow) row).label.id); })] = group; signal_map[Services.Store.instance ().label_added.connect ((label) => { add_label (label); })] = Services.Store.instance (); signal_map[Services.Store.instance ().label_deleted.connect ((label) => { if (labels_hashmap.has_key (label.id)) { labels_hashmap[label.id].hide_destroy (); labels_hashmap.unset (label.id); } })] = Services.Store.instance (); signal_map[Services.Settings.get_default ().settings.changed["labels-show-active-only"].connect (() => { update_filter (); })] = Services.Settings.get_default ().settings; signal_map[Services.Store.instance ().project_archived.connect (() => { group.invalidate_filter (); })] = Services.Store.instance (); signal_map[Services.Store.instance ().project_unarchived.connect (() => { group.invalidate_filter (); })] = Services.Store.instance (); source.updated.connect (() => { main_revealer.reveal_child = source.is_visible; }); } private void update_filter () { if (Services.Settings.get_default ().settings.get_boolean ("labels-show-active-only")) { group.set_filter_func ((row) => { return ((Layouts.LabelRow) row).label.label_count > 0; }); group.placeholder_message = _("All labels are hidden by the filter"); } else { group.set_filter_func (null); group.placeholder_message = _("No labels available. Create one by clicking on the '+' button"); } } private void add_labels () { foreach (Objects.Label label in Services.Store.instance ().get_labels_by_source (source.id)) { add_label (label); } } private void add_label (Objects.Label label) { if (label.source_id == source.id && !labels_hashmap.has_key (label.id)) { labels_hashmap[label.id] = new Layouts.LabelRow (label); group.add_child (labels_hashmap[label.id]); } } private int sort_func (Gtk.ListBoxRow lbrow, Gtk.ListBoxRow lbbefore) { Objects.Label label1 = ((Layouts.LabelRow) lbrow).label; Objects.Label label2 = ((Layouts.LabelRow) lbbefore).label; return label1.item_order - label2.item_order; } public void hide_destroy () { main_revealer.reveal_child = false; clean_up (); Timeout.add (main_revealer.transition_duration, () => { ((Gtk.ListBox) parent).remove (this); return GLib.Source.REMOVE; }); } public void clean_up () { foreach (var row in group.get_children ()) { ((Layouts.LabelRow) row).clean_up (); } group.clean_up (); foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } }alainm23-planify-69962f8/src/Views/Label/Labels.vala000066400000000000000000000153661517337276100220600ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Views.Labels : Adw.Bin { private Layouts.HeaderBar headerbar; private Gtk.ListBox sources_listbox; public Gee.HashMap sources_hashmap = new Gee.HashMap (); private Gee.HashMap signal_map = new Gee.HashMap (); ~Labels () { debug ("Destroying - Views.Labels\n"); } construct { headerbar = new Layouts.HeaderBar () { title = Objects.Filters.Labels.get_default ().name }; var view_setting_button = new Gtk.MenuButton () { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, margin_end = 12, popover = build_view_setting_popover (), icon_name = "view-sort-descending-rtl-symbolic", css_classes = { "flat" }, tooltip_text = _("View Option Menu") }; headerbar.pack_end (view_setting_button); var title_icon = new Gtk.Image.from_icon_name (Objects.Filters.Labels.get_default ().icon_name) { pixel_size = 16, valign = CENTER, halign = CENTER, css_classes = { "view-icon" } }; Util.get_default ().set_widget_color (Objects.Filters.Labels.get_default ().theme_color (), title_icon); signal_map[Services.EventBus.get_default ().theme_changed.connect (() => { Util.get_default ().set_widget_color (Objects.Filters.Labels.get_default ().theme_color (), title_icon); })] = Services.EventBus.get_default (); var title_label = new Gtk.Label (Objects.Filters.Labels.get_default ().name) { css_classes = { "font-bold", "title-2" }, ellipsize = END, halign = START }; var title_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6); title_box.append (title_icon); title_box.append (title_label); sources_listbox = new Gtk.ListBox () { hexpand = true, valign = Gtk.Align.START, css_classes = { "listbox-background" } }; var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 12) { hexpand = true, vexpand = true, margin_start = 24, margin_end = 24 }; content_box.append (title_box); content_box.append (sources_listbox); var content_clamp = new Adw.Clamp () { maximum_size = 864, tightening_threshold = 600, margin_bottom = 64, child = content_box }; var scrolled_window = new Gtk.ScrolledWindow () { hscrollbar_policy = Gtk.PolicyType.NEVER, hexpand = true, vexpand = true, child = content_clamp }; var magic_button = new Widgets.MagicButton (); var content_overlay = new Gtk.Overlay () { hexpand = true, vexpand = true, child = scrolled_window }; content_overlay.add_overlay (magic_button); var toolbar_view = new Adw.ToolbarView () { content = content_overlay }; toolbar_view.add_top_bar (headerbar); child = toolbar_view; foreach (Objects.Source source in Services.Store.instance ().sources) { add_source_row (source); } signal_map[Services.Store.instance ().source_deleted.connect ((source) => { if (sources_hashmap.has_key (source.id)) { sources_hashmap.get (source.id).hide_destroy (); } })] = Services.Store.instance (); signal_map[Services.Store.instance ().source_added.connect (add_source_row)] = Services.Store.instance (); signal_map[scrolled_window.vadjustment.value_changed.connect (() => { headerbar.revealer_title_box (scrolled_window.vadjustment.value >= Constants.HEADERBAR_TITLE_SCROLL_THRESHOLD); })] = scrolled_window.vadjustment; signal_map[magic_button.clicked.connect (() => { prepare_new_item (); })] = magic_button; } private void add_source_row (Objects.Source source) { if (!sources_hashmap.has_key (source.id)) { sources_hashmap[source.id] = new Views.LabelSourceRow (source); sources_listbox.append (sources_hashmap[source.id]); } } private Gtk.Popover build_view_setting_popover () { var show_active_only_item = new Widgets.ContextMenu.MenuSwitch (_("Only Active Projects"), "funnel-outline-symbolic") { tooltip_text = _("Only show labels used by tasks in active (non-archived) projects") }; show_active_only_item.active = Services.Settings.get_default ().settings.get_boolean ("labels-show-active-only"); var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { margin_top = 3, margin_bottom = 3 }; menu_box.append (show_active_only_item); var popover = new Gtk.Popover () { has_arrow = false, position = Gtk.PositionType.BOTTOM, child = menu_box, width_request = 250 }; signal_map[show_active_only_item.activate_item.connect (() => { Services.Settings.get_default ().settings.set_boolean ("labels-show-active-only", show_active_only_item.active); })] = show_active_only_item; return popover; } public void prepare_new_item (string content = "") { var dialog = new Dialogs.QuickAdd (); dialog.update_content (content); dialog.present (Planify._instance.main_window); } public void clean_up () { foreach (var row in Util.get_default ().get_children (sources_listbox)) { ((Views.LabelSourceRow) row).clean_up (); } foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); headerbar.clean_up (); } } alainm23-planify-69962f8/src/Views/Project/000077500000000000000000000000001517337276100203655ustar00rootroot00000000000000alainm23-planify-69962f8/src/Views/Project/Board.vala000066400000000000000000000272361517337276100222730ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Views.Board : Adw.Bin { public Objects.Project project { get; construct; } private Widgets.IconColorProject icon_project; private Gtk.Label title_label; private Gtk.Image due_image; private Gtk.Label due_label; private Gtk.Label days_left_label; private Gtk.Revealer due_revealer; private Layouts.SectionBoard inbox_board; private Gtk.FlowBox flowbox; private Widgets.PinnedItemsBox pinned_items_flowbox; public Gee.HashMap sections_map = new Gee.HashMap (); private Gee.HashMap signal_map = new Gee.HashMap (); public Board (Objects.Project project) { Object ( project: project ); } ~Board () { debug ("Destroying - Views.Board\n"); } construct { icon_project = new Widgets.IconColorProject (22) { project = project }; icon_project.add_css_class ("title-2"); icon_project.inbox_icon.add_css_class ("view-icon"); Util.get_default ().set_widget_color (Objects.Filters.Inbox.get_default ().color, icon_project.inbox_icon); signal_map[Services.EventBus.get_default ().theme_changed.connect (() => { Util.get_default ().set_widget_color (Objects.Filters.Inbox.get_default ().color, icon_project.inbox_icon); })] = Services.EventBus.get_default (); title_label = new Gtk.Label (null) { css_classes = { "font-bold", "title-2" }, ellipsize = Pango.EllipsizeMode.END, halign = START }; var title_box = new Gtk.Box (HORIZONTAL, 6) { valign = CENTER, margin_start = 22, }; title_box.append (icon_project); title_box.append (title_label); var description_widget = new Widgets.EditableTextView (_("Note")) { text = project.description, margin_top = 12, margin_start = 24, margin_end = 24 }; due_revealer = build_due_date_widget (); var filters = new Widgets.FilterFlowBox () { valign = Gtk.Align.START, vexpand = false, vexpand_set = true, base_object = project }; filters.flowbox.margin_start = 24; filters.flowbox.margin_top = 12; filters.flowbox.margin_end = 12; filters.flowbox.margin_bottom = 3; pinned_items_flowbox = new Widgets.PinnedItemsBox (project); flowbox = new Gtk.FlowBox () { vexpand = true, max_children_per_line = 1, orientation = Gtk.Orientation.VERTICAL, halign = Gtk.Align.START, selection_mode = NONE }; var flowbox_grid = new Adw.Bin () { vexpand = true, margin_top = 12, margin_start = 19, margin_end = 19, halign = Gtk.Align.START, child = flowbox }; var flowbox_scrolled = new Widgets.ScrolledWindow (flowbox_grid, Gtk.Orientation.HORIZONTAL); flowbox_scrolled.margin = 100; var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { hexpand = true, vexpand = true }; content_box.append (title_box); if (!project.is_inbox_project) { content_box.append (description_widget); content_box.append (due_revealer); } content_box.append (filters); content_box.append (pinned_items_flowbox); content_box.append (flowbox_scrolled); child = content_box; update_request (); add_sections (); signal_map[project.section_added.connect ((section) => { add_section (section); })] = project; signal_map[project.section_sort_order_changed.connect (() => { flowbox.invalidate_sort (); flowbox.invalidate_filter (); })] = project; signal_map[Services.Store.instance ().section_moved.connect ((section, old_project_id) => { if (project.id == old_project_id && sections_map.has_key (section.id)) { sections_map[section.id].hide_destroy (); sections_map.unset (section.id); } if (project.id == section.project_id && !sections_map.has_key (section.id)) { add_section (section); } })] = Services.Store.instance (); signal_map[Services.Store.instance ().section_deleted.connect ((section) => { if (sections_map.has_key (section.id)) { sections_map[section.id].hide_destroy (); sections_map.unset (section.id); } })] = Services.Store.instance (); signal_map[project.updated.connect (() => { update_request (); })] = project; flowbox.set_sort_func ((child1, child2) => { Layouts.SectionBoard item1 = ((Layouts.SectionBoard) child1); Layouts.SectionBoard item2 = ((Layouts.SectionBoard) child2); if (item1.is_inbox_section) { return 0; } return item1.section.section_order - item2.section.section_order; }); flowbox.set_filter_func ((child) => { Layouts.SectionBoard item = ((Layouts.SectionBoard) child); if (item.is_inbox_section) { return !project.inbox_section_hidded; } return !item.section.hidded; }); signal_map[description_widget.changed.connect (() => { project.description = description_widget.text; project.update_local (); })] = description_widget; signal_map[Services.Store.instance ().section_archived.connect ((section) => { if (sections_map.has_key (section.id)) { sections_map[section.id].hide_destroy (); sections_map.unset (section.id); } })] = Services.Store.instance (); signal_map[Services.Store.instance ().section_unarchived.connect ((section) => { if (project.id == section.project_id) { add_section (section); } })] = Services.Store.instance (); signal_map[project.count_updated.connect (() => { icon_project.update_request (); })] = project; signal_map[project.source.sync_finished.connect (() => { flowbox.invalidate_sort (); })] = project.source; } public void update_request () { icon_project.update_request (); title_label.label = project.is_inbox_project ? _("Inbox") : project.name; update_duedate (); } public void add_sections () { add_inbox_section (); foreach (Objects.Section section in project.sections) { add_section (section); } } private void add_inbox_section () { inbox_board = new Layouts.SectionBoard.for_project (project); flowbox.append (inbox_board); } private void add_section (Objects.Section section) { if (!sections_map.has_key (section.id) && !section.was_archived ()) { sections_map[section.id] = new Layouts.SectionBoard (section); flowbox.append (sections_map[section.id]); } } public void prepare_new_item (string content = "") { inbox_board.prepare_new_item (content); } private void update_duedate () { due_image.icon_name = "delay-long-small-symbolic"; due_image.css_classes = {}; due_label.css_classes = {}; due_revealer.reveal_child = false; if (project.due_date != "") { var datetime = Utils.Datetime.get_date_from_string (project.due_date); due_label.label = Utils.Datetime.get_short_date_format_from_date (datetime); days_left_label.label = Utils.Datetime.get_relative_time_from_date (datetime); if (Utils.Datetime.is_today (datetime) || Utils.Datetime.is_overdue (datetime)) { due_image.add_css_class ("error"); due_label.add_css_class ("error"); } else { due_image.css_classes = {}; due_label.css_classes = {}; } due_revealer.reveal_child = true; } } private Gtk.Revealer build_due_date_widget () { due_image = new Gtk.Image.from_icon_name ("month-symbolic"); due_label = new Gtk.Label (_("Schedule")) { xalign = 0, use_markup = true }; days_left_label = new Gtk.Label (null) { xalign = 0, yalign = 0.5f }; days_left_label.add_css_class ("dimmed"); var due_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_start = 3, margin_top = 3, margin_bottom = 3 }; due_box.append (due_image); due_box.append (due_label); due_box.append (days_left_label); var due_content = new Gtk.Box (Gtk.Orientation.VERTICAL, 6) { margin_top = 12, margin_start = 24, margin_end = 24 }; due_content.append (new Gtk.Separator (Gtk.Orientation.HORIZONTAL)); due_content.append (due_box); due_content.append (new Gtk.Separator (Gtk.Orientation.HORIZONTAL)); var due_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = due_content }; var gesture = new Gtk.GestureClick (); due_box.add_controller (gesture); signal_map[gesture.pressed.connect ((n_press, x, y) => { var dialog = new Dialogs.DatePicker (_("When?")); if (project.due_date != "") { dialog.datetime = Utils.Datetime.get_date_from_string (project.due_date); dialog.clear = true; } signal_map[dialog.date_changed.connect (() => { if (dialog.datetime == null) { project.due_date = ""; } else { project.due_date = dialog.datetime.to_string (); } project.update_local (); })] = dialog; dialog.present (Planify._instance.main_window); })] = gesture; return due_revealer; } public void clean_up () { flowbox.set_sort_func (null); flowbox.set_filter_func (null); foreach (unowned Gtk.Widget child in Util.get_default ().get_flowbox_children (flowbox)) { ((Layouts.SectionBoard) child).clean_up (); } if (inbox_board != null) { inbox_board.clean_up (); } foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } public override void dispose () { clean_up (); base.dispose (); } } alainm23-planify-69962f8/src/Views/Project/List.vala000066400000000000000000000347231517337276100221560ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Views.List : Adw.Bin { public Objects.Project project { get; construct; } private Widgets.IconColorProject icon_project; private Gtk.Label title_label; private Gtk.Image due_image; private Gtk.Label due_label; private Gtk.Label days_left_label; private Gtk.Revealer due_revealer; private Widgets.PinnedItemsBox pinned_items_flowbox; private Gtk.ListBox listbox; private Layouts.SectionRow inbox_section; private Gtk.Stack listbox_placeholder_stack; private Widgets.ScrolledWindow scrolled_window; public bool has_children { get { return (Util.get_default ().get_children (listbox).length () - 1) > 0; } } public Gee.HashMap sections_map = new Gee.HashMap (); private Gee.HashMap signal_map = new Gee.HashMap (); public List (Objects.Project project) { Object ( project: project ); } ~List () { debug ("Destroying - Views.List\n"); } construct { icon_project = new Widgets.IconColorProject (22) { project = project }; icon_project.add_css_class ("title-2"); icon_project.inbox_icon.add_css_class ("view-icon"); Util.get_default ().set_widget_color (Objects.Filters.Inbox.get_default ().color, icon_project.inbox_icon); signal_map[Services.EventBus.get_default ().theme_changed.connect (() => { Util.get_default ().set_widget_color (Objects.Filters.Inbox.get_default ().color, icon_project.inbox_icon); })] = Services.EventBus.get_default (); title_label = new Gtk.Label (null) { css_classes = { "font-bold", "title-2" }, ellipsize = Pango.EllipsizeMode.END, halign = START }; var title_box = new Gtk.Box (HORIZONTAL, 6) { valign = CENTER, margin_start = 30, }; title_box.append (icon_project); title_box.append (title_label); var description_widget = new Widgets.EditableTextView (_("Note")) { text = project.description, margin_top = 12, margin_start = 32, margin_end = 24 }; due_revealer = build_due_date_widget (); var filters = new Widgets.FilterFlowBox () { valign = Gtk.Align.START, vexpand = false, vexpand_set = true, base_object = project }; filters.flowbox.margin_start = 24; filters.flowbox.margin_top = 12; filters.flowbox.margin_end = 12; filters.flowbox.margin_bottom = 3; pinned_items_flowbox = new Widgets.PinnedItemsBox (project); listbox = new Gtk.ListBox () { valign = Gtk.Align.START, selection_mode = Gtk.SelectionMode.NONE, hexpand = true, vexpand = true, css_classes = { "listbox-background" }, margin_top = 12 }; var listbox_placeholder = new Adw.StatusPage () { icon_name = "check-round-outline-symbolic", title = _ ("Add Some Tasks"), description = _ ("Press 'a' to create a new task"), can_focus = false }; listbox_placeholder.update_property (Gtk.AccessibleProperty.LABEL, _ ("Add Some Tasks. Press 'a' to create a new task"), -1); listbox_placeholder_stack = new Gtk.Stack () { vexpand = true, hexpand = true, transition_type = Gtk.StackTransitionType.CROSSFADE }; listbox_placeholder_stack.add_named (listbox, "listbox"); listbox_placeholder_stack.add_named (listbox_placeholder, "placeholder"); var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { hexpand = true, vexpand = true, valign = Gtk.Align.BASELINE, margin_bottom = 24 }; content_box.append (title_box); if (!project.is_inbox_project) { content_box.append (description_widget); content_box.append (due_revealer); } content_box.append (filters); content_box.append (pinned_items_flowbox); content_box.append (listbox_placeholder_stack); var content_clamp = new Adw.Clamp () { maximum_size = 864, tightening_threshold = 600, margin_bottom = 64, child = content_box }; scrolled_window = new Widgets.ScrolledWindow (content_clamp); child = scrolled_window; update_request (); add_sections (); Timeout.add (listbox_placeholder_stack.transition_duration, () => { check_placeholder (); return GLib.Source.REMOVE; }); signal_map[project.section_added.connect ((section) => { add_section (section); })] = project; signal_map[project.section_sort_order_changed.connect (() => { listbox.invalidate_sort (); listbox.invalidate_filter (); })] = project; signal_map[Services.Store.instance ().section_moved.connect ((section, old_project_id) => { if (project.id == old_project_id && sections_map.has_key (section.id)) { sections_map[section.id].hide_destroy (); sections_map.unset (section.id); } if (project.id == section.project_id && !sections_map.has_key (section.id)) { add_section (section); } })] = Services.Store.instance (); signal_map[Services.Store.instance ().section_deleted.connect ((section) => { if (sections_map.has_key (section.id)) { sections_map[section.id].hide_destroy (); sections_map.unset (section.id); } check_placeholder (); })] = Services.Store.instance (); signal_map[project.updated.connect (() => { update_request (); })] = project; signal_map[project.count_updated.connect (() => { check_placeholder (); icon_project.update_request (); })] = project; listbox.set_sort_func ((row1, row2) => { Layouts.SectionRow item1 = ((Layouts.SectionRow) row1); Layouts.SectionRow item2 = ((Layouts.SectionRow) row2); if (item1.is_inbox_section) { return 0; } return item1.section.section_order - item2.section.section_order; }); listbox.set_filter_func ((child) => { Layouts.SectionRow item = ((Layouts.SectionRow) child); if (item.is_inbox_section) { return !project.inbox_section_hidded; } return !item.section.hidded; }); signal_map[description_widget.changed.connect (() => { project.description = description_widget.text; project.update_local (); })] = description_widget; signal_map[Services.Store.instance ().section_archived.connect ((section) => { if (sections_map.has_key (section.id)) { sections_map[section.id].hide_destroy (); sections_map.unset (section.id); } check_placeholder (); })] = Services.Store.instance (); signal_map[Services.Store.instance ().section_unarchived.connect ((section) => { if (project.id == section.project_id) { add_section (section); } })] = Services.Store.instance (); signal_map[project.show_completed_changed.connect (() => { check_placeholder (); })] = project; signal_map[scrolled_window.vadjustment.value_changed.connect (() => { project.handle_scroll_visibility_change (scrolled_window.vadjustment.value >= Constants.HEADERBAR_TITLE_SCROLL_THRESHOLD); })] = scrolled_window.vadjustment; signal_map[project.source.sync_finished.connect (() => { listbox.invalidate_sort (); })] = project.source; signal_map[Services.EventBus.get_default ().dim_content.connect ((active, focused_item_id) => { title_box.sensitive = !active; due_revealer.sensitive = !active; filters.sensitive = !active; pinned_items_flowbox.sensitive = !active; if (active) { description_widget.add_css_class ("dimmed"); } else { description_widget.remove_css_class ("dimmed"); } })] = Services.EventBus.get_default (); destroy.connect (() => { clean_up (); }); } private void check_placeholder () { int count = project.item_count + sections_map.size; if (project.show_completed) { count = count + project.items_checked.size; } listbox_placeholder_stack.visible_child_name = count > 0 ? "listbox" : "placeholder"; } private void add_sections () { add_inbox_section (); foreach (Objects.Section section in project.sections) { add_section (section); } } private void add_inbox_section () { inbox_section = new Layouts.SectionRow.for_project (project); listbox.append (inbox_section); } private void add_section (Objects.Section section) { if (!sections_map.has_key (section.id) && !section.was_archived ()) { sections_map[section.id] = new Layouts.SectionRow (section); listbox.append (sections_map[section.id]); } check_placeholder (); } public void prepare_new_item (string content = "") { var dialog = new Dialogs.QuickAdd (); dialog.for_base_object (project); dialog.update_content (content); dialog.present (Planify._instance.main_window); } public bool validate_children () { foreach (unowned Gtk.Widget child in Util.get_default ().get_children (listbox)) { if (((Layouts.SectionRow) child).has_children) { return true; } } return has_children; } public void update_request () { icon_project.update_request (); title_label.label = project.is_inbox_project ? _("Inbox") : project.name; update_duedate (); } private void update_duedate () { due_image.icon_name = "delay-long-small-symbolic"; due_image.css_classes = {}; due_label.css_classes = {}; due_revealer.reveal_child = false; if (project.due_date != "") { var datetime = Utils.Datetime.get_date_from_string (project.due_date); due_label.label = Utils.Datetime.get_short_date_format_from_date (datetime); days_left_label.label = Utils.Datetime.get_relative_time_from_date (datetime); if (Utils.Datetime.is_today (datetime) || Utils.Datetime.is_overdue (datetime)) { due_image.add_css_class ("error"); due_label.add_css_class ("error"); } else { due_image.css_classes = {}; due_label.css_classes = {}; } due_revealer.reveal_child = true; } } private Gtk.Revealer build_due_date_widget () { due_image = new Gtk.Image.from_icon_name ("delay-long-small-symbolic"); due_label = new Gtk.Label (null) { xalign = 0 }; days_left_label = new Gtk.Label (null) { xalign = 0, yalign = 0.5f }; days_left_label.add_css_class ("dimmed"); var due_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_start = 3, margin_top = 3, margin_bottom = 3 }; due_box.append (due_image); due_box.append (due_label); due_box.append (days_left_label); var due_content = new Gtk.Box (Gtk.Orientation.VERTICAL, 6) { margin_top = 12, margin_start = 30 }; due_content.append (new Gtk.Separator (Gtk.Orientation.HORIZONTAL) { margin_start = 3 }); due_content.append (due_box); due_content.append (new Gtk.Separator (Gtk.Orientation.HORIZONTAL) { margin_start = 3 }); var due_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = due_content }; var gesture = new Gtk.GestureClick (); due_box.add_controller (gesture); signal_map[gesture.pressed.connect ((n_press, x, y) => { var dialog = new Dialogs.DatePicker (_ ("When?")); if (project.due_date != "") { dialog.datetime = Utils.Datetime.get_date_from_string (project.due_date); dialog.clear = true; } signal_map[dialog.date_changed.connect (() => { if (dialog.datetime == null) { project.due_date = ""; } else { project.due_date = dialog.datetime.to_string (); } project.update_local (); })] = dialog; dialog.present (Planify._instance.main_window); })] = gesture; return due_revealer; } public void clean_up () { listbox.set_sort_func (null); listbox.set_filter_func (null); foreach (var row in Util.get_default ().get_children (listbox)) { ((Layouts.SectionRow) row).clean_up (); } if (inbox_section != null) { inbox_section.clean_up (); } foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } } alainm23-planify-69962f8/src/Views/Project/Project.vala000066400000000000000000000742471517337276100226560ustar00rootroot00000000000000 /* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Views.Project : Adw.Bin { public Objects.Project project { get; construct; } private Layouts.HeaderBar headerbar; private Gtk.Revealer project_view_revealer; private Adw.Spinner loading_spinner; private Adw.ViewStack project_stack; private Adw.ToolbarView toolbar_view; private Widgets.ContextMenu.MenuItem expand_all_item; private Widgets.ContextMenu.MenuCheckPicker priority_filter; private Widgets.ContextMenu.MenuPicker due_date_item; #if WITH_EVOLUTION private Widgets.ContextMenu.MenuItem calendar_sync_item; #endif private Widgets.MultiSelectToolbar multiselect_toolbar; private Gtk.Revealer indicator_revealer; private Gtk.Popover context_menu; public ProjectViewStyle view_style { get { return project.source_type == SourceType.CALDAV ? ProjectViewStyle.LIST : project.view_style; } } private Gee.HashMap signal_map = new Gee.HashMap (); public Project (Objects.Project project) { Object ( project: project ); } ~Project () { debug ("Destroying - Views.Project\n"); } construct { #if WITH_EVOLUTION var calendar_sync_button = new Gtk.Button.from_icon_name ("month-symbolic") { tooltip_text = _("Calendar Sync Active") }; var calendar_sync_indicator = new Adw.Bin () { width_request = 9, height_request = 9, margin_top = 6, margin_end = 6, halign = END, valign = START, css_classes = { "indicator" } }; var calendar_sync_overlay = new Gtk.Overlay () { child = calendar_sync_button }; calendar_sync_overlay.add_overlay (calendar_sync_indicator); var calendar_sync_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_LEFT, child = calendar_sync_overlay, reveal_child = project.calendar_source_uid != "" }; #endif var menu_button = new Gtk.MenuButton () { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, margin_end = 12, popover = build_context_menu_popover (), icon_name = "view-more-symbolic", css_classes = { "flat" }, tooltip_text = _ ("Project Actions") }; var indicator_grid = new Gtk.Grid () { width_request = 9, height_request = 9, margin_top = 6, margin_end = 6, css_classes = { "indicator" } }; indicator_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.CROSSFADE, child = indicator_grid, halign = END, valign = START, sensitive = false, }; var view_setting_button = new Gtk.MenuButton () { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, popover = build_view_setting_popover (), icon_name = "view-sort-descending-rtl-symbolic", css_classes = { "flat" }, tooltip_text = _ ("View Option Menu") }; var view_setting_overlay = new Gtk.Overlay (); view_setting_overlay.child = view_setting_button; view_setting_overlay.add_overlay (indicator_revealer); headerbar = new Layouts.HeaderBar () { title = project.is_inbox_project ? _("Inbox") : project.name }; headerbar.pack_end (menu_button); headerbar.pack_end (view_setting_overlay); #if WITH_EVOLUTION headerbar.pack_end (calendar_sync_revealer); #endif project_view_revealer = new Gtk.Revealer () { hexpand = true, vexpand = true, transition_type = Gtk.RevealerTransitionType.CROSSFADE }; loading_spinner = new Adw.Spinner () { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, height_request = 64, width_request = 64, }; project_stack = new Adw.ViewStack () { vexpand = true, hexpand = true }; project_stack.add (project_view_revealer); project_stack.add (loading_spinner); project_stack.visible_child = project_view_revealer; var magic_button = new Widgets.MagicButton (); var content_overlay = new Gtk.Overlay () { hexpand = true, vexpand = true }; content_overlay.child = project_stack; if (!project.is_deck) { content_overlay.add_overlay (magic_button); signal_map[magic_button.clicked.connect (() => { prepare_new_item (); })] = magic_button; } multiselect_toolbar = new Widgets.MultiSelectToolbar (project); toolbar_view = new Adw.ToolbarView () { bottom_bar_style = Adw.ToolbarStyle.RAISED_BORDER, reveal_bottom_bars = false }; toolbar_view.add_top_bar (headerbar); toolbar_view.add_bottom_bar (multiselect_toolbar); toolbar_view.content = content_overlay; child = toolbar_view; update_project_view (); check_default_filters (); create_context_menu (); var right_click = new Gtk.GestureClick () { button = Gdk.BUTTON_SECONDARY }; right_click.pressed.connect (on_right_click); add_controller (right_click); signal_map[project.updated.connect (() => { headerbar.title = project.is_inbox_project ? _("Inbox") : project.name; #if WITH_EVOLUTION calendar_sync_revealer.reveal_child = project.calendar_source_uid != ""; calendar_sync_item.visible = project.calendar_source_uid == ""; #endif })] = project; signal_map[multiselect_toolbar.closed.connect (() => { project.show_multi_select = false; })] = multiselect_toolbar; signal_map[project.show_multi_select_change.connect (() => { toolbar_view.reveal_bottom_bars = project.show_multi_select; if (project.show_multi_select) { Services.EventBus.get_default ().multi_select_enabled = true; Services.EventBus.get_default ().show_multi_select (true); Services.EventBus.get_default ().magic_button_visible (false); Services.EventBus.get_default ().disconnect_typing_accel (); } else { Services.EventBus.get_default ().multi_select_enabled = false; Services.EventBus.get_default ().show_multi_select (false); Services.EventBus.get_default ().magic_button_visible (true); Services.EventBus.get_default ().connect_typing_accel (); } })] = project; signal_map[project.filter_added.connect (() => { check_default_filters (); })] = project; signal_map[project.filter_updated.connect (() => { check_default_filters (); })] = project; signal_map[project.filter_removed.connect ((filter) => { priority_filter.unchecked (filter); if (filter.filter_type == FilterItemType.DUE_DATE) { due_date_item.selected = "0"; } check_default_filters (); })] = project; signal_map[project.view_style_changed.connect (() => { update_project_view (); expand_all_item.visible = view_style == ProjectViewStyle.LIST; })] = project; signal_map[project.handle_scroll_visibility_change.connect ((visible) => { headerbar.update_title_box_visibility (visible); })] = project; #if WITH_EVOLUTION calendar_sync_button.clicked.connect (() => { var dialog = new Dialogs.CalendarSync (project); dialog.present (Planify._instance.main_window); }); #endif } private void create_context_menu () { var add_task_item = new Widgets.ContextMenu.MenuItem (_("New Task"), "plus-large-symbolic"); var add_section_item = new Widgets.ContextMenu.MenuItem (_("New Section"), "tab-new-symbolic"); var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; menu_box.append (add_task_item); menu_box.append (add_section_item); context_menu = new Gtk.Popover () { has_arrow = false, child = menu_box, position = Gtk.PositionType.BOTTOM, width_request = 250 }; add_task_item.clicked.connect (() => { prepare_new_item (); context_menu.popdown (); }); add_section_item.clicked.connect (() => { prepare_new_section (); context_menu.popdown (); }); } private void on_right_click (int n_press, double x, double y) { Gdk.Rectangle rect = { (int) x, (int) y, 250, 1 }; context_menu.set_parent (this); context_menu.set_pointing_to (rect); context_menu.popup (); } private void check_default_filters () { bool defaults = true; if (project.sorted_by != SortedByType.MANUAL) { defaults = false; } if (project.sort_order != SortOrderType.ASC) { defaults = false; } if (project.filters.size > 0) { defaults = false; } indicator_revealer.reveal_child = !defaults; } private void update_project_view () { project_stack.visible_child = loading_spinner; project_view_revealer.reveal_child = false; if (Services.EventBus.get_default ().multi_select_enabled) { clear_multi_select (); } Timeout.add (project_view_revealer.transition_duration, () => { destroy_current_view (); if (view_style == ProjectViewStyle.LIST) { project_view_revealer.child = new Views.List (project); } else if (view_style == ProjectViewStyle.BOARD) { headerbar.update_title_box_visibility (false); project_view_revealer.child = new Views.Board (project); } project_stack.visible_child = project_view_revealer; project_view_revealer.reveal_child = true; return GLib.Source.REMOVE; }); } private void destroy_current_view () { if (project_view_revealer.child is Views.List) { Views.List ? list_view = (Views.List) project_view_revealer.child; if (list_view != null) { list_view.clean_up (); } } else if (project_view_revealer.child is Views.Board) { Views.Board ? board_view = (Views.Board) project_view_revealer.child; if (board_view != null) { board_view.clean_up (); } } project_view_revealer.child = null; } public void prepare_new_item (string content = "") { if (project.is_deck) { return; } if (project_view_revealer.child == null) { return; } if (project_view_revealer.child is Views.List) { Views.List ? list_view = (Views.List) project_view_revealer.child; if (list_view != null) { list_view.prepare_new_item (content); } } else if (project_view_revealer.child is Views.Board) { Views.Board ? board_view = (Views.Board) project_view_revealer.child; if (board_view != null) { board_view.prepare_new_item (content); } } } private Gtk.Popover build_context_menu_popover () { var edit_item = new Widgets.ContextMenu.MenuItem (_ ("Edit Project"), "edit-symbolic"); var duplicate_item = new Widgets.ContextMenu.MenuItem (_ ("Duplicate"), "tabs-stack-symbolic"); var schedule_item = new Widgets.ContextMenu.MenuItem (_ ("Project Deadline"), "delay-long-small-symbolic"); var add_section_item = new Widgets.ContextMenu.MenuItem (_ ("New Section"), "tab-new-symbolic"); add_section_item.secondary_text = "S"; var manage_sections = new Widgets.ContextMenu.MenuItem (_ ("Manage Sections"), "permissions-generic-symbolic"); var select_item = new Widgets.ContextMenu.MenuItem (_ ("Select"), "list-large-symbolic"); var paste_item = new Widgets.ContextMenu.MenuItem (_ ("Paste"), "tabs-stack-symbolic"); expand_all_item = new Widgets.ContextMenu.MenuItem (_ ("Expand All"), "expand-vertically-symbolic") { visible = view_style == ProjectViewStyle.LIST }; var archive_item = new Widgets.ContextMenu.MenuItem (_ ("Archive"), "shoe-box-symbolic"); var delete_item = new Widgets.ContextMenu.MenuItem (_ ("Delete Project"), "user-trash-symbolic"); delete_item.add_css_class ("menu-item-danger"); var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; if (!project.is_deck && !project.inbox_project) { menu_box.append (edit_item); signal_map[edit_item.activate_item.connect (() => { var dialog = new Dialogs.Project (project); dialog.present (Planify._instance.main_window); })] = edit_item; } if (!project.is_inbox_project) { menu_box.append (schedule_item); menu_box.append (duplicate_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); signal_map[schedule_item.activate_item.connect (() => { var dialog = new Dialogs.DatePicker (_ ("Project Deadline")); dialog.clear = project.due_date != ""; signal_map[dialog.date_changed.connect (() => { if (dialog.datetime == null) { project.due_date = ""; } else { project.due_date = dialog.datetime.to_string (); } project.update_local (); })] = dialog; dialog.present (Planify._instance.main_window); })] = schedule_item; signal_map[duplicate_item.clicked.connect (() => { Util.get_default ().duplicate_project.begin (project, project.parent_id); })] = duplicate_item; } if (project.source_type == SourceType.LOCAL || project.source_type == SourceType.TODOIST) { menu_box.append (add_section_item); menu_box.append (manage_sections); signal_map[add_section_item.activate_item.connect (() => { prepare_new_section (); })] = add_section_item; signal_map[manage_sections.clicked.connect (() => { var dialog = new Dialogs.ManageSectionOrder (project); dialog.present (Planify._instance.main_window); })] = manage_sections; } #if WITH_EVOLUTION calendar_sync_item = new Widgets.ContextMenu.MenuItem (_ ("Calendar Sync"), "month-symbolic") { badge = _("New"), visible = project.calendar_source_uid == "" }; if (!project.is_inbox_project) { menu_box.append (calendar_sync_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); calendar_sync_item.clicked.connect (() => { var dialog = new Dialogs.CalendarSync (project); dialog.present (Planify._instance.main_window); }); } #endif menu_box.append (select_item); menu_box.append (paste_item); menu_box.append (expand_all_item); if (!project.is_deck && !project.inbox_project) { menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (archive_item); menu_box.append (delete_item); signal_map[archive_item.clicked.connect (() => { project.archive_project ((Gtk.Window) Planify.instance.main_window); })] = archive_item; signal_map[delete_item.clicked.connect (() => { project.delete_project ((Gtk.Window) Planify.instance.main_window); })] = delete_item; } var popover = new Gtk.Popover () { has_arrow = false, position = Gtk.PositionType.BOTTOM, child = menu_box, width_request = 250 }; signal_map[paste_item.clicked.connect (() => { Gdk.Clipboard clipboard = Gdk.Display.get_default ().get_clipboard (); clipboard.read_text_async.begin (null, (obj, res) => { try { string content = clipboard.read_text_async.end (res); Planify.instance.main_window.add_task_action (content); } catch (GLib.Error error) { debug (error.message); } }); })] = paste_item; signal_map[expand_all_item.clicked.connect (() => { if (expand_all_item.icon == "collapse-vertically-symbolic") { expand_all_item.title = _ ("Expand All"); expand_all_item.icon = "expand-vertically-symbolic"; Services.EventBus.get_default ().expand_all (project.id, false); } else { expand_all_item.title = _ ("Collapse All"); expand_all_item.icon = "collapse-vertically-symbolic"; Services.EventBus.get_default ().expand_all (project.id, true); } })] = expand_all_item; signal_map[select_item.clicked.connect (() => { project.show_multi_select = true; })] = select_item; return popover; } private Gtk.Popover build_view_setting_popover () { var list_toggle = new Adw.Toggle () { name = ProjectViewStyle.LIST.to_string (), label = _ ("List"), icon_name = "list-symbolic" }; var board_toggle = new Adw.Toggle () { name = ProjectViewStyle.BOARD.to_string (), label = _ ("Board"), icon_name = "view-columns-symbolic" }; var view_group = new Adw.ToggleGroup () { margin_bottom = 12 }; view_group.add (list_toggle); view_group.add (board_toggle); view_group.active_name = project.view_style.to_string (); var sorted_by_item = new Widgets.ContextMenu.MenuPicker (_ ("Sorting"), "vertical-arrows-long-symbolic") { selected = project.sorted_by.to_string () }; sorted_by_item.add_item (_("Custom sort order"), SortedByType.MANUAL.to_string ()); sorted_by_item.add_item (_("Alphabetically"), SortedByType.NAME.to_string ()); sorted_by_item.add_item (_("Due Date"), SortedByType.DUE_DATE.to_string ()); sorted_by_item.add_item (_("Date Added"), SortedByType.ADDED_DATE.to_string ()); sorted_by_item.add_item (_("Priority"), SortedByType.PRIORITY.to_string ()); var sort_order_item = new Widgets.ContextMenu.MenuSwitch (_ ("Ascending Order"), "view-sort-ascending-rtl-symbolic") { active = project.sort_order == SortOrderType.ASC, visible = project.sorted_by != SortedByType.MANUAL }; // Filters due_date_item = new Widgets.ContextMenu.MenuPicker (_ ("Duedate"), "month-symbolic") { selected = "0" }; due_date_item.add_item (_ ("All (default)"), "0"); due_date_item.add_item (_ ("Today"), "1"); due_date_item.add_item (_ ("This Week"), "2"); due_date_item.add_item (_ ("Next 7 Days"), "3"); due_date_item.add_item (_ ("This Month"), "4"); due_date_item.add_item (_ ("Next 30 Days"), "5"); due_date_item.add_item (_ ("No Date"), "6"); var priority_items = new Gee.ArrayList (); priority_items.add (new Objects.Filters.FilterItem () { filter_type = FilterItemType.PRIORITY, name = _ ("P1"), value = Constants.PRIORITY_1.to_string () }); priority_items.add (new Objects.Filters.FilterItem () { filter_type = FilterItemType.PRIORITY, name = _ ("P2"), value = Constants.PRIORITY_2.to_string () }); priority_items.add (new Objects.Filters.FilterItem () { filter_type = FilterItemType.PRIORITY, name = _ ("P3"), value = Constants.PRIORITY_3.to_string () }); priority_items.add (new Objects.Filters.FilterItem () { filter_type = FilterItemType.PRIORITY, name = _ ("P4"), value = Constants.PRIORITY_4.to_string () }); priority_filter = new Widgets.ContextMenu.MenuCheckPicker (_ ("Priority"), "flag-outline-thick-symbolic"); priority_filter.set_items (priority_items); var labels_filter = new Widgets.ContextMenu.MenuItem (_ ("Filter by Labels"), "tag-outline-symbolic") { arrow = true }; var show_completed_item = new Widgets.ContextMenu.MenuSwitch (_ ("Show Completed"), "check-round-outline-symbolic") { tooltip_text = _("Display completed tasks in the list") }; show_completed_item.active = project.show_completed; var show_completed_item_button = new Gtk.Button.from_icon_name ("edit-find-symbolic") { valign = CENTER, tooltip_text = _("Search completed tasks") }; show_completed_item_button.add_css_class ("flat"); var show_completed_box = new Gtk.Box (HORIZONTAL, 6) { valign = CENTER }; show_completed_box.append (show_completed_item); show_completed_box.append (show_completed_item_button); var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; if (project.source_type == SourceType.LOCAL || project.source_type == SourceType.TODOIST) { menu_box.append (view_group); signal_map[view_group.notify["active-name"].connect (() => { if (view_group.active_name == ProjectViewStyle.LIST.to_string ()) { project.view_style = ProjectViewStyle.LIST; } else { project.view_style = ProjectViewStyle.BOARD; } project.update_local (); })] = view_group; } menu_box.append (new Gtk.Label (_ ("Sort By")) { css_classes = { "caption", "font-bold" }, margin_start = 6, margin_bottom = 6, halign = Gtk.Align.START }); menu_box.append (sorted_by_item); menu_box.append (sort_order_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (new Gtk.Label (_ ("Filter By")) { css_classes = { "caption", "font-bold" }, margin_start = 6, margin_top = 6, margin_bottom = 6, halign = Gtk.Align.START }); menu_box.append (due_date_item); menu_box.append (priority_filter); menu_box.append (labels_filter); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (show_completed_box); var popover = new Gtk.Popover () { has_arrow = false, position = Gtk.PositionType.BOTTOM, child = menu_box, width_request = 250 }; signal_map[sorted_by_item.notify["selected"].connect (() => { project.sorted_by = SortedByType.parse (sorted_by_item.selected); if (project.sorted_by == SortedByType.MANUAL) { project.sort_order = SortOrderType.ASC; } project.update_local (); check_default_filters (); })] = sorted_by_item; signal_map[sort_order_item.activate_item.connect (() => { project.sort_order = sort_order_item.active ? SortOrderType.ASC : SortOrderType.DESC; project.update_local (); check_default_filters (); })] = sort_order_item; signal_map[show_completed_item.activate_item.connect (() => { project.show_completed = !project.show_completed; project.update_local (); check_default_filters (); })] = show_completed_item; signal_map[project.show_completed_changed.connect (() => { show_completed_item.active = project.show_completed; })] = project; signal_map[show_completed_item_button.clicked.connect (() => { popover.popdown (); var dialog = new Dialogs.CompletedTasks (project); dialog.present (Planify._instance.main_window); })] = show_completed_item_button; signal_map[project.sorted_by_changed.connect (() => { sorted_by_item.update_selected (project.sorted_by.to_string ()); sort_order_item.visible = project.sorted_by != SortedByType.MANUAL; check_default_filters (); })] = project; signal_map[project.sort_order_changed.connect (() => { sort_order_item.active = project.sort_order == SortOrderType.ASC; })] = project; signal_map[due_date_item.notify["selected"].connect (() => { int selected = int.parse (due_date_item.selected); if (selected <= 0) { Objects.Filters.FilterItem filter = project.get_filter (FilterItemType.DUE_DATE.to_string ()); if (filter != null) { project.remove_filter (filter); } } else { Objects.Filters.FilterItem filter = project.get_filter (FilterItemType.DUE_DATE.to_string ()); bool insert = false; if (filter == null) { filter = new Objects.Filters.FilterItem (); filter.filter_type = FilterItemType.DUE_DATE; insert = true; } if (selected == 1) { filter.name = _ ("Today"); } else if (selected == 2) { filter.name = _ ("This Week"); } else if (selected == 3) { filter.name = _ ("Next 7 Days"); } else if (selected == 4) { filter.name = _ ("This Month"); } else if (selected == 5) { filter.name = _ ("Next 30 Days"); } else if (selected == 6) { filter.name = _ ("No Date"); } filter.value = selected.to_string (); if (insert) { project.add_filter (filter); } else { project.update_filter (filter); } } })] = due_date_item; signal_map[priority_filter.filter_change.connect ((filter, active) => { if (active) { project.add_filter (filter); } else { project.remove_filter (filter); } })] = priority_filter; signal_map[labels_filter.activate_item.connect (() => { Gee.ArrayList _labels = new Gee.ArrayList (); foreach (Objects.Filters.FilterItem filter in project.filters.values) { if (filter.filter_type == FilterItemType.LABEL) { _labels.add (Services.Store.instance ().get_label (filter.value)); } } var dialog = new Dialogs.LabelPicker (); dialog.add_labels (project.source); dialog.labels = _labels; dialog.present (Planify._instance.main_window); dialog.labels_changed.connect ((labels) => { foreach (Objects.Label label in labels.values) { var filter = new Objects.Filters.FilterItem (); filter.filter_type = FilterItemType.LABEL; filter.name = label.name; filter.value = label.id; project.add_filter (filter); } Gee.ArrayList to_remove = new Gee.ArrayList (); foreach (Objects.Filters.FilterItem filter in project.filters.values) { if (filter.filter_type == FilterItemType.LABEL) { if (!labels.has_key (filter.value)) { to_remove.add (filter); } } } foreach (Objects.Filters.FilterItem filter in to_remove) { project.remove_filter (filter); } }); })] = labels_filter; return popover; } public void prepare_new_section () { if (project.source_type == SourceType.CALDAV) { return; } var dialog = new Dialogs.Section.new (project); dialog.present (Planify._instance.main_window); } private void clear_multi_select () { Services.EventBus.get_default ().multi_select_enabled = false; Services.EventBus.get_default ().show_multi_select (false); Services.EventBus.get_default ().unselect_all (); } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); destroy_current_view (); } public override void dispose () { clean_up (); base.dispose (); } } alainm23-planify-69962f8/src/Views/Scheduled/000077500000000000000000000000001517337276100206575ustar00rootroot00000000000000alainm23-planify-69962f8/src/Views/Scheduled/Scheduled.vala000066400000000000000000000320771517337276100234350ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Views.Scheduled.Scheduled : Adw.Bin { private Gtk.Revealer indicator_revealer; Widgets.ContextMenu.MenuCheckPicker priority_filter; private Gtk.ListBox listbox; private Gtk.ScrolledWindow scrolled_window; public Gee.HashMap items; private Gee.HashMap signal_map = new Gee.HashMap (); ~Scheduled () { debug ("Destroying - Views.Scheduled.Scheduled\n"); } construct { items = new Gee.HashMap (); var indicator_grid = new Gtk.Grid () { width_request = 9, height_request = 9, margin_top = 6, margin_end = 6, css_classes = { "indicator" } }; indicator_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.CROSSFADE, child = indicator_grid, halign = END, valign = START, sensitive = false, }; var view_setting_button = new Gtk.MenuButton () { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, margin_end = 12, popover = build_view_setting_popover (), icon_name = "view-sort-descending-rtl-symbolic", css_classes = { "flat" }, tooltip_text = _("View Option Menu") }; var view_setting_overlay = new Gtk.Overlay (); view_setting_overlay.child = view_setting_button; view_setting_overlay.add_overlay (indicator_revealer); var headerbar = new Layouts.HeaderBar () { title = Objects.Filters.Scheduled.get_default ().name }; headerbar.pack_end (view_setting_overlay); listbox = new Gtk.ListBox () { valign = Gtk.Align.START, activate_on_single_click = true, selection_mode = Gtk.SelectionMode.NONE, hexpand = true }; listbox.add_css_class ("listbox-background"); var listbox_content = new Adw.Bin () { margin_top = 12, child = listbox }; var title_icon = new Gtk.Image.from_icon_name (Objects.Filters.Scheduled.get_default ().icon_name) { pixel_size = 16, valign = CENTER, halign = CENTER, css_classes = { "view-icon" } }; Util.get_default ().set_widget_color (Objects.Filters.Scheduled.get_default ().theme_color (), title_icon); var title_label = new Gtk.Label (Objects.Filters.Scheduled.get_default ().name) { css_classes = { "font-bold", "title-2" }, ellipsize = END, halign = START }; var title_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_start = 30, margin_bottom = 6 }; title_box.append (title_icon); title_box.append (title_label); var filters = new Widgets.FilterFlowBox () { valign = Gtk.Align.START, vexpand = false, vexpand_set = true, base_object = Objects.Filters.Scheduled.get_default () }; filters.flowbox.margin_start = 30; filters.flowbox.margin_top = 12; filters.flowbox.margin_end = 12; filters.flowbox.margin_bottom = 3; var content = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { hexpand = true, vexpand = true }; content.append (title_box); content.append (filters); content.append (listbox_content); var content_clamp = new Adw.Clamp () { maximum_size = 864, tightening_threshold = 600, margin_bottom = 64, child = content }; scrolled_window = new Gtk.ScrolledWindow () { hscrollbar_policy = Gtk.PolicyType.NEVER, hexpand = true, vexpand = true }; scrolled_window.child = content_clamp; var magic_button = new Widgets.MagicButton (); var content_overlay = new Gtk.Overlay () { hexpand = true, vexpand = true, child = scrolled_window }; content_overlay.add_overlay (magic_button); var toolbar_view = new Adw.ToolbarView () { content = content_overlay }; toolbar_view.add_top_bar (headerbar); child = toolbar_view; add_days (); signal_map[magic_button.clicked.connect (() => { prepare_new_item (); })] = magic_button; signal_map[scrolled_window.vadjustment.value_changed.connect (() => { headerbar.revealer_title_box (scrolled_window.vadjustment.value >= Constants.HEADERBAR_TITLE_SCROLL_THRESHOLD); })] = scrolled_window.vadjustment; signal_map[Services.EventBus.get_default ().theme_changed.connect (() => { Util.get_default ().set_widget_color (Objects.Filters.Scheduled.get_default ().theme_color (), title_icon); })] = Services.EventBus.get_default (); signal_map[Services.EventBus.get_default ().dim_content.connect ((active, focused_item_id) => { title_box.sensitive = !active; filters.sensitive = !active; })] = Services.EventBus.get_default (); } private void add_days () { listbox.append (new Views.Scheduled.ScheduledOverdue ()); var date = new GLib.DateTime.now_local (); var month_days = Utils.Datetime.get_days_of_month (date.get_month (), date.get_year ()); var remaining_days = month_days - date.add_days (7).get_day_of_month (); var days_to_iterate = 7; if (remaining_days >= 1 && remaining_days <= 3) { days_to_iterate += remaining_days; } var row = new Views.Scheduled.ScheduledDay (date); listbox.append (row); for (int i = 0; i < days_to_iterate; i++) { date = date.add_days (1); row = new Views.Scheduled.ScheduledDay (date); listbox.append (row); } month_days = Utils.Datetime.get_days_of_month (date.get_month (), date.get_year ()); remaining_days = month_days - date.get_day_of_month (); if (remaining_days > 3) { listbox.append (new Views.Scheduled.ScheduledRange (date.add_days (1), date.add_days (remaining_days))); } for (int i = 0; i < 4; i++) { date = date.add_months (1); var first_of_month = new GLib.DateTime.local (date.get_year (), date.get_month (), 1, 0, 0, 0); listbox.append (new Views.Scheduled.ScheduledMonth (first_of_month)); } } public void prepare_new_item (string content = "") { var dialog = new Dialogs.QuickAdd (); dialog.update_content (content); dialog.set_due (Utils.Datetime.get_date_only (new GLib.DateTime.now_local ().add_days (1))); dialog.present (Planify._instance.main_window); } private Gtk.Popover build_view_setting_popover () { var sorted_by_item = new Widgets.ContextMenu.MenuPicker (_ ("Sorting"), "vertical-arrows-long-symbolic") { selected = Services.Settings.get_default ().settings.get_string ("scheduled-sort-order") }; sorted_by_item.add_item (_("Alphabetically"), SortedByType.NAME.to_string ()); sorted_by_item.add_item (_("Due Date"), SortedByType.DUE_DATE.to_string ()); sorted_by_item.add_item (_("Date Added"), SortedByType.ADDED_DATE.to_string ()); sorted_by_item.add_item (_("Priority"), SortedByType.PRIORITY.to_string ()); // Filters var priority_items = new Gee.ArrayList (); priority_items.add (new Objects.Filters.FilterItem () { filter_type = FilterItemType.PRIORITY, name = _("P1"), value = Constants.PRIORITY_1.to_string () }); priority_items.add (new Objects.Filters.FilterItem () { filter_type = FilterItemType.PRIORITY, name = _("P2"), value = Constants.PRIORITY_2.to_string () }); priority_items.add (new Objects.Filters.FilterItem () { filter_type = FilterItemType.PRIORITY, name = _("P3"), value = Constants.PRIORITY_3.to_string () }); priority_items.add (new Objects.Filters.FilterItem () { filter_type = FilterItemType.PRIORITY, name = _("P4"), value = Constants.PRIORITY_4.to_string () }); priority_filter = new Widgets.ContextMenu.MenuCheckPicker (_("Priority"), "flag-outline-thick-symbolic"); priority_filter.set_items (priority_items); var labels_filter = new Widgets.ContextMenu.MenuItem (_("Filter by Labels"), "tag-outline-symbolic") { arrow = true }; var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; menu_box.append (sorted_by_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (new Gtk.Label (_("Filter By")) { css_classes = { "caption", "font-bold" }, margin_start = 6, margin_top = 6, margin_bottom = 6, halign = Gtk.Align.START }); menu_box.append (priority_filter); menu_box.append (labels_filter); var popover = new Gtk.Popover () { has_arrow = false, position = Gtk.PositionType.BOTTOM, child = menu_box, width_request = 250 }; signal_map[sorted_by_item.notify["selected"].connect (() => { Services.Settings.get_default ().settings.set_string ("scheduled-sort-order", sorted_by_item.selected); })] = sorted_by_item; signal_map[priority_filter.filter_change.connect ((filter, active) => { if (active) { Objects.Filters.Scheduled.get_default ().add_filter (filter); } else { Objects.Filters.Scheduled.get_default ().remove_filter (filter); } })] = signal_map; signal_map[labels_filter.activate_item.connect (() => { Gee.ArrayList _labels = new Gee.ArrayList (); foreach (Objects.Filters.FilterItem filter in Objects.Filters.Scheduled.get_default ().filters.values) { if (filter.filter_type == FilterItemType.LABEL) { _labels.add (Services.Store.instance ().get_label (filter.value)); } } var dialog = new Dialogs.LabelPicker (); dialog.add_labels_list (Services.Store.instance ().labels); dialog.labels = _labels; signal_map[dialog.labels_changed.connect ((labels) => { foreach (Objects.Label label in labels.values) { var filter = new Objects.Filters.FilterItem (); filter.filter_type = FilterItemType.LABEL; filter.name = label.name; filter.value = label.id; Objects.Filters.Scheduled.get_default ().add_filter (filter); } Gee.ArrayList to_remove = new Gee.ArrayList (); foreach (Objects.Filters.FilterItem filter in Objects.Filters.Scheduled.get_default ().filters.values) { if (filter.filter_type == FilterItemType.LABEL) { if (!labels.has_key (filter.value)) { to_remove.add (filter); } } } foreach (Objects.Filters.FilterItem filter in to_remove) { Objects.Filters.Scheduled.get_default ().remove_filter (filter); } })] = dialog; dialog.present (Planify._instance.main_window); })] = labels_filter; return popover; } public void clean_up () { foreach (var row in Util.get_default ().get_children (listbox)) { if (row is Views.Scheduled.ScheduledSection) { ((Views.Scheduled.ScheduledSection) row).clean_up (); } } foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } } alainm23-planify-69962f8/src/Views/Scheduled/ScheduledDay.vala000066400000000000000000000145771517337276100241000ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Views.Scheduled.ScheduledDay : Views.Scheduled.ScheduledSection { public GLib.DateTime date { get; construct; } private Gtk.Box header_content; public ScheduledDay (GLib.DateTime date) { Object ( date: date ); } ~ScheduledDay () { debug ("Destroying - Views.Scheduled.ScheduledDay\n"); } construct { add_css_class ("no-selectable"); add_css_class ("transition"); add_css_class ("no-padding"); var day_label = new Gtk.Label (date.get_day_of_month ().to_string ()) { halign = Gtk.Align.START }; day_label.add_css_class ("font-bold"); var date_format_label = new Gtk.Label (date.format ("%a")) { halign = Gtk.Align.START }; date_format_label.add_css_class ("dimmed"); var title_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { hexpand = true }; title_box.append (day_label); title_box.append (date_format_label); header_content = create_header (title_box); #if WITH_EVOLUTION setup_events (header_content); #endif listbox = new Gtk.ListBox () { valign = Gtk.Align.START, activate_on_single_click = true, selection_mode = Gtk.SelectionMode.SINGLE, hexpand = true, css_classes = { "listbox-background" } }; var listbox_grid = new Gtk.Grid () { margin_top = 6, margin_end = 24 }; listbox_grid.attach (listbox, 0, 0); listbox_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, reveal_child = has_items }; listbox_revealer.child = listbox_grid; var content = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { hexpand = true, valign = Gtk.Align.START, margin_bottom = 32, }; content.append (header_content); content.append (listbox_revealer); child = content; setup_listbox (); setup_item_signals (); add_items (); Timeout.add (listbox_revealer.transition_duration, () => { listbox_revealer.reveal_child = has_items; return GLib.Source.REMOVE; }); signal_map[Services.EventBus.get_default ().item_moved.connect ((item) => { if (items.has_key (item.id)) { items[item.id].update_request (); } listbox.invalidate_filter (); })] = Services.EventBus.get_default (); signal_map[Services.EventBus.get_default ().dim_content.connect ((active, focused_item_id) => { header_content.sensitive = !active; })] = Services.EventBus.get_default (); } protected override void add_items () { foreach (Objects.Item item in Services.Store.instance ().get_items_by_date (date, false)) { add_item (item); } // Add items with deadline today if (Utils.Datetime.is_today (date)) { foreach (Objects.Item item in Services.Store.instance ().items) { if (!item.checked && !item.was_archived () && item.has_deadline) { var deadline_date = Utils.Datetime.get_date_only (item.deadline_datetime); if (Utils.Datetime.is_today (deadline_date) && !items.has_key (item.id)) { add_item (item); } } } } } protected override bool valid_item_predicate (Objects.Item item) { bool valid_due = item.has_due && Services.Store.instance ().valid_item_by_date (item, date, false); bool valid_deadline = Utils.Datetime.is_today (date) && item.has_deadline && Utils.Datetime.is_today (Utils.Datetime.get_date_only (item.deadline_datetime)); return valid_due || valid_deadline; } #if WITH_EVOLUTION protected override Widgets.EventsList? create_events_list () { return new Widgets.EventsList.for_day (date) { hexpand = true, valign = Gtk.Align.START, margin_top = 6 }; } #endif protected override void valid_add_item (Objects.Item item) { base.valid_add_item (item); listbox.invalidate_filter (); } protected override void valid_update_item (Objects.Item item, string? update_id = null) { if (items.has_key (item.id)) { items[item.id].update_request (); } if (items.has_key (item.id) && !item.has_due && !item.has_deadline) { items[item.id].hide_destroy (); items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } if (items.has_key (item.id) && (item.has_due || item.has_deadline)) { bool valid_due = item.has_due && Services.Store.instance ().valid_item_by_date (item, date, false); bool valid_deadline = Utils.Datetime.is_today (date) && item.has_deadline && Utils.Datetime.is_today (Utils.Datetime.get_date_only (item.deadline_datetime)); if (!valid_due && !valid_deadline) { items[item.id].hide_destroy (); items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } } if (item.has_due || (Utils.Datetime.is_today (date) && item.has_deadline)) { valid_add_item (item); } listbox_revealer.reveal_child = has_items; listbox.invalidate_filter (); } } alainm23-planify-69962f8/src/Views/Scheduled/ScheduledMonth.vala000066400000000000000000000114361517337276100244370ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Views.Scheduled.ScheduledMonth : Views.Scheduled.ScheduledSection { public GLib.DateTime date { get; construct; } private Gtk.Box header_content; public ScheduledMonth (GLib.DateTime date) { Object ( date: date ); } ~ScheduledMonth () { debug ("Destroying - Views.Scheduled.ScheduledMonth\n"); } construct { add_css_class ("no-selectable"); add_css_class ("transition"); add_css_class ("no-padding"); var month_label = new Gtk.Label (date.format ("%OB")) { halign = Gtk.Align.START }; month_label.add_css_class ("font-bold"); var title_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { hexpand = true }; title_box.append (month_label); header_content = create_header (title_box); #if WITH_EVOLUTION setup_events (header_content); #endif listbox = new Gtk.ListBox () { valign = Gtk.Align.START, activate_on_single_click = true, selection_mode = Gtk.SelectionMode.SINGLE, hexpand = true, css_classes = { "listbox-background" } }; var listbox_grid = new Gtk.Grid () { margin_top = 6, margin_end = 24 }; listbox_grid.attach (listbox, 0, 0); listbox_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, reveal_child = has_items }; listbox_revealer.child = listbox_grid; var content = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { hexpand = true, valign = Gtk.Align.START, margin_bottom = 32 }; content.append (header_content); content.append (listbox_revealer); child = content; Timeout.add (listbox_revealer.transition_duration, () => { listbox_revealer.reveal_child = has_items; return GLib.Source.REMOVE; }); setup_listbox (); setup_item_signals (); add_items (); signal_map[Services.EventBus.get_default ().item_moved.connect ((item) => { if (items.has_key (item.id)) { items[item.id].update_request (); } })] = Services.EventBus.get_default (); signal_map[Services.EventBus.get_default ().dim_content.connect ((active, focused_item_id) => { header_content.sensitive = !active; })] = Services.EventBus.get_default (); } protected override void add_items () { foreach (Objects.Item item in Services.Store.instance ().get_items_by_month (date, false)) { add_item (item); } } protected override bool valid_item_predicate (Objects.Item item) { return Services.Store.instance ().valid_item_by_month (item, date, false); } #if WITH_EVOLUTION protected override Widgets.EventsList? create_events_list () { return new Widgets.EventsList.for_month (date) { hexpand = true, valign = Gtk.Align.START, margin_top = 6 }; } #endif protected override void valid_update_item (Objects.Item item, string? update_id = null) { if (items.has_key (item.id)) { items[item.id].update_request (); } if (items.has_key (item.id) && !item.has_due) { items[item.id].hide_destroy (); items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } if (items.has_key (item.id) && item.has_due) { if (!Services.Store.instance ().valid_item_by_month (item, date, false)) { items[item.id].hide_destroy (); items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } } if (item.has_due) { valid_add_item (item); } listbox_revealer.reveal_child = has_items; } } alainm23-planify-69962f8/src/Views/Scheduled/ScheduledOverdue.vala000066400000000000000000000146451517337276100247700ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Views.Scheduled.ScheduledOverdue : Views.Scheduled.ScheduledSection { public GLib.DateTime date { get; set; default = new GLib.DateTime.now_local (); } private Gtk.Box header_content; private Gtk.Revealer main_revealer; private Widgets.ScheduleButton reschedule_button; ~ScheduledOverdue () { debug ("Destroying - Views.Scheduled.ScheduledOverdue\n"); } construct { add_css_class ("no-selectable"); add_css_class ("transition"); add_css_class ("no-padding"); var title_label = new Gtk.Label (_("Overdue")) { halign = Gtk.Align.START }; title_label.add_css_class ("font-bold"); reschedule_button = new Widgets.ScheduleButton (_("Reschedule")) { visible_clear_button = false, visible_no_date = true, hexpand = true, halign = END }; var title_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { hexpand = true }; title_box.append (title_label); title_box.append (reschedule_button); header_content = create_header (title_box); #if WITH_EVOLUTION setup_events (header_content); #endif listbox = new Gtk.ListBox () { valign = Gtk.Align.START, activate_on_single_click = true, selection_mode = Gtk.SelectionMode.SINGLE, hexpand = true }; listbox.add_css_class ("listbox-background"); var listbox_grid = new Adw.Bin () { margin_top = 6, margin_end = 24, child = listbox }; var content = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { hexpand = true, valign = Gtk.Align.START, margin_bottom = 32, }; content.append (header_content); content.append (listbox_grid); main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, reveal_child = has_items, child = content }; child = main_revealer; setup_listbox (); setup_item_signals (); add_items (); signal_map[Services.EventBus.get_default ().day_changed.connect (() => { date = new GLib.DateTime.now_local (); add_items (); })] = Services.EventBus.get_default (); signal_map[Services.EventBus.get_default ().item_moved.connect ((item, old_project_id, old_section_id, old_parent_id) => { if (items.has_key (item.id)) { if (!Services.Store.instance ().valid_item_by_overdue (item, date, false)) { items[item.id].hide_destroy (); items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } } if (!items.has_key (item.id) && Services.Store.instance ().valid_item_by_overdue (item, date, false)) { add_item (item); } listbox.invalidate_filter (); main_revealer.reveal_child = has_items; })] = Services.EventBus.get_default (); signal_map[reschedule_button.duedate_changed.connect (() => { foreach (unowned Gtk.Widget child in Util.get_default ().get_children (listbox)) { ((Layouts.ItemRow) child).update_due (reschedule_button.duedate); } })] = reschedule_button; signal_map[Services.EventBus.get_default ().dim_content.connect ((active, focused_item_id) => { header_content.sensitive = !active; })] = Services.EventBus.get_default (); } protected override void add_items () { items.clear (); foreach (unowned Gtk.Widget child in Util.get_default ().get_children (listbox)) { listbox.remove (child); } foreach (Objects.Item item in Services.Store.instance ().get_items_by_overdue_view (false)) { add_item (item); } main_revealer.reveal_child = has_items; } protected override bool valid_item_predicate (Objects.Item item) { return Services.Store.instance ().valid_item_by_overdue (item, date, false); } protected override void valid_add_item (Objects.Item item) { if (!items.has_key (item.id) && valid_item_predicate (item)) { add_item (item); } listbox.invalidate_filter (); main_revealer.reveal_child = has_items; } protected override void valid_delete_item (Objects.Item item) { if (items.has_key (item.id)) { items[item.id].hide_destroy (); items.unset (item.id); } listbox.invalidate_filter (); main_revealer.reveal_child = has_items; } protected override void valid_update_item (Objects.Item item, string? update_id = null) { if (items.has_key (item.id)) { items[item.id].update_request (); } if (items.has_key (item.id) && !item.has_due) { items[item.id].hide_destroy (); items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } if (items.has_key (item.id) && item.has_due) { if (!Services.Store.instance ().valid_item_by_overdue (item, date, false)) { items[item.id].hide_destroy (); items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } } if (item.has_due) { valid_add_item (item); } listbox.invalidate_filter (); main_revealer.reveal_child = has_items; } } alainm23-planify-69962f8/src/Views/Scheduled/ScheduledRange.vala000066400000000000000000000123561517337276100244100ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Views.Scheduled.ScheduledRange : Views.Scheduled.ScheduledSection { public GLib.DateTime start_date { get; construct; } public GLib.DateTime end_date { get; construct; } private Gtk.Box header_content; public ScheduledRange (GLib.DateTime start_date, GLib.DateTime end_date) { Object ( start_date: start_date, end_date: end_date ); } ~ScheduledRange () { debug ("Destroying - Views.Scheduled.ScheduledRange\n"); } construct { add_css_class ("no-selectable"); add_css_class ("transition"); add_css_class ("no-padding"); var month_label = new Gtk.Label (start_date.format ("%B")) { halign = Gtk.Align.START }; month_label.add_css_class ("font-bold"); var date_range_label = new Gtk.Label ("%s - %s".printf (start_date.format ("%d"), end_date.format ("%d"))) { halign = Gtk.Align.START }; date_range_label.add_css_class ("dimmed"); var title_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { hexpand = true }; title_box.append (month_label); title_box.append (date_range_label); header_content = create_header (title_box); #if WITH_EVOLUTION setup_events (header_content); #endif listbox = new Gtk.ListBox () { valign = Gtk.Align.START, activate_on_single_click = true, selection_mode = Gtk.SelectionMode.SINGLE, hexpand = true, css_classes = { "listbox-background" } }; var listbox_grid = new Gtk.Grid () { margin_top = 6, margin_end = 24 }; listbox_grid.attach (listbox, 0, 0); listbox_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, reveal_child = has_items, child = listbox_grid }; var content = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { hexpand = true, valign = Gtk.Align.START, margin_bottom = 32 }; content.append (header_content); content.append (listbox_revealer); child = content; Timeout.add (listbox_revealer.transition_duration, () => { listbox_revealer.reveal_child = has_items; return GLib.Source.REMOVE; }); setup_listbox (); setup_item_signals (); add_items (); signal_map[Services.EventBus.get_default ().item_moved.connect ((item) => { if (items.has_key (item.id)) { items[item.id].update_request (); } })] = Services.EventBus.get_default (); signal_map[Services.EventBus.get_default ().dim_content.connect ((active, focused_item_id) => { header_content.sensitive = !active; })] = Services.EventBus.get_default (); } protected override void add_items () { foreach (Objects.Item item in Services.Store.instance ().get_items_by_date_range (start_date, end_date, false)) { add_item (item); } } protected override bool valid_item_predicate (Objects.Item item) { return Services.Store.instance ().valid_item_by_date_range (item, start_date, end_date, false); } protected override void valid_update_item (Objects.Item item, string? update_id = null) { if (items.has_key (item.id)) { items[item.id].update_request (); } if (items.has_key (item.id) && !item.has_due) { items[item.id].hide_destroy (); items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } if (items.has_key (item.id) && item.has_due) { if (!Services.Store.instance ().valid_item_by_date_range (item, start_date, end_date, false)) { items[item.id].hide_destroy (); items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } } if (item.has_due) { valid_add_item (item); } listbox_revealer.reveal_child = has_items; } #if WITH_EVOLUTION protected override Widgets.EventsList? create_events_list () { return new Widgets.EventsList.for_range (start_date, end_date) { hexpand = true, valign = Gtk.Align.START, margin_top = 6 }; } #endif } alainm23-planify-69962f8/src/Views/Scheduled/ScheduledSection.vala000066400000000000000000000160461517337276100247600ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public abstract class Views.Scheduled.ScheduledSection : Gtk.ListBoxRow { protected Gtk.ListBox listbox; protected Gtk.Revealer listbox_revealer; protected Gee.HashMap items = new Gee.HashMap (); protected Gee.HashMap signal_map = new Gee.HashMap (); protected bool has_items { get { return items.size > 0; } } protected abstract void add_items (); protected abstract bool valid_item_predicate (Objects.Item item); protected void setup_listbox () { listbox.set_sort_func ((lbrow, lbbefore) => { Objects.Item item1 = ((Layouts.ItemRow) lbrow).item; Objects.Item item2 = ((Layouts.ItemRow) lbbefore).item; SortedByType sorted_by = SortedByType.parse (Services.Settings.get_default ().settings.get_string ("scheduled-sort-order")); return Util.get_default ().set_item_sort_func ( item1, item2, sorted_by, SortOrderType.ASC ); }); listbox.set_filter_func ((row) => { var item = ((Layouts.ItemRow) row).item; bool return_value = true; if (Objects.Filters.Scheduled.get_default ().filters.size <= 0) { return true; } return_value = false; foreach (Objects.Filters.FilterItem filter in Objects.Filters.Scheduled.get_default ().filters.values) { if (filter.filter_type == FilterItemType.PRIORITY) { return_value = return_value || item.priority == int.parse (filter.value); } else if (filter.filter_type == FilterItemType.LABEL) { return_value = return_value || item.has_label (filter.value); } } return return_value; }); signal_map[Objects.Filters.Scheduled.get_default ().filter_added.connect (() => { listbox.invalidate_filter (); })] = Objects.Filters.Scheduled.get_default (); signal_map[Objects.Filters.Scheduled.get_default ().filter_removed.connect (() => { listbox.invalidate_filter (); })] = Objects.Filters.Scheduled.get_default (); signal_map[Objects.Filters.Scheduled.get_default ().filter_updated.connect (() => { listbox.invalidate_filter (); })] = Objects.Filters.Scheduled.get_default (); signal_map[Services.Settings.get_default ().settings.changed["scheduled-sort-order"].connect (() => { listbox.invalidate_sort (); })] = Services.Settings.get_default (); } #if WITH_EVOLUTION protected Widgets.EventsList? event_list; protected Gtk.Revealer? event_list_revealer; protected virtual Widgets.EventsList? create_events_list () { return null; } protected void setup_events (Gtk.Box header_content) { event_list = create_events_list (); if (event_list == null) { return; } event_list_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, reveal_child = event_list.has_items, child = event_list }; header_content.append (event_list_revealer); signal_map[event_list.change.connect (() => { event_list_revealer.reveal_child = event_list.has_items; })] = event_list; } #endif protected Gtk.Box create_header (Gtk.Widget title_widget) { var header = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { hexpand = true, valign = Gtk.Align.START, margin_start = 30, margin_end = 24 }; header.append (title_widget); header.append (new Gtk.Separator (Gtk.Orientation.HORIZONTAL) { margin_top = 6, margin_bottom = 3 }); return header; } protected void add_item (Objects.Item item) { if (!items.has_key (item.id)) { items[item.id] = new Layouts.ItemRow (item); items[item.id].disable_drag_and_drop (); listbox.append (items[item.id]); } } protected virtual void valid_add_item (Objects.Item item) { if (!items.has_key (item.id) && valid_item_predicate (item)) { add_item (item); } listbox_revealer.reveal_child = has_items; } protected virtual void valid_delete_item (Objects.Item item) { if (items.has_key (item.id)) { items[item.id].hide_destroy (); items.unset (item.id); } listbox_revealer.reveal_child = has_items; } protected virtual void valid_update_item (Objects.Item item, string? update_id = null) { if (items.has_key (item.id)) { items[item.id].update_request (); } listbox_revealer.reveal_child = has_items; } protected void setup_item_signals () { signal_map[Services.Store.instance ().item_added.connect (valid_add_item)] = Services.Store.instance (); signal_map[Services.Store.instance ().item_deleted.connect (valid_delete_item)] = Services.Store.instance (); signal_map[Services.Store.instance ().item_updated.connect (valid_update_item)] = Services.Store.instance (); signal_map[Services.Store.instance ().item_archived.connect (valid_delete_item)] = Services.Store.instance (); signal_map[Services.Store.instance ().item_unarchived.connect (valid_add_item)] = Services.Store.instance (); } protected virtual void cleanup_signals () { foreach (var entry in signal_map.entries) { if (entry.value != null && GLib.SignalHandler.is_connected (entry.value, entry.key)) { entry.value.disconnect (entry.key); } } signal_map.clear (); } public virtual void clean_up () { listbox.set_filter_func (null); listbox.set_sort_func (null); foreach (var row in Util.get_default ().get_children (listbox)) { ((Layouts.ItemRow) row).clean_up (); } cleanup_signals (); #if WITH_EVOLUTION if (event_list != null) { event_list.clean_up (); } #endif } } alainm23-planify-69962f8/src/Views/Today.vala000066400000000000000000001020731517337276100207070ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Views.Today : Adw.Bin { private Layouts.HeaderBar headerbar; private Gtk.Label title_label; private Gtk.Label date_label; #if WITH_EVOLUTION private Widgets.EventsList event_list; private Gtk.Revealer event_list_revealer; #endif private Gtk.ListBox listbox; private Gtk.Revealer today_revealer; private Gtk.ListBox overdue_listbox; private Gtk.Revealer overdue_revealer; private Gtk.Grid listbox_grid; private Gtk.ScrolledWindow scrolled_window; private Gtk.Stack listbox_placeholder_stack; private Gtk.Revealer indicator_revealer; private Widgets.ContextMenu.MenuCheckPicker priority_filter; private Widgets.ContextMenu.MenuCheckPicker assignment_filter; public Gee.HashMap overdue_items = new Gee.HashMap (); public Gee.HashMap items = new Gee.HashMap (); public GLib.DateTime date { get; set; default = new GLib.DateTime.now_local (); } private bool overdue_has_children { get { return overdue_items.size > 0; } } private bool today_has_children { get { return items.size > 0; } } private Gee.HashMap signal_map = new Gee.HashMap (); ~Today () { debug ("Destroying - Today View\n"); } construct { var indicator_grid = new Gtk.Grid () { width_request = 9, height_request = 9, margin_top = 6, margin_end = 6, css_classes = { "indicator" } }; indicator_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.CROSSFADE, child = indicator_grid, halign = END, valign = START, sensitive = false, }; var view_setting_button = new Gtk.MenuButton () { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, margin_end = 12, popover = build_view_setting_popover (), icon_name = "view-sort-descending-rtl-symbolic", css_classes = { "flat" }, tooltip_text = _("View Option Menu") }; var view_setting_overlay = new Gtk.Overlay (); view_setting_overlay.child = view_setting_button; view_setting_overlay.add_overlay (indicator_revealer); headerbar = new Layouts.HeaderBar () { title = Objects.Filters.Today.get_default ().name }; headerbar.pack_end (view_setting_overlay); var today_icon = new Gtk.Image.from_icon_name (Objects.Filters.Today.get_default ().icon_name) { pixel_size = 16, valign = CENTER, halign = CENTER, css_classes = { "view-icon" } }; Util.get_default ().set_widget_color (Objects.Filters.Today.get_default ().theme_color (), today_icon); title_label = new Gtk.Label (Objects.Filters.Today.get_default ().name) { css_classes = { "font-bold", "title-2" }, ellipsize = END, halign = START, }; date_label = new Gtk.Label (null) { css_classes = { "caption" }, ellipsize = END, margin_top = 3 }; var title_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_start = 30, }; title_box.append (today_icon); title_box.append (title_label); title_box.append (date_label); #if WITH_EVOLUTION event_list = new Widgets.EventsList.for_day (date) { margin_top = 12, margin_start = 30, margin_end = 24 }; event_list_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, reveal_child = event_list.has_items, child = event_list }; #endif var filters = new Widgets.FilterFlowBox () { valign = Gtk.Align.START, vexpand = false, vexpand_set = true, base_object = Objects.Filters.Today.get_default () }; filters.flowbox.margin_start = 30; filters.flowbox.margin_top = 12; filters.flowbox.margin_end = 12; filters.flowbox.margin_bottom = 3; var overdue_label = new Gtk.Label (_("Overdue")) { halign = Gtk.Align.START, valign = Gtk.Align.CENTER, hexpand = true }; overdue_label.add_css_class ("font-bold"); var reschedule_button = new Widgets.ScheduleButton (_("Reschedule")) { visible_clear_button = false, visible_no_date = true }; var overdue_header_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { margin_start = 30, margin_end = 24 }; overdue_header_box.append (overdue_label); overdue_header_box.append (reschedule_button); overdue_listbox = new Gtk.ListBox () { valign = Gtk.Align.START, activate_on_single_click = true, selection_mode = Gtk.SelectionMode.SINGLE, hexpand = true, css_classes = { "listbox-background" }, margin_end = 24 }; overdue_listbox.set_sort_func (set_sort_func); var overdue_listbox_grid = new Gtk.Grid () { margin_top = 6 }; overdue_listbox_grid.attach (overdue_listbox, 0, 0); var overdue_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { margin_top = 12 }; overdue_box.append (overdue_header_box); overdue_box.append (overdue_listbox_grid); overdue_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = overdue_box }; var today_label = new Gtk.Label (_("Today")) { halign = Gtk.Align.START, valign = Gtk.Align.CENTER, hexpand = true }; today_label.add_css_class ("font-bold"); var today_header_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { margin_start = 30, margin_end = 24, margin_top = 12 }; today_header_box.append (today_label); today_revealer = new Gtk.Revealer () { transition_type = SLIDE_DOWN, child = today_header_box }; listbox = new Gtk.ListBox () { valign = Gtk.Align.START, activate_on_single_click = true, selection_mode = Gtk.SelectionMode.SINGLE, hexpand = true, css_classes = { "listbox-background" } }; listbox.set_sort_func (set_sort_func); listbox_grid = new Gtk.Grid () { margin_top = 6, margin_start = 3, margin_end = 24 }; listbox_grid.attach (listbox, 0, 0); var content = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { hexpand = true, vexpand = true }; content.append (overdue_revealer); content.append (today_revealer); content.append (listbox_grid); var listbox_placeholder = new Adw.StatusPage (); listbox_placeholder.icon_name = "check-round-outline-symbolic"; listbox_placeholder.title = _("Add Some Tasks"); listbox_placeholder.description = _("Press 'a' to create a new task"); listbox_placeholder_stack = new Gtk.Stack () { vexpand = true, hexpand = true, transition_type = CROSSFADE, vhomogeneous = false, hhomogeneous = false }; listbox_placeholder_stack.add_named (content, "listbox"); listbox_placeholder_stack.add_named (listbox_placeholder, "placeholder"); var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { hexpand = true, vexpand = true }; content_box.append (title_box); #if WITH_EVOLUTION content_box.append (event_list_revealer); #endif content_box.append (filters); content_box.append (listbox_placeholder_stack); var content_clamp = new Adw.Clamp () { maximum_size = 864, tightening_threshold = 600, margin_bottom = 64, child = content_box }; scrolled_window = new Gtk.ScrolledWindow () { hscrollbar_policy = Gtk.PolicyType.NEVER, hexpand = true, vexpand = true, child = content_clamp }; var magic_button = new Widgets.MagicButton (); var content_overlay = new Gtk.Overlay () { hexpand = true, vexpand = true, child = scrolled_window }; content_overlay.add_overlay (magic_button); var toolbar_view = new Adw.ToolbarView () { content = content_overlay }; toolbar_view.add_top_bar (headerbar); child = toolbar_view; update_today_label (); add_today_items (); Timeout.add (listbox_placeholder_stack.transition_duration, () => { check_placeholder (); return GLib.Source.REMOVE; }); signal_map[Services.EventBus.get_default ().day_changed.connect (() => { date = new GLib.DateTime.now_local (); update_today_label (); add_today_items (); })] = Services.EventBus.get_default (); signal_map[Services.Store.instance ().item_added.connect (valid_add_item)] = Services.Store.instance (); signal_map[Services.Store.instance ().item_deleted.connect (valid_delete_item)] = Services.Store.instance (); signal_map[Services.Store.instance ().item_updated.connect (valid_update_item)] = Services.Store.instance (); signal_map[Services.Store.instance ().item_archived.connect (valid_delete_item)] = Services.Store.instance (); signal_map[Services.Store.instance ().item_unarchived.connect (valid_add_item)] = Services.Store.instance (); signal_map[Services.EventBus.get_default ().item_moved.connect ((item, old_project_id, old_section_id, old_parent_id) => { if (items.has_key (item.id)) { if (!Services.Store.instance ().valid_item_by_date (item, date, false)) { items[item.id].hide_destroy (); items.unset (item.id); } } if (overdue_items.has_key (item.id)) { if (!Services.Store.instance ().valid_item_by_overdue (item, date, false)) { overdue_items[item.id].hide_destroy (); overdue_items.unset (item.id); } } if (!items.has_key (item.id) && Services.Store.instance ().valid_item_by_date (item, date, false)) { add_item (item); } if (!overdue_items.has_key (item.id) && Services.Store.instance ().valid_item_by_overdue (item, date, false)) { add_overdue_item (item); } update_headers (); check_placeholder (); listbox.invalidate_filter (); overdue_listbox.invalidate_filter (); })] = Services.EventBus.get_default (); signal_map[magic_button.clicked.connect (() => { prepare_new_item (); })] = magic_button; #if WITH_EVOLUTION signal_map[event_list.change.connect (() => { event_list_revealer.reveal_child = event_list.has_items; })] = event_list; #endif signal_map[Services.Settings.get_default ().settings.changed["today-sort-order"].connect (() => { listbox.invalidate_sort (); overdue_listbox.invalidate_sort (); })] = Services.Settings.get_default ().settings; listbox.set_filter_func ((row) => { var item = ((Layouts.ItemRow) row).item; if (Objects.Filters.Today.get_default ().filters.size <= 0) { return true; } // Check assignment filters (AND logic - must pass if any are enabled) bool has_assignment_filter = false; bool passes_assignment_filter = false; foreach (Objects.Filters.FilterItem filter in Objects.Filters.Today.get_default ().filters.values) { if (filter.filter_type == FilterItemType.ASSIGNMENT) { has_assignment_filter = true; if (filter.value == "me") { passes_assignment_filter = passes_assignment_filter || is_item_assigned_to_me (item); } else if (filter.value == "none") { passes_assignment_filter = passes_assignment_filter || is_item_not_assigned (item); } } } if (has_assignment_filter && !passes_assignment_filter) { return false; } // Check priority and label filters (OR logic among themselves) bool has_other_filters = false; bool passes_other_filters = false; foreach (Objects.Filters.FilterItem filter in Objects.Filters.Today.get_default ().filters.values) { if (filter.filter_type == FilterItemType.PRIORITY) { has_other_filters = true; passes_other_filters = passes_other_filters || item.priority == int.parse (filter.value); } else if (filter.filter_type == FilterItemType.LABEL) { has_other_filters = true; passes_other_filters = passes_other_filters || item.has_label (filter.value); } } if (has_other_filters) { return passes_other_filters; } return true; }); overdue_listbox.set_filter_func ((row) => { var item = ((Layouts.ItemRow) row).item; if (Objects.Filters.Today.get_default ().filters.size <= 0) { return true; } // Check assignment filters (AND logic - must pass if any are enabled) bool has_assignment_filter = false; bool passes_assignment_filter = false; foreach (Objects.Filters.FilterItem filter in Objects.Filters.Today.get_default ().filters.values) { if (filter.filter_type == FilterItemType.ASSIGNMENT) { has_assignment_filter = true; if (filter.value == "me") { passes_assignment_filter = passes_assignment_filter || is_item_assigned_to_me (item); } else if (filter.value == "none") { passes_assignment_filter = passes_assignment_filter || is_item_not_assigned (item); } } } if (has_assignment_filter && !passes_assignment_filter) { return false; } // Check priority and label filters (OR logic among themselves) bool has_other_filters = false; bool passes_other_filters = false; foreach (Objects.Filters.FilterItem filter in Objects.Filters.Today.get_default ().filters.values) { if (filter.filter_type == FilterItemType.PRIORITY) { has_other_filters = true; passes_other_filters = passes_other_filters || item.priority == int.parse (filter.value); } else if (filter.filter_type == FilterItemType.LABEL) { has_other_filters = true; passes_other_filters = passes_other_filters || item.has_label (filter.value); } } if (has_other_filters) { return passes_other_filters; } return true; }); signal_map[Objects.Filters.Today.get_default ().filter_added.connect (() => { listbox.invalidate_filter (); overdue_listbox.invalidate_filter (); })] = Objects.Filters.Today.get_default (); signal_map[Objects.Filters.Today.get_default ().filter_removed.connect ((filter) => { if (filter.filter_type == FilterItemType.ASSIGNMENT) { assignment_filter.unchecked (filter); } listbox.invalidate_filter (); overdue_listbox.invalidate_filter (); })] = Objects.Filters.Today.get_default (); signal_map[Objects.Filters.Today.get_default ().filter_updated.connect (() => { listbox.invalidate_filter (); overdue_listbox.invalidate_filter (); })] = Objects.Filters.Today.get_default (); signal_map[reschedule_button.duedate_changed.connect (() => { foreach (unowned Gtk.Widget child in Util.get_default ().get_children (overdue_listbox)) { ((Layouts.ItemRow) child).update_due (reschedule_button.duedate); } })] = reschedule_button; signal_map[scrolled_window.vadjustment.value_changed.connect (() => { headerbar.revealer_title_box (scrolled_window.vadjustment.value >= Constants.HEADERBAR_TITLE_SCROLL_THRESHOLD); })] = scrolled_window.vadjustment; signal_map[Services.EventBus.get_default ().dim_content.connect ((active) => { title_box.sensitive = !active; today_header_box.sensitive = !active; overdue_header_box.sensitive = !active; #if WITH_EVOLUTION event_list.sensitive = !active; #endif })] = Services.EventBus.get_default (); } private void check_placeholder () { if (overdue_has_children || today_has_children) { listbox_placeholder_stack.visible_child_name = "listbox"; } else { listbox_placeholder_stack.visible_child_name = "placeholder"; } listbox.invalidate_sort (); overdue_listbox.invalidate_sort (); } private void add_today_items () { overdue_items.clear (); foreach (unowned Gtk.Widget child in Util.get_default ().get_children (overdue_listbox)) { overdue_listbox.remove (child); } foreach (Objects.Item item in Services.Store.instance ().get_items_by_overdue_view (false)) { add_overdue_item (item); } items.clear (); foreach (unowned Gtk.Widget child in Util.get_default ().get_children (listbox)) { listbox.remove (child); } foreach (Objects.Item item in Services.Store.instance ().get_items_by_date (date, false)) { add_item (item); } foreach (Objects.Item item in Services.Store.instance ().items) { if (!item.checked && !item.was_archived () && item.has_deadline) { var deadline_date = Utils.Datetime.get_date_only (item.deadline_datetime); if (Utils.Datetime.is_today (deadline_date) && !items.has_key (item.id)) { add_item (item); } else if (Utils.Datetime.is_overdue (deadline_date) && !overdue_items.has_key (item.id)) { add_overdue_item (item); } } } update_headers (); } private void add_item (Objects.Item item) { items[item.id] = new Layouts.ItemRow (item); items[item.id].disable_drag_and_drop (); listbox.append (items[item.id]); update_headers (); check_placeholder (); listbox.invalidate_filter (); overdue_listbox.invalidate_filter (); } private void add_overdue_item (Objects.Item item) { overdue_items[item.id] = new Layouts.ItemRow (item); overdue_items[item.id].disable_drag_and_drop (); overdue_listbox.append (overdue_items[item.id]); update_headers (); check_placeholder (); listbox.invalidate_filter (); overdue_listbox.invalidate_filter (); } private void valid_add_item (Objects.Item item) { bool valid_due_today = item.has_due && Services.Store.instance ().valid_item_by_date (item, date, false); bool valid_deadline_today = item.has_deadline && Utils.Datetime.is_today (Utils.Datetime.get_date_only (item.deadline_datetime)); if (!items.has_key (item.id) && (valid_due_today || valid_deadline_today)) { add_item (item); } bool valid_due_overdue = item.has_due && Services.Store.instance ().valid_item_by_overdue (item, date, false); bool valid_deadline_overdue = item.has_deadline && Utils.Datetime.is_overdue (Utils.Datetime.get_date_only (item.deadline_datetime)); if (!overdue_items.has_key (item.id) && (valid_due_overdue || valid_deadline_overdue)) { add_overdue_item (item); } update_headers (); check_placeholder (); listbox.invalidate_filter (); overdue_listbox.invalidate_filter (); } private void valid_delete_item (Objects.Item item) { if (items.has_key (item.id)) { items[item.id].hide_destroy (); items.unset (item.id); } if (overdue_items.has_key (item.id)) { overdue_items[item.id].hide_destroy (); overdue_items.unset (item.id); } update_headers (); check_placeholder (); listbox.invalidate_filter (); overdue_listbox.invalidate_filter (); } private void valid_update_item (Objects.Item item, string update_id) { if (items.has_key (item.id)) { items[item.id].update_request (); } if (overdue_items.has_key (item.id)) { overdue_items[item.id].update_request (); } if (items.has_key (item.id) && !item.has_due && !item.has_deadline) { items[item.id].hide_destroy (); items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } if (overdue_items.has_key (item.id) && !item.has_due && !item.has_deadline) { overdue_items[item.id].hide_destroy (); overdue_items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } if (items.has_key (item.id) && (item.has_due || item.has_deadline)) { bool valid_due = item.has_due && Services.Store.instance ().valid_item_by_date (item, date, false); bool valid_deadline = item.has_deadline && Utils.Datetime.is_today (Utils.Datetime.get_date_only (item.deadline_datetime)); if (!valid_due && !valid_deadline) { items[item.id].hide_destroy (); items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } } if (overdue_items.has_key (item.id) && (item.has_due || item.has_deadline)) { bool valid_due = item.has_due && Services.Store.instance ().valid_item_by_overdue (item, date, false); bool valid_deadline = item.has_deadline && Utils.Datetime.is_overdue (Utils.Datetime.get_date_only (item.deadline_datetime)); if (!valid_due && !valid_deadline) { overdue_items[item.id].hide_destroy (); overdue_items.unset (item.id); Services.EventBus.get_default ().unfocus_item (); } } if (item.has_due || item.has_deadline) { valid_add_item (item); } update_headers (); check_placeholder (); listbox.invalidate_filter (); overdue_listbox.invalidate_filter (); } public void prepare_new_item (string content = "") { var dialog = new Dialogs.QuickAdd (); dialog.update_content (content); dialog.set_due (Utils.Datetime.get_date_only (date)); dialog.present (Planify._instance.main_window); } private void update_headers () { if (overdue_has_children) { overdue_revealer.reveal_child = true; today_revealer.reveal_child = today_has_children; listbox_grid.margin_top = 6; } else { overdue_revealer.reveal_child = false; today_revealer.reveal_child = false; listbox_grid.margin_top = 12; } } public void update_today_label () { var date_format = "%s %s".printf ( new GLib.DateTime.now_local ().format ("%a"), date.format (Utils.Datetime.get_default_date_format (false, true, false)) ); date_label.label = date_format; headerbar.subtitle = date_format; } private bool is_item_assigned_to_me (Objects.Item item) { if (item.responsible_uid == "") { return false; } Objects.Project? project = Services.Store.instance ().get_project (item.project_id); if (project == null) { return false; } Objects.Source? source = Services.Store.instance ().get_source (project.source_id); if (source == null || source.source_type != SourceType.TODOIST) { return false; } return item.responsible_uid == source.todoist_data.user_id; } private bool is_item_not_assigned (Objects.Item item) { return item.responsible_uid == ""; } private Gtk.Popover build_view_setting_popover () { var sorted_by_item = new Widgets.ContextMenu.MenuPicker (_ ("Sorting"), "vertical-arrows-long-symbolic") { selected = Services.Settings.get_default ().settings.get_string ("today-sort-order") }; sorted_by_item.add_item (_("Alphabetically"), SortedByType.NAME.to_string ()); sorted_by_item.add_item (_("Due Date"), SortedByType.DUE_DATE.to_string ()); sorted_by_item.add_item (_("Date Added"), SortedByType.ADDED_DATE.to_string ()); sorted_by_item.add_item (_("Priority"), SortedByType.PRIORITY.to_string ()); // Filters var priority_items = new Gee.ArrayList (); priority_items.add (new Objects.Filters.FilterItem () { filter_type = FilterItemType.PRIORITY, name = _("P1"), value = Constants.PRIORITY_1.to_string () }); priority_items.add (new Objects.Filters.FilterItem () { filter_type = FilterItemType.PRIORITY, name = _("P2"), value = Constants.PRIORITY_2.to_string () }); priority_items.add (new Objects.Filters.FilterItem () { filter_type = FilterItemType.PRIORITY, name = _("P3"), value = Constants.PRIORITY_3.to_string () }); priority_items.add (new Objects.Filters.FilterItem () { filter_type = FilterItemType.PRIORITY, name = _("P4"), value = Constants.PRIORITY_4.to_string () }); priority_filter = new Widgets.ContextMenu.MenuCheckPicker (_("Priority"), "flag-outline-thick-symbolic"); priority_filter.set_items (priority_items); var labels_filter = new Widgets.ContextMenu.MenuItem (_("Filter by Labels"), "tag-outline-symbolic") { arrow = true }; // Assignment filter var assignment_items = new Gee.ArrayList (); var assigned_to_me_item = new Objects.Filters.FilterItem () { filter_type = FilterItemType.ASSIGNMENT, name = _("Me"), value = "me" }; assignment_items.add (assigned_to_me_item); var not_assigned_item = new Objects.Filters.FilterItem () { filter_type = FilterItemType.ASSIGNMENT, name = _("None"), value = "none" }; assignment_items.add (not_assigned_item); assignment_filter = new Widgets.ContextMenu.MenuCheckPicker (_("Assignment"), "avatar-default-symbolic"); assignment_filter.set_items (assignment_items); var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; menu_box.append (sorted_by_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (new Gtk.Label (_("Filter By")) { css_classes = { "heading", "h4" }, margin_start = 6, margin_top = 6, margin_bottom = 6, halign = Gtk.Align.START }); menu_box.append (priority_filter); menu_box.append (labels_filter); menu_box.append (assignment_filter); var popover = new Gtk.Popover () { has_arrow = false, position = Gtk.PositionType.BOTTOM, child = menu_box, width_request = 250 }; signal_map[sorted_by_item.notify["selected"].connect (() => { Services.Settings.get_default ().settings.set_string ("today-sort-order", sorted_by_item.selected); })] = sorted_by_item; signal_map[priority_filter.filter_change.connect ((filter, active) => { if (active) { Objects.Filters.Today.get_default ().add_filter (filter); } else { Objects.Filters.Today.get_default ().remove_filter (filter); } })] = priority_filter; signal_map[labels_filter.activate_item.connect (() => { Gee.ArrayList _labels = new Gee.ArrayList (); foreach (Objects.Filters.FilterItem filter in Objects.Filters.Today.get_default ().filters.values) { if (filter.filter_type == FilterItemType.LABEL) { _labels.add (Services.Store.instance ().get_label (filter.value)); } } var dialog = new Dialogs.LabelPicker (); dialog.add_labels_list (Services.Store.instance ().labels); dialog.labels = _labels; signal_map[dialog.labels_changed.connect ((labels) => { foreach (Objects.Label label in labels.values) { var filter = new Objects.Filters.FilterItem (); filter.filter_type = FilterItemType.LABEL; filter.name = label.name; filter.value = label.id; Objects.Filters.Today.get_default ().add_filter (filter); } Gee.ArrayList to_remove = new Gee.ArrayList (); foreach (Objects.Filters.FilterItem filter in Objects.Filters.Today.get_default ().filters.values) { if (filter.filter_type == FilterItemType.LABEL) { if (!labels.has_key (filter.value)) { to_remove.add (filter); } } } foreach (Objects.Filters.FilterItem filter in to_remove) { Objects.Filters.Today.get_default ().remove_filter (filter); } })] = dialog; dialog.present (Planify._instance.main_window); })] = labels_filter; signal_map[assignment_filter.filter_change.connect ((filter, active) => { if (active) { Objects.Filters.Today.get_default ().add_filter (filter); } else { Objects.Filters.Today.get_default ().remove_filter (filter); } })] = assignment_filter; return popover; } private int set_sort_func (Gtk.ListBoxRow lbrow, Gtk.ListBoxRow lbbefore) { Objects.Item item1 = ((Layouts.ItemRow) lbrow).item; Objects.Item item2 = ((Layouts.ItemRow) lbbefore).item; SortedByType sorted_by = SortedByType.parse (Services.Settings.get_default ().settings.get_string ("today-sort-order")); return Util.get_default ().set_item_sort_func ( item1, item2, sorted_by, SortOrderType.ASC ); } public void clean_up () { listbox.set_filter_func (null); listbox.set_sort_func (null); foreach (var row in Util.get_default ().get_children (listbox)) { ((Layouts.ItemRow) row).clean_up (); } overdue_listbox.set_filter_func (null); overdue_listbox.set_sort_func (null); foreach (var row in Util.get_default ().get_children (overdue_listbox)) { ((Layouts.ItemRow) row).clean_up (); } foreach (var entry in signal_map.entries) { if (entry.value != null && GLib.SignalHandler.is_connected (entry.value, entry.key)) { entry.value.disconnect (entry.key); } } signal_map.clear (); #if WITH_EVOLUTION event_list.clean_up (); #endif } } alainm23-planify-69962f8/src/Widgets/000077500000000000000000000000001517337276100172705ustar00rootroot00000000000000alainm23-planify-69962f8/src/Widgets/AttachmentRow.vala000066400000000000000000000113401517337276100227140ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.AttachmentRow : Gtk.ListBoxRow { public Objects.Attachment attachment { get; construct; } private Gtk.Revealer main_revealer; private Widgets.LoadingButton close_button; public AttachmentRow (Objects.Attachment attachment) { Object ( attachment: attachment ); } ~AttachmentRow () { debug ("Destroying - Widgets.AttachmentRow\n"); } construct { add_css_class ("row"); add_css_class ("transition"); add_css_class ("no-padding"); var name_label = new Gtk.Label (attachment.file_name); name_label.valign = Gtk.Align.CENTER; name_label.ellipsize = Pango.EllipsizeMode.END; close_button = new Widgets.LoadingButton.with_icon ("cross-large-circle-filled-symbolic") { valign = CENTER, halign = END, hexpand = true, css_classes = { "flat" }, tooltip_text = _("Delete") }; var content_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_top = 3, margin_start = 6, margin_bottom = 3, margin_end = 6 }; content_box.append (new Gtk.Image.from_icon_name ("paper-symbolic")); content_box.append (name_label); content_box.append (close_button); main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = content_box }; child = main_revealer; Timeout.add (main_revealer.transition_duration, () => { main_revealer.reveal_child = true; return GLib.Source.REMOVE; }); var gesture = new Gtk.GestureClick (); add_controller (gesture); gesture.pressed.connect (() => { open_file (); }); activate.connect (() => { open_file (); }); var remove_gesture = new Gtk.GestureClick (); close_button.add_controller (remove_gesture); remove_gesture.pressed.connect (() => { remove_gesture.set_state (Gtk.EventSequenceState.CLAIMED); attachment.delete (); }); } private void open_file () { close_button.is_loading = true; try { if (attachment.file_path == null || attachment.file_path.strip () == "") { throw new GLib.IOError.INVALID_ARGUMENT ("File path is empty"); } var file = GLib.File.new_for_uri (attachment.file_path); if (!file.query_exists ()) { throw new GLib.IOError.NOT_FOUND ("File no longer exists"); } var app_info = GLib.AppInfo.get_default_for_uri_scheme ("file"); if (app_info == null) { var file_info = file.query_info (GLib.FileAttribute.STANDARD_CONTENT_TYPE, GLib.FileQueryInfoFlags.NONE); var content_type = file_info.get_content_type (); app_info = GLib.AppInfo.get_default_for_type (content_type, false); } if (app_info != null) { var file_list = new GLib.List (); file_list.append (file); app_info.launch (file_list, null); } else { GLib.AppInfo.launch_default_for_uri (attachment.file_path, null); } close_button.is_loading = false; } catch (Error e) { close_button.is_loading = false; Services.EventBus.get_default ().send_toast ( Util.get_default ().create_toast ("Error opening file: " + e.message) ); } } public void hide_destroy () { main_revealer.reveal_child = false; Timeout.add (main_revealer.transition_duration, () => { ((Gtk.ListBox) parent).remove (this); return GLib.Source.REMOVE; }); } }alainm23-planify-69962f8/src/Widgets/Attachments.vala000066400000000000000000000220761517337276100224170ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.Attachments : Adw.Bin { public bool is_board { get; construct; } public Objects.Item item { get; set; } public Widgets.LoadingButton add_button; private Gtk.ListBox listbox; private Gtk.Label count_label; public bool card { set { if (value) { listbox.add_css_class ("boxed-list"); listbox.remove_css_class ("listbox-background"); } else { listbox.remove_css_class ("boxed-list"); listbox.add_css_class ("listbox-background"); } } } public Gee.HashMap attachments_map = new Gee.HashMap (); private Gee.HashMap signals_map = new Gee.HashMap (); public signal void update_count (int count); public signal void file_selector_opened (bool active); public Attachments (bool is_board = false) { Object ( is_board: is_board ); } ~Attachments () { debug ("Destroying - Widgets.Attachments - %s\n".printf (item.content)); } construct { var title = new Gtk.Label (_("Attachments")) { css_classes = { "heading", "h4" } }; count_label = new Gtk.Label (null) { margin_start = 9, halign = Gtk.Align.CENTER, css_classes = { "dimmed", "caption" } }; add_button = new Widgets.LoadingButton.with_icon ("plus-large-symbolic", 16) { css_classes = { "flat" }, hexpand = true, halign = END }; var headerbox = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { margin_start = is_board ? 9 : 6, margin_end = is_board ? 9 : 6 }; headerbox.append (title); headerbox.append (count_label); headerbox.append (add_button); listbox = new Gtk.ListBox () { valign = Gtk.Align.START, activate_on_single_click = true, selection_mode = Gtk.SelectionMode.SINGLE, hexpand = true, css_classes = { "listbox-background" } }; listbox.set_placeholder (get_placeholder ()); var listbox_card = new Adw.Bin () { child = listbox, margin_start = is_board ? 9 : 0, margin_end = is_board ? 12 : 0, margin_top = is_board ? 6 : 0, css_classes = { "transition", "drop-target" } }; var content = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { hexpand = true, margin_start = is_board ? 3 : 0 }; content.append (headerbox); content.append (listbox_card); child = content; add_button.clicked.connect (() => { file_selector_opened (true); show_file_selector (); }); var dnd_controller = new Gtk.DropTarget (typeof (Gdk.FileList), Gdk.DragAction.COPY); listbox_card.add_controller (dnd_controller); dnd_controller.drop.connect (on_drag_drop); } private bool on_drag_drop (Value val, double x, double y) { var file_list = val as Gdk.FileList; if (file_list == null)return false; var files = file_list.get_files (); if (files.length () == 0)return false; File[] files_to_upload = {}; foreach (var file in files) { files_to_upload += file; } upload_files.begin (files_to_upload, (obj, res) => { upload_files.end (res); }); return true; } void show_file_selector () { var chooser = new Gtk.FileDialog () { // translators: Open file title = _("Open"), modal = true }; chooser.open_multiple.begin (Planify._instance.main_window, null, (obj, res) => { try { var files = chooser.open_multiple.end (res); File[] files_to_upload = {}; var amount_of_files = files.get_n_items (); for (var i = 0; i < amount_of_files; i++) { var file = files.get_item (i) as File; if (file != null) files_to_upload += file; } upload_files.begin (files_to_upload, (obj, res) => { upload_files.end (res); }); file_selector_opened (false); } catch (Error e) { // User dismissing the dialog also ends here so don't make it sound like // it's an error warning (@"Couldn't get the result of FileDialog for AttachmentsPage: $(e.message)"); } }); } private async void upload_files (File[] files) { var selected_files_amount = files.length; if (selected_files_amount == 0)return; Objects.Attachment[] attachments_for_upload = {}; for (var i = 0; i < selected_files_amount; i++) { var file = files[i]; var attachment = new Objects.Attachment (); try { var file_info = file.query_info ("standard::size,standard::content-type", 0); var file_content_type = file_info.get_content_type (); if (file_content_type != null) { file_content_type = file_content_type.down (); attachment.file_size = file_info.get_size (); attachment.file_type = file_content_type; attachment.file_name = file.get_basename (); attachment.file_path = file.get_uri (); attachments_for_upload += attachment; } } catch (Error e) { warning (e.message); } } foreach (Objects.Attachment attachment in attachments_for_upload) { attachment.id = Util.get_default ().generate_id (); attachment.item_id = item.id; item.add_attachment_if_not_exists (attachment); } } public void present_item (Objects.Item _item) { item = _item; add_attachments (); signals_map[item.attachment_added.connect ((attachment) => { add_attachment (attachment); })] = item; signals_map[item.attachment_deleted.connect ((attachment) => { if (attachments_map.has_key (attachment.id)) { attachments_map[attachment.id].hide_destroy (); attachments_map.unset (attachment.id); } update_count_label (attachments_map.size); })] = item; } public void add_attachments () { attachments_map.clear (); foreach (unowned Gtk.Widget child in Util.get_default ().get_children (listbox)) { listbox.remove (child); } foreach (Objects.Attachment attachment in item.attachments) { add_attachment (attachment); } } public void add_attachment (Objects.Attachment attachment) { if (!attachments_map.has_key (item.id)) { attachments_map[attachment.id] = new Widgets.AttachmentRow (attachment); listbox.append (attachments_map[attachment.id]); } update_count_label (attachments_map.size); } private Gtk.Widget get_placeholder () { var message_label = new Gtk.Label (_("No attachments found. Add files here.")) { wrap = true, justify = Gtk.Justification.CENTER, hexpand = true, vexpand = true, margin_top = 6, margin_start = 6, margin_end = 6, margin_bottom = 6 }; var placeholder_grid = new Gtk.Grid () { hexpand = true, vexpand = true, margin_top = 24, margin_start = 24, margin_end = 24, margin_bottom = 24 }; placeholder_grid.attach (message_label, 0, 0); return placeholder_grid; } public void clean_up () { foreach (var entry in signals_map.entries) { entry.value.disconnect (entry.key); } signals_map.clear (); } private void update_count_label (int count) { count_label.label = count <= 0 ? "" : count.to_string (); update_count (count); } } alainm23-planify-69962f8/src/Widgets/BypassResolveSwitchRow.vala000066400000000000000000000047221517337276100246150ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: nijakow (https://github.com/nijakow) */ public class Widgets.BypassResolveSwitchRow : Adw.ActionRow { private Gtk.Switch toggle; public bool active { get { return toggle.active; } set { toggle.active = value; } } public BypassResolveSwitchRow () { title = _("Bypass Location Resolve"); subtitle = _("Workaround for CalDAV connection issues with connections using non-default ports"); toggle = new Gtk.Switch () { valign = Gtk.Align.CENTER, halign = Gtk.Align.END }; add_suffix (toggle); activatable_widget = toggle; toggle.state_set.connect ((state) => { if (state) { var dialog = new Adw.AlertDialog ( _("Warning"), _("This will disable the CalDAV resolve process.\nProceed at your own risk") ); dialog.add_response ("cancel", _("Cancel")); dialog.add_response ("accept", _("Continue Anyway")); dialog.set_response_appearance ("accept", Adw.ResponseAppearance.DESTRUCTIVE); dialog.response.connect ((response) => { if (response == "accept") { toggle.state = true; toggle.active = true; } else { toggle.state = false; toggle.active = false; } }); dialog.present (Planify._instance.main_window); return true; // prevent immediate state change } return false; }); } } alainm23-planify-69962f8/src/Widgets/ColorPickerRow.vala000066400000000000000000000070021517337276100230400ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ColorPickerRow : Adw.Bin { public string color { get; set; } public signal void color_changed (); private Gee.HashMap colors_hashmap; private Gee.HashMap signal_map = new Gee.HashMap (); public ColorPickerRow () { Object ( ); } ~ColorPickerRow () { debug ("Destroying - Widgets.ColorPickerRow\n"); } construct { colors_hashmap = new Gee.HashMap (); var colors_flowbox = new Gtk.FlowBox () { column_spacing = 6, row_spacing = 6, max_children_per_line = 10, homogeneous = true, margin_top = 9, margin_bottom = 9, margin_start = 9, margin_end = 9, vexpand = true, hexpand = true, selection_mode = Gtk.SelectionMode.NONE }; var colors_list = new Gee.ArrayList (); foreach (var entry in Util.get_default ().get_colors ().entries) { if (!entry.key.has_prefix ("#")) { colors_list.add (entry.value); } } colors_list.sort ((a, b) => { return a.id - b.id; }); var radio = new Gtk.CheckButton (); foreach (Objects.Color color_obj in colors_list) { Gtk.CheckButton color_radio = new Gtk.CheckButton () { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, tooltip_text = color_obj.name, name = color_obj.name_code, css_classes = { "color-radio" }, group = radio }; Util.get_default ().set_widget_color (color_obj.hexadecimal, color_radio); colors_hashmap[color_obj.name_code] = color_radio; colors_flowbox.append (colors_hashmap[color_obj.name_code]); signal_map[color_radio.toggled.connect (() => { color = color_obj.name_code; color_changed (); })] = color_radio; } child = colors_flowbox; signal_map[notify["color"].connect (() => { if (colors_hashmap.has_key (color)) { colors_hashmap[color].active = true; } })] = this; signal_map[colors_flowbox.child_activated.connect ((child) => { color = child.child.name; color_changed (); })] = colors_flowbox; } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } } alainm23-planify-69962f8/src/Widgets/ComboWrapRow.vala000066400000000000000000000075251517337276100225270ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ComboWrapRow : Adw.PreferencesRow { private Gtk.Label _title_label; private Gtk.Label _subtitle_label; private Adw.WrapBox _wrap_box; public string title { owned get { return _title_label.label; } set { _title_label.label = value; } } public string subtitle { owned get { return _subtitle_label.label; } set { _subtitle_label.label = value; } } public Gtk.StringList model { set { for (uint i = 0; i < value.get_n_items (); i++) { var button = new Gtk.Button.with_label (value.get_string (i)); button.add_css_class ("tiny-button"); button.add_css_class ("caption"); int index = (int) i; button.clicked.connect (() => { selected = index; }); _wrap_box.append (button); } } } public int selected { set { var child = _wrap_box.get_first_child (); int index = 0; while (child != null) { if (child is Gtk.Button) { var button = (Gtk.Button) child; if (index == value) { button.add_css_class ("color-primary"); } else { button.remove_css_class ("color-primary"); } } child = child.get_next_sibling (); index++; } } get { var child = _wrap_box.get_first_child (); int index = 0; while (child != null) { if (child is Gtk.Button && ((Gtk.Button) child).has_css_class ("color-primary")) { return index; } child = child.get_next_sibling (); index++; } return -1; } } construct { _title_label = new Gtk.Label (null) { hexpand = true, xalign = 0, wrap = true }; _subtitle_label = new Gtk.Label (null) { xalign = 0, hexpand = true, use_markup = true, wrap = true }; _subtitle_label.add_css_class ("dimmed"); _subtitle_label.add_css_class ("caption"); var _text_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 3) { hexpand = true, valign = Gtk.Align.CENTER }; _text_box.append (_title_label); _text_box.append (_subtitle_label); _wrap_box = new Adw.WrapBox () { line_spacing = 6, child_spacing = 6 }; var main_box = new Gtk.Box (VERTICAL, 12) { margin_start = 12, margin_end = 12, margin_top = 8, margin_bottom = 8 }; main_box.append (_text_box); main_box.append (_wrap_box); child = main_box; } }alainm23-planify-69962f8/src/Widgets/CompletedTaskRow.vala000066400000000000000000000141301517337276100233630ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.CompletedTaskRow : Gtk.ListBoxRow { public Objects.Item item { get; construct; } private Gtk.CheckButton checked_button; private Widgets.LoadingButton loading_button; private Gtk.Revealer main_revealer; private Gee.HashMap signals_map = new Gee.HashMap (); public CompletedTaskRow (Objects.Item item) { Object ( item: item ); } ~CompletedTaskRow () { debug ("Destroying - Widgets.CompletedTaskRow\n"); } construct { add_css_class ("row"); add_css_class ("no-padding"); checked_button = new Gtk.CheckButton () { valign = Gtk.Align.START, css_classes = { "priority-color" }, active = item.checked }; var content_label = new Gtk.Label (item.content) { wrap = true, hexpand = true, wrap_mode = Pango.WrapMode.WORD_CHAR, xalign = 0, yalign = 0 }; var content_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_top = 3, margin_start = 3, margin_end = 3 }; content_box.append (checked_button); content_box.append (content_label); var description_label = new Gtk.Label (null) { xalign = 0, lines = 1, ellipsize = Pango.EllipsizeMode.END, margin_start = 30, margin_end = 6, css_classes = { "dimmed", "caption" } }; var section_label = new Gtk.Label (item.has_section ? "� " + item.section.name : "� " + _("No Section")) { css_classes = { "dimmed", "caption" } }; var subitems_label = new Gtk.Label (null) { css_classes = { "dimmed", "caption" } }; var bottom_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_start = 24 }; bottom_box.append (section_label); if (item.items.size > 0) { bottom_box.append (new Gtk.Label ("|") { css_classes = { "dimmed", "caption" } }); subitems_label.label = "%s %s".printf (item.items.size < 10 ? "0" + item.items.size.to_string () : item.items.size.to_string (), _("Sub-tasks")); bottom_box.append (subitems_label); } var v_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { hexpand = true }; v_box.append (content_box); v_box.append (bottom_box); loading_button = new Widgets.LoadingButton.with_icon ("go-next-symbolic", 16) { valign = Gtk.Align.CENTER, css_classes = { "flat", "dimmed", "no-padding" } }; var h_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 12) { margin_top = 6, margin_end = 9, margin_bottom = 6, margin_start = 6 }; h_box.append (v_box); h_box.append (loading_button); var card = new Adw.Bin () { child = h_box, css_classes = { "card", "activatable", "border-radius-9" }, margin_start = 1, margin_end = 1, margin_top = 1, margin_bottom = 1 }; main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = card, reveal_child = true }; child = main_revealer; var checked_button_gesture = new Gtk.GestureClick (); checked_button.add_controller (checked_button_gesture); signals_map[checked_button_gesture.pressed.connect (() => { checked_button_gesture.set_state (Gtk.EventSequenceState.CLAIMED); checked_button.active = !checked_button.active; checked_toggled (checked_button.active); })] = checked_button_gesture; signals_map[item.loading_change.connect (() => { loading_button.is_loading = item.loading; })] = item; destroy.connect (() => { foreach (var entry in signals_map.entries) { entry.value.disconnect (entry.key); } signals_map.clear (); }); } public void hide_destroy () { main_revealer.reveal_child = false; Timeout.add (main_revealer.transition_duration, () => { ((Gtk.ListBox) parent).remove (this); return GLib.Source.REMOVE; }); } public void checked_toggled (bool active, uint ? time = null) { bool old_checked = item.checked; if (!active) { var old_completed_at = item.completed_at; item.checked = false; item.completed_at = ""; _complete_item.begin (old_checked, old_completed_at); } } private async void _complete_item (bool old_checked, string old_completed_at) { checked_button.sensitive = false; HttpResponse response = yield item.complete_item (old_checked); if (!response.status) { // _complete_item_error (response, old_checked, old_completed_at); } } public void clean_up () { foreach (var entry in signals_map.entries) { entry.value.disconnect (entry.key); } signals_map.clear (); } }alainm23-planify-69962f8/src/Widgets/EditableTextView.vala000066400000000000000000000126541517337276100233560ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.EditableTextView : Adw.Bin { public string placeholder_text { get; construct; } public int max_chars { get; construct; default = 150; } private Gtk.Box main_box; private Widgets.TextView textview; private Gtk.Button show_more_button; private bool is_expanded = false; private bool updating = false; private bool _is_editing = false; private uint timeout_id = 0; public signal void focus_changed (bool active); public signal void changed (); public string text { get; set; } public bool is_editing { get { return _is_editing; } } public void editing (bool value) { focus_changed (value); if (value) { textview.grab_focus (); } } public bool editable { set { textview.editable = value; } } private Gee.HashMap signal_map = new Gee.HashMap (); public EditableTextView (string placeholder_text = "", int max_chars = 100) { Object ( placeholder_text: placeholder_text, max_chars: max_chars ); } ~EditableTextView () { debug ("Destroying Widgets.EditableTextView\n"); } construct { textview = new Widgets.TextView () { wrap_mode = Gtk.WrapMode.WORD_CHAR, css_classes = { "flat" }, placeholder_text = placeholder_text }; show_more_button = new Gtk.Button.with_label (_("Show more")) { css_classes = { "flat", "caption" }, halign = Gtk.Align.CENTER, visible = false }; main_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 6); main_box.append (textview); main_box.append (show_more_button); child = main_box; signal_map[notify["text"].connect (() => { if (!is_editing) { update_display (); } })] = this; signal_map[Services.EventBus.get_default ().mobile_mode_change.connect (update_display)] = Services.EventBus.get_default (); signal_map[show_more_button.clicked.connect (() => { is_expanded = !is_expanded; update_display (); })] = show_more_button; var gesture_focus = new Gtk.EventControllerFocus (); textview.add_controller (gesture_focus); signal_map[gesture_focus.enter.connect (() => { _is_editing = true; focus_changed (true); update_display (); Services.EventBus.get_default ().disconnect_typing_accel (); start_timeout (); })] = gesture_focus; signal_map[gesture_focus.leave.connect (() => { _is_editing = false; focus_changed (false); update_display (); Services.EventBus.get_default ().connect_typing_accel (); stop_timeout (); })] = gesture_focus; signal_map[textview.buffer.changed.connect (() => { if (!updating) { text = textview.get_text (); changed (); reset_timeout (); } })] = textview.buffer; destroy.connect (() => { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); }); } private void update_display () { updating = true; if (is_editing || !Services.EventBus.get_default ().mobile_mode || text.length <= max_chars) { textview.set_text (text); show_more_button.visible = false; } else if (!is_expanded) { var truncated = text.substring (0, max_chars).strip () + "…"; textview.set_text (truncated); show_more_button.label = _("Show more"); show_more_button.visible = true; } else { textview.set_text (text); show_more_button.label = _("Show less"); show_more_button.visible = true; } updating = false; } private void start_timeout () { stop_timeout (); timeout_id = GLib.Timeout.add_seconds (6, () => { if (_is_editing) { textview.get_root ().set_focus (null); } timeout_id = 0; return false; }); } private void stop_timeout () { if (timeout_id > 0) { GLib.Source.remove (timeout_id); timeout_id = 0; } } private void reset_timeout () { if (_is_editing) { start_timeout (); } } } alainm23-planify-69962f8/src/Widgets/ErrorView.vala000066400000000000000000000153251517337276100220670ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ErrorView : Adw.Bin { private Gtk.Label error_label; private Gtk.Label error_code_label; private Gtk.TextView error_textview; private Gtk.Button issue_button; private Gtk.Button copy_button; private static Gee.HashMap http_messages; ~ErrorView () { debug ("Destroying Widgets.ErrorView\n"); } public int error_code { set { error_label.label = get_http_error (value); error_code_label.label = "HTTP %d".printf (value); } } public string error_message { set { error_textview.buffer.text = value; } } public bool visible_issue_button { set { issue_button.visible = value; } } construct { var headerbar = new Adw.HeaderBar (); headerbar.add_css_class ("flat"); var error_image = new Gtk.Image.from_icon_name ("cross-large-circle-outline-symbolic") { hexpand = true, halign = Gtk.Align.CENTER, pixel_size = 48, css_classes = { "error" }, margin_top = 12 }; error_label = new Gtk.Label (null) { hexpand = true, halign = Gtk.Align.CENTER, css_classes = { "font-bold", "title-2" }, margin_top = 12, margin_start = 12, margin_end = 12, wrap = true, justify = Gtk.Justification.CENTER, selectable = true }; error_code_label = new Gtk.Label (null) { hexpand = true, halign = Gtk.Align.CENTER, css_classes = { "dimmed", "caption" }, margin_top = 3, selectable = true }; error_textview = new Gtk.TextView () { left_margin = 12, top_margin = 12, bottom_margin = 12, right_margin = 12, wrap_mode = Gtk.WrapMode.WORD, editable = false, cursor_visible = false }; error_textview.add_css_class ("monospace"); error_textview.add_css_class ("error-message"); error_textview.remove_css_class ("view"); var textview_scrolled_window = new Gtk.ScrolledWindow () { hscrollbar_policy = Gtk.PolicyType.NEVER, hexpand = true, vexpand = true, child = error_textview, height_request = 150 }; copy_button = new Gtk.Button.from_icon_name ("edit-copy-symbolic") { valign = Gtk.Align.START, halign = Gtk.Align.END, css_classes = { "flat", "circular" }, tooltip_text = _("Copy error message"), margin_top = 6, margin_end = 6 }; var textview_overlay = new Gtk.Overlay () { child = textview_scrolled_window }; textview_overlay.add_overlay (copy_button); var textview_frame = new Gtk.Frame (null) { child = textview_overlay, margin_top = 18, margin_start = 12, margin_end = 12 }; var log_label = new Gtk.Label ( _("For more details, share your log file: %s").printf ( Services.LogService.get_default ().get_log_path () ) ) { css_classes = { "dimmed", "caption" }, wrap = true, justify = Gtk.Justification.CENTER, margin_top = 12, margin_start = 12, margin_end = 12, selectable = true }; var buttons_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 8) { halign = Gtk.Align.CENTER, margin_top = 16, margin_bottom = 24 }; issue_button = new Gtk.Button.with_label (_("Report Issue")) { css_classes = { "suggested-action", "pill" } }; buttons_box.append (issue_button); var content_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); content_box.append (headerbar); content_box.append (error_image); content_box.append (error_label); content_box.append (error_code_label); content_box.append (textview_frame); content_box.append (log_label); content_box.append (buttons_box); child = content_box; copy_button.clicked.connect (() => { var clipboard = Gdk.Display.get_default ().get_clipboard (); clipboard.set_text (error_textview.buffer.text); copy_button.icon_name = "object-select-symbolic"; Timeout.add (1500, () => { copy_button.icon_name = "edit-copy-symbolic"; return GLib.Source.REMOVE; }); }); issue_button.clicked.connect (() => { try { AppInfo.launch_default_for_uri (Constants.NEW_ISSUE_URL, null); } catch (Error e) { warning ("%s\n", e.message); } }); } public static string get_http_error (int code) { if (http_messages == null) { http_messages = new Gee.HashMap (); http_messages.set (400, _("The request was incorrect.")); http_messages.set (401, _("Authentication is required, and has failed, or has not yet been provided.")); http_messages.set (403, _("The request was valid, but for something that is forbidden.")); http_messages.set (404, _("The requested resource could not be found.")); http_messages.set (410, _("Account migration required.")); http_messages.set (429, _("The user has sent too many requests in a given amount of time.")); http_messages.set (500, _("The request failed due to a server error.")); http_messages.set (503, _("The server is currently unable to handle the request.")); } return http_messages.has_key (code) ? http_messages.get (code) : _("Unknown error"); } } alainm23-planify-69962f8/src/Widgets/EventRow.vala000066400000000000000000000423721517337276100217160ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.EventRow : Gtk.ListBoxRow { public unowned ICal.Component component { get; construct; } public unowned E.SourceCalendar cal { get; construct; } public E.Source source { get; construct; } public bool show_date { get; construct; default = false; } public GLib.DateTime? display_date { get; construct; default = null; } public GLib.DateTime start_time { get; private set; } public GLib.DateTime ? end_time { get; private set; } public bool is_allday { get; private set; default = false; } private Gtk.Grid color_grid; private Gtk.Label time_label; private Gtk.Label name_label; private Gtk.Popover popover; private Gee.HashMap signal_map = new Gee.HashMap (); public EventRow (ICal.Component component, E.Source source, bool show_date = false, GLib.DateTime? display_date = null) { Object ( component : component, cal: (E.SourceCalendar ?) source.get_extension (E.SOURCE_EXTENSION_CALENDAR), source: source, show_date: show_date, display_date: display_date ); } ~EventRow () { debug ("Destroying - Widgets.EventRow\n"); } construct { add_css_class ("no-selectable"); add_css_class ("transition"); update_times (component); color_grid = new Gtk.Grid () { width_request = 3, height_request = 12, valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, css_classes = { "event-bar" } }; time_label = new Gtk.Label (null) { xalign = 0, valign = Gtk.Align.CENTER, css_classes = { "dimmed", "caption" } }; name_label = new Gtk.Label (component.get_summary ()) { valign = Gtk.Align.CENTER, ellipsize = Pango.EllipsizeMode.END, wrap = true, use_markup = true, wrap_mode = Pango.WrapMode.WORD_CHAR, margin_start = 3, css_classes = { "caption" } }; var grid = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_top = 3, margin_bottom = 3 }; if (!is_allday || show_date) { grid.append (time_label); } grid.append (color_grid); grid.append (name_label); var description = component.get_description (); if (description != null && ("meet.google.com" in description || "teams.microsoft.com" in description || "zoom.us" in description)) { var video_icon = new Gtk.Image.from_icon_name ("video-camera-symbolic") { pixel_size = 12, valign = Gtk.Align.CENTER, margin_top = 3 }; grid.append (video_icon); } child = grid; var click_gesture = new Gtk.GestureClick (); click_gesture.released.connect (() => { if (popover == null) { create_popover (); } popover.popup (); }); add_controller (click_gesture); update_color (); signal_map[cal.notify["color"].connect (update_color)] = cal; update_timelabel (); signal_map[Services.Settings.get_default ().settings.changed["clock-format"].connect (update_timelabel)] = Services.Settings.get_default (); } private void update_timelabel () { string time_format = Utils.Datetime.is_clock_format_12h () ? "%I:%M %p" : "%H:%M"; if (show_date) { if (is_allday) { time_label.label = start_time.format ("%d %b"); } else { time_label.label = start_time.format ("%d %b · ") + get_time_range_for_day (display_date ?? start_time, time_format); } } else { if (is_allday) { return; } time_label.label = get_time_range_for_day (display_date ?? start_time, time_format); } } private string get_time_range_for_day (GLib.DateTime day, string time_format) { if (start_time.get_day_of_year () == end_time.get_day_of_year () && start_time.get_year () == end_time.get_year ()) { return start_time.format (time_format); } var day_normalized = new GLib.DateTime.local (day.get_year (), day.get_month (), day.get_day_of_month (), 0, 0, 0); var start_normalized = new GLib.DateTime.local (start_time.get_year (), start_time.get_month (), start_time.get_day_of_month (), 0, 0, 0); var end_normalized = new GLib.DateTime.local (end_time.get_year (), end_time.get_month (), end_time.get_day_of_month (), 0, 0, 0); bool is_first_day = day_normalized.equal (start_normalized); bool is_last_day = day_normalized.equal (end_normalized); string end_of_day = Utils.Datetime.is_clock_format_12h () ? "11:59 PM" : "23:59"; string start_of_day = Utils.Datetime.is_clock_format_12h () ? "12:00 AM" : "00:00"; string result; if (is_first_day && is_last_day) { result = start_time.format (time_format); } else if (is_first_day) { result = start_time.format (time_format) + " - " + end_of_day; } else if (is_last_day) { result = start_of_day + " - " + end_time.format (time_format); } else { result = start_time.format ("%d %b ") + start_time.format (time_format) + " - " + end_time.format ("%d %b ") + end_time.format (time_format); } return result; } private void update_color () { Util.get_default ().set_widget_color (cal.dup_color (), color_grid); } private void update_times (ICal.Component comp) { var dt_start = comp.get_dtstart (); var dt_end = comp.get_dtend (); if (dt_start.is_date ()) { start_time = CalendarEventsUtil.ical_to_date_time (dt_start); } else { start_time = CalendarEventsUtil.ical_to_date_time (dt_start).to_local (); } if (dt_end.is_date ()) { end_time = CalendarEventsUtil.ical_to_date_time (dt_end); } else { end_time = CalendarEventsUtil.ical_to_date_time (dt_end).to_local (); } is_allday = end_time != null && CalendarEventsUtil.is_the_all_day (start_time, end_time); } public void update (ICal.Component new_component) { update_times (new_component); name_label.label = new_component.get_summary (); update_timelabel (); } private void create_popover () { var title_label = new Gtk.Label (component.get_summary ()) { xalign = 0, wrap = true, selectable = true, can_focus = false, css_classes = { "title-4" } }; string date_text; if (is_allday) { date_text = start_time.format ("%A, %e de %B"); } else { string time_format = Utils.Datetime.is_clock_format_12h () ? "%I:%M %p" : "%H:%M"; if (start_time.get_day_of_year () == end_time.get_day_of_year () && start_time.get_year () == end_time.get_year ()) { date_text = start_time.format ("%A, %e de %B · ") + start_time.format (time_format) + " - " + end_time.format (time_format); } else { date_text = start_time.format ("%e %b ") + start_time.format (time_format) + " - " + end_time.format ("%e %b ") + end_time.format (time_format); } } var date_label = new Gtk.Label (date_text) { xalign = 0, wrap = true, selectable = true, can_focus = false, css_classes = { "dimmed", "caption" } }; var header_box = new Gtk.Box (VERTICAL, 3); header_box.append (title_label); header_box.append (date_label); var now = new DateTime.now_local (); if (!is_allday && start_time.get_day_of_year () == now.get_day_of_year () && start_time.get_year () == now.get_year ()) { var time_diff = start_time.difference (now) / TimeSpan.MINUTE; string time_status = ""; if (time_diff > 0) { if (time_diff < 60) { time_status = GLib.ngettext ("In %d minute", "In %d minutes", (ulong)time_diff).printf ((int)time_diff); } else { time_status = GLib.ngettext ("In %d hour", "In %d hours", (ulong)(time_diff / 60)).printf ((int)(time_diff / 60)); } } else if (time_diff > -60 && end_time != null) { var end_diff = end_time.difference (now) / TimeSpan.MINUTE; if (end_diff > 0) { time_status = _("Happening now"); } } if (time_status != "") { var time_status_label = new Gtk.Label (time_status) { xalign = 0, css_classes = { "caption", "accent" } }; header_box.append (time_status_label); } } var popover_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 12) { margin_top = 12, margin_bottom = 12, margin_start = 12, margin_end = 12 }; popover_box.append (header_box); popover_box.append (new Gtk.Separator (Gtk.Orientation.HORIZONTAL) { margin_top = 3, margin_bottom = 3 }); var location = component.get_location (); if (location != null && location != "") { var location_label = new Gtk.Label (location) { xalign = 0, wrap = true, selectable = true, can_focus = false }; popover_box.append (create_info_widget ("map-marker-symbolic", _("Location"), location_label)); } var organizer_prop = component.get_first_property (ICal.PropertyKind.ORGANIZER_PROPERTY); if (organizer_prop != null) { var organizer = organizer_prop.get_organizer (); if (organizer != null && organizer != "") { var organizer_label = new Gtk.Label (organizer.replace ("mailto:", "")) { xalign = 0, wrap = true, selectable = true, can_focus = false }; popover_box.append (create_info_widget ("people-symbolic", _("Organizer"), organizer_label)); } } var url_prop = component.get_first_property (ICal.PropertyKind.URL_PROPERTY); if (url_prop != null) { var url = url_prop.get_url (); if (url != null && url != "") { var url_label = new Gtk.Label (url) { xalign = 0, wrap = true, selectable = true, can_focus = false }; popover_box.append (create_info_widget ("external-link-symbolic", _("URL"), url_label)); } } var calendar_label = new Gtk.Label (source.dup_display_name ()) { xalign = 0, wrap = true, selectable = true, can_focus = false }; popover_box.append (create_info_widget ("work-week-symbolic", _("Calendar"), calendar_label)); var description = component.get_description (); if (description != null && description != "") { bool content_added = false; if ("meet.google.com" in description || "Google Meet" in description) { var meet_url = extract_meet_url (description); if (meet_url != null) { popover_box.append (create_meeting_widget ("Google Meet", meet_url)); content_added = true; } } else if ("teams.microsoft.com" in description || "Microsoft Teams" in description) { var teams_url = extract_teams_url (description); if (teams_url != null) { popover_box.append (create_meeting_widget ("Microsoft Teams", teams_url)); content_added = true; } } else if ("zoom.us" in description || "Zoom" in description) { var zoom_url = extract_zoom_url (description); if (zoom_url != null) { popover_box.append (create_meeting_widget ("Zoom", zoom_url)); content_added = true; } } if (!content_added) { var description_label = new Gtk.Label (description) { xalign = 0, wrap = true, selectable = true, can_focus = false, use_markup = false }; popover_box.append (create_info_widget ("text-justify-left-symbolic", _("Description"), description_label)); } } var popover_scrolled_window = new Gtk.ScrolledWindow () { hexpand = true, vexpand = true, hscrollbar_policy = Gtk.PolicyType.NEVER, vscrollbar_policy = Gtk.PolicyType.NEVER, child = popover_box }; popover = new Gtk.Popover () { child = popover_scrolled_window, width_request = 275 }; popover.set_parent (this); } private Gtk.Widget create_info_widget (string icon_name, string header_text, Gtk.Widget content_widget) { var grid = new Gtk.Grid () { column_spacing = 6, row_spacing = 6 }; var icon = new Gtk.Image.from_icon_name (icon_name) { pixel_size = 12, valign = Gtk.Align.CENTER }; icon.add_css_class ("dimmed"); var header = new Gtk.Label (header_text) { xalign = 0, css_classes = { "caption", "dimmed" } }; grid.attach (icon, 0, 0, 1, 1); grid.attach (header, 1, 0, 1, 1); grid.attach (content_widget, 1, 1, 1, 1); return grid; } private Gtk.Widget create_meeting_widget (string title, string url) { var header = new Gtk.Label (title) { xalign = 0, hexpand = true, css_classes = { "caption", "dim-label" } }; var url_entry = new Gtk.Text () { text = url, editable = false, can_focus = false, hexpand = true }; url_entry.add_css_class ("caption"); url_entry.add_css_class ("accent"); var join_button = new Gtk.Button.with_label (_("Join")) { valign = Gtk.Align.CENTER }; join_button.clicked.connect (() => { try { AppInfo.launch_default_for_uri (url, null); } catch (Error e) { warning ("Error opening URL: %s", e.message); } }); var grid = new Gtk.Grid () { column_spacing = 24, row_spacing = 6, margin_top = 12 }; grid.attach (header, 0, 0, 1, 1); grid.attach (url_entry, 0, 1, 1, 1); grid.attach (join_button, 1, 0, 1, 2); return grid; } private string? extract_meet_url (string description) { var regex = /https:\/\/meet\.google\.com\/[a-z\-]+/; MatchInfo match_info; if (regex.match (description, 0, out match_info)) { return match_info.fetch (0); } return null; } private string? extract_teams_url (string description) { var regex = /https:\/\/teams\.microsoft\.com\/l\/meetup-join\/[^>\s]+/; MatchInfo match_info; if (regex.match (description, 0, out match_info)) { var url = match_info.fetch (0); return url.replace ("&", "&"); } return null; } private string? extract_zoom_url (string description) { var regex = /https:\/\/[a-z0-9]+\.zoom\.us\/[^\s]+/; MatchInfo match_info; if (regex.match (description, 0, out match_info)) { return match_info.fetch (0); } return null; } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); if (popover != null) { popover.unparent (); } } } alainm23-planify-69962f8/src/Widgets/EventsList.vala000066400000000000000000000221421517337276100222360ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.EventsList : Adw.Bin { public GLib.DateTime start_date { get; construct; } public GLib.DateTime end_date { get; construct; } public bool is_day { get; construct; } public bool is_month { get; construct; } public bool is_range { get; construct; } private Gtk.ListBox listbox; private Gtk.Revealer main_revealer; private Gee.HashMap event_hashmap; private Services.CalendarEvents event_model; public signal void change (); public bool has_items { get { return event_hashmap.size > 0; } } private Gee.HashMap signal_map = new Gee.HashMap (); public EventsList.for_day (GLib.DateTime start_date) { Object ( start_date: start_date, end_date: start_date, is_day: true, is_range: false, is_month: false ); } public EventsList.for_range (GLib.DateTime start_date, GLib.DateTime end_date) { Object ( start_date: start_date, end_date: end_date, is_day: false, is_range: true, is_month: false ); } public EventsList.for_month (GLib.DateTime start_date) { Object ( start_date: start_date, end_date: start_date, is_day: false, is_range: false, is_month: true ); } ~EventsList () { debug ("Destroying Widgets.EventsList\n"); } construct { event_model = new Services.CalendarEvents (start_date); event_hashmap = new Gee.HashMap (); listbox = new Gtk.ListBox () { valign = Gtk.Align.START, selection_mode = Gtk.SelectionMode.NONE }; listbox.set_sort_func (sort_event_function); listbox.add_css_class ("listbox-background"); var listbox_grid = new Gtk.Grid () { valign = Gtk.Align.START }; listbox_grid.attach (listbox, 0, 0); var main_grid = new Gtk.Grid () { hexpand = true }; main_grid.add_css_class ("description-box"); main_grid.attach (listbox_grid, 0, 0); main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, reveal_child = Services.Settings.get_default ().settings.get_boolean ("calendar-enabled"), child = main_grid }; child = main_revealer; add_events (); signal_map[Services.Settings.get_default ().settings.changed["calendar-enabled"].connect (() => { main_revealer.reveal_child = Services.Settings.get_default ().settings.get_boolean ("calendar-enabled"); })] = Services.Settings.get_default (); } private void add_events () { signal_map[event_model.components_added.connect (add_event_model)] = event_model; signal_map[event_model.components_removed.connect (remove_event_model)] = event_model; signal_map[event_model.components_updated.connect (update_event_model)] = event_model; } private void add_event_model (E.Source source, Gee.Collection components) { foreach (ECal.Component ? component in components) { if (is_day) { if (CalendarEventsUtil.calcomp_is_on_day (component, start_date)) { add_row_event (component, source); } } else if (is_month) { if (CalendarEventsUtil.calcomp_is_on_month (component, start_date)) { add_row_event (component, source); } } else if (is_range) { if (event_overlaps_range (component)) { add_row_event (component, source); } } } } private void add_row_event (ECal.Component component, E.Source source) { unowned ICal.Component ical = component.get_icalcomponent (); var event_uid = ical.get_uid (); if (!event_hashmap.has_key (event_uid)) { bool show_date = is_month || is_range; GLib.DateTime? display_date = start_date; event_hashmap[event_uid] = new Widgets.EventRow (ical, source, show_date, display_date); listbox.append (event_hashmap[event_uid]); } change (); } private void update_event_model (E.Source source, Gee.Collection components) { foreach (var component in components) { unowned ICal.Component ical = component.get_icalcomponent (); var event_uid = ical.get_uid (); bool in_range = false; if (is_day) { in_range = CalendarEventsUtil.calcomp_is_on_day (component, start_date); } else if (is_month) { in_range = CalendarEventsUtil.calcomp_is_on_month (component, start_date); } else if (is_range) { in_range = event_overlaps_range (component); } if (event_hashmap.has_key (event_uid)) { if (in_range) { event_hashmap[event_uid].update (ical); } else { event_hashmap[event_uid].destroy (); listbox.remove (event_hashmap[event_uid]); event_hashmap.unset (event_uid); } } else if (in_range) { add_row_event (component, source); } } change (); } private void remove_event_model (E.Source source, Gee.Collection events) { foreach (var component in events) { unowned ICal.Component ical = component.get_icalcomponent (); var event_uid = ical.get_uid (); var event_row = event_hashmap[event_uid]; if (event_row != null) { event_row.destroy (); event_hashmap.unset (event_uid); listbox.remove (event_row); } } change (); } private int sort_event_function (Gtk.ListBoxRow child1, Gtk.ListBoxRow child2) { var e1 = (Widgets.EventRow) child1; var e2 = (Widgets.EventRow) child2; if (e1.start_time.compare (e2.start_time) != 0) { return e1.start_time.compare (e2.start_time); } // If they have the same date, sort them wholeday first if (e1.is_allday) { return -1; } else if (e2.is_allday) { return 1; } return 0; } private bool event_overlaps_range (ECal.Component component) { unowned ICal.Component ical = component.get_icalcomponent (); ICal.Time ? start_time = ical.get_dtstart (); ICal.Time ? end_time = ical.get_dtend (); ICal.Time ? due_time = ical.get_due (); if (due_time != null && !due_time.is_null_time ()) { end_time = due_time; if (start_time == null || start_time.is_null_time ()) { start_time = due_time; } } if (start_time == null || end_time == null) { return false; } var event_start = CalendarEventsUtil.ical_to_date_time (start_time); var event_end = CalendarEventsUtil.ical_to_date_time (end_time); var range_start = new GLib.DateTime.local (start_date.get_year (), start_date.get_month (), start_date.get_day_of_month (), 0, 0, 0); var range_end = new GLib.DateTime.local (end_date.get_year (), end_date.get_month (), end_date.get_day_of_month (), 23, 59, 59); var event_start_day = new GLib.DateTime.local (event_start.get_year (), event_start.get_month (), event_start.get_day_of_month (), 0, 0, 0); var event_end_day = new GLib.DateTime.local (event_end.get_year (), event_end.get_month (), event_end.get_day_of_month (), 23, 59, 59); return event_start_day.compare (range_end) <= 0 && event_end_day.compare (range_start) >= 0; } public void clean_up () { foreach (var row in Util.get_default ().get_children (listbox)) { ((Widgets.EventRow) row).clean_up (); } foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } } alainm23-planify-69962f8/src/Widgets/FilterFlowBox.vala000066400000000000000000000102551517337276100226660ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.FilterFlowBox : Adw.Bin { Objects.BaseObject _base_object = null; public Objects.BaseObject base_object { set { _base_object = value; signals_map[_base_object.filter_added.connect ((filter) => { add_filter (filter); })] = _base_object; signals_map[_base_object.filter_removed.connect ((filter) => { remove_filter (filter); })] = _base_object; signals_map[_base_object.filter_updated.connect ((filter) => { update_filter (filter); })] = _base_object; add_filters (); } get { return _base_object; } } public Gtk.FlowBox flowbox; private Gtk.Revealer main_revealer; private Gee.HashMap filters_map = new Gee.HashMap (); private Gee.HashMap signals_map = new Gee.HashMap (); public signal void filter_removed (Objects.Filters.FilterItem filter); ~FilterFlowBox () { debug ("Destroying - Widgets.FilterFlowBox\n"); } construct { flowbox = new Gtk.FlowBox () { column_spacing = 12, row_spacing = 12, halign = Gtk.Align.START, orientation = Gtk.Orientation.VERTICAL, homogeneous = false }; main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = flowbox }; child = main_revealer; destroy.connect (() => { foreach (var entry in signals_map.entries) { entry.value.disconnect (entry.key); } signals_map.clear (); }); } private void add_filters () { foreach (Objects.Filters.FilterItem filter in _base_object.filters.values) { add_filter (filter); } } public void add_filter (Objects.Filters.FilterItem filter) { if (!filters_map.has_key (filter.id)) { filters_map[filter.id] = new Widgets.FilterFlowBoxChild (filter); signals_map[filters_map[filter.id].remove_filter.connect ((_filter) => { if (_base_object != null) { _base_object.remove_filter (_filter); } else { remove_filter (_filter); } })] = filters_map[filter.id]; flowbox.append (filters_map[filter.id]); } main_revealer.reveal_child = filters_map.size > 0; } public void remove_filter (Objects.Filters.FilterItem filter) { if (filters_map.has_key (filter.id)) { filters_map[filter.id].hide_destroy (); filters_map.unset (filter.id); filter_removed (filter); } main_revealer.reveal_child = filters_map.size > 0; } public void update_filter (Objects.Filters.FilterItem filter) { if (filters_map.has_key (filter.id)) { filters_map[filter.id].update_request (); } main_revealer.reveal_child = filters_map.size > 0; } public Objects.Filters.FilterItem ? get_filter (string id) { if (filters_map.has_key (id)) { return filters_map.get (id).filter; } return null; } } alainm23-planify-69962f8/src/Widgets/FilterFlowBoxChild.vala000066400000000000000000000071501517337276100236320ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.FilterFlowBoxChild : Gtk.FlowBoxChild { public Objects.Filters.FilterItem filter { get; construct; } private Gtk.Image image; private Gtk.Label title_label; private Gtk.Label value_label; private Gtk.Revealer main_revealer; public signal void remove_filter (Objects.Filters.FilterItem filter); public FilterFlowBoxChild (Objects.Filters.FilterItem filter) { Object ( filter: filter, valign: Gtk.Align.START, halign: Gtk.Align.START ); } ~FilterFlowBoxChild () { debug ("Destroying - Widgets.FilterFlowBoxChild\n"); } construct { add_css_class ("card"); image = new Gtk.Image (); title_label = new Gtk.Label (null) { halign = START, css_classes = { "title-4", "caption" } }; value_label = new Gtk.Label (null) { xalign = 0, use_markup = true, halign = START, css_classes = { "caption" } }; var close_button = new Gtk.Button.from_icon_name ("cross-large-circle-filled-symbolic") { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, css_classes = { "flat" } }; var close_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_RIGHT, child = close_button, reveal_child = true }; var card_grid = new Gtk.Grid () { column_spacing = 12, margin_start = 12, margin_top = 3, margin_bottom = 3, vexpand = true, hexpand = true }; card_grid.attach (image, 0, 0, 1, 2); card_grid.attach (title_label, 1, 0, 1, 1); card_grid.attach (value_label, 1, 1, 1, 1); card_grid.attach (close_revealer, 2, 0, 1, 2); main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_RIGHT, child = card_grid }; child = main_revealer; update_request (); Timeout.add (main_revealer.transition_duration, () => { main_revealer.reveal_child = true; return GLib.Source.REMOVE; }); close_button.clicked.connect (() => { remove_filter (filter); }); } public void update_request () { image.icon_name = filter.filter_type.get_icon (); title_label.label = filter.filter_type.get_title (); value_label.label = filter.name; } public void hide_destroy () { main_revealer.reveal_child = false; Timeout.add (main_revealer.transition_duration, () => { ((Gtk.FlowBox) parent).remove (this); return GLib.Source.REMOVE; }); } } alainm23-planify-69962f8/src/Widgets/IgnoreSSLSwitchRow.vala000066400000000000000000000046761517337276100236310ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.IgnoreSSLSwitchRow : Adw.ActionRow { private Gtk.Switch toggle; public bool active { get { return toggle.active; } set { toggle.active = value; } } public IgnoreSSLSwitchRow () { title = _("Disable SSL certificate validation"); subtitle = _("Not recommended – exposes you to security risks"); toggle = new Gtk.Switch () { valign = Gtk.Align.CENTER, halign = Gtk.Align.END }; add_suffix (toggle); activatable_widget = toggle; toggle.state_set.connect ((state) => { if (state) { var dialog = new Adw.AlertDialog ( _("Warning"), _("This will disable SSL validation and exposes you to attacks.\nProceed at your own risk") ); dialog.add_response ("cancel", _("Cancel")); dialog.add_response ("accept", _("Continue Anyway")); dialog.set_response_appearance ("accept", Adw.ResponseAppearance.DESTRUCTIVE); dialog.response.connect ((response) => { if (response == "accept") { toggle.state = true; toggle.active = true; } else { toggle.state = false; toggle.active = false; } }); dialog.present (Planify._instance.main_window); return true; // prevent immediate state change } return false; }); } } alainm23-planify-69962f8/src/Widgets/ItemChangeHistoryRow.vala000066400000000000000000000202371517337276100242170ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ItemChangeHistoryRow : Gtk.ListBoxRow { public Objects.ObjectEvent object_event { get; construct; } private Gtk.Revealer main_revealer; public ItemChangeHistoryRow (Objects.ObjectEvent object_event) { Object ( object_event: object_event ); } ~ItemChangeHistoryRow () { debug ("Destroying - Widgets.ItemChangeHistoryRow\n"); } construct { add_css_class ("no-selectable"); var object_event_icon = new Gtk.Image.from_icon_name (object_event.icon_name) { pixel_size = 16, valign = START }; string _type_string = ""; if (object_event.object_key == ObjectEventKeyType.CHECKED) { _type_string = object_event.object_new_value == "1" ? _("Task completed") : _("Task uncompleted"); } else if (object_event.object_key == ObjectEventKeyType.PROJECT) { _type_string = "%s: %s".printf ( _("Task moved to project"), Services.Store.instance ().get_project (object_event.object_new_value).name ); } else if (object_event.object_key == ObjectEventKeyType.SECTION) { string section_name = Services.Store.instance ().get_item (object_event.object_id).project.name; if (object_event.object_new_value != "") { section_name = Services.Store.instance ().get_section (object_event.object_new_value).name; } _type_string = "%s: %s".printf ( _("Task moved to"), section_name ); } else { _type_string = "%s: %s".printf (object_event.event_type.get_label (), object_event.object_key.get_label ()); } var type_string = new Gtk.Label (_type_string) { use_markup = true, halign = Gtk.Align.START, margin_bottom = 3, ellipsize = Pango.EllipsizeMode.END }; var datetime_string = new Gtk.Label (object_event.time) { css_classes = { "dimmed", "caption" }, halign = Gtk.Align.END, hexpand = true }; var header_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { hexpand = true }; header_box.append (type_string); header_box.append (datetime_string); var old_value_header = new Gtk.Label (_("Previous") + ": ") { css_classes = { "font-bold" } }; var old_value_label = new Gtk.Label (null) { css_classes = { "dimmed" }, selectable = true, ellipsize = Pango.EllipsizeMode.END }; var old_value_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { halign = Gtk.Align.START }; old_value_box.append (old_value_header); old_value_box.append (old_value_label); var old_value_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = old_value_box }; var new_value_header = new Gtk.Label (_("New") + ": ") { css_classes = { "font-bold" } }; var new_value_label = new Gtk.Label (null) { css_classes = { "dimmed", "caption" }, selectable = true, wrap = true }; var new_value_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { halign = Gtk.Align.START }; // new_value_box.append (new_value_header); new_value_box.append (new_value_label); var new_value_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = new_value_box }; var detail_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { valign = Gtk.Align.START }; detail_box.append (header_box); // detail_box.append (old_value_revealer); detail_box.append (new_value_revealer); var content_box = new Gtk.Grid () { column_spacing = 9, margin_top = 12, margin_bottom = 12, margin_start = 12, margin_end = 12 }; content_box.attach (object_event_icon, 0, 0, 1, 2); content_box.attach (detail_box, 1, 1, 1, 1); var card = new Adw.Bin () { child = content_box, css_classes = { "card" }, margin_top = 3, margin_bottom = 3, margin_start = 3, margin_end = 3 }; main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = card }; child = main_revealer; string _old_value_label = ""; string _new_value_label = ""; if (object_event.event_type == ObjectEventType.INSERT) { _new_value_label = object_event.object_new_value; } else if (object_event.event_type == ObjectEventType.UPDATE) { if (object_event.object_key == ObjectEventKeyType.DESCRIPTION) { _old_value_label = object_event.object_old_value; _new_value_label = object_event.object_new_value; } else if (object_event.object_key == ObjectEventKeyType.DUE) { _old_value_label = Utils.Datetime.get_relative_date_from_date ( object_event.get_due_value (object_event.object_old_value).datetime ); _new_value_label = Utils.Datetime.get_relative_date_from_date ( object_event.get_due_value (object_event.object_new_value).datetime ); } else if (object_event.object_key == ObjectEventKeyType.PRIORITY) { if (object_event.object_old_value != "") { _old_value_label = Objects.Filters.Priority.get_default (int.parse (object_event.object_old_value)).title; } if (object_event.object_new_value != "") { _new_value_label = Objects.Filters.Priority.get_default (int.parse (object_event.object_new_value)).title; } } else if (object_event.object_key == ObjectEventKeyType.LABELS) { _old_value_label = object_event.get_labels_value (object_event.object_old_value); _new_value_label = object_event.get_labels_value (object_event.object_new_value); } else if (object_event.object_key == ObjectEventKeyType.PINNED) { _old_value_label = object_event.object_old_value == "1" ? _("Pin: Active") : _("Pin: Inactive"); _new_value_label = object_event.object_new_value == "1" ? _("Pin: Active") : _("Pin: Inactive"); } } if (_old_value_label.length > 0) { old_value_revealer.reveal_child = true; old_value_label.label = _old_value_label; } if (_new_value_label.length > 0) { new_value_revealer.reveal_child = true; new_value_label.label = _new_value_label; } Timeout.add (main_revealer.transition_duration, () => { main_revealer.reveal_child = true; return GLib.Source.REMOVE; }); } public void hide_destroy () { main_revealer.reveal_child = false; Timeout.add (main_revealer.transition_duration, () => { ((Gtk.ListBox) parent).remove (this); return GLib.Source.REMOVE; }); } }alainm23-planify-69962f8/src/Widgets/ItemDetailCompleted.vala000066400000000000000000000174601517337276100240230ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ItemDetailCompleted : Adw.NavigationPage { public Objects.Item item { get; construct; } private Gtk.ListBox listbox; private Widgets.MarkdownEditor markdown_editor; public signal void view_item (Objects.Item item); private Gee.HashMap items_checked = new Gee.HashMap (); private Gee.HashMap signal_map = new Gee.HashMap (); public ItemDetailCompleted (Objects.Item item) { Object ( item: item ); } ~ItemDetailCompleted () { debug ("Destroying - Widgets.ItemDetailCompleted\n"); } construct { var content_textview = new Widgets.TextView () { left_margin = 12, right_margin = 12, top_margin = 12, bottom_margin = 12, height_request = 64, wrap_mode = Gtk.WrapMode.WORD, event_focus = false, placeholder_text = _("To-do name") }; content_textview.remove_css_class ("view"); content_textview.add_css_class ("card"); content_textview.set_text (item.content); content_textview.editable = false; var content_group = new Adw.PreferencesGroup () { margin_start = 12, margin_end = 12 }; content_group.title = _("Title"); content_group.add (content_textview); var properties_grid = new Gtk.Grid () { column_homogeneous = true, column_spacing = 12, row_homogeneous = true, row_spacing = 12 }; properties_grid.attach (add_property_card ("month-symbolic", _("Completed At"), Utils.Datetime.get_relative_date_from_date ( Utils.Datetime.get_date_from_string (item.completed_at) ) ), 0, 0); properties_grid.attach (add_property_card ("arrow3-right-symbolic", _("Section"), item.has_section ? item.section.name : _("No Section")), 1, 0); properties_grid.attach (add_property_card ("flag-outline-thick-symbolic", _("Priority"), item.priority_text), 0, 1); var properties_group = new Adw.PreferencesGroup () { margin_start = 12, margin_end = 12, margin_top = 12 }; properties_group.title = _("Properties"); properties_group.add (properties_grid); markdown_editor = new Widgets.MarkdownEditor () { project = item.project }; markdown_editor.text_view.height_request = 64; markdown_editor.is_editable = false; markdown_editor.margin_start = 12; markdown_editor.margin_end = 12; markdown_editor.margin_top = 12; markdown_editor.margin_bottom = 12; markdown_editor.set_text (item.description); var markdown_editor_card = new Adw.Bin () { child = markdown_editor, valign = START }; markdown_editor_card.add_css_class ("card"); var description_group = new Adw.PreferencesGroup () { margin_start = 12, margin_end = 12, margin_top = 12 }; description_group.title = _("Description"); description_group.add (markdown_editor_card); listbox = new Gtk.ListBox () { hexpand = true, valign = START, css_classes = { "listbox-background", "listbox-separator-6" } }; var subitems_group = new Adw.PreferencesGroup () { margin_start = 12, margin_end = 12, margin_top = 12 }; subitems_group.title = _("Sub-tasks"); subitems_group.add (listbox); var content = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { valign = Gtk.Align.START, margin_bottom = 24, margin_start = 12, margin_end = 12 }; content.append (content_group); content.append (properties_group); content.append (description_group); if (item.items.size > 0) { content.append (subitems_group); } var scrolled_window = new Widgets.ScrolledWindow (content); var toolbar_view = new Adw.ToolbarView (); toolbar_view.add_top_bar (new Adw.HeaderBar ()); toolbar_view.content = scrolled_window; child = toolbar_view; add_items (); signal_map[Services.EventBus.get_default ().checked_toggled.connect ((_item, old_checked) => { if (_item.parent_id != item.id) { return; } if (!old_checked) { if (!items_checked.has_key (_item.id)) { items_checked[_item.id] = new Widgets.CompletedTaskRow (_item); listbox.append (items_checked[_item.id]); } } else { if (items_checked.has_key (_item.id)) { items_checked[_item.id].hide_destroy (); items_checked.unset (_item.id); } } })] = Services.EventBus.get_default (); signal_map[listbox.row_activated.connect ((row) => { Objects.Item item = ((Widgets.CompletedTaskRow) row).item; view_item (item); })] = listbox; destroy.connect (() => { clean_up (); }); } private void add_items () { foreach (Objects.Item subitem in item.items) { if (!subitem.checked) { continue; } if (!items_checked.has_key (subitem.id)) { items_checked[subitem.id] = new Widgets.CompletedTaskRow (subitem); listbox.append (items_checked[subitem.id]); } } } private Gtk.Widget add_property_card (string icon_name, string title, string value) { var card_grid = new Gtk.Grid () { column_spacing = 12, margin_start = 12, margin_end = 6, margin_top = 6, margin_bottom = 6, vexpand = true, hexpand = true }; card_grid.attach (new Gtk.Image.from_icon_name (icon_name), 0, 0, 1, 2); card_grid.attach (new Gtk.Label (title) { halign = START, css_classes = { "title-4", "caption" } }, 1, 0, 1, 1); card_grid.attach (new Gtk.Label (value) { xalign = 0, use_markup = true, halign = START, ellipsize = Pango.EllipsizeMode.END, css_classes = { "caption" } }, 1, 1, 1, 1); var card = new Adw.Bin () { child = card_grid, css_classes = { "card" } }; return card; } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } } alainm23-planify-69962f8/src/Widgets/LabelsSummary.vala000066400000000000000000000116171517337276100227230ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.LabelsSummary : Adw.Bin { public Objects.Item item { get; construct; } public int max_items { get; construct; } public bool is_board { get; construct; } private Gtk.Box box_layout; private Gtk.Revealer revealer; public Gtk.Box content_box; private Gtk.Label more_label; private Adw.Bin more_label_grid; private Gtk.Revealer more_label_revealer; Gee.HashMap labels = new Gee.HashMap (); public bool reveal_child { set { revealer.reveal_child = value; } get { return revealer.reveal_child; } } public int start_margin { set { content_box.margin_start = value; } } public int end_margin { set { content_box.margin_end = value; } } public LabelsSummary (Objects.Item item, int max_items = 2, bool is_board = false) { Object ( item: item, max_items: max_items, is_board: is_board ); } ~LabelsSummary () { debug ("Destroying - Widgets.LabelsSummary\n"); } construct { box_layout = new Gtk.Box (HORIZONTAL, 6) { halign = START }; more_label = new Gtk.Label (null) { css_classes = { "caption" } }; more_label_grid = new Adw.Bin () { css_classes = { "item-label-child" }, child = more_label, margin_start = 6, }; more_label_revealer = new Gtk.Revealer () { transition_type = SLIDE_LEFT, child = more_label_grid }; content_box = new Gtk.Box (HORIZONTAL, 0) { valign = Gtk.Align.CENTER }; content_box.append (box_layout); content_box.append (more_label_revealer); revealer = new Gtk.Revealer () { transition_type = is_board ? Gtk.RevealerTransitionType.SLIDE_LEFT : Gtk.RevealerTransitionType.SLIDE_UP, child = content_box }; child = revealer; update_request (); item.item_label_deleted.connect ((label) => { remove_item_label (label); }); } public void update_request () { more_label_revealer.reveal_child = false; var item_labels = item.get_labels_list (); var overflow_labels = new Gee.ArrayList (); int current_visible = labels.size; foreach (Objects.Label label in item_labels) { if (!labels.has_key (label.id)) { if (current_visible >= max_items) { overflow_labels.add (label); } else { labels[label.id] = new Widgets.ItemLabelChild (label) { clickable = false }; box_layout.append (labels[label.id]); current_visible++; } } } if (overflow_labels.size > 0) { more_label.label = "+%d".printf (overflow_labels.size); more_label_grid.tooltip_text = create_overflow_tooltip (overflow_labels); Util.get_default ().set_widget_color ( Util.get_default ().get_color (overflow_labels[0].color), more_label_grid ); more_label_revealer.reveal_child = true; } } private string create_overflow_tooltip (Gee.ArrayList overflow_labels) { var tooltip_parts = new Gee.ArrayList (); foreach (Objects.Label label in overflow_labels) { tooltip_parts.add ("- %s".printf (label.name)); } return string.joinv ("\n", tooltip_parts.to_array ()); } public void remove_item_label (Objects.Label label) { if (labels.has_key (label.id)) { labels[label.id].hide_destroy (); labels.unset (label.id); } } public void check_revealer () { revealer.reveal_child = labels.size > 0; } } alainm23-planify-69962f8/src/Widgets/MagicButton.vala000066400000000000000000000060431517337276100223540ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.MagicButton : Adw.Bin { public Gtk.Button magic_button; private Gtk.Revealer main_revealer; public signal void clicked (); public signal void drag_begin (); public signal void drag_end (); public MagicButton () { Object ( margin_top: 24, margin_start: 24, margin_end: 24, margin_bottom: 24, valign: Gtk.Align.END, halign: Gtk.Align.END ); } ~MagicButton () { debug ("Destroying - Widgets.MagicButton\n"); } construct { magic_button = new Gtk.Button.from_icon_name ("plus-large-symbolic") { height_request = 48, width_request = 48, css_classes = { "suggested-action", "magic-button" }, tooltip_text = _("Add Task") }; main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.CROSSFADE, reveal_child = true, child = magic_button }; child = main_revealer; build_drag_and_drop (); magic_button.clicked.connect (() => { clicked (); }); Services.EventBus.get_default ().magic_button_visible.connect ((visible) => { main_revealer.reveal_child = visible; }); } private void build_drag_and_drop () { var drag_source = new Gtk.DragSource (); drag_source.set_actions (Gdk.DragAction.MOVE); add_controller (drag_source); drag_source.prepare.connect ((source, x, y) => { return new Gdk.ContentProvider.for_value (this); }); drag_source.drag_begin.connect ((source, drag) => { var paintable = new Gtk.WidgetPaintable (magic_button); source.set_icon (paintable, 0, 0); main_revealer.reveal_child = false; drag_begin (); }); drag_source.drag_end.connect ((source, drag, delete_data) => { main_revealer.reveal_child = true; drag_end (); }); drag_source.drag_cancel.connect ((source, drag, reason) => { main_revealer.reveal_child = true; drag_end (); return false; }); } } alainm23-planify-69962f8/src/Widgets/MultiSelectToolbar.vala000066400000000000000000000330221517337276100237120ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.MultiSelectToolbar : Adw.Bin { public Objects.Project project { get; construct; } private Gtk.Label size_label; private Widgets.ScheduleButton schedule_button; private Gtk.Button move_button; private Widgets.LabelPicker.LabelButton label_button; private Widgets.PriorityButton priority_button; private Gtk.MenuButton menu_button; private Widgets.LoadingButton done_button; private Widgets.ContextMenu.MenuItem complete_item; private Widgets.ContextMenu.MenuItem delete_item; public Gee.HashMap items_selected = new Gee.HashMap (); public Gee.HashMap labels = new Gee.HashMap (); public signal void closed (); public MultiSelectToolbar (Objects.Project project) { Object ( project: project, hexpand: true, valign: Gtk.Align.END ); } construct { css_classes = { "sidebar" }; size_label = new Gtk.Label ("0") { css_classes = { "font-bold", "card" }, width_request = 32, height_request = 24, valign = Gtk.Align.CENTER, margin_end = 6 }; schedule_button = new Widgets.ScheduleButton () { sensitive = false, visible_clear_button = false, visible_no_date = true }; move_button = new Gtk.Button.from_icon_name ("arrow3-right-symbolic") { sensitive = false, tooltip_text = _ ("Move to Project"), }; move_button.add_css_class ("flat"); label_button = new Widgets.LabelPicker.LabelButton () { sensitive = false, source = project.source }; priority_button = new Widgets.PriorityButton () { sensitive = false }; priority_button.set_priority (Constants.PRIORITY_4); menu_button = new Gtk.MenuButton () { css_classes = { "flat" }, valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, icon_name = "view-more-symbolic", popover = build_menu_popover () }; done_button = new Widgets.LoadingButton.with_label (_ ("Done")) { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, margin_start = 12, width_request = 100, css_classes = { "suggested-action" } }; var content_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER, margin_top = 9, margin_bottom = 9 }; content_box.append (size_label); content_box.append (schedule_button); content_box.append (move_button); content_box.append (label_button); content_box.append (priority_button); content_box.append (menu_button); content_box.append (done_button); child = content_box; Services.EventBus.get_default ().select_item.connect ((_row) => { var row = (Layouts.ItemBase) _row; if (items_selected.has_key (row.item.id)) { items_selected.unset (row.item.id); row.select_row (false); } else { items_selected[row.item.id] = row; row.select_row (true); } check_labels (row.item, true); check_select_bar (); }); Services.EventBus.get_default ().unselect_item.connect ((_row) => { var row = (Layouts.ItemBase) _row; if (items_selected.has_key (row.item.id)) { items_selected.unset (row.item.id); row.select_row (false); } check_labels (row.item, false); check_select_bar (); }); Services.EventBus.get_default ().unselect_all.connect (() => { unselect_all (); }); done_button.clicked.connect (() => { unselect_all (); }); schedule_button.duedate_changed.connect (() => { set_datetime (schedule_button.duedate); }); move_button.clicked.connect (() => { Dialogs.ProjectPicker.ProjectPicker dialog; if (project.is_inbox_project) { dialog = new Dialogs.ProjectPicker.ProjectPicker.for_projects (); } else { dialog = new Dialogs.ProjectPicker.ProjectPicker.for_source (project.source); } dialog.project = project; dialog.changed.connect ((type, id) => { move (Services.Store.instance ().get_project (id)); }); dialog.present (Planify._instance.main_window); }); label_button.labels_changed.connect ((labels) => { if (labels.size > 0) { set_labels (labels); } }); priority_button.changed.connect ((priority) => { set_priority (priority); }); } private void update_items (Gee.ArrayList objects) { if (project.source_type == SourceType.LOCAL || project.source_type == SourceType.CALDAV) { foreach (Objects.Item item in objects) { item.update_async (""); } } else if (project.source_type == SourceType.TODOIST) { done_button.is_loading = true; Services.Todoist.get_default ().update_items.begin (objects, (obj, res) => { Services.Todoist.get_default ().update_items.end (res); foreach (Objects.Item item in objects) { item.update_local (); } done_button.is_loading = false; }); } unselect_all (); } private void set_datetime (Objects.DueDate duedate) { Gee.ArrayList objects = new Gee.ArrayList (); foreach (string key in items_selected.keys) { var item = items_selected[key].item; item.update_due (duedate); objects.add (item); } update_items (objects); } private void set_priority (int priority) { Gee.ArrayList objects = new Gee.ArrayList (); foreach (string key in items_selected.keys) { var item = items_selected[key].item; if (item.priority != priority) { item.priority = priority; objects.add (item); } } update_items (objects); } private void set_labels (Gee.HashMap new_labels) { Gee.ArrayList objects = new Gee.ArrayList (); foreach (string key in items_selected.keys) { var item = items_selected[key].item; item.check_labels (new_labels); objects.add (item); } update_items (objects); } private Gtk.Popover build_menu_popover () { complete_item = new Widgets.ContextMenu.MenuItem (_ ("Mark as Completed"), "check-round-outline-symbolic"); var copy_item = new Widgets.ContextMenu.MenuItem (_ ("Copy to Clipboard"), "edit-copy-symbolic"); delete_item = new Widgets.ContextMenu.MenuItem (_ ("Delete"), "user-trash-symbolic"); delete_item.add_css_class ("menu-item-danger"); var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; menu_box.append (complete_item); menu_box.append (copy_item); menu_box.append (new Widgets.ContextMenu.MenuSeparator ()); menu_box.append (delete_item); var popover = new Gtk.Popover () { has_arrow = false, child = menu_box, position = TOP }; complete_item.clicked.connect (() => { foreach (string key in items_selected.keys) { items_selected[key].checked_toggled (true, 0); } unselect_all (); }); copy_item.clicked.connect (() => { var text = new StringBuilder (); foreach (string key in items_selected.keys) { var item = items_selected[key].item; text.append (item.to_clipboard_text ()); text.append ("\n\n"); } Gdk.Clipboard clipboard = Gdk.Display.get_default ().get_clipboard (); clipboard.set_text (text.str); Services.EventBus.get_default ().send_toast ( Util.get_default ().create_toast ( GLib.ngettext ( "%d task copied to clipboard", "%d tasks copied to clipboard", items_selected.size ).printf (items_selected.size) ) ); popover.popdown (); }); delete_item.clicked.connect (() => { string title = _ ("Delete To-Do"); string message = _ ("Are you sure you want to delete this to-do?"); if (items_selected.size > 0) { title = GLib.ngettext ( "Delete %d To-Do", "Delete %d To-Dos", items_selected.size ).printf (items_selected.size); message = GLib.ngettext ( "Are you sure you want to delete this %d to-do?", "Are you sure you want to delete these %d to-dos?", items_selected.size ).printf (items_selected.size); } var dialog = new Adw.AlertDialog (title, message); dialog.body_use_markup = true; dialog.add_response ("cancel", _ ("Cancel")); dialog.add_response ("delete", _ ("Delete")); dialog.set_response_appearance ("delete", Adw.ResponseAppearance.DESTRUCTIVE); dialog.present (Planify._instance.main_window); dialog.response.connect ((response) => { if (response == "delete") { foreach (string key in items_selected.keys) { items_selected[key].item.delete_item (); } unselect_all (); } }); }); return popover; } private void unselect_all () { foreach (string key in items_selected.keys) { items_selected[key].select_row (false); } items_selected.clear (); labels.clear (); size_label.label = "0"; closed (); } private void check_select_bar () { bool active = items_selected.size > 0; foreach (Layouts.ItemBase item_base in items_selected.values) { if (item_base.item.checked) { active = false; break; } } size_label.label = items_selected.size.to_string (); schedule_button.sensitive = active; move_button.sensitive = active; priority_button.sensitive = active; label_button.sensitive = active; complete_item.sensitive = active; } private void check_labels (Objects.Item item, bool active) { if (active) { foreach (Objects.Label label in item.get_labels_list ()) { if (!labels.has_key (label.id)) { labels[label.id] = label; } } } else { foreach (Objects.Label label in item.get_labels_list ()) { if (labels.has_key (label.id)) { labels.unset (label.id); } } } Gee.ArrayList _labels = new Gee.ArrayList (); foreach (Objects.Label label in labels.values) { _labels.add (label); } label_button.labels = _labels; } public void move (Objects.Project project) { int count = items_selected.size; foreach (string key in items_selected.keys) { var item = items_selected[key].item; string project_id = project.id; if (item.project.source_id != project.source_id) { Util.get_default ().move_backend_type_item.begin (item, project, "", false); } else { if (item.project_id != project_id || item.section_id != "") { item.move (project, "", false); } } } string message = GLib.ngettext ( "Task moved to %s", "%d tasks moved to %s", count ).printf (count, project.name); Services.EventBus.get_default ().send_toast ( Util.get_default ().create_toast (message) ); unselect_all (); } } alainm23-planify-69962f8/src/Widgets/NewVersionPopup.vala000066400000000000000000000073231517337276100232650ustar00rootroot00000000000000public class Widgets.NewVersionPopup : Adw.Bin { private Gtk.Label version_label; private Gtk.Label description_label; private Gtk.Image star_icon; private string _version; public signal void dismissed (); public string version { get { return _version; } set { _version = value; version_label.label = "v" + value; } } public string description { set { description_label.label = value; } } public void show_with_animation () { star_icon.add_css_class ("fancy-bounce-turn-animation"); Timeout.add (800, () => { star_icon.remove_css_class ("fancy-bounce-turn-animation"); return Source.REMOVE; }); } construct { star_icon = new Gtk.Image.from_icon_name ("star-outline-thick-symbolic") { valign = CENTER, pixel_size = 32 }; star_icon.add_css_class ("view-icon"); Util.get_default ().set_widget_color ("#3584e4", star_icon); var title_label = new Gtk.Label (_("New version available!")) { halign = START, valign = END, xalign = 0 }; title_label.add_css_class ("font-bold"); version_label = new Gtk.Label (null) { halign = START, valign = START, xalign = 0 }; version_label.add_css_class ("dimmed"); version_label.add_css_class ("caption"); var header_grid = new Gtk.Grid () { column_spacing = 12, row_spacing = 3 }; header_grid.attach (star_icon, 0, 0, 1, 2); header_grid.attach (title_label, 1, 0, 1, 1); header_grid.attach (version_label, 1, 1, 1, 1); description_label = new Gtk.Label (_("Update now to enjoy the latest improvements, bug fixes, and new features that make Planify even better")) { wrap = true, margin_top = 12, margin_bottom = 12, xalign = 0 }; var update_button = new Gtk.Button.with_label (_("Update Now")) { hexpand = true, margin_top = 6 }; update_button.add_css_class ("suggested-action"); update_button.clicked.connect (() => { bool launched = false; try { launched = AppInfo.launch_default_for_uri ("appstream://io.github.alainm23.planify", null); } catch (Error e) { warning ("Error opening software center: %s", e.message); } if (!launched) { try { AppInfo.launch_default_for_uri ("https://flathub.org/apps/io.github.alainm23.planify", null); } catch (Error e) { warning ("Error opening browser: %s", e.message); } } dismissed (); }); var dismiss_button = new Gtk.Button.with_label (_("Dismiss")) { hexpand = true }; dismiss_button.add_css_class ("flat"); dismiss_button.add_css_class ("caption"); dismiss_button.clicked.connect (() => { dismissed (); }); var content_box = new Gtk.Box (VERTICAL, 6); content_box.append (header_grid); content_box.append (description_label); content_box.append (update_button); content_box.append (dismiss_button); var card = new Adw.Bin () { margin_top = 12, margin_start = 12, margin_end = 12, margin_bottom = 12, child = content_box }; card.add_css_class ("card"); card.add_css_class ("version-popup"); child = card; } }alainm23-planify-69962f8/src/Widgets/PinnedItemsBox.vala000066400000000000000000000070311517337276100230260ustar00rootroot00000000000000/* * Copyright © 2024 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.PinnedItemsBox : Adw.Bin { public Objects.Project project { get; construct; } private Adw.WrapBox box_layout; private Gtk.Revealer main_revealer; public Gee.HashMap items_map = new Gee.HashMap (); public PinnedItemsBox (Objects.Project project) { Object ( project: project ); } ~PinnedItemsBox () { debug ("Destroying - Widgets.PinnedItemsBox\n"); } construct { box_layout = new Adw.WrapBox () { margin_start = 20, margin_end = 24, margin_top = 12, child_spacing = 12, halign = START }; main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = box_layout, reveal_child = false }; child = main_revealer; add_items (); project.item_added.connect ((item) => { add_item (item); }); project.item_deleted.connect ((item) => { update_pinboard (item); }); Services.EventBus.get_default ().item_moved.connect ((item) => { update_pinboard (item); }); Services.Store.instance ().item_pin_change.connect ((item) => { if (item.project_id != project.id) { return; } if (items_map.has_key (item.id) && !item.pinned) { items_map[item.id].hide_widget (); box_layout.remove (items_map[item.id]); items_map.unset (item.id); } if (!items_map.has_key (item.id) && item.pinned) { add_item (item); } check_reveal_child (); }); } private void add_items () { foreach (Objects.Item item in project.items_pinned) { add_item (item); } } private void add_item (Objects.Item item) { if (items_map.has_key (item.id)) { return; } if (!item.pinned) { return; } items_map[item.id] = new Layouts.ItemBoard (item) { hexpand = true, pin_mode = true }; box_layout.append (items_map[item.id]); check_reveal_child (); } private void update_pinboard (Objects.Item item) { if (!items_map.has_key (item.id)) { return; } items_map[item.id].hide_widget (); box_layout.remove (items_map[item.id]); items_map.unset (item.id); check_reveal_child (); } private void check_reveal_child () { main_revealer.reveal_child = items_map.size > 0; } } alainm23-planify-69962f8/src/Widgets/ProjectItemRow.vala000066400000000000000000000141641517337276100230600ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ProjectItemRow : Gtk.ListBoxRow { public string widget_type { get; construct; } public Objects.Project project { get; construct; } private Gtk.Label name_label; private Gtk.Revealer main_revealer; private Widgets.IconColorProject icon_project; private Gee.HashMap signal_map = new Gee.HashMap (); public ProjectItemRow (Objects.Project project, string widget_type = "picker") { Object ( project: project, widget_type: widget_type ); } ~ProjectItemRow () { debug ("Destroying - Widgets.ProjectItemRow\n"); } construct { add_css_class ("no-selectable"); add_css_class ("transition"); icon_project = new Widgets.IconColorProject (18); icon_project.project = project; icon_project.update_request (); name_label = new Gtk.Label (null); name_label.valign = Gtk.Align.CENTER; name_label.ellipsize = Pango.EllipsizeMode.END; var selected_icon = new Gtk.Image.from_icon_name ("checkmark-small-symbolic") { pixel_size = 16, hexpand = true, valign = Gtk.Align.CENTER, halign = Gtk.Align.END, margin_end = 3 }; selected_icon.add_css_class ("color-primary"); var selected_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.CROSSFADE, child = selected_icon }; var menu_button = new Gtk.MenuButton () { hexpand = true, halign = END, popover = build_context_menu (), icon_name = "view-more-symbolic", css_classes = { "flat" } }; var content_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_top = 9, margin_start = 9, margin_end = 9, margin_bottom = 9 }; content_box.append (icon_project); content_box.append (name_label); if (widget_type == "picker") { content_box.append (selected_revealer); } if (widget_type == "menu") { content_box.margin_top = 3; content_box.margin_bottom = 3; content_box.margin_end = 3; content_box.append (menu_button); } main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = content_box }; child = main_revealer; update_request (); Timeout.add (main_revealer.transition_duration, () => { main_revealer.reveal_child = true; return GLib.Source.REMOVE; }); var select_gesture = new Gtk.GestureClick (); add_controller (select_gesture); signal_map[select_gesture.pressed.connect (() => { Services.EventBus.get_default ().project_picker_changed (project.id); })] = select_gesture; signal_map[Services.EventBus.get_default ().project_picker_changed.connect ((id) => { selected_revealer.reveal_child = project.id == id; })] = Services.EventBus.get_default (); signal_map[project.deleted.connect (() => { hide_destroy (); })] = project; signal_map[project.unarchived.connect (() => { hide_destroy (); })] = project; destroy.connect (() => { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); }); } public void update_request () { name_label.label = project.inbox_project ? _("Inbox") : project.name; icon_project.update_request (); } public void hide_destroy () { main_revealer.reveal_child = false; clean_up (); Timeout.add (main_revealer.transition_duration, () => { ((Gtk.ListBox) parent).remove (this); return GLib.Source.REMOVE; }); } private Gtk.Popover build_context_menu () { var unarchive_item = new Widgets.ContextMenu.MenuItem (_("Unarchive"), "shoe-box-symbolic"); var delete_item = new Widgets.ContextMenu.MenuItem (_("Delete Project"), "user-trash-symbolic"); delete_item.add_css_class ("menu-item-danger"); var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; menu_box.append (unarchive_item); menu_box.append (delete_item); var menu_popover = new Gtk.Popover () { has_arrow = false, child = menu_box, position = Gtk.PositionType.BOTTOM, width_request = 250 }; signal_map[delete_item.clicked.connect (() => { menu_popover.popdown (); project.delete_project ((Gtk.Window) Planify.instance.main_window); })] = delete_item; signal_map[unarchive_item.clicked.connect (() => { menu_popover.popdown (); project.unarchive_project (); })] = unarchive_item; return menu_popover; } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); } } alainm23-planify-69962f8/src/Widgets/ReorderChild.vala000066400000000000000000000201521517337276100225030ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ReorderChild : Adw.Bin { public Gtk.Widget widget { get; construct; } public weak Gtk.ListBoxRow row { get; construct; } private Adw.Bin motion_top_grid; private Gtk.Revealer motion_top_revealer; private Adw.Bin motion_bottom_grid; private Gtk.Revealer motion_bottom_revealer; private Gtk.Revealer main_revealer; private Gtk.DragSource drag_source; private Gtk.DropTarget drop_order_top_target; private Gtk.DropTarget drop_order_bottom_target; private Gtk.DropControllerMotion drop_motion_ctrl; public bool reveal_child { set { main_revealer.reveal_child = value; } get { return main_revealer.reveal_child; } } public bool on_drag { get; set; default = false; } public signal void on_drop_end (Gtk.ListBox listbox); public signal void on_drag_event (bool active); private Gee.HashMap signal_map = new Gee.HashMap (); public ReorderChild (Gtk.Widget widget, Gtk.ListBoxRow row) { Object ( widget: widget, row: row ); } ~ReorderChild () { debug ("Destroying - Widgets.ReorderChild\n"); } construct { motion_top_grid = new Adw.Bin () { css_classes = { "drop-target-none" } }; motion_top_revealer = new Gtk.Revealer () { transition_type = SLIDE_UP, transition_duration = 150, child = motion_top_grid }; motion_bottom_grid = new Adw.Bin () { css_classes = { "drop-target-none" } }; motion_bottom_revealer = new Gtk.Revealer () { transition_type = SLIDE_DOWN, transition_duration = 150, child = motion_bottom_grid }; var main_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); main_box.append (motion_top_revealer); main_box.append (widget); main_box.append (motion_bottom_revealer); main_revealer = new Gtk.Revealer () { transition_type = SLIDE_DOWN, child = main_box, reveal_child = true }; child = main_revealer; destroy.connect (() => { clean_up (); }); } public void build_drag_and_drop () { drag_source = new Gtk.DragSource (); drag_source.set_actions (Gdk.DragAction.MOVE); row.add_controller (drag_source); signal_map[drag_source.prepare.connect ((source, x, y) => { return new Gdk.ContentProvider.for_value (this); })] = drag_source; signal_map[drag_source.drag_begin.connect ((source, drag) => { var paintable = new Gtk.WidgetPaintable (widget); source.set_icon (paintable, 0, 0); drag_begin (); })] = drag_source; signal_map[drag_source.drag_end.connect ((source, drag, delete_data) => { drag_end (); })] = drag_source; signal_map[drag_source.drag_cancel.connect ((source, drag, reason) => { drag_end (); return false; })] = drag_source; drop_order_top_target = new Gtk.DropTarget (typeof (Widgets.ReorderChild), Gdk.DragAction.MOVE); motion_top_grid.add_controller (drop_order_top_target); signal_map[drop_order_top_target.drop.connect ((value, x, y) => on_drop (value, x, y, false))] = drop_order_top_target; drop_order_bottom_target = new Gtk.DropTarget (typeof (Widgets.ReorderChild), Gdk.DragAction.MOVE); motion_bottom_grid.add_controller (drop_order_bottom_target); signal_map[drop_order_bottom_target.drop.connect ((value, x, y) => on_drop (value, x, y, true))] = drop_order_bottom_target; drop_motion_ctrl = new Gtk.DropControllerMotion (); row.add_controller (drop_motion_ctrl); signal_map[drop_motion_ctrl.motion.connect ((x, y) => { var row_height = row.get_height (); bool is_top_half = (y < row_height / 2); if (motion_top_revealer.reveal_child != is_top_half) motion_top_revealer.reveal_child = is_top_half; if (motion_bottom_revealer.reveal_child != !is_top_half) motion_bottom_revealer.reveal_child = !is_top_half; })] = drop_motion_ctrl; signal_map[drop_motion_ctrl.leave.connect (() => { motion_top_revealer.reveal_child = false; motion_bottom_revealer.reveal_child = false; })] = drop_motion_ctrl; } private bool on_drop (GLib.Value value, double x, double y, bool bottom = false) { var picked_widget = (Widgets.ReorderChild) value; var target_widget = this; picked_widget.drag_end (); target_widget.drag_end (); target_widget.motion_top_revealer.reveal_child = false; target_widget.motion_bottom_revealer.reveal_child = false; if (picked_widget == target_widget || target_widget == null) { return false; } var source_list = (Gtk.ListBox) picked_widget.row.parent; var target_list = (Gtk.ListBox) target_widget.row.parent; var picked_row = picked_widget.row; source_list.remove (picked_row); target_list.insert (picked_row, target_widget.row.get_index () + (bottom ? 1 : 0)); on_drop_end (target_list); return true; } public void drag_begin () { widget.add_css_class ("drop-begin"); on_drag = true; on_drag_event (true); main_revealer.reveal_child = false; } public void drag_end () { widget.remove_css_class ("drop-begin"); on_drag = false; on_drag_event (false); main_revealer.reveal_child = true; } public void draw_motion_widgets () { var height = row.get_height (); if (height == 0) { height = 32; } motion_top_grid.height_request = height; motion_bottom_grid.height_request = height; } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); if (drag_source != null && row != null) { row.remove_controller (drag_source); drag_source = null; } if (drop_order_top_target != null && motion_top_grid != null) { motion_top_grid.remove_controller (drop_order_top_target); drop_order_top_target = null; } if (drop_order_bottom_target != null && motion_bottom_grid != null) { motion_bottom_grid.remove_controller (drop_order_bottom_target); drop_order_bottom_target = null; } if (drop_motion_ctrl != null && row != null) { row.remove_controller (drop_motion_ctrl); drop_motion_ctrl = null; } if (main_revealer != null) { main_revealer.child = null; } if (motion_top_revealer != null) { motion_top_revealer.child = null; } if (motion_bottom_revealer != null) { motion_bottom_revealer.child = null; } child = null; motion_top_grid = null; motion_top_revealer = null; motion_bottom_grid = null; motion_bottom_revealer = null; main_revealer = null; } } alainm23-planify-69962f8/src/Widgets/ScrolledWindow.vala000066400000000000000000000113421517337276100230750ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.ScrolledWindow : Adw.Bin { public Gtk.Widget widget { get; construct; } public Gtk.Orientation orientation { get; construct; } public int margin { get; set; default = 64; } private Gtk.ScrolledWindow scrolled_window; private Gtk.DropControllerMotion drop_motion_ctrl; private uint scroll_timeout_id = 0; private double scroll_speed = 0; public Gtk.Adjustment vadjustment { get { return scrolled_window.vadjustment; } } public Gtk.Adjustment hadjustment { get { return scrolled_window.hadjustment; } } public ScrolledWindow (Gtk.Widget widget, Gtk.Orientation orientation = Gtk.Orientation.VERTICAL) { Object ( widget: widget, orientation: orientation ); } ~ScrolledWindow () { debug ("Destroying - Widgets.ScrolledWindow\n"); } construct { scrolled_window = new Gtk.ScrolledWindow () { hexpand = true, vexpand = true, hscrollbar_policy = orientation == Gtk.Orientation.VERTICAL ? Gtk.PolicyType.NEVER : Gtk.PolicyType.AUTOMATIC, vscrollbar_policy = orientation == Gtk.Orientation.VERTICAL ? Gtk.PolicyType.AUTOMATIC : Gtk.PolicyType.NEVER, child = widget, propagate_natural_height = true, propagate_natural_width = true }; drop_motion_ctrl = new Gtk.DropControllerMotion (); scrolled_window.add_controller (drop_motion_ctrl); drop_motion_ctrl.motion.connect ((x, y) => { double distance_from_edge = 0; bool should_scroll = false; bool scroll_up = false; if (orientation == Gtk.Orientation.VERTICAL) { int height = scrolled_window.get_height (); if (y < margin) { distance_from_edge = margin - y; should_scroll = true; scroll_up = true; } else if (y > (height - margin)) { distance_from_edge = y - (height - margin); should_scroll = true; scroll_up = false; } } else { int width = scrolled_window.get_width (); if (x < margin) { distance_from_edge = margin - x; should_scroll = true; scroll_up = true; } else if (x > (width - margin)) { distance_from_edge = x - (width - margin); should_scroll = true; scroll_up = false; } } if (should_scroll) { scroll_speed = (distance_from_edge / margin) * (scroll_up ? -1 : 1); start_auto_scroll (); } else { stop_auto_scroll (); } }); drop_motion_ctrl.leave.connect (() => { stop_auto_scroll (); }); child = scrolled_window; } private void start_auto_scroll () { if (scroll_timeout_id > 0) { return; } scroll_timeout_id = GLib.Timeout.add (16, () => { if (!drop_motion_ctrl.contains_pointer) { stop_auto_scroll (); return false; } var adj = orientation == Gtk.Orientation.VERTICAL ? scrolled_window.get_vadjustment () : scrolled_window.get_hadjustment (); double new_value = adj.get_value () + (scroll_speed * 10); new_value = double.max (adj.get_lower (), double.min (new_value, adj.get_upper () - adj.get_page_size ())); adj.set_value (new_value); return true; }); } private void stop_auto_scroll () { if (scroll_timeout_id > 0) { GLib.Source.remove (scroll_timeout_id); scroll_timeout_id = 0; } scroll_speed = 0; } } alainm23-planify-69962f8/src/Widgets/SectionItemRow.vala000066400000000000000000000173701517337276100230600ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.SectionItemRow : Gtk.ListBoxRow { public Objects.Section section { get; construct; } public string widget_type { get; construct; } private Gtk.Label name_label; private Gtk.Grid handle_grid; private Widgets.ReorderChild reorder_child; private Gtk.Revealer main_revealer; public bool is_inbox_section { get { return section.id == ""; } } public signal void update_section (); private Gee.HashMap signal_map = new Gee.HashMap (); public SectionItemRow (Objects.Section section, string widget_type = "picker") { Object ( section: section, widget_type: widget_type ); } ~SectionItemRow () { debug ("Destroying - Widgets.SectionItemRow\n"); } construct { add_css_class ("no-selectable"); add_css_class ("transition"); name_label = new Gtk.Label (section.name) { valign = CENTER, ellipsize = END }; var selected_icon = new Gtk.Image.from_icon_name ("checkmark-small-symbolic") { pixel_size = 16, hexpand = true, valign = Gtk.Align.CENTER, halign = Gtk.Align.END, margin_end = 3 }; selected_icon.add_css_class ("color-primary"); var selected_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.CROSSFADE, child = selected_icon }; var hidded_switch = new Gtk.Switch () { css_classes = { "active-switch" }, active = is_inbox_section ? !section.project.inbox_section_hidded : !section.hidded, halign = Gtk.Align.END, hexpand = true }; var order_icon = new Gtk.Image.from_icon_name ("list-drag-handle-symbolic") { css_classes = { "dimmed" }, pixel_size = 12 }; var menu_button = new Gtk.MenuButton () { hexpand = true, halign = END, popover = build_context_menu (), icon_name = "view-more-symbolic", css_classes = { "flat" } }; var content_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_top = 9, margin_start = 12, margin_end = 9, margin_bottom = 9 }; if (widget_type == "order") { if (!is_inbox_section) { content_box.append (order_icon); } content_box.append (name_label); content_box.append (hidded_switch); } if (widget_type == "picker") { content_box.append (name_label); content_box.append (selected_revealer); } if (widget_type == "menu") { content_box.margin_top = 3; content_box.margin_bottom = 3; content_box.margin_end = 3; content_box.append (name_label); content_box.append (menu_button); } handle_grid = new Gtk.Grid (); handle_grid.attach (content_box, 0, 0); reorder_child = new Widgets.ReorderChild (handle_grid, this); main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = reorder_child }; child = main_revealer; Timeout.add (main_revealer.transition_duration, () => { main_revealer.reveal_child = true; return GLib.Source.REMOVE; }); if (widget_type == "picker") { var select_gesture = new Gtk.GestureClick (); add_controller (select_gesture); signal_map[select_gesture.pressed.connect (() => { Services.EventBus.get_default ().section_picker_changed (section.id); })] = select_gesture; signal_map[Services.EventBus.get_default ().section_picker_changed.connect ((type, id) => { selected_revealer.reveal_child = section.id == id; })] = Services.EventBus.get_default (); } if (widget_type == "order") { if (!is_inbox_section) { reorder_child.build_drag_and_drop (); } signal_map[hidded_switch.notify["active"].connect (() => { if (section.id == "") { section.project.inbox_section_hidded = !hidded_switch.active; section.project.update_local (); } else { section.hidded = !hidded_switch.active; Services.Database.get_default ().update_section (section); } update_section (); })] = hidded_switch; signal_map[reorder_child.on_drop_end.connect (() => { update_section (); })] = reorder_child; main_revealer.notify["child-revealed"].connect (() => { reorder_child.draw_motion_widgets (); }); } if (widget_type == "menu") { signal_map[section.unarchived.connect (() => { hide_destroy (); })] = section; } section.deleted.connect (() => { hide_destroy (); }); destroy.connect (() => { clean_up (); }); } public void hide_destroy () { main_revealer.reveal_child = false; Timeout.add (main_revealer.transition_duration, () => { ((Gtk.ListBox) parent).remove (this); return GLib.Source.REMOVE; }); } private Gtk.Popover build_context_menu () { var unarchive_item = new Widgets.ContextMenu.MenuItem (_("Unarchive"), "shoe-box-symbolic"); var delete_item = new Widgets.ContextMenu.MenuItem (_("Delete Section"), "user-trash-symbolic"); delete_item.add_css_class ("menu-item-danger"); var menu_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 0); menu_box.margin_top = menu_box.margin_bottom = 3; menu_box.append (unarchive_item); menu_box.append (delete_item); var menu_popover = new Gtk.Popover () { has_arrow = false, child = menu_box, position = Gtk.PositionType.BOTTOM, width_request = 250 }; signal_map[delete_item.clicked.connect (() => { menu_popover.popdown (); section.delete_section ((Gtk.Window) Planify.instance.main_window); })] = delete_item; signal_map[unarchive_item.clicked.connect (() => { menu_popover.popdown (); section.unarchive_section (); })] = unarchive_item; return menu_popover; } public void clean_up () { foreach (var entry in signal_map.entries) { entry.value.disconnect (entry.key); } signal_map.clear (); if (reorder_child != null) { reorder_child.clean_up (); reorder_child = null; } } } alainm23-planify-69962f8/src/Widgets/SectionsOrderPopover.vala000066400000000000000000000141321517337276100242740ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.SectionsOrderPopover : Gtk.Popover { public Objects.Project project { get; construct; } private Gtk.ListBox listbox; public SectionsOrderPopover (Objects.Project project) { Object ( project: project, has_arrow: false, // autohide: false, position: Gtk.PositionType.BOTTOM, width_request: 250 ); } construct { listbox = new Gtk.ListBox (); var add_section_item = new Widgets.ContextMenu.MenuItem (_("Add Section"), "planner-section"); var main_content = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { hexpand = true, vexpand = true }; main_content.append (listbox); main_content.append (new Widgets.ContextMenu.MenuSeparator ()); main_content.append (add_section_item); child = main_content; foreach (Objects.Section section in project.sections) { listbox.append (new Widgets.SectionsOrderItem (section)); } Timeout.add (225, () => { set_sort_func (); return GLib.Source.REMOVE; }); } private void set_sort_func () { listbox.set_sort_func ((row1, row2) => { Objects.Section item1 = ((Widgets.SectionsOrderItem) row1).section; Objects.Section item2 = ((Widgets.SectionsOrderItem) row2).section; return item1.section_order - item2.section_order; }); listbox.set_sort_func (null); } } public class Widgets.SectionsOrderItem : Gtk.ListBoxRow { public Objects.Section section { get; construct; } private Gtk.Grid handle_grid; public SectionsOrderItem (Objects.Section section) { Object ( section: section ); } construct { add_css_class ("no-selectable"); add_css_class ("transition"); var order_icon = new Gtk.Image.from_icon_name ("list-drag-handle-symbolic") { css_classes = { "dimmed" }, pixel_size = 12 }; var widget_color = new Gtk.Grid () { height_request = 12, width_request = 12, valign = Gtk.Align.CENTER, halign = Gtk.Align.CENTER }; widget_color.add_css_class ("label-color"); Util.get_default ().set_widget_color ("#7ecc49", widget_color); var name_label = new Gtk.Label (section.name); name_label.valign = Gtk.Align.CENTER; name_label.ellipsize = Pango.EllipsizeMode.END; var visible_switch = new Gtk.Switch () { valign = CENTER, hexpand = true, halign = END, margin_start = 6 }; visible_switch.add_css_class ("switch-min"); var content_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6) { margin_top = 6, margin_start = 10, margin_end = 6, margin_bottom = 6 }; content_box.append (order_icon); content_box.append (name_label); content_box.append (visible_switch); handle_grid = new Gtk.Grid (); handle_grid.attach (content_box, 0, 0); child = handle_grid; build_drag_and_drop (); } private void build_drag_and_drop () { var drag_source = new Gtk.DragSource (); drag_source.set_actions (Gdk.DragAction.MOVE); drag_source.prepare.connect ((source, x, y) => { return new Gdk.ContentProvider.for_value (this); }); drag_source.drag_begin.connect ((source, drag) => { var paintable = new Gtk.WidgetPaintable (handle_grid); source.set_icon (paintable, 0, 0); drag_begin (); }); drag_source.drag_end.connect ((source, drag, delete_data) => { drag_end (); }); drag_source.drag_cancel.connect ((source, drag, reason) => { drag_end (); return false; }); add_controller (drag_source); var drop_target = new Gtk.DropTarget (typeof (Widgets.SectionsOrderItem), Gdk.DragAction.MOVE); drop_target.preload = true; drop_target.drop.connect ((value, x, y) => { var picked_widget = (Widgets.SectionsOrderItem) value; var target_widget = this; picked_widget.drag_end (); target_widget.drag_end (); if (picked_widget == target_widget || target_widget == null) { return false; } var source_list = (Gtk.ListBox) picked_widget.parent; var target_list = (Gtk.ListBox) target_widget.parent; var position = 0; source_list.remove (picked_widget); if (target_widget.get_index () == 0) { if (y > (target_widget.get_height () / 2)) { position = target_widget.get_index () + 1; } } else { position = target_widget.get_index () + 1; } target_list.insert (picked_widget, position); return true; }); add_controller (drop_target); } public void drag_begin () { handle_grid.add_css_class ("card"); opacity = 0.3; } public void drag_end () { handle_grid.remove_css_class ("card"); opacity = 1; } } alainm23-planify-69962f8/src/Widgets/SubItems.vala000066400000000000000000000440121517337276100216710ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.SubItems : Adw.Bin { public bool is_board { get; construct; } public bool is_project_view { get; construct; } public Objects.Item item_parent { get; set; } private Gtk.Revealer sub_tasks_header_revealer; private Gtk.ListBox listbox; private Gtk.ListBox checked_listbox; private Gtk.Button load_more_button; private Gtk.Revealer load_more_button_revealer; private Gtk.Revealer checked_revealer; private Gtk.Revealer main_revealer; public Widgets.LoadingButton add_button; private Gee.HashMap signal_map = new Gee.HashMap (); public Gee.HashMap items_map = new Gee.HashMap (); public Gee.HashMap items_checked = new Gee.HashMap (); private Gee.ArrayList completed_items_list; private int completed_page_index = 0; private const int PAGE_SIZE = Constants.COMPLETED_PAGE_SIZE; public bool has_children { get { return items_map.size > 0 || (items_checked.size > 0 && show_completed); } } public bool show_completed { get { if (Services.Settings.get_default ().settings.get_boolean ("always-show-completed-subtasks")) { return true; } else { return item_parent.project.show_completed; } } } public bool reveal_child { get { return main_revealer.reveal_child; } set { main_revealer.reveal_child = value; } } public signal void children_changes (); public SubItems (bool is_project_view = false) { Object ( is_board: false, is_project_view: is_project_view ); } public SubItems.for_board () { Object ( is_board: true, is_project_view: false ); } ~SubItems () { debug ("Destroying - Widgets.SubItems\n"); } construct { var sub_tasks_title = new Gtk.Label (_ ("Sub-tasks")) { css_classes = { "heading", "h4" } }; add_button = new Widgets.LoadingButton.with_icon ("plus-large-symbolic", 16) { css_classes = { "flat" }, hexpand = true, halign = END }; var sub_tasks_header = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0) { margin_start = 9, margin_end = 9 }; sub_tasks_header.append (sub_tasks_title); sub_tasks_header.append (add_button); sub_tasks_header_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, reveal_child = is_board, child = sub_tasks_header }; listbox = new Gtk.ListBox () { valign = Gtk.Align.START, activate_on_single_click = true, selection_mode = Gtk.SelectionMode.SINGLE, hexpand = true, css_classes = { "listbox-background" }, margin_start = is_board ? 6 : 0, margin_end = is_board ? 9 : 0, }; if (is_board) { listbox.set_placeholder (get_placeholder ()); } checked_listbox = new Gtk.ListBox () { valign = Gtk.Align.START, activate_on_single_click = true, selection_mode = Gtk.SelectionMode.SINGLE, hexpand = true, css_classes = { "listbox-background" }, margin_start = is_board ? 6 : 0, margin_end = is_board ? 12 : 0, }; load_more_button = new Gtk.Button.with_label ("Cargar más") { halign = START, margin_start = 9 }; load_more_button.add_css_class ("flat"); load_more_button_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, reveal_child = false, child = load_more_button }; var checked_listbox_container = new Gtk.Box (VERTICAL, 6); checked_listbox_container.append (checked_listbox); checked_listbox_container.append (load_more_button_revealer); checked_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = checked_listbox_container }; var main_grid = new Gtk.Box (Gtk.Orientation.VERTICAL, 0) { hexpand = true, margin_start = 3 }; main_grid.append (sub_tasks_header_revealer); main_grid.append (listbox); main_grid.append (checked_revealer); main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN, child = main_grid }; child = main_revealer; } public void present_item (Objects.Item _item_parent) { item_parent = _item_parent; add_items (); checked_revealer.reveal_child = show_completed; signal_map[item_parent.item_added.connect (add_item)] = item_parent; signal_map[Services.Store.instance ().item_updated.connect ((item, update_id) => { if (items_map.has_key (item.id)) { if (items_map[item.id].update_id != update_id) { items_map[item.id].update_request (); update_sort (); } } if (items_checked.has_key (item.id)) { items_checked[item.id].update_request (); } })] = Services.Store.instance (); signal_map[Services.Store.instance ().item_pin_change.connect ((item) => { // vala-lint=no-space if (!item.pinned && item.parent_id == item_parent.id && !items_map.has_key (item.id)) { add_item (item); } if (item.pinned && items_map.has_key (item.id)) { items_map[item.id].hide_destroy (); items_map.unset (item.id); } })] = Services.Store.instance (); signal_map[Services.Store.instance ().item_deleted.connect ((item) => { if (items_map.has_key (item.id)) { items_map[item.id].hide_destroy (); items_map.unset (item.id); } if (items_checked.has_key (item.id)) { items_checked[item.id].hide_destroy (); items_checked.unset (item.id); } children_changes (); })] = Services.Store.instance (); signal_map[Services.EventBus.get_default ().item_moved.connect ((item, old_project_id, old_section_id, old_parent_id) => { if (old_parent_id == item_parent.id) { if (items_map.has_key (item.id)) { items_map[item.id].hide_destroy (); items_map.unset (item.id); } if (items_checked.has_key (item.id)) { items_checked[item.id].hide_destroy (); items_checked.unset (item.id); } } if (item.parent_id == item_parent.id) { add_item (item); } update_sort (); children_changes (); })] = Services.EventBus.get_default (); signal_map[Services.EventBus.get_default ().checked_toggled.connect ((item, old_checked) => { if (item.parent_id == item_parent.id) { if (!old_checked) { if (items_map.has_key (item.id)) { items_map[item.id].hide_destroy (); items_map.unset (item.id); } if (!items_checked.has_key (item.id)) { if (is_board) { items_checked[item.id] = new Layouts.ItemBoard (item); } else { items_checked[item.id] = new Layouts.ItemRow (item, is_project_view); } checked_listbox.insert (items_checked[item.id], 0); } } else { if (items_checked.has_key (item.id)) { items_checked[item.id].hide_destroy (); items_checked.unset (item.id); } if (!items_map.has_key (item.id)) { if (is_board) { items_map[item.id] = new Layouts.ItemBoard (item); } else { items_map[item.id] = new Layouts.ItemRow (item, is_project_view); } listbox.append (items_map[item.id]); children_changes (); } } children_changes (); } })] = Services.EventBus.get_default (); signal_map[Services.EventBus.get_default ().update_inserted_item_map.connect ((_row, old_section_id, old_parent_id) => { if (!is_board) { var row = (Layouts.ItemRow) _row; if (old_parent_id == item_parent.id) { if (items_map.has_key (row.item.id)) { items_map.unset (row.item.id); } if (items_checked.has_key (row.item.id)) { items_checked.unset (row.item.id); } children_changes (); } } })] = Services.EventBus.get_default (); signal_map[add_button.clicked.connect (() => { prepare_new_item (); })] = add_button; signal_map[item_parent.project.sort_order_changed.connect (() => { update_sort (); })] = item_parent.project; signal_map[item_parent.project.sorted_by_changed.connect (() => { update_sort (); })] = item_parent.project; signal_map[Services.Settings.get_default ().settings.changed["always-show-completed-subtasks"].connect (() => { checked_revealer.reveal_child = show_completed; if (show_completed) { add_completed_items (); } })] = Services.Settings.get_default ().settings; signal_map[Services.EventBus.get_default ().expand_all.connect ((project_id, value) => { if (item_parent.project_id == project_id) { foreach (Layouts.ItemBase row_base in items_map.values) { if (row_base is Layouts.ItemRow) { ((Layouts.ItemRow) row_base).edit = value; } } } })] = Services.Settings.get_default (); signal_map[item_parent.project.show_completed_changed.connect (() => { if (!Services.Settings.get_default ().settings.get_boolean ("always-show-completed-subtasks")) { checked_revealer.reveal_child = show_completed; if (show_completed) { add_completed_items (); } else { items_checked.clear (); foreach (unowned Gtk.Widget child in Util.get_default ().get_children (checked_listbox)) { checked_listbox.remove (child); } } } })] = item_parent.project; signal_map[load_more_button.clicked.connect (() => { load_next_completed_page (); })] = load_more_button; } public void add_items () { items_map.clear (); foreach (unowned Gtk.Widget child in Util.get_default ().get_children (listbox)) { listbox.remove (child); } foreach (Objects.Item item in item_parent.items) { add_item (item); } if (show_completed) { add_completed_items (); } update_sort (); } public void add_completed_items () { items_checked.clear (); foreach (unowned Gtk.Widget child in Util.get_default ().get_children (checked_listbox)) { checked_listbox.remove (child); } completed_items_list = new Gee.ArrayList (); foreach (Objects.Item item in item_parent.items) { if (item.checked) { completed_items_list.add (item); } } completed_items_list.sort ((a, b) => { var completed_a = Utils.Datetime.get_date_only ( Utils.Datetime.get_date_from_string (a.completed_at) ); var completed_b = Utils.Datetime.get_date_only ( Utils.Datetime.get_date_from_string (b.completed_at) ); return completed_b.compare (completed_a); }); completed_page_index = 0; load_next_completed_page (); } private void load_next_completed_page () { int start = completed_page_index * PAGE_SIZE; int end = (start + PAGE_SIZE < completed_items_list.size) ? (start + PAGE_SIZE) : completed_items_list.size; for (int i = start; i < end; i++) { Objects.Item item = completed_items_list[i]; add_complete_item (item); } completed_page_index++; update_load_more_button_label (); } private void update_load_more_button_label () { int loaded = completed_page_index * PAGE_SIZE; int remaining = completed_items_list.size - loaded; if (remaining > 0) { int to_show = remaining < PAGE_SIZE ? remaining : PAGE_SIZE; load_more_button.label = "+%d %s".printf (to_show, _ ("completed tasks")); load_more_button_revealer.reveal_child = true; } else { load_more_button.set_label ("No more tasks"); load_more_button_revealer.reveal_child = false; } } public void add_complete_item (Objects.Item item) { if (show_completed && item.checked) { if (!items_checked.has_key (item.id)) { if (is_board) { items_checked[item.id] = new Layouts.ItemBoard (item); } else { items_checked[item.id] = new Layouts.ItemRow (item, is_project_view); } checked_listbox.append (items_checked[item.id]); } } } public void add_item (Objects.Item item) { if (item.checked) { return; } if (item.pinned) { return; } if (items_map.has_key (item.id)) { return; } if (is_board) { items_map[item.id] = new Layouts.ItemBoard (item); } else { items_map[item.id] = new Layouts.ItemRow (item, is_project_view); } listbox.append (items_map[item.id]); children_changes (); } private void update_sort () { listbox.set_sort_func (set_sort_func); listbox.set_sort_func (null); } private int set_sort_func (Gtk.ListBoxRow lbrow, Gtk.ListBoxRow lbbefore) { Objects.Item item1; Objects.Item item2; if (is_board) { item1 = ((Layouts.ItemBoard) lbrow).item; item2 = ((Layouts.ItemBoard) lbbefore).item; } else { item1 = ((Layouts.ItemRow) lbrow).item; item2 = ((Layouts.ItemRow) lbbefore).item; } return Util.get_default ().set_item_sort_func ( item1, item2, item_parent.project.sorted_by, item_parent.project.sort_order ); } public void prepare_new_item (string content = "") { var dialog = new Dialogs.QuickAdd (); dialog.for_base_object (item_parent); dialog.update_content (content); dialog.present (Planify._instance.main_window); } public void clean_up () { listbox.set_sort_func (null); foreach (var row in Util.get_default ().get_children (listbox)) { ((Layouts.ItemBase) row).clean_up (); } foreach (var row in Util.get_default ().get_children (checked_listbox)) { ((Layouts.ItemBase) row).clean_up (); } foreach (var entry in signal_map.entries) { if (entry.value != null && GLib.SignalHandler.is_connected (entry.value, entry.key)) { entry.value.disconnect (entry.key); } } signal_map.clear (); } public void disable_drag_and_drop () { foreach (Layouts.ItemBase row in items_map.values) { ((Layouts.ItemRow) row).disable_drag_and_drop (); } } private Gtk.Widget get_placeholder () { var message_label = new Gtk.Label (_ ("No subtasks added yet. Get started!")) { wrap = true, justify = Gtk.Justification.CENTER, hexpand = true, vexpand = true, margin_top = 24, margin_start = 24, margin_end = 24, margin_bottom = 24 }; var placeholder_grid = new Adw.Bin () { hexpand = true, vexpand = true, margin_top = 6, margin_start = 3, margin_end = 3, margin_bottom = 6, child = message_label }; placeholder_grid.add_css_class ("card"); return placeholder_grid; } } alainm23-planify-69962f8/src/Widgets/SyncButton.vala000066400000000000000000000061121517337276100222450ustar00rootroot00000000000000/* * Copyright © 2023 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.SyncButton : Adw.Bin { private Gtk.Revealer main_revealer; private Gtk.Stack stack; private Gtk.Button sync_button; public signal void clicked (); public bool reveal_child { set { main_revealer.reveal_child = value; } } ~SyncButton () { debug ("Destroying Widgets.SyncButton\n"); } construct { sync_button = new Gtk.Button.from_icon_name ("update-symbolic") { valign = Gtk.Align.CENTER, css_classes = { "flat", "header-item-button" } }; var error_button = new Gtk.Button.from_icon_name ("dialog-warning-symbolic") { valign = Gtk.Align.CENTER, css_classes = { "flat", "header-item-button" } }; stack = new Gtk.Stack () { transition_type = Gtk.StackTransitionType.CROSSFADE }; stack.add_named (sync_button, "sync"); stack.add_named (error_button, "error"); main_revealer = new Gtk.Revealer () { transition_type = Gtk.RevealerTransitionType.CROSSFADE, child = stack }; child = main_revealer; Timeout.add (main_revealer.transition_duration, () => { return GLib.Source.REMOVE; }); sync_button.clicked.connect (() => { clicked (); }); error_button.clicked.connect (() => { clicked (); }); } public void sync_started () { stack.visible_child_name = "sync"; tooltip_markup = ""; sync_button.add_css_class ("is_loading"); } public void sync_finished () { sync_button.remove_css_class ("is_loading"); } public void sync_failed (string? custom_message = null) { sync_button.remove_css_class ("is_loading"); stack.visible_child_name = "error"; if (custom_message != null && custom_message != "") { tooltip_markup = custom_message; } else { tooltip_markup = "%s\n%s".printf (_("Failed to connect to server"), _("It looks like the server is unreachable,\nare you connected to the internet?\nAny changes you make while disconnected\nwill be synchronized when you reconnect.")); // vala-lint=line-length } } } alainm23-planify-69962f8/src/Widgets/TranslationRow.vala000066400000000000000000000234321517337276100231270ustar00rootroot00000000000000/* * Copyright © 2025 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA * * Authored by: Alain M. */ public class Widgets.TranslationRow : Adw.PreferencesRow { private Gtk.Image _icon; private Gtk.Label _title_label; private Gtk.Label _subtitle_label; private Gtk.LevelBar _level_bar; public string? icon_name { owned get { return _icon.icon_name; } set { _icon.icon_name = value; } } public string title { owned get { return _title_label.label; } set { _title_label.label = value; } } public string subtitle { owned get { return _subtitle_label.label; } set { _subtitle_label.label = value; } } public double progress { get { return _level_bar.value; } set { _level_bar.value = value; } } public void hide_level_bar () { _level_bar.visible = false; } public void show_level_bar () { _level_bar.visible = true; } private string _language_name = ""; private double _target_percent = 0.0; public bool is_ready_to_animate { get; private set; default = false; } private bool _animation_played = false; public void prepare_animation (string language_name, double target_percent) { _language_name = language_name; _target_percent = target_percent; is_ready_to_animate = true; } public void trigger_animation () { if (_animation_played || !is_ready_to_animate) { return; } _animation_played = true; var animation_target = new Adw.CallbackAnimationTarget ((val) => { _subtitle_label.label = _("%s is %.0f%% complete. You can help finish it!").printf (_language_name, Math.round (val)); _level_bar.value = val / 100.0; }); var animation = new Adw.TimedAnimation ( this, 0, _target_percent, 1000, animation_target ) { easing = Adw.Easing.EASE_IN_OUT_QUAD }; animation.play (); } public async void load_translation_data () { try { var languages = Intl.get_language_names (); bool is_english = false; foreach (string lang in languages) { if (lang == "C" || lang == "POSIX") { continue; } string user_lang = lang.contains ("_") ? lang.split ("_")[0] : lang; if (user_lang == "en") { is_english = true; break; } } if (is_english) { title = _ ("Translations"); subtitle = _ ("Help make Planify available worldwide"); hide_level_bar (); return; } var metric = yield get_current_translation_metric (); if (metric != null && metric.translated_percent > 0.0) { title = _ ("Help improve translations"); var language_name = ICU.get_display_language (metric.code, metric.code); prepare_animation (language_name, metric.translated_percent); return; } string language_name = ICU.get_display_language (metric.code, "en"); title = _ ("Start a new translation"); subtitle = _ ("%s is not available yet. Be the first to translate it!").printf (language_name); hide_level_bar (); } catch (Error e) { title = _ ("Translations"); subtitle = _ ("Help make Planify available worldwide"); hide_level_bar (); } } /** * Calculates the translation coverage percentage for the current locale by parsing the MO file. * * This function searches for the first available MO file (translation catalog) in the system's locale directory, based on the user's language preferences. * It reads the MO file to count the number of translated strings and calculates the translation coverage percentage. * * Returns a `TranslationMetric` object or `null` if no translations are available. Throws an `Error` if the MO file is unreadable, corrupted, or invalid. * * MO File Format: * * | Field | Size (bytes) | Description | * |------------------------|--------------|-------------------------------------------------------| * | Magic Number | 4 | Identifies endianness (`0x950412de` or `0xde120495`). | * | File Format Revision | 4 | Version of the MO file format (0 or 1). | * | Number of Strings | 4 | Number of translated string entries. | * | ... | ... | ... | * * More information: https://www.gnu.org/software/gettext/manual/html_node/MO-Files.html */ private async Objects.TranslationMetric? get_current_translation_metric () throws Error { const uint32 MAGIC_NUMBER_LE = (uint32) 0x950412de; const uint32 MAGIC_NUMBER_BE = (uint32) 0xde120495; string[] languages = Intl.get_language_names (); string? mo_path = null; string? current_lang = null; foreach (var lang in languages) { var path = Path.build_filename (Build.LOCALEDIR, lang, "LC_MESSAGES", Build.GETTEXT_PACKAGE + ".mo"); if (FileUtils.test (path, FileTest.EXISTS)) { mo_path = path; current_lang = lang; break; } } if (mo_path == null) { info ("Current locale has no translations available"); return null; } int translated_strings = 0; DataInputStream? data_stream = null; try { var file = File.new_for_path (mo_path); var stream = yield file.read_async (); data_stream = new DataInputStream (stream); data_stream.set_byte_order (DataStreamByteOrder.LITTLE_ENDIAN); uint32 magic = data_stream.read_uint32 (); if (magic == MAGIC_NUMBER_BE) { data_stream.set_byte_order (DataStreamByteOrder.BIG_ENDIAN); } else if (magic != MAGIC_NUMBER_LE) { warning ("Unrecognized magic number in MO file: %s", mo_path); return null; } var revision_number = data_stream.read_uint32 (); if (revision_number != 0 && revision_number != 1) { warning ("MO File has an invalid revision number. Revision Number appeares to be %u", revision_number); } translated_strings = (int) data_stream.read_uint32 () - 1; } catch (Error e) { warning ("Error reading .mo file: %s", e.message); return null; } finally { if (data_stream != null) { try { yield data_stream.close_async (); } catch (Error e) { warning ("Error closing stream: %s", e.message); } } } if (translated_strings <= 0) { warning ("Invalid number of translated strings in MO file: %s", mo_path); return null; } var metric = new Objects.TranslationMetric (); metric.code = current_lang; metric.total_strings = Build.TOTAL_STRINGS; metric.translated_strings = translated_strings; metric.translated_percent = (double) metric.translated_strings / metric.total_strings * 100.0; metric.language = GLib.Intl.setlocale (GLib.LocaleCategory.MESSAGES, ""); return metric; } construct { var main_box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 12) { margin_start = 12, margin_end = 12, margin_top = 8, margin_bottom = 8 }; _icon = new Gtk.Image () { pixel_size = 16, valign = Gtk.Align.CENTER }; var text_box = new Gtk.Box (Gtk.Orientation.VERTICAL, 3) { hexpand = true, valign = Gtk.Align.CENTER }; _title_label = new Gtk.Label (null) { hexpand = true, xalign = 0, wrap = true }; _subtitle_label = new Gtk.Label (null) { xalign = 0, hexpand = true, use_markup = true, wrap = true }; _subtitle_label.add_css_class ("dimmed"); _subtitle_label.add_css_class ("caption"); _level_bar = new Gtk.LevelBar () { hexpand = true, margin_top = 6, min_value = 0.0, max_value = 1.0 }; text_box.append (_title_label); text_box.append (_subtitle_label); text_box.append (_level_bar); main_box.append (_icon); main_box.append (text_box); child = main_box; } } alainm23-planify-69962f8/src/meson.build000066400000000000000000000103601517337276100200240ustar00rootroot00000000000000deps = [ core_dep, gee_dep, m_dep, icu_uc_dep ] if get_option('portal') if libportal_dep.found() deps += libportal_dep endif if libportal_gtk4_dep.found() deps += libportal_gtk4_dep endif endif if get_option('evolution') if libedataserver_dep.found() deps += libedataserver_dep endif endif sources = files( 'App.vala', 'MainWindow.vala', 'Objects/Backup.vala', 'Services/ActionManager.vala', 'Services/Api.vala', 'Services/Notification.vala', 'Services/TimeMonitor.vala', 'Services/DBusServer.vala', 'Services/Backups.vala', 'Services/MigrateFromPlanner.vala', 'Services/ExportService.vala', 'Utils/TaskUtils.vala', 'Layouts/Sidebar.vala', 'Layouts/FilterPaneChild.vala', 'Layouts/FilterPaneRow.vala', 'Layouts/ProjectRow.vala', 'Layouts/SectionRow.vala', 'Layouts/ItemBase.vala', 'Layouts/ItemRow.vala', 'Layouts/ItemBoard.vala', 'Layouts/LabelRow.vala', 'Layouts/ItemSidebarView.vala', 'Layouts/SectionBoard.vala', 'Layouts/HeaderBar.vala', 'Layouts/SidebarSourceRow.vala', 'Layouts/ProjectContainerRow.vala', 'Widgets/ColorPickerRow.vala', 'Widgets/MagicButton.vala', 'Widgets/EditableTextView.vala', 'Widgets/SyncButton.vala', 'Widgets/MultiSelectToolbar.vala', 'Widgets/SubItems.vala', 'Widgets/LabelsSummary.vala', 'Widgets/SectionsOrderPopover.vala', 'Widgets/ScrolledWindow.vala', 'Widgets/ReorderChild.vala', 'Widgets/FilterFlowBox.vala', 'Widgets/FilterFlowBoxChild.vala', 'Widgets/BypassResolveSwitchRow.vala', 'Widgets/IgnoreSSLSwitchRow.vala', 'Widgets/Attachments.vala', 'Widgets/AttachmentRow.vala', 'Widgets/ItemChangeHistoryRow.vala', 'Widgets/ErrorView.vala', 'Widgets/CompletedTaskRow.vala', 'Widgets/ItemDetailCompleted.vala', 'Widgets/PinnedItemsBox.vala', 'Widgets/TranslationRow.vala', 'Widgets/NewVersionPopup.vala', 'Widgets/ProjectItemRow.vala', 'Widgets/SectionItemRow.vala', 'Widgets/ComboWrapRow.vala', 'Views/Project/Project.vala', 'Views/Project/List.vala', 'Views/Project/Board.vala', 'Views/Today.vala', 'Views/Label/Label.vala', 'Views/Label/Labels.vala', 'Views/Label/LabelSourceRow.vala', 'Views/Filter.vala', 'Views/Scheduled/Scheduled.vala', 'Views/Scheduled/ScheduledSection.vala', 'Views/Scheduled/ScheduledDay.vala', 'Views/Scheduled/ScheduledRange.vala', 'Views/Scheduled/ScheduledMonth.vala', 'Views/Scheduled/ScheduledOverdue.vala', 'Dialogs/Project.vala', 'Dialogs/Section.vala', 'Dialogs/Label.vala', 'Dialogs/QuickAdd.vala', 'Dialogs/ManageSectionOrder.vala', 'Dialogs/ProjectPicker.vala', 'Dialogs/ManageProjects.vala', 'Dialogs/DatePicker.vala', 'Dialogs/LabelPicker.vala', 'Dialogs/ItemChangeHistory.vala', 'Dialogs/ErrorDialog.vala', 'Dialogs/CompletedTasks.vala', 'Dialogs/ProductivityReport/ProductivityReport.vala', 'Dialogs/ProductivityReport/SummarySection.vala', 'Dialogs/ProductivityReport/ProductivitySection.vala', 'Dialogs/ProductivityReport/StatCard.vala', 'Dialogs/QuickFind/QuickFind.vala', 'Dialogs/QuickFind/QuickFindItem.vala', 'Dialogs/QuickFind/QuickFindSectionSorter.vala', 'Dialogs/QuickFind/QuickFindFactory.vala', 'Dialogs/QuickFind/Synapse.vala', 'Dialogs/Preferences/PreferencesWindow.vala', 'Dialogs/Preferences/Pages/BasePage.vala', 'Dialogs/Preferences/Pages/Backup.vala', 'Dialogs/Preferences/Pages/Sidebar.vala', 'Dialogs/Preferences/Pages/Appearance.vala', 'Dialogs/Preferences/Pages/HomeView.vala', 'Dialogs/Preferences/Pages/General.vala', 'Dialogs/Preferences/Pages/TaskSetting.vala', 'Dialogs/Preferences/Pages/QuickAdd.vala', 'Dialogs/Preferences/Pages/Donate.vala', 'Dialogs/Preferences/Pages/Accounts/Accounts.vala', 'Dialogs/Preferences/Pages/Accounts/NextcloudSetup.vala', 'Dialogs/Preferences/Pages/Accounts/CalDAVSetup.vala', 'Dialogs/Preferences/Pages/Accounts/TodoistSetup.vala', 'Dialogs/Preferences/Pages/Accounts/SourceView.vala', 'Dialogs/Preferences/Pages/Accounts/InboxPage.vala' ) if get_option('evolution') sources += 'Widgets/EventRow.vala' sources += 'Widgets/EventsList.vala' sources += 'Dialogs/CalendarSync.vala' endif executable( application_id, sources, asresources, config_file, dependencies: deps, install: true ) alainm23-planify-69962f8/subprojects/000077500000000000000000000000001517337276100174365ustar00rootroot00000000000000alainm23-planify-69962f8/subprojects/gxml-0.20.wrap000066400000000000000000000002011517337276100216460ustar00rootroot00000000000000[wrap-git] directory=gxml-0.20 url=https://gitlab.gnome.org/GNOME/gxml.git revision=gxml-0.20 [provide] gxml-0.20 = libgxml_dep alainm23-planify-69962f8/test/000077500000000000000000000000001517337276100160525ustar00rootroot00000000000000alainm23-planify-69962f8/test/cli/000077500000000000000000000000001517337276100166215ustar00rootroot00000000000000alainm23-planify-69962f8/test/cli/test-argument-parser.vala000066400000000000000000000232631517337276100235650ustar00rootroot00000000000000/* * Copyright © 2026 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /** * ArgumentParser Tests * * Tests for command-line argument parsing including: * - Command recognition (add, list, update, list-projects) * - Option parsing (short and long forms) * - Error handling (missing args, invalid values) */ namespace PlanifyCLI.Tests.ArgumentParser { void test_no_command () { print ("Testing: No command provided\n"); int exit_code; string[] args = {"planify-cli"}; var parsed = PlanifyCLI.ArgumentParser.parse (args, out exit_code); assert (parsed == null); assert (exit_code == 1); print (" ✓ Returns null with exit code 1\n---\n"); } void test_unknown_command () { print ("Testing: Unknown command\n"); int exit_code; string[] args = {"planify-cli", "invalid-command"}; var parsed = PlanifyCLI.ArgumentParser.parse (args, out exit_code); assert (parsed == null); assert (exit_code == 1); print (" ✓ Returns null with exit code 1\n---\n"); } void test_list_projects () { print ("Testing: 'list-projects' command\n"); int exit_code; string[] args = {"planify-cli", "list-projects"}; var parsed = PlanifyCLI.ArgumentParser.parse (args, out exit_code); assert (parsed != null); assert (exit_code == 0); assert (parsed.command_type == PlanifyCLI.CommandType.LIST_PROJECTS); print (" ✓ Parses list-projects command\n---\n"); } void test_add_minimal () { print ("Testing: 'add' command with minimal args\n"); int exit_code; string[] args = {"planify-cli", "add", "-c", "Test task"}; var parsed = PlanifyCLI.ArgumentParser.parse (args, out exit_code); assert (parsed != null); assert (exit_code == 0); assert (parsed.command_type == PlanifyCLI.CommandType.ADD); assert (parsed.task_args != null); assert (parsed.task_args.content == "Test task"); print (" ✓ Parses add command with content\n---\n"); } void test_add_full () { print ("Testing: 'add' command with all options\n"); int exit_code; string[] args = { "planify-cli", "add", "-c", "Complete task", "-d", "Task description", "-p", "Work", "-s", "In Progress", "-P", "1", "-D", "2024-12-31", "-l", "urgent,important", "--pin", "true" }; var parsed = PlanifyCLI.ArgumentParser.parse (args, out exit_code); assert (parsed != null); assert (exit_code == 0); assert (parsed.command_type == PlanifyCLI.CommandType.ADD); assert (parsed.task_args != null); assert (parsed.task_args.content == "Complete task"); assert (parsed.task_args.description == "Task description"); assert (parsed.task_args.project_name == "Work"); assert (parsed.task_args.section_name == "In Progress"); assert (parsed.task_args.priority == 1); assert (parsed.task_args.due_date == "2024-12-31"); assert (parsed.task_args.labels == "urgent,important"); assert (parsed.task_args.pinned == 1); print (" ✓ Parses all add options correctly\n---\n"); } void test_list_with_project () { print ("Testing: 'list' command with project\n"); int exit_code; string[] args = {"planify-cli", "list", "-p", "Work"}; var parsed = PlanifyCLI.ArgumentParser.parse (args, out exit_code); assert (parsed != null); assert (exit_code == 0); assert (parsed.command_type == PlanifyCLI.CommandType.LIST); assert (parsed.list_args != null); assert (parsed.list_args.project_name == "Work"); print (" ✓ Parses list command with project name\n---\n"); } void test_list_with_project_id () { print ("Testing: 'list' command with project ID\n"); int exit_code; string[] args = {"planify-cli", "list", "-i", "project-123"}; var parsed = PlanifyCLI.ArgumentParser.parse (args, out exit_code); assert (parsed != null); assert (exit_code == 0); assert (parsed.command_type == PlanifyCLI.CommandType.LIST); assert (parsed.list_args != null); assert (parsed.list_args.project_id == "project-123"); print (" ✓ Parses list command with project ID\n---\n"); } void test_update_minimal () { print ("Testing: 'update' command with minimal args\n"); int exit_code; string[] args = {"planify-cli", "update", "-t", "task-456", "-c", "Updated content"}; var parsed = PlanifyCLI.ArgumentParser.parse (args, out exit_code); assert (parsed != null); assert (exit_code == 0); assert (parsed.command_type == PlanifyCLI.CommandType.UPDATE); assert (parsed.update_args != null); assert (parsed.update_args.task_id == "task-456"); assert (parsed.update_args.content == "Updated content"); print (" ✓ Parses update command with task ID and content\n---\n"); } void test_update_completion () { print ("Testing: 'update' command with completion flags\n"); int exit_code; // Test --complete=true string[] args_complete = {"planify-cli", "update", "-t", "task-123", "--complete", "true"}; var parsed = PlanifyCLI.ArgumentParser.parse (args_complete, out exit_code); assert (parsed != null); assert (exit_code == 0); assert (parsed.update_args.checked == 1); print (" ✓ Parses --complete=true\n"); // Test --complete=false string[] args_uncomplete = {"planify-cli", "update", "-t", "task-123", "--complete", "false"}; parsed = PlanifyCLI.ArgumentParser.parse (args_uncomplete, out exit_code); assert (parsed != null); assert (exit_code == 0); assert (parsed.update_args.checked == 0); print (" ✓ Parses --complete=false\n---\n"); } void test_missing_required_arg () { print ("Testing: Missing required argument value\n"); int exit_code; string[] args = {"planify-cli", "add", "-c"}; // -c without value var parsed = PlanifyCLI.ArgumentParser.parse (args, out exit_code); assert (parsed == null); assert (exit_code == 1); print (" ✓ Returns error for missing argument value\n---\n"); } void test_invalid_pin_value () { print ("Testing: Invalid --pin value\n"); int exit_code; string[] args = {"planify-cli", "add", "-c", "Task", "--pin", "invalid"}; var parsed = PlanifyCLI.ArgumentParser.parse (args, out exit_code); assert (parsed == null); assert (exit_code == 1); print (" ✓ Returns error for invalid pin value\n---\n"); } void test_invalid_complete_value () { print ("Testing: Invalid --complete value\n"); int exit_code; string[] args = {"planify-cli", "update", "-t", "task-123", "--complete", "invalid"}; var parsed = PlanifyCLI.ArgumentParser.parse (args, out exit_code); assert (parsed == null); assert (exit_code == 1); print (" ✓ Returns error for invalid complete value\n---\n"); } void test_unknown_option () { print ("Testing: Unknown option\n"); int exit_code; string[] args = {"planify-cli", "add", "-c", "Task", "--unknown-option"}; var parsed = PlanifyCLI.ArgumentParser.parse (args, out exit_code); assert (parsed == null); assert (exit_code == 1); print (" ✓ Returns error for unknown option\n---\n"); } public void register_tests () { Test.add_func ("/cli/argument_parser/no_command", test_no_command); Test.add_func ("/cli/argument_parser/unknown_command", test_unknown_command); Test.add_func ("/cli/argument_parser/list_projects", test_list_projects); Test.add_func ("/cli/argument_parser/add_minimal", test_add_minimal); Test.add_func ("/cli/argument_parser/add_full", test_add_full); Test.add_func ("/cli/argument_parser/list_with_project", test_list_with_project); Test.add_func ("/cli/argument_parser/list_with_project_id", test_list_with_project_id); Test.add_func ("/cli/argument_parser/update_minimal", test_update_minimal); Test.add_func ("/cli/argument_parser/update_completion", test_update_completion); Test.add_func ("/cli/argument_parser/missing_required_arg", test_missing_required_arg); Test.add_func ("/cli/argument_parser/invalid_pin_value", test_invalid_pin_value); Test.add_func ("/cli/argument_parser/invalid_complete_value", test_invalid_complete_value); Test.add_func ("/cli/argument_parser/unknown_option", test_unknown_option); } }alainm23-planify-69962f8/test/cli/test-priority-conversion.vala000066400000000000000000000034531517337276100245140ustar00rootroot00000000000000/* * Copyright © 2026 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /** * Priority Conversion Tests * * Tests the conversion between user-friendly priority values * and internal priority representation. */ namespace PlanifyCLI.Tests.PriorityConversion { void test_priority_conversion () { print ("Testing: Priority conversion (user-friendly to internal)\n"); // User-friendly: 1=high, 2=medium, 3=low, 4=none // Internal: 4=high, 3=medium, 2=low, 1=none // Conversion: internal = 5 - user_friendly assert (5 - 1 == 4); // high assert (5 - 2 == 3); // medium assert (5 - 3 == 2); // low assert (5 - 4 == 1); // none print (" ✓ Priority conversion logic verified\n"); print (" 1 (high) -> 4 (internal)\n"); print (" 2 (medium) -> 3 (internal)\n"); print (" 3 (low) -> 2 (internal)\n"); print (" 4 (none) -> 1 (internal)\n---\n"); } public void register_tests () { Test.add_func ("/cli/priority_conversion", test_priority_conversion); } }alainm23-planify-69962f8/test/cli/test-task-validator.vala000066400000000000000000000140561517337276100233760ustar00rootroot00000000000000/* * Copyright © 2026 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /** * TaskValidator Tests * * Tests for input validation logic including: * - Content validation (required field) * - Priority validation (1-4 range) * - Date format validation (YYYY-MM-DD) */ namespace PlanifyCLI.Tests.TaskValidator { void test_content_required () { print ("Testing: Content validation - null\n"); string? error_message; bool result = PlanifyCLI.TaskValidator.validate_content (null, out error_message); assert (result == false); assert (error_message != null); print (" ✓ Rejects null content\n---\n"); } void test_content_empty () { print ("Testing: Content validation - empty string\n"); string? error_message; bool result = PlanifyCLI.TaskValidator.validate_content (" ", out error_message); assert (result == false); assert (error_message != null); print (" ✓ Rejects empty/whitespace content\n---\n"); } void test_content_valid () { print ("Testing: Content validation - valid\n"); string? error_message; bool result = PlanifyCLI.TaskValidator.validate_content ("Valid task content", out error_message); assert (result == true); assert (error_message == null); print (" ✓ Accepts valid content\n---\n"); } void test_priority_range () { print ("Testing: Priority validation - range checks\n"); string? error_message; // Test invalid priorities assert (PlanifyCLI.TaskValidator.validate_priority (0, out error_message) == false); print (" ✓ Rejects priority 0\n"); assert (PlanifyCLI.TaskValidator.validate_priority (5, out error_message) == false); print (" ✓ Rejects priority 5\n"); assert (PlanifyCLI.TaskValidator.validate_priority (-1, out error_message) == false); print (" ✓ Rejects priority -1\n"); // Test valid priorities assert (PlanifyCLI.TaskValidator.validate_priority (1, out error_message) == true); assert (PlanifyCLI.TaskValidator.validate_priority (2, out error_message) == true); assert (PlanifyCLI.TaskValidator.validate_priority (3, out error_message) == true); assert (PlanifyCLI.TaskValidator.validate_priority (4, out error_message) == true); print (" ✓ Accepts priorities 1-4\n---\n"); } void test_date_format_valid () { print ("Testing: Date validation - valid formats\n"); string? error_message; GLib.DateTime? datetime; bool result = PlanifyCLI.TaskValidator.validate_and_parse_date ("2024-12-31", out datetime, out error_message); assert (result == true); assert (datetime != null); assert (datetime.get_year () == 2024); assert (datetime.get_month () == 12); assert (datetime.get_day_of_month () == 31); assert (error_message == null); print (" ✓ Parses valid YYYY-MM-DD format\n---\n"); } void test_date_format_invalid () { print ("Testing: Date validation - invalid formats\n"); string? error_message; GLib.DateTime? datetime; // Invalid format bool result = PlanifyCLI.TaskValidator.validate_and_parse_date ("12/31/2024", out datetime, out error_message); assert (result == false); assert (error_message != null); print (" ✓ Rejects invalid date format\n"); // Invalid values result = PlanifyCLI.TaskValidator.validate_and_parse_date ("2024-13-01", out datetime, out error_message); assert (result == false); print (" ✓ Rejects invalid month\n"); result = PlanifyCLI.TaskValidator.validate_and_parse_date ("2024-01-32", out datetime, out error_message); assert (result == false); print (" ✓ Rejects invalid day\n---\n"); } void test_date_null_or_empty () { print ("Testing: Date validation - null/empty (optional)\n"); string? error_message; GLib.DateTime? datetime; // Null is valid (optional field) bool result = PlanifyCLI.TaskValidator.validate_and_parse_date (null, out datetime, out error_message); assert (result == true); assert (datetime == null); print (" ✓ Accepts null date (optional)\n"); // Empty string is valid (optional field) result = PlanifyCLI.TaskValidator.validate_and_parse_date ("", out datetime, out error_message); assert (result == true); assert (datetime == null); print (" ✓ Accepts empty date (optional)\n---\n"); } public void register_tests () { Test.add_func ("/cli/task_validator/content_required", test_content_required); Test.add_func ("/cli/task_validator/content_empty", test_content_empty); Test.add_func ("/cli/task_validator/content_valid", test_content_valid); Test.add_func ("/cli/task_validator/priority_range", test_priority_range); Test.add_func ("/cli/task_validator/date_format_valid", test_date_format_valid); Test.add_func ("/cli/task_validator/date_format_invalid", test_date_format_invalid); Test.add_func ("/cli/task_validator/date_null_or_empty", test_date_null_or_empty); } }alainm23-planify-69962f8/test/meson.build000066400000000000000000000022341517337276100202150ustar00rootroot00000000000000test_caldav_integration = executable( 'test-caldav-integration', 'test-caldav-integration.vala', dependencies: [ core_dep, glib_dep ], install: false ) test('caldav-integration', test_caldav_integration, timeout: 60, suite: ['caldav-integration']) test_chrono = executable( 'test-chrono', 'test-chrono.vala', dependencies: [ core_dep, glib_dep, gee_dep ], install: false ) test('chrono', test_chrono, timeout: 30, suite: ['chrono']) test_cli_sources = [ 'test-cli-runner.vala', 'cli/test-argument-parser.vala', 'cli/test-task-validator.vala', 'cli/test-priority-conversion.vala', join_paths(meson.project_source_root(), 'cli', 'ArgumentParser.vala'), join_paths(meson.project_source_root(), 'cli', 'TaskValidator.vala') ] test_cli = executable( 'test-cli', test_cli_sources, dependencies: [ core_dep, glib_dep ], install: false ) test('cli', test_cli, timeout: 30, suite: ['cli']) test_chrono_es = executable( 'test-chrono-es', 'test-chrono-es.vala', dependencies: [ core_dep, glib_dep, gee_dep ], install: false ) test('chrono-es', test_chrono_es, timeout: 30, suite: ['chrono-es']) alainm23-planify-69962f8/test/test-caldav-integration.vala000066400000000000000000000031701517337276100234500ustar00rootroot00000000000000using GLib; async void test_caldav_login_async () throws GLib.Error { string? server_url = Environment.get_variable ("CALDAV_URL"); string? username = Environment.get_variable ("CALDAV_USER"); string? password = Environment.get_variable ("CALDAV_PASS"); if (server_url == null || username == null || password == null) { message ("Skipping CalDAV login test: missing environment variables."); return; } var cancellable = new GLib.Cancellable (); var core = Services.CalDAV.Core.get_default (); core.clear (); var dav_endpoint = yield core.resolve_well_known_caldav (new Soup.Session (), server_url); assert (dav_endpoint != null && dav_endpoint != ""); assert (Uri.parse_scheme (dav_endpoint) != null); message ("Using DAV Endpoint: %s", dav_endpoint); var calendar_home = yield core.resolve_calendar_home (CalDAVType.GENERIC, dav_endpoint, username, password, cancellable); assert (calendar_home != null && calendar_home != ""); assert (Uri.parse_scheme (calendar_home) != null); message ("Calendar Home: %s", calendar_home); HttpResponse response = yield core.login (CalDAVType.GENERIC, dav_endpoint, username, password, calendar_home, cancellable); assert (response.status); message ("Login successful"); } void test_caldav_login () { var loop = new MainLoop (); test_caldav_login_async.begin ((obj, res) => { test_caldav_login_async.end (res); loop.quit (); }); loop.run (); } int main (string[] args) { Test.init (ref args); Test.add_func ("/caldav/login", test_caldav_login); return Test.run (); } alainm23-planify-69962f8/test/test-chrono-es.vala000066400000000000000000000221131517337276100215700ustar00rootroot00000000000000void test_es_iso_parser () { var chrono = new Chrono.Chrono ("es"); // Test YYYY-MM-DD (ISO parser is language-independent) print ("Testing: '2024-03-15'\n"); var result = chrono.parse ("2024-03-15"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_year () == 2024); assert (result.date.get_month () == 3); assert (result.date.get_day_of_month () == 15); // Test YYYY-MM-DDTHH:MM print ("Testing: '2024-12-25T14:30'\n"); result = chrono.parse ("2024-12-25T14:30"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_year () == 2024); assert (result.date.get_month () == 12); assert (result.date.get_day_of_month () == 25); assert (result.date.get_hour () == 14); assert (result.date.get_minute () == 30); } void test_es_casual_date_parser () { var chrono = new Chrono.Chrono ("es"); var now = new DateTime.now_local (); // Test hoy (today) print ("Testing: 'hoy'\n"); var result = chrono.parse ("hoy"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_day_of_month () == now.get_day_of_month ()); assert (result.date.get_month () == now.get_month ()); // Test manana (tomorrow - ASCII form also accepted by parser) print ("Testing: 'manana'\n"); result = chrono.parse ("manana"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); var tomorrow = now.add_days (1); assert (result.date.get_day_of_month () == tomorrow.get_day_of_month ()); // Test ayer (yesterday) print ("Testing: 'ayer'\n"); result = chrono.parse ("ayer"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); var yesterday = now.add_days (-1); assert (result.date.get_day_of_month () == yesterday.get_day_of_month ()); // Test pasado manana (day after tomorrow) print ("Testing: 'pasado manana'\n"); result = chrono.parse ("pasado manana"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); var overmorrow = now.add_days (2); assert (result.date.get_day_of_month () == overmorrow.get_day_of_month ()); // Test anteayer (day before yesterday) print ("Testing: 'anteayer'\n"); result = chrono.parse ("anteayer"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); var before_yesterday = now.add_days (-2); assert (result.date.get_day_of_month () == before_yesterday.get_day_of_month ()); } void test_es_casual_time_parser () { var chrono = new Chrono.Chrono ("es"); // Test tarde (afternoon, 14h) print ("Testing: 'tarde'\n"); var result = chrono.parse ("tarde"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_hour () == 14); // Test noche (evening, 20h) print ("Testing: 'noche'\n"); result = chrono.parse ("noche"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_hour () == 20); // Test medianoche (midnight, 0h) print ("Testing: 'medianoche'\n"); result = chrono.parse ("medianoche"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_hour () == 0); // Test mediodia (noon, 12h - ASCII form accepted by parser) print ("Testing: 'mediodia'\n"); result = chrono.parse ("mediodia"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_hour () == 12); } void test_es_month_name_parser () { var chrono = new Chrono.Chrono ("es"); // Test "15 de marzo" (15th of March) print ("Testing: '15 de marzo'\n"); var result = chrono.parse ("15 de marzo"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_month () == 3); assert (result.date.get_day_of_month () == 15); // Test "25 de diciembre" (25th of December) print ("Testing: '25 de diciembre'\n"); result = chrono.parse ("25 de diciembre"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_month () == 12); assert (result.date.get_day_of_month () == 25); // Test month-day order: "marzo 15" print ("Testing: 'marzo 15'\n"); result = chrono.parse ("marzo 15"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_month () == 3); assert (result.date.get_day_of_month () == 15); // Test month with year: "enero de 2012" print ("Testing: 'enero de 2012'\n"); result = chrono.parse ("enero de 2012"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_month () == 1); assert (result.date.get_year () == 2012); // Test month name only: "enero" print ("Testing: 'enero'\n"); result = chrono.parse ("enero"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_month () == 1); } void test_es_relative_date_parser () { var chrono = new Chrono.Chrono ("es"); // Test "proxima semana" (next week - ASCII form accepted by parser) print ("Testing: 'proxima semana'\n"); var result = chrono.parse ("proxima semana"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); // Test "mes pasado" (last month) print ("Testing: 'mes pasado'\n"); result = chrono.parse ("mes pasado"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); // Test "este ano" (this year - ASCII form accepted by parser) print ("Testing: 'este ano'\n"); result = chrono.parse ("este ano"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); } void test_es_time_expression_parser () { var chrono = new Chrono.Chrono ("es"); // Test "en 5 minutos" (in 5 minutes) print ("Testing: 'en 5 minutos'\n"); var result = chrono.parse ("en 5 minutos"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); // Test "en 2 horas" (in 2 hours) print ("Testing: 'en 2 horas'\n"); result = chrono.parse ("en 2 horas"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); // Test "en 3 dias" (in 3 days - ASCII form accepted by parser) print ("Testing: 'en 3 dias'\n"); result = chrono.parse ("en 3 dias"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); } void test_es_datetime_combo_parser () { var chrono = new Chrono.Chrono ("es"); // Test "manana a las 3pm" (tomorrow at 3pm) print ("Testing: 'manana a las 3pm'\n"); var result = chrono.parse ("manana a las 3pm"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_hour () == 15); // Test "hoy a las 9:30am" (today at 9:30am) print ("Testing: 'hoy a las 9:30am'\n"); result = chrono.parse ("hoy a las 9:30am"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_hour () == 9); assert (result.date.get_minute () == 30); // Test "ayer a las 14:30" (yesterday at 14:30) print ("Testing: 'ayer a las 14:30'\n"); result = chrono.parse ("ayer a las 14:30"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_hour () == 14); assert (result.date.get_minute () == 30); } void main (string[] args) { Test.init (ref args); Test.add_func ("/chrono/es/iso_parser", test_es_iso_parser); Test.add_func ("/chrono/es/casual_date_parser", test_es_casual_date_parser); Test.add_func ("/chrono/es/casual_time_parser", test_es_casual_time_parser); Test.add_func ("/chrono/es/month_name_parser", test_es_month_name_parser); Test.add_func ("/chrono/es/relative_date_parser", test_es_relative_date_parser); Test.add_func ("/chrono/es/time_expression_parser", test_es_time_expression_parser); Test.add_func ("/chrono/es/datetime_combo_parser", test_es_datetime_combo_parser); Test.run (); } alainm23-planify-69962f8/test/test-chrono.vala000066400000000000000000000310761517337276100211730ustar00rootroot00000000000000void test_iso_parser () { var chrono = new Chrono.Chrono (); // Test YYYY-MM-DD print ("Testing: '2024-03-15'\n"); var result = chrono.parse ("2024-03-15"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_year () == 2024); assert (result.date.get_month () == 3); assert (result.date.get_day_of_month () == 15); // Test YYYY-MM-DDThh:mm print ("Testing: '2024-12-25T14:30'\n"); result = chrono.parse ("2024-12-25T14:30"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_year () == 2024); assert (result.date.get_month () == 12); assert (result.date.get_day_of_month () == 25); assert (result.date.get_hour () == 14); assert (result.date.get_minute () == 30); } void test_slash_parser () { var chrono = new Chrono.Chrono (); // Test d/m print ("Testing: '15/3'\n"); var result = chrono.parse ("15/3"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_day_of_month () == 15); assert (result.date.get_month () == 3); // Test d/m/yyyy print ("Testing: '25/12/2024'\n"); result = chrono.parse ("25/12/2024"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_day_of_month () == 25); assert (result.date.get_month () == 12); assert (result.date.get_year () == 2024); // Test d.m.yyyy print ("Testing: '1.1.2025'\n"); result = chrono.parse ("1.1.2025"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_day_of_month () == 1); assert (result.date.get_month () == 1); assert (result.date.get_year () == 2025); } void test_time_parser () { var chrono = new Chrono.Chrono (); // Test 24h format print ("Testing: '14:30'\n"); var result = chrono.parse ("14:30"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_hour () == 14); assert (result.date.get_minute () == 30); // Test 12h format with pm print ("Testing: '3pm'\n"); result = chrono.parse ("3pm"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_hour () == 15); // Test 12h format with am print ("Testing: '9:30am'\n"); result = chrono.parse ("9:30am"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_hour () == 9); assert (result.date.get_minute () == 30); } void test_casual_date_parser () { var chrono = new Chrono.Chrono (); var now = new DateTime.now_local (); // Test today print ("Testing: 'today'\n"); var result = chrono.parse ("today"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_day_of_month () == now.get_day_of_month ()); // Test tomorrow print ("Testing: 'tomorrow'\n"); result = chrono.parse ("tomorrow"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); var tomorrow = now.add_days (1); assert (result.date.get_day_of_month () == tomorrow.get_day_of_month ()); // Test yesterday print ("Testing: 'yesterday'\n"); result = chrono.parse ("yesterday"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); var yesterday = now.add_days (-1); assert (result.date.get_day_of_month () == yesterday.get_day_of_month ()); } void test_casual_time_parser () { var chrono = new Chrono.Chrono (); // Test morning print ("Testing: 'morning'\n"); var result = chrono.parse ("morning"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_hour () == 9); // Test afternoon print ("Testing: 'afternoon'\n"); result = chrono.parse ("afternoon"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_hour () == 14); // Test midnight print ("Testing: 'midnight'\n"); result = chrono.parse ("midnight"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_hour () == 0); // Test noon print ("Testing: 'noon'\n"); result = chrono.parse ("noon"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_hour () == 12); } void test_month_name_parser () { var chrono = new Chrono.Chrono (); // Test March 15 print ("Testing: 'March 15'\n"); var result = chrono.parse ("March 15"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_month () == 3); assert (result.date.get_day_of_month () == 15); // Test 15 March print ("Testing: '15 March'\n"); result = chrono.parse ("15 March"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_month () == 3); assert (result.date.get_day_of_month () == 15); // Test Dec 25, 2024 print ("Testing: 'Dec 25, 2024'\n"); result = chrono.parse ("Dec 25, 2024"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_month () == 12); assert (result.date.get_day_of_month () == 25); assert (result.date.get_year () == 2024); // Test January 2012 print ("Testing: 'January 2012'\n"); result = chrono.parse ("January 2012"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_month () == 1); assert (result.date.get_year () == 2012); // Test January print ("Testing: 'January'\n"); result = chrono.parse ("January"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_month () == 1); } void test_relative_date_parser () { var chrono = new Chrono.Chrono (); var now = new DateTime.now_local (); // Test next week print ("Testing: 'next week'\n"); var result = chrono.parse ("next week"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); // Test last month print ("Testing: 'last month'\n"); result = chrono.parse ("last month"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); // Test this year print ("Testing: 'this year'\n"); result = chrono.parse ("this year"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); } void test_time_expression_parser () { var chrono = new Chrono.Chrono (); // Test in 5 minutes print ("Testing: 'in 5 minutes'\n"); var result = chrono.parse ("in 5 minutes"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); // Test in 2 hours print ("Testing: 'in 2 hours'\n"); result = chrono.parse ("in 2 hours"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); // Test 3 days from now print ("Testing: '3 days from now'\n"); result = chrono.parse ("3 days from now"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); } void test_datetime_combo_parser () { var chrono = new Chrono.Chrono (); // Test tomorrow at 3pm print ("Testing: 'tomorrow at 3pm'\n"); var result = chrono.parse ("tomorrow at 3pm"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_hour () == 15); // Test today at 9:30am print ("Testing: 'today at 9:30am'\n"); result = chrono.parse ("today at 9:30am"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_hour () == 9); assert (result.date.get_minute () == 30); // Test March 15 at 14:30 print ("Testing: 'March 15 at 14:30'\n"); result = chrono.parse ("March 15 at 14:30"); assert (result != null); print (" Result: %s\n", result.date.format ("%Y-%m-%d %H:%M")); print ("---\n"); assert (result.date.get_month () == 3); assert (result.date.get_day_of_month () == 15); assert (result.date.get_hour () == 14); assert (result.date.get_minute () == 30); } void test_recurrence_parser () { var chrono = new Chrono.Chrono (); print ("Testing: 'every day'\n"); var result = chrono.parse ("every day", true); assert (result != null && result.recurrence != null); print (" Type: %s\n---\n", result.recurrence.recurrence_type.to_string ()); print ("Testing: 'daily'\n"); result = chrono.parse ("daily", true); assert (result != null && result.recurrence != null); print (" Type: %s\n---\n", result.recurrence.recurrence_type.to_string ()); print ("Testing: 'every morning'\n"); result = chrono.parse ("every morning", true); assert (result != null && result.recurrence != null); print (" Type: %s, Hour: %d\n---\n", result.recurrence.recurrence_type.to_string (), result.recurrence.hour); print ("Testing: 'every weekday'\n"); result = chrono.parse ("every weekday", true); assert (result != null && result.recurrence != null); print (" Type: %s, Days: %d\n---\n", result.recurrence.recurrence_type.to_string (), result.recurrence.days_of_week.size); print ("Testing: 'every weekend'\n"); result = chrono.parse ("every weekend", true); assert (result != null && result.recurrence != null); print (" Type: %s\n---\n", result.recurrence.recurrence_type.to_string ()); print ("Testing: 'every 27th'\n"); result = chrono.parse ("every 27th", true); assert (result != null && result.recurrence != null); print (" Type: %s, Day: %d\n---\n", result.recurrence.recurrence_type.to_string (), result.recurrence.day_of_month); print ("Testing: 'every last day'\n"); result = chrono.parse ("every last day", true); assert (result != null && result.recurrence != null); print (" Type: %s, Last: %s\n---\n", result.recurrence.recurrence_type.to_string (), result.recurrence.last_day.to_string ()); print ("Testing: 'every jan 27th'\n"); result = chrono.parse ("every jan 27th", true); assert (result != null && result.recurrence != null); print (" Type: %s, Month: %d, Day: %d\n---\n", result.recurrence.recurrence_type.to_string (), result.recurrence.month_of_year, result.recurrence.day_of_month); print ("Testing: 'every hour'\n"); result = chrono.parse ("every hour", true); assert (result != null && result.recurrence != null); print (" Type: %s\n---\n", result.recurrence.recurrence_type.to_string ()); } void main (string[] args) { Test.init (ref args); Test.add_func ("/chrono/iso_parser", test_iso_parser); Test.add_func ("/chrono/slash_parser", test_slash_parser); Test.add_func ("/chrono/time_parser", test_time_parser); Test.add_func ("/chrono/casual_date_parser", test_casual_date_parser); Test.add_func ("/chrono/casual_time_parser", test_casual_time_parser); Test.add_func ("/chrono/month_name_parser", test_month_name_parser); Test.add_func ("/chrono/relative_date_parser", test_relative_date_parser); Test.add_func ("/chrono/time_expression_parser", test_time_expression_parser); Test.add_func ("/chrono/datetime_combo_parser", test_datetime_combo_parser); Test.add_func ("/chrono/recurrence_parser", test_recurrence_parser); Test.run (); } alainm23-planify-69962f8/test/test-cli-runner.vala000066400000000000000000000022671517337276100217610ustar00rootroot00000000000000/* * Copyright © 2026 Alain M. (https://github.com/alainm23/planify) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301 USA */ /** * CLI Test Runner * * Main test runner that orchestrates all CLI component tests. * Each component has its own test file in test/cli/ directory. */ void main (string[] args) { Test.init (ref args); PlanifyCLI.Tests.ArgumentParser.register_tests (); PlanifyCLI.Tests.TaskValidator.register_tests (); PlanifyCLI.Tests.PriorityConversion.register_tests (); Test.run (); }alainm23-planify-69962f8/uncrustify.cfg000066400000000000000000002205621517337276100177760ustar00rootroot00000000000000# Uncrustify 0.60 # Rules for vala # Version: 0.5 # Refactored to match the style used on this project: https://github.com/GNOME/vala # # General options # # The type of line endings newlines = auto # auto/lf/crlf/cr # The original size of tabs in the input input_tab_size = 8 # number # The size of tabs in the output (only used if align_with_tabs=true) output_tab_size = 4 # number # The ASCII value of the string escape char, usually 92 (\) or 94 (^). (Pawn) string_escape_char = 92 # number # Alternate string escape char for Pawn. Only works right before the quote char. string_escape_char2 = 0 # number # Allow interpreting '>=' and '>>=' as part of a template in 'void f(list>=val);'. # If true (default), 'assert(x<0 && y>=3)' will be broken. # Improvements to template detection may make this option obsolete. tok_split_gte = false # false/true # Control what to do with the UTF-8 BOM (recommend 'remove') utf8_bom = ignore # ignore/add/remove/force # If the file contains bytes with values between 128 and 255, but is not UTF-8, then output as UTF-8 utf8_byte = false # false/true # Force the output encoding to UTF-8 utf8_force = false # false/true # # Indenting # # The number of columns to indent per level. # Usually 2, 3, 4, or 8. indent_columns = 4 # number # The continuation indent. If non-zero, this overrides the indent of '(' and '=' continuation indents. # For FreeBSD, this is set to 4. Negative value is absolute and not increased for each ( level indent_continue = 0 # number # How to use tabs when indenting code # 0=spaces only # 1=indent with tabs to brace level, align with spaces # 2=indent and align with tabs, using spaces when not on a tabstop indent_with_tabs = 0 # number # Comments that are not a brace level are indented with tabs on a tabstop. # Requires indent_with_tabs=2. If false, will use spaces. indent_cmt_with_tabs = false # false/true # Whether to indent strings broken by '\' so that they line up indent_align_string = false # false/true # The number of spaces to indent multi-line XML strings. # Requires indent_align_string=True indent_xml_string = 0 # number # Spaces to indent '{' from level indent_brace = 0 # number # Whether braces are indented to the body level indent_braces = false # false/true # Disabled indenting function braces if indent_braces is true indent_braces_no_func = false # false/true # Disabled indenting class braces if indent_braces is true indent_braces_no_class = false # false/true # Disabled indenting struct braces if indent_braces is true indent_braces_no_struct = false # false/true # Indent based on the size of the brace parent, i.e. 'if' => 3 spaces, 'for' => 4 spaces, etc. indent_brace_parent = false # false/true # Whether the 'namespace' body is indented indent_namespace = true # false/true # The number of spaces to indent a namespace block indent_namespace_level = 0 # number # If the body of the namespace is longer than this number, it won't be indented. # Requires indent_namespace=true. Default=0 (no limit) indent_namespace_limit = 0 # number # Whether the 'extern "C"' body is indented indent_extern = false # false/true # Whether the 'class' body is indented indent_class = true # false/true # Whether to indent the stuff after a leading class colon indent_class_colon = false # false/true # Whether to indent the stuff after a leading class initializer colon indent_constr_colon = false # false/true # Virtual indent from the ':' for member initializers. Default is 2 indent_ctor_init_leading = 2 # number # Additional indenting for constructor initializer list indent_ctor_init = 0 # number # False=treat 'else\nif' as 'else if' for indenting purposes # True=indent the 'if' one level indent_else_if = false # false/true # Amount to indent variable declarations after a open brace. neg=relative, pos=absolute indent_var_def_blk = 0 # number # Indent continued variable declarations instead of aligning. indent_var_def_cont = false # false/true # True: force indentation of function definition to start in column 1 # False: use the default behavior indent_func_def_force_col1 = false # false/true # True: indent continued function call parameters one indent level # False: align parameters under the open paren indent_func_call_param = false # false/true # Same as indent_func_call_param, but for function defs indent_func_def_param = false # false/true # Same as indent_func_call_param, but for function protos indent_func_proto_param = false # false/true # Same as indent_func_call_param, but for class declarations indent_func_class_param = false # false/true # Same as indent_func_call_param, but for class variable constructors indent_func_ctor_var_param = false # false/true # Same as indent_func_call_param, but for templates indent_template_param = false # false/true # Double the indent for indent_func_xxx_param options indent_func_param_double = false # false/true # Indentation column for standalone 'const' function decl/proto qualifier indent_func_const = 0 # number # Indentation column for standalone 'throw' function decl/proto qualifier indent_func_throw = 0 # number # The number of spaces to indent a continued '->' or '.' # Usually set to 0, 1, or indent_columns. indent_member = 1 # number # Spaces to indent single line ('//') comments on lines before code indent_sing_line_comments = 0 # number # If set, will indent trailing single line ('//') comments relative # to the code instead of trying to keep the same absolute column indent_relative_single_line_comments = false # false/true # Spaces to indent 'case' from 'switch' # Usually 0 or indent_columns. indent_switch_case = indent_columns # number # Spaces to shift the 'case' line, without affecting any other lines # Usually 0. indent_case_shift = 0 # number # Spaces to indent '{' from 'case'. # By default, the brace will appear under the 'c' in case. # Usually set to 0 or indent_columns. indent_case_brace = 0 # number # Whether to indent comments found in first column indent_col1_comment = false # false/true # How to indent goto labels # >0 : absolute column where 1 is the leftmost column # <=0 : subtract from brace indent indent_label = 1 # number # Same as indent_label, but for access specifiers that are followed by a colon indent_access_spec = 1 # number # Indent the code after an access specifier by one level. # If set, this option forces 'indent_access_spec=0' indent_access_spec_body = false # false/true # If an open paren is followed by a newline, indent the next line so that it lines up after the open paren (not recommended) indent_paren_nl = false # false/true # Controls the indent of a close paren after a newline. # 0: Indent to body level # 1: Align under the open paren # 2: Indent to the brace level indent_paren_close = 2 # number # Controls the indent of a comma when inside a paren.If TRUE, aligns under the open paren indent_comma_paren = false # false/true # Controls the indent of a BOOL operator when inside a paren.If TRUE, aligns under the open paren indent_bool_paren = false # false/true # If 'indent_bool_paren' is true, controls the indent of the first expression. If TRUE, aligns the first expression to the following ones indent_first_bool_expr = false # false/true # If an open square is followed by a newline, indent the next line so that it lines up after the open square (not recommended) indent_square_nl = false # false/true # Don't change the relative indent of ESQL/C 'EXEC SQL' bodies indent_preserve_sql = false # false/true # Align continued statements at the '='. Default=True # If FALSE or the '=' is followed by a newline, the next line is indent one tab. indent_align_assign = true # false/true # Indent OC blocks at brace level instead of usual rules. indent_oc_block = false # false/true # Indent OC blocks in a message relative to the parameter name. # 0=use indent_oc_block rules, 1+=spaces to indent indent_oc_block_msg = 0 # number # Minimum indent for subsequent parameters indent_oc_msg_colon = 0 # number # Objective C # If true, prioritize aligning with initial colon (and stripping spaces from lines, if necessary). # Default is true. indent_oc_msg_prioritize_first_colon = true # If indent_oc_block_msg and this option are on, blocks will be indented the way that Xcode does by default (from keyword if the parameter is on its own line; otherwise, from the previous indentation level). indent_oc_block_msg_xcode_style = true # If indent_oc_block_msg and this option are on, blocks will be indented from where the brace is relative to a msg keyword. indent_oc_block_msg_from_keyword = true # If indent_oc_block_msg and this option are on, blocks will be indented from where the brace is relative to a msg colon. indent_oc_block_msg_from_colon = true # If indent_oc_block_msg and this option are on, blocks will be indented from where the block caret is. indent_oc_block_msg_from_caret = true # If indent_oc_block_msg and this option are on, blocks will be indented from where the brace is. indent_oc_block_msg_from_brace = true # # Spacing options # # Add or remove space around arithmetic operator '+', '-', '/', '*', etc sp_arith = force # ignore/add/remove/force # Add or remove space around assignment operator '=', '+=', etc sp_assign = force # ignore/add/remove/force # Add or remove space around '=' in C++11 lambda capture specifications. Overrides sp_assign sp_cpp_lambda_assign = force # ignore/add/remove/force # Add or remove space after the capture specification in C++11 lambda. sp_cpp_lambda_paren = force # ignore/add/remove/force # Add or remove space around assignment operator '=' in a prototype sp_assign_default = force # ignore/add/remove/force # Add or remove space before assignment operator '=', '+=', etc. Overrides sp_assign. sp_before_assign = force # ignore/add/remove/force # Add or remove space after assignment operator '=', '+=', etc. Overrides sp_assign. sp_after_assign = force # ignore/add/remove/force # Add or remove space around assignment '=' in enum sp_enum_assign = force # ignore/add/remove/force # Add or remove space before assignment '=' in enum. Overrides sp_enum_assign. sp_enum_before_assign = ignore # ignore/add/remove/force # Add or remove space after assignment '=' in enum. Overrides sp_enum_assign. sp_enum_after_assign = force # ignore/add/remove/force # Add or remove space around preprocessor '##' concatenation operator. Default=Add sp_pp_concat = add # ignore/add/remove/force # Add or remove space after preprocessor '#' stringify operator. Also affects the '#@' charizing operator. sp_pp_stringify = ignore # ignore/add/remove/force # Add or remove space before preprocessor '#' stringify operator as in '#define x(y) L#y'. sp_before_pp_stringify = ignore # ignore/add/remove/force # Add or remove space around boolean operators '&&' and '||' sp_bool = force # ignore/add/remove/force # Add or remove space around compare operator '<', '>', '==', etc sp_compare = force # ignore/add/remove/force # Add or remove space inside '(' and ')' sp_inside_paren = remove # ignore/add/remove/force # Add or remove space between nested parens sp_paren_paren = remove # ignore/add/remove/force # Add or remove space between back-to-back parens: ')(' vs ') (' sp_cparen_oparen = remove # ignore/add/remove/force # Whether to balance spaces inside nested parens sp_balance_nested_parens = false # false/true # Add or remove space between ')' and '{' sp_paren_brace = force # ignore/add/remove/force # Add or remove space before pointer star '*' sp_before_ptr_star = force # ignore/add/remove/force # Add or remove space before pointer star '*' that isn't followed by a variable name # If set to 'ignore', sp_before_ptr_star is used instead. sp_before_unnamed_ptr_star = force # ignore/add/remove/force # Add or remove space between pointer stars '*' sp_between_ptr_star = force # ignore/add/remove/force # Add or remove space after pointer star '*', if followed by a word. sp_after_ptr_star = force # ignore/add/remove/force # Add or remove space after a pointer star '*', if followed by a func proto/def. sp_after_ptr_star_func = force # ignore/add/remove/force # Add or remove space after a pointer star '*', if followed by an open paren (function types). sp_ptr_star_paren = force # ignore/add/remove/force # Add or remove space before a pointer star '*', if followed by a func proto/def. sp_before_ptr_star_func = force # ignore/add/remove/force # Add or remove space before a reference sign '&' sp_before_byref = force # ignore/add/remove/force # Add or remove space before a reference sign '&' that isn't followed by a variable name # If set to 'ignore', sp_before_byref is used instead. sp_before_unnamed_byref = ignore # ignore/add/remove/force # Add or remove space after reference sign '&', if followed by a word. sp_after_byref = ignore # ignore/add/remove/force # Add or remove space after a reference sign '&', if followed by a func proto/def. sp_after_byref_func = remove # ignore/add/remove/force # Add or remove space before a reference sign '&', if followed by a func proto/def. sp_before_byref_func = force # ignore/add/remove/force # Add or remove space between type and word. Default=Force sp_after_type = force # ignore/add/remove/force # Add or remove space before the paren in the D constructs 'template Foo(' and 'class Foo('. sp_before_template_paren = ignore # ignore/add/remove/force # Add or remove space in 'template <' vs 'template<'. # If set to ignore, sp_before_angle is used. sp_template_angle = ignore # ignore/add/remove/force # Add or remove space before '<>' sp_before_angle = remove # ignore/add/remove/force # Add or remove space inside '<' and '>' sp_inside_angle = remove # ignore/add/remove/force # Add or remove space after '<>' sp_after_angle = remove # ignore/add/remove/force # Add or remove space between '<>' and '(' as found in 'new List();' sp_angle_paren = remove # ignore/add/remove/force # Add or remove space between '<>' and a word as in 'List m;' sp_angle_word = force # ignore/add/remove/force # Add or remove space between '>' and '>' in '>>' (template stuff C++/C# only). Default=Add sp_angle_shift = add # ignore/add/remove/force # Permit removal of the space between '>>' in 'foo >' (C++11 only). Default=False # sp_angle_shift cannot remove the space without this option. sp_permit_cpp11_shift = false # false/true # Add or remove space before '(' of 'if', 'for', 'switch', and 'while' sp_before_sparen = force # ignore/add/remove/force # Add or remove space inside if-condition '(' and ')' sp_inside_sparen = remove # ignore/add/remove/force # Add or remove space before if-condition ')'. Overrides sp_inside_sparen. sp_inside_sparen_close = ignore # ignore/add/remove/force # Add or remove space before if-condition '('. Overrides sp_inside_sparen. sp_inside_sparen_open = ignore # ignore/add/remove/force # Add or remove space after ')' of 'if', 'for', 'switch', and 'while' sp_after_sparen = remove # ignore/add/remove/force # Add or remove space between ')' and '{' of 'if', 'for', 'switch', and 'while' sp_sparen_brace = force # ignore/add/remove/force # Add or remove space between 'invariant' and '(' in the D language. sp_invariant_paren = ignore # ignore/add/remove/force # Add or remove space after the ')' in 'invariant (C) c' in the D language. sp_after_invariant_paren = ignore # ignore/add/remove/force # Add or remove space before empty statement ';' on 'if', 'for' and 'while' sp_special_semi = remove # ignore/add/remove/force # Add or remove space before ';'. Default=Remove sp_before_semi = remove # ignore/add/remove/force # Add or remove space before ';' in non-empty 'for' statements sp_before_semi_for = remove # ignore/add/remove/force # Add or remove space before a semicolon of an empty part of a for statement. sp_before_semi_for_empty = force # ignore/add/remove/force # Add or remove space after ';', except when followed by a comment. Default=Add sp_after_semi = add # ignore/add/remove/force # Add or remove space after ';' in non-empty 'for' statements. Default=Force sp_after_semi_for = force # ignore/add/remove/force # Add or remove space after the final semicolon of an empty part of a for statement: for ( ; ; ). sp_after_semi_for_empty = force # ignore/add/remove/force # Add or remove space before '[' (except '[]') sp_before_square = remove # ignore/add/remove/force # Add or remove space before '[]' sp_before_squares = remove # ignore/add/remove/force # Add or remove space inside a non-empty '[' and ']' sp_inside_square = remove # ignore/add/remove/force # Add or remove space after ',' sp_after_comma = force # ignore/add/remove/force # Add or remove space before ',' sp_before_comma = remove # ignore/add/remove/force # Add or remove space between an open paren and comma: '(,' vs '( ,' sp_paren_comma = force # ignore/add/remove/force # Add or remove space before the variadic '...' when preceded by a non-punctuator sp_before_ellipsis = remove # ignore/add/remove/force # Add or remove space after class ':' sp_after_class_colon = force # ignore/add/remove/force # Add or remove space before class ':' sp_before_class_colon = force # ignore/add/remove/force # Add or remove space after class constructor ':' sp_after_constr_colon = ignore # ignore/add/remove/force # Add or remove space before class constructor ':' sp_before_constr_colon = ignore # ignore/add/remove/force # Add or remove space before case ':'. Default=Remove sp_before_case_colon = remove # ignore/add/remove/force # Add or remove space between 'operator' and operator sign sp_after_operator = force # ignore/add/remove/force # Add or remove space between the operator symbol and the open paren, as in 'operator ++(' sp_after_operator_sym = ignore # ignore/add/remove/force # Add or remove space after C/D cast, i.e. 'cast(int)a' vs 'cast(int) a' or '(int)a' vs '(int) a' sp_after_cast = force # ignore/add/remove/force # Add or remove spaces inside cast parens sp_inside_paren_cast = remove # ignore/add/remove/force # Add or remove space between the type and open paren in a C++ cast, i.e. 'int(exp)' vs 'int (exp)' sp_cpp_cast_paren = ignore # ignore/add/remove/force # Add or remove space between 'sizeof' and '(' sp_sizeof_paren = force # ignore/add/remove/force # Add or remove space after the tag keyword (Pawn) sp_after_tag = ignore # ignore/add/remove/force # Add or remove space inside enum '{' and '}' sp_inside_braces_enum = force # ignore/add/remove/force # Add or remove space inside struct/union '{' force '}' sp_inside_braces_struct = force # ignore/add/remove/force # Add or remove space inside '{' and '}' sp_inside_braces = force # ignore/add/remove/force # Add or remove space inside '{}' sp_inside_braces_empty = remove # ignore/add/remove/force # Add or remove space between return type and function name # A minimum of 1 is forced except for pointer return types. sp_type_func = remove # ignore/add/remove/force # Add or remove space between function name and '(' on function declaration sp_func_proto_paren = force # ignore/add/remove/force # CARL duplicates ERROR ?? # Add or remove space between function name and '(' on function definition sp_func_def_paren = force # ignore/add/remove/force # Add or remove space inside empty function '()' sp_inside_fparens = remove # ignore/add/remove/force # Add or remove space inside function '(' and ')' sp_inside_fparen = remove # ignore/add/remove/force # Add or remove space inside the first parens in the function type: 'void (*x)(...)' sp_inside_tparen = remove # ignore/add/remove/force # Add or remove between the parens in the function type: 'void (*x)(...)' sp_after_tparen_close = remove # ignore/add/remove/force # Add or remove space between ']' and '(' when part of a function call. sp_square_fparen = force # ignore/add/remove/force # Add or remove space between ')' and '{' of function sp_fparen_brace = force # ignore/add/remove/force # Add or remove space between function name and '(' on function calls sp_func_call_paren = force # ignore/add/remove/force # Add or remove space between function name and '()' on function calls without parameters. # If set to 'ignore' (the default), sp_func_call_paren is used. sp_func_call_paren_empty = force # ignore/add/remove/force # Add or remove space between the user function name and '(' on function calls # You need to set a keyword to be a user function, like this: 'set func_call_user _' in the config file. sp_func_call_user_paren = ignore # ignore/add/remove/force set func_call_user _ # Add or remove space between a constructor/destructor and the open paren sp_func_class_paren = force # ignore/add/remove/force # Add or remove space between 'return' and '(' sp_return_paren = force # ignore/add/remove/force # Add or remove space between '__attribute__' and '(' sp_attribute_paren = force # ignore/add/remove/force # Add or remove space between 'defined' and '(' in '#if defined (FOO)' sp_defined_paren = force # ignore/add/remove/force # Add or remove space between 'throw' and '(' in 'throw (something)' sp_throw_paren = force # ignore/add/remove/force # Add or remove space between 'throw' and anything other than '(' as in '@throw [...];' sp_after_throw = force # ignore/add/remove/force # Add or remove space between 'catch' and '(' in 'catch (something) { }' # If set to ignore, sp_before_sparen is used. sp_catch_paren = force # ignore/add/remove/force # D # Add or remove space between 'version' and '(' in 'version (something) { }' (D language) # If set to ignore, sp_before_sparen is used. sp_version_paren = ignore # ignore/add/remove/force # D # Add or remove space between 'scope' and '(' in 'scope (something) { }' (D language) # If set to ignore, sp_before_sparen is used. sp_scope_paren = ignore # ignore/add/remove/force # Add or remove space between macro and value sp_macro = ignore # ignore/add/remove/force # MACRO # Add or remove space between macro function ')' and value sp_macro_func = ignore # ignore/add/remove/force # Add or remove space between 'else' and '{' if on the same line sp_else_brace = force # ignore/add/remove/force # Add or remove space between '}' and 'else' if on the same line sp_brace_else = force # ignore/add/remove/force # Add or remove space between '}' and the name of a typedef on the same line sp_brace_typedef = force # ignore/add/remove/force # Add or remove space between 'catch' and '{' if on the same line sp_catch_brace = force # ignore/add/remove/force # Add or remove space between '}' and 'catch' if on the same line sp_brace_catch = force # ignore/add/remove/force # Add or remove space between 'finally' and '{' if on the same line sp_finally_brace = force # ignore/add/remove/force # Add or remove space between '}' and 'finally' if on the same line sp_brace_finally = force # ignore/add/remove/force # Add or remove space between 'try' and '{' if on the same line sp_try_brace = force # ignore/add/remove/force # Add or remove space between get/set and '{' if on the same line sp_getset_brace = force # ignore/add/remove/force # CARL TODO # Add or remove space between a variable and '{' for C++ uniform initialization sp_word_brace = ignore # Add or remove space between a variable and '{' for a namespace sp_word_brace_ns = force # C++ # Add or remove space before the '::' operator sp_before_dc = remove # ignore/add/remove/force # C++ # Add or remove space after the '::' operator sp_after_dc = remove # ignore/add/remove/force # Add or remove around the D named array initializer ':' operator sp_d_array_colon = ignore # ignore/add/remove/force # Add or remove space after the '!' (not) operator. Default=Remove sp_not = remove # ignore/add/remove/force # Add or remove space after the '~' (invert) operator. Default=Remove sp_inv = remove # ignore/add/remove/force # Add or remove space after the '&' (address-of) operator. Default=Remove # This does not affect the spacing after a '&' that is part of a type. sp_addr = remove # ignore/add/remove/force # Add or remove space around the '.' or '->' operators. Default=Remove sp_member = remove # ignore/add/remove/force # Add or remove space after the '*' (dereference) operator. Default=Remove # This does not affect the spacing after a '*' that is part of a type. sp_deref = remove # ignore/add/remove/force # Add or remove space after '+' or '-', as in 'x = -5' or 'y = +7'. Default=Remove sp_sign = remove # ignore/add/remove/force # Add or remove space before or after '++' and '--', as in '(--x)' or 'y++;'. Default=Remove sp_incdec = remove # ignore/add/remove/force # Add or remove space before a backslash-newline at the end of a line. Default=Add sp_before_nl_cont = add # ignore/add/remove/force # Obj c # Add or remove space after the scope '+' or '-', as in '-(void) foo;' or '+(int) bar;' sp_after_oc_scope = ignore # ignore/add/remove/force # Obj c # Add or remove space after the colon in message specs # '-(int) f:(int) x;' vs '-(int) f: (int) x;' sp_after_oc_colon = ignore # ignore/add/remove/force # Obj c # Add or remove space before the colon in message specs # '-(int) f: (int) x;' vs '-(int) f : (int) x;' sp_before_oc_colon = ignore # ignore/add/remove/force # Obj c # Add or remove space after the colon in immutable dictionary expression # 'NSDictionary *test = @{@"foo" :@"bar"};' sp_after_oc_dict_colon = ignore # ignore/add/remove/force # Obj c # Add or remove space before the colon in immutable dictionary expression # 'NSDictionary *test = @{@"foo" :@"bar"};' sp_before_oc_dict_colon = ignore # ignore/add/remove/force # Obj c # Add or remove space after the colon in message specs # '[object setValue:1];' vs '[object setValue: 1];' sp_after_send_oc_colon = ignore # ignore/add/remove/force # Obj c # Add or remove space before the colon in message specs # '[object setValue:1];' vs '[object setValue :1];' sp_before_send_oc_colon = ignore # ignore/add/remove/force # Obj c # Add or remove space after the (type) in message specs # '-(int)f: (int) x;' vs '-(int)f: (int)x;' sp_after_oc_type = ignore # ignore/add/remove/force # Obj c # Add or remove space after the first (type) in message specs # '-(int) f:(int)x;' vs '-(int)f:(int)x;' sp_after_oc_return_type = ignore # ignore/add/remove/force # Obj c # Add or remove space between '@selector' and '(' # '@selector(msgName)' vs '@selector (msgName)' # Also applies to @protocol() constructs sp_after_oc_at_sel = ignore # ignore/add/remove/force # Obj c # Add or remove space between '@selector(x)' and the following word # '@selector(foo) a:' vs '@selector(foo)a:' sp_after_oc_at_sel_parens = ignore # ignore/add/remove/force # Obj c # Add or remove space inside '@selector' parens # '@selector(foo)' vs '@selector( foo )' # Also applies to @protocol() constructs sp_inside_oc_at_sel_parens = ignore # ignore/add/remove/force # Obj c # Add or remove space before a block pointer caret # '^int (int arg){...}' vs. ' ^int (int arg){...}' sp_before_oc_block_caret = ignore # ignore/add/remove/force # Obj c # Add or remove space after a block pointer caret # '^int (int arg){...}' vs. '^ int (int arg){...}' sp_after_oc_block_caret = ignore # ignore/add/remove/force # Obj c # Add or remove space between the receiver and selector in a message. # '[receiver selector ...]' sp_after_oc_msg_receiver = ignore # ignore/add/remove/force # Obj c # Add or remove space after @property. sp_after_oc_property = ignore # ignore/add/remove/force # Add or remove space around the ':' in 'b ? t : f' sp_cond_colon = force # ignore/add/remove/force # TODO # Add or remove space before the ':' in 'b ? t : f'. Overrides sp_cond_colon. sp_cond_colon_before = force # Add or remove space after the ':' in 'b ? t : f'. Overrides sp_cond_colon. sp_cond_colon_after = force # Add or remove space around the '?' in 'b ? t : f' sp_cond_question = force # Add or remove space before the '?' in 'b ? t : f'. Overrides sp_cond_question. sp_cond_question_before = force # Add or remove space after the '?' in 'b ? t : f'. Overrides sp_cond_question. sp_cond_question_after = force # In the abbreviated ternary form (a ?: b), add/remove space between ? and :.'. Overrides all other sp_cond_* options. sp_cond_ternary_short = force # Fix the spacing between 'case' and the label. Only 'ignore' and 'force' make sense here. sp_case_label = force # ignore/add/remove/force # Control the space around the D '..' operator. sp_range = ignore # ignore/add/remove/force # Control the spacing after ':' in 'for (TYPE VAR : EXPR)' (Java) sp_after_for_colon = ignore # ignore/add/remove/force # Control the spacing before ':' in 'for (TYPE VAR : EXPR)' (Java) sp_before_for_colon = ignore # ignore/add/remove/force # Control the spacing in 'extern (C)' (D) sp_extern_paren = ignore # ignore/add/remove/force # Control the space after the opening of a C++ comment '// A' vs '//A' sp_cmt_cpp_start = force # ignore/add/remove/force # Controls the spaces between #else or #endif and a trailing comment sp_endif_cmt = remove # ignore/add/remove/force # Controls the spaces after 'new', 'delete', and 'delete[]' sp_after_new = force # ignore/add/remove/force # Controls the spaces before a trailing or embedded comment sp_before_tr_emb_cmt = force # ignore/add/remove/force # Number of spaces before a trailing or embedded comment sp_num_before_tr_emb_cmt = 0 # number # Control space between a Java annotation and the open paren. sp_annotation_paren = ignore # ignore/add/remove/force # # Code alignment (not left column spaces/tabs) # # Whether to keep non-indenting tabs align_keep_tabs = false # false/true # Whether to use tabs for aligning align_with_tabs = false # false/true # Whether to bump out to the next tab when aligning align_on_tabstop = false # false/true # Whether to left-align numbers align_number_left = false # false/true # TODO DOC # Whether to keep whitespace not required for alignment. align_keep_extra_space = true # Align variable definitions in prototypes and functions align_func_params = false # false/true # Align parameters in single-line functions that have the same name. # The function names must already be aligned with each other. align_same_func_call_params = false # false/true # The span for aligning variable definitions (0=don't align) align_var_def_span = 0 # number # How to align the star in variable definitions. # 0=Part of the type 'void * foo;' # 1=Part of the variable 'void *foo;' # 2=Dangling 'void *foo;' align_var_def_star_style = 0 # number # How to align the '&' in variable definitions. # 0=Part of the type # 1=Part of the variable # 2=Dangling align_var_def_amp_style = 0 # number # The threshold for aligning variable definitions (0=no limit) align_var_def_thresh = 0 # number # The gap for aligning variable definitions align_var_def_gap = 0 # number # Whether to align the colon in struct bit fields align_var_def_colon = false # false/true # Whether to align any attribute after the variable name align_var_def_attribute = false # false/true # Whether to align inline struct/enum/union variable definitions align_var_def_inline = false # false/true # The span for aligning on '=' in assignments (0=don't align) align_assign_span = 0 # number # The threshold for aligning on '=' in assignments (0=no limit) align_assign_thresh = 0 # number # The span for aligning on '=' in enums (0=don't align) align_enum_equ_span = 0 # number # The threshold for aligning on '=' in enums (0=no limit) align_enum_equ_thresh = 0 # number # The span for aligning struct/union (0=don't align) align_var_struct_span = 0 # number # The threshold for aligning struct/union member definitions (0=no limit) align_var_struct_thresh = 0 # number # The gap for aligning struct/union member definitions align_var_struct_gap = 0 # number # The span for aligning struct initializer values (0=don't align) align_struct_init_span = 0 # number # The minimum space between the type and the synonym of a typedef align_typedef_gap = 0 # number # The span for aligning single-line typedefs (0=don't align) align_typedef_span = 0 # number # How to align typedef'd functions with other typedefs # 0: Don't mix them at all # 1: align the open paren with the types # 2: align the function type name with the other type names align_typedef_func = 0 # number # Controls the positioning of the '*' in typedefs. Just try it. # 0: Align on typedef type, ignore '*' # 1: The '*' is part of type name: typedef int *pint; # 2: The '*' is part of the type, but dangling: typedef int *pint; align_typedef_star_style = 0 # number # Controls the positioning of the '&' in typedefs. Just try it. # 0: Align on typedef type, ignore '&' # 1: The '&' is part of type name: typedef int &pint; # 2: The '&' is part of the type, but dangling: typedef int &pint; align_typedef_amp_style = 0 # number # The span for aligning comments that end lines (0=don't align) align_right_cmt_span = 0 # number # If aligning comments, mix with comments after '}' and #endif with less than 3 spaces before the comment align_right_cmt_mix = false # false/true # If a trailing comment is more than this number of columns away from the text it follows, # it will qualify for being aligned. This has to be > 0 to do anything. align_right_cmt_gap = 0 # number # Align trailing comment at or beyond column N; 'pulls in' comments as a bonus side effect (0=ignore) align_right_cmt_at_col = 0 # number # The span for aligning function prototypes (0=don't align) align_func_proto_span = 0 # number # Minimum gap between the return type and the function name. align_func_proto_gap = 0 # number # Align function protos on the 'operator' keyword instead of what follows align_on_operator = false # false/true # Whether to mix aligning prototype and variable declarations. # If true, align_var_def_XXX options are used instead of align_func_proto_XXX options. align_mix_var_proto = false # false/true # Align single-line functions with function prototypes, uses align_func_proto_span align_single_line_func = false # false/true # Aligning the open brace of single-line functions. # Requires align_single_line_func=true, uses align_func_proto_span align_single_line_brace = false # false/true # Gap for align_single_line_brace. align_single_line_brace_gap = 0 # number # The span for aligning ObjC msg spec (0=don't align) align_oc_msg_spec_span = 0 # number # Whether to align macros wrapped with a backslash and a newline. # This will not work right if the macro contains a multi-line comment. align_nl_cont = false # false/true # # Align macro functions and variables together align_pp_define_together = false # false/true # The minimum space between label and value of a preprocessor define align_pp_define_gap = 0 # number # The span for aligning on '#define' bodies (0=don't align) align_pp_define_span = 0 # number # Align lines that start with '<<' with previous '<<'. Default=true align_left_shift = true # false/true # Span for aligning parameters in an Obj-C message call on the ':' (0=don't align) align_oc_msg_colon_span = 0 # number # If true, always align with the first parameter, even if it is too short. align_oc_msg_colon_first = false # false/true # Aligning parameters in an Obj-C '+' or '-' declaration on the ':' align_oc_decl_colon = false # false/true # # Newline adding and removing options # # Whether to collapse empty blocks between '{' and '}' nl_collapse_empty_body = false # false/true # Don't split one-line braced assignments - 'foo_t f = { 1, 2 };' nl_assign_leave_one_liners = true # false/true # Don't split one-line braced statements inside a class xx { } body nl_class_leave_one_liners = false # false/true # Don't split one-line enums: 'enum foo { BAR = 15 };' nl_enum_leave_one_liners = false # false/true # Don't split one-line get or set functions nl_getset_leave_one_liners = false # false/true # Don't split one-line function definitions - 'int foo() { return 0; }' nl_func_leave_one_liners = false # false/true # Don't split one-line if/else statements - 'if(a) b++;' nl_if_leave_one_liners = false # false/true # Don't split one-line OC messages nl_oc_msg_leave_one_liner = false # false/true # Add or remove newlines at the start of the file nl_start_of_file = ignore # ignore/add/remove/force # The number of newlines at the start of the file (only used if nl_start_of_file is 'add' or 'force' nl_start_of_file_min = 0 # number # Add or remove newline at the end of the file nl_end_of_file = ignore # ignore/add/remove/force # The number of newlines at the end of the file (only used if nl_end_of_file is 'add' or 'force') nl_end_of_file_min = 0 # number # Add or remove newline between '=' and '{' nl_assign_brace = remove # ignore/add/remove/force # Add or remove newline between '=' and '[' (D only) nl_assign_square = ignore # ignore/add/remove/force # Add or remove newline after '= [' (D only). Will also affect the newline before the ']' nl_after_square_assign = ignore # ignore/add/remove/force # The number of blank lines after a block of variable definitions at the top of a function body # 0 = No change (default) nl_func_var_def_blk = 0 # number # The number of newlines before a block of typedefs # 0 = No change (default) nl_typedef_blk_start = 0 # number # The number of newlines after a block of typedefs # 0 = No change (default) nl_typedef_blk_end = 0 # number # The maximum consecutive newlines within a block of typedefs # 0 = No change (default) nl_typedef_blk_in = 0 # number # The number of newlines before a block of variable definitions not at the top of a function body # 0 = No change (default) nl_var_def_blk_start = 0 # number # The number of newlines after a block of variable definitions not at the top of a function body # 0 = No change (default) nl_var_def_blk_end = 0 # number # The maximum consecutive newlines within a block of variable definitions # 0 = No change (default) nl_var_def_blk_in = 0 # number # Add or remove newline between a function call's ')' and '{', as in: # list_for_each(item, &list) { } nl_fcall_brace = remove # ignore/add/remove/force # Add or remove newline between 'enum' and '{' nl_enum_brace = remove # ignore/add/remove/force # Add or remove newline between 'struct and '{' nl_struct_brace = remove # ignore/add/remove/force # Add or remove newline between 'union' and '{' nl_union_brace = remove # ignore/add/remove/force # Add or remove newline between 'if' and '{' nl_if_brace = remove # ignore/add/remove/force # Add or remove newline between '}' and 'else' nl_brace_else = remove # ignore/add/remove/force # Add or remove newline between 'else if' and '{' # If set to ignore, nl_if_brace is used instead nl_elseif_brace = remove # ignore/add/remove/force # Add or remove newline between 'else' and '{' nl_else_brace = remove # ignore/add/remove/force # Add or remove newline between 'else' and 'if' nl_else_if = remove # ignore/add/remove/force # Add or remove newline between '}' and 'finally' nl_brace_finally = remove # ignore/add/remove/force # Add or remove newline between 'finally' and '{' nl_finally_brace = remove # ignore/add/remove/force # Add or remove newline between 'try' and '{' nl_try_brace = remove # ignore/add/remove/force # Add or remove newline between get/set and '{' nl_getset_brace = remove # ignore/add/remove/force # Add or remove newline between 'for' and '{' nl_for_brace = remove # ignore/add/remove/force # Add or remove newline between 'catch' and '{' nl_catch_brace = remove # ignore/add/remove/force # Add or remove newline between '}' and 'catch' nl_brace_catch = remove # ignore/add/remove/force # Add or remove newline between '}' and ']' nl_brace_square = remove # ignore/add/remove/force # Add or remove newline between '}' and ')' in a function invocation nl_brace_fparen = remove # ignore/add/remove/force # Add or remove newline between 'while' and '{' nl_while_brace = remove # ignore/add/remove/force # Add or remove newline between 'scope (x)' and '{' (D) nl_scope_brace = ignore # ignore/add/remove/force # Add or remove newline between 'unittest' and '{' (D) nl_unittest_brace = ignore # ignore/add/remove/force # Add or remove newline between 'version (x)' and '{' (D) nl_version_brace = ignore # ignore/add/remove/force # Add or remove newline between 'using' and '{' nl_using_brace = remove # ignore/add/remove/force # Add or remove newline between two open or close braces. # Due to general newline/brace handling, REMOVE may not work. nl_brace_brace = ignore # ignore/add/remove/force # Add or remove newline between 'do' and '{' nl_do_brace = remove # ignore/add/remove/force # Add or remove newline between '}' and 'while' of 'do' statement nl_brace_while = remove # ignore/add/remove/force # Add or remove newline between 'switch' and '{' nl_switch_brace = remove # ignore/add/remove/force # Add a newline between ')' and '{' if the ')' is on a different line than the if/for/etc. # Overrides nl_for_brace, nl_if_brace, nl_switch_brace, nl_while_switch, and nl_catch_brace. nl_multi_line_cond = false # false/true # Force a newline in a define after the macro name for multi-line defines. nl_multi_line_define = false # false/true # Whether to put a newline before 'case' statement nl_before_case = false # false/true # Add or remove newline between ')' and 'throw' nl_before_throw = remove # ignore/add/remove/force # Whether to put a newline after 'case' statement nl_after_case = false # false/true # Add or remove a newline between a case ':' and '{'. Overrides nl_after_case. nl_case_colon_brace = ignore # ignore/add/remove/force # Newline between namespace and { nl_namespace_brace = remove # ignore/add/remove/force # Add or remove newline between 'template<>' and whatever follows. nl_template_class = ignore # ignore/add/remove/force # Add or remove newline between 'class' and '{' nl_class_brace = remove # ignore/add/remove/force # Add or remove newline after each ',' in the class base list nl_class_init_args = remove # ignore/add/remove/force # Add or remove newline after each ',' in the constructor member initialization nl_class_init_args = remove # ignore/add/remove/force # Add or remove newline between return type and function name in a function definition nl_func_type_name = remove # ignore/add/remove/force # Add or remove newline between return type and function name inside a class {} # Uses nl_func_type_name or nl_func_proto_type_name if set to ignore. nl_func_type_name_class = remove # ignore/add/remove/force # Add or remove newline between function scope and name in a definition # Controls the newline after '::' in 'void A::f() { }' nl_func_scope_name = ignore # ignore/add/remove/force # Add or remove newline between return type and function name in a prototype nl_func_proto_type_name = remove # ignore/add/remove/force # Add or remove newline between a function name and the opening '(' nl_func_paren = remove # ignore/add/remove/force # Add or remove newline between a function name and the opening '(' in the definition nl_func_def_paren = remove # ignore/add/remove/force # Add or remove newline after '(' in a function declaration nl_func_decl_start = remove # ignore/add/remove/force # Add or remove newline after '(' in a function definition nl_func_def_start = remove # ignore/add/remove/force # Overrides nl_func_decl_start when there is only one parameter. nl_func_decl_start_single = ignore # ignore/add/remove/force # Overrides nl_func_def_start when there is only one parameter. nl_func_def_start_single = ignore # ignore/add/remove/force # Add or remove newline after each ',' in a function declaration nl_func_decl_args = ignore # ignore/add/remove/force # Add or remove newline after each ',' in a function definition nl_func_def_args = ignore # ignore/add/remove/force # Add or remove newline before the ')' in a function declaration nl_func_decl_end = remove # ignore/add/remove/force # Add or remove newline before the ')' in a function definition nl_func_def_end = remove # ignore/add/remove/force # Overrides nl_func_decl_end when there is only one parameter. nl_func_decl_end_single = ignore # ignore/add/remove/force # Overrides nl_func_def_end when there is only one parameter. nl_func_def_end_single = ignore # ignore/add/remove/force # Add or remove newline between '()' in a function declaration. nl_func_decl_empty = remove # ignore/add/remove/force # Add or remove newline between '()' in a function definition. nl_func_def_empty = remove # ignore/add/remove/force # Whether to put each OC message parameter on a separate line # See nl_oc_msg_leave_one_liner nl_oc_msg_args = false # false/true # Add or remove newline between function signature and '{' nl_fdef_brace = remove # ignore/add/remove/force # Add or remove newline between C++11 lambda signature and '{' nl_cpp_ldef_brace = ignore # ignore/add/remove/force # Add or remove a newline between the return keyword and return expression. nl_return_expr = remove # ignore/add/remove/force # Whether to put a newline after semicolons, except in 'for' statements nl_after_semicolon = false # false/true # CARL ?? # Whether to put a newline after brace open. # This also adds a newline before the matching brace close. nl_after_brace_open = false # false/true # If nl_after_brace_open and nl_after_brace_open_cmt are true, a newline is # placed between the open brace and a trailing single-line comment. nl_after_brace_open_cmt = false # false/true # Whether to put a newline after a virtual brace open with a non-empty body. # These occur in un-braced if/while/do/for statement bodies. nl_after_vbrace_open = false # false/true # Whether to put a newline after a virtual brace open with an empty body. # These occur in un-braced if/while/do/for statement bodies. nl_after_vbrace_open_empty = false # false/true # Whether to put a newline after a brace close. # Does not apply if followed by a necessary ';'. nl_after_brace_close = false # false/true # Whether to put a newline after a virtual brace close. # Would add a newline before return in: 'if (foo) a++; return;' nl_after_vbrace_close = false # false/true # Control the newline between the close brace and 'b' in: 'struct { int a; } b;' # Affects enums, unions, and structures. If set to ignore, uses nl_after_brace_close nl_brace_struct_var = ignore # ignore/add/remove/force # Whether to alter newlines in '#define' macros nl_define_macro = false # false/true # Whether to not put blanks after '#ifxx', '#elxx', or before '#endif' nl_squeeze_ifdef = false # false/true # Add or remove blank line before 'if' nl_before_if = ignore # ignore/add/remove/force # Add or remove blank line after 'if' statement nl_after_if = ignore # ignore/add/remove/force # Add or remove blank line before 'for' nl_before_for = ignore # ignore/add/remove/force # Add or remove blank line after 'for' statement nl_after_for = ignore # ignore/add/remove/force # Add or remove blank line before 'while' nl_before_while = ignore # ignore/add/remove/force # Add or remove blank line after 'while' statement nl_after_while = ignore # ignore/add/remove/force # Add or remove blank line before 'switch' nl_before_switch = ignore # ignore/add/remove/force # Add or remove blank line after 'switch' statement nl_after_switch = ignore # ignore/add/remove/force # Add or remove blank line before 'do' nl_before_do = ignore # ignore/add/remove/force # Add or remove blank line after 'do/while' statement nl_after_do = ignore # ignore/add/remove/force # Whether to double-space commented-entries in struct/enum nl_ds_struct_enum_cmt = false # false/true # Whether to double-space before the close brace of a struct/union/enum # (lower priority than 'eat_blanks_before_close_brace') nl_ds_struct_enum_close_brace = false # false/true # Add or remove a newline around a class colon. # Related to pos_class_colon, nl_class_init_args, and pos_comma. nl_class_colon = ignore # ignore/add/remove/force # Add or remove a newline around a class constructor colon. # Related to pos_constr_colon, nl_constr_init_args, and pos_constr_comma. nl_constr_colon = ignore # ignore/add/remove/force # Change simple unbraced if statements into a one-liner # 'if(b)\n i++;' => 'if(b) i++;' nl_create_if_one_liner = false # false/true # Change simple unbraced for statements into a one-liner # 'for (i=0;i<5;i++)\n foo(i);' => 'for (i=0;i<5;i++) foo(i);' nl_create_for_one_liner = false # false/true # Change simple unbraced while statements into a one-liner # 'while (i<5)\n foo(i++);' => 'while (i<5) foo(i++);' nl_create_while_one_liner = false # false/true # # Positioning options # # The position of arithmetic operators in wrapped expressions pos_arith = ignore # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force # The position of assignment in wrapped expressions. # Do not affect '=' followed by '{' pos_assign = ignore # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force # The position of boolean operators in wrapped expressions pos_bool = ignore # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force # The position of comparison operators in wrapped expressions pos_compare = ignore # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force # The position of conditional (b ? t : f) operators in wrapped expressions pos_conditional = ignore # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force # The position of the comma in wrapped expressions pos_comma = ignore # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force # The position of the comma in the class base list pos_class_comma = ignore # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force # The position of the comma in the constructor initialization list pos_constr_comma = ignore # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force # The position of colons between class and base class list pos_class_colon = ignore # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force # The position of colons between constructor and member initialization pos_constr_colon = ignore # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force # # Line Splitting options # # Try to limit code width to N number of columns code_width = 0 # number # Whether to fully split long 'for' statements at semi-colons ls_for_split_full = false # false/true # Whether to fully split long function protos/calls at commas ls_func_split_full = false # false/true # Whether to split lines as close to code_width as possible and ignore some groupings ls_code_width = false # false/true # # Blank line options # # The maximum consecutive newlines nl_max = 0 # number # The number of newlines after a function prototype, if followed by another function prototype nl_after_func_proto = 0 # number # The number of newlines after a function prototype, if not followed by another function prototype nl_after_func_proto_group = 2 # number # The number of newlines after '}' of a multi-line function body nl_after_func_body = 2 # number # The number of newlines after '}' of a multi-line function body in a class declaration nl_after_func_body_class = 2 # number # The number of newlines after '}' of a single line function body nl_after_func_body_one_liner = 0 # number # The minimum number of newlines before a multi-line comment. # Doesn't apply if after a brace open or another multi-line comment. nl_before_block_comment = 0 # number # The minimum number of newlines before a single-line C comment. # Doesn't apply if after a brace open or other single-line C comments. nl_before_c_comment = 0 # number # The minimum number of newlines before a CPP comment. # Doesn't apply if after a brace open or other CPP comments. nl_before_cpp_comment = 0 # number # Whether to force a newline after a multi-line comment. nl_after_multiline_comment = false # false/true # The number of newlines after '}' or ';' of a struct/enum/union definition nl_after_struct = 0 # number # The number of newlines after '}' or ';' of a class definition nl_after_class = 0 # number # The number of newlines before a 'private:', 'public:', 'protected:', 'signals:', or 'slots:' label. # Will not change the newline count if after a brace open. # 0 = No change. nl_before_access_spec = 0 # number # The number of newlines after a 'private:', 'public:', 'protected:', 'signals:', or 'slots:' label. # 0 = No change. nl_after_access_spec = 0 # number # The number of newlines between a function def and the function comment. # 0 = No change. nl_comment_func_def = 0 # number # The number of newlines after a try-catch-finally block that isn't followed by a brace close. # 0 = No change. nl_after_try_catch_finally = 0 # number # The number of newlines before and after a property, indexer or event decl. # 0 = No change. nl_around_cs_property = 0 # number # The number of newlines between the get/set/add/remove handlers in C#. # 0 = No change. nl_between_get_set = 0 # number # Add or remove newline between C# property and the '{' nl_property_brace = ignore # ignore/add/remove/force # Whether to remove blank lines after '{' eat_blanks_after_open_brace = false # false/true # Whether to remove blank lines before '}' eat_blanks_before_close_brace = true # false/true # How aggressively to remove extra newlines not in preproc. # 0: No change # 1: Remove most newlines not handled by other config # 2: Remove all newlines and reformat completely by config nl_remove_extra_newlines = 0 # number # Whether to put a blank line before 'return' statements, unless after an open brace. nl_before_return = false # false/true # Whether to put a blank line after 'return' statements, unless followed by a close brace. nl_after_return = false # false/true # Whether to put a newline after a Java annotation statement. # Only affects annotations that are after a newline. nl_after_annotation = ignore # ignore/add/remove/force # Controls the newline between two annotations. nl_between_annotation = ignore # ignore/add/remove/force # # Code modifying options (non-whitespace) # # Add or remove braces on single-line 'do' statement mod_full_brace_do = ignore # ignore/add/remove/force # Add or remove braces on single-line 'for' statement mod_full_brace_for = ignore # ignore/add/remove/force # Add or remove braces on single-line function definitions. (Pawn) mod_full_brace_function = ignore # ignore/add/remove/force # Add or remove braces on single-line 'if' statement. Will not remove the braces if they contain an 'else'. mod_full_brace_if = ignore # ignore/add/remove/force # Make all if/elseif/else statements in a chain be braced or not. Overrides mod_full_brace_if. # If any must be braced, they are all braced. If all can be unbraced, then the braces are removed. mod_full_brace_if_chain = false # false/true # Don't remove braces around statements that span N newlines mod_full_brace_nl = 0 # number # Add or remove braces on single-line 'while' statement mod_full_brace_while = ignore # ignore/add/remove/force # Add or remove braces on single-line 'using ()' statement mod_full_brace_using = ignore # ignore/add/remove/force # Add or remove unnecessary paren on 'return' statement mod_paren_on_return = ignore # ignore/add/remove/force # Whether to change optional semicolons to real semicolons mod_pawn_semicolon = false # false/true # Add parens on 'while' and 'if' statement around bools mod_full_paren_if_bool = false # false/true # Whether to remove superfluous semicolons mod_remove_extra_semicolon = false # false/true # If a function body exceeds the specified number of newlines and doesn't have a comment after # the close brace, a comment will be added. mod_add_long_function_closebrace_comment = 0 # number # If a namespace body exceeds the specified number of newlines and doesn't have a comment after # the close brace, a comment will be added. mod_add_long_namespace_closebrace_comment = 0 # number # If a switch body exceeds the specified number of newlines and doesn't have a comment after # the close brace, a comment will be added. mod_add_long_switch_closebrace_comment = 0 # number # If an #ifdef body exceeds the specified number of newlines and doesn't have a comment after # the #endif, a comment will be added. mod_add_long_ifdef_endif_comment = 0 # number # If an #ifdef or #else body exceeds the specified number of newlines and doesn't have a comment after # the #else, a comment will be added. mod_add_long_ifdef_else_comment = 0 # number # If TRUE, will sort consecutive single-line 'import' statements [Java, D] mod_sort_import = false # false/true # If TRUE, will sort consecutive single-line 'using' statements [C#] mod_sort_using = false # false/true # If TRUE, will sort consecutive single-line '#include' statements [C/C++] and '#import' statements [Obj-C] # This is generally a bad idea, as it may break your code. mod_sort_include = false # false/true # If TRUE, it will move a 'break' that appears after a fully braced 'case' before the close brace. mod_move_case_break = false # false/true # Will add or remove the braces around a fully braced case statement. # Will only remove the braces if there are no variable declarations in the block. mod_case_brace = ignore # ignore/add/remove/force # If TRUE, it will remove a void 'return;' that appears as the last statement in a function. mod_remove_empty_return = false # false/true # # Comment modifications # # Try to wrap comments at cmt_width columns cmt_width = 0 # number # Set the comment reflow mode (default: 0) # 0: no reflowing (apart from the line wrapping due to cmt_width) # 1: no touching at all # 2: full reflow cmt_reflow_mode = 0 # number # If false, disable all multi-line comment changes, including cmt_width. keyword substitution, and leading chars. # Default is true. cmt_indent_multi = true # false/true # Whether to group c-comments that look like they are in a block cmt_c_group = false # false/true # Whether to put an empty '/*' on the first line of the combined c-comment cmt_c_nl_start = false # false/true # Whether to put a newline before the closing '*/' of the combined c-comment cmt_c_nl_end = false # false/true # Whether to group cpp-comments that look like they are in a block cmt_cpp_group = false # false/true # Whether to put an empty '/*' on the first line of the combined cpp-comment cmt_cpp_nl_start = false # false/true # Whether to put a newline before the closing '*/' of the combined cpp-comment cmt_cpp_nl_end = false # false/true # Whether to change cpp-comments into c-comments cmt_cpp_to_c = false # false/true # Whether to put a star on subsequent comment lines cmt_star_cont = false # false/true # The number of spaces to insert at the start of subsequent comment lines cmt_sp_before_star_cont = 0 # number # The number of spaces to insert after the star on subsequent comment lines cmt_sp_after_star_cont = 0 # number # For multi-line comments with a '*' lead, remove leading spaces if the first and last lines of # the comment are the same length. Default=True cmt_multi_check_last = true # false/true # The filename that contains text to insert at the head of a file if the file doesn't start with a C/C++ comment. # Will substitute $(filename) with the current file's name. cmt_insert_file_header = "" # string # The filename that contains text to insert at the end of a file if the file doesn't end with a C/C++ comment. # Will substitute $(filename) with the current file's name. cmt_insert_file_footer = "" # string # The filename that contains text to insert before a function implementation if the function isn't preceded with a C/C++ comment. # Will substitute $(function) with the function name and $(javaparam) with the javadoc @param and @return stuff. # Will also substitute $(fclass) with the class name: void CFoo::Bar() { ... } cmt_insert_func_header = "" # string # The filename that contains text to insert before a class if the class isn't preceded with a C/C++ comment. # Will substitute $(class) with the class name. cmt_insert_class_header = "" # string # The filename that contains text to insert before a Obj-C message specification if the method isn't preceeded with a C/C++ comment. # Will substitute $(message) with the function name and $(javaparam) with the javadoc @param and @return stuff. cmt_insert_oc_msg_header = "" # string # If a preprocessor is encountered when stepping backwards from a function name, then # this option decides whether the comment should be inserted. # Affects cmt_insert_oc_msg_header, cmt_insert_func_header and cmt_insert_class_header. cmt_insert_before_preproc = false # false/true # # Preprocessor options # # Control indent of preprocessors inside #if blocks at brace level 0 pp_indent = ignore # ignore/add/remove/force # Whether to indent #if/#else/#endif at the brace level (true) or from column 1 (false) pp_indent_at_level = false # false/true # If pp_indent_at_level=false, specifies the number of columns to indent per level. Default=1. pp_indent_count = 1 # number # Add or remove space after # based on pp_level of #if blocks pp_space = ignore # ignore/add/remove/force # Sets the number of spaces added with pp_space pp_space_count = 0 # number # The indent for #region and #endregion in C# and '#pragma region' in C/C++ pp_indent_region = 0 # number # Whether to indent the code between #region and #endregion pp_region_indent_code = false # false/true # If pp_indent_at_level=true, sets the indent for #if, #else, and #endif when not at file-level pp_indent_if = 0 # number # Control whether to indent the code between #if, #else and #endif when not at file-level pp_if_indent_code = false # false/true # Whether to indent '#define' at the brace level (true) or from column 1 (false) pp_define_at_level = false # false/truealainm23-planify-69962f8/vapi/000077500000000000000000000000001517337276100160325ustar00rootroot00000000000000alainm23-planify-69962f8/vapi/icu-uc.vapi000066400000000000000000000031521517337276100201010ustar00rootroot00000000000000// Loosely based on icu-uc.vapi from Geary project which in turn is based on the Dino project. [CCode (cheader_filename = "unicode/uloc.h")] namespace ICU { [CCode (cname = "UChar")] [IntegerType (rank = 5, min = 0, max = 65535)] public struct Char {} [CCode (cname = "UErrorCode", cprefix = "U_", cheader_filename = "unicode/utypes.h")] public enum ErrorCode { ZERO_ERROR, INVALID_CHAR_FOUND, INDEX_OUTOFBOUNDS_ERROR, BUFFER_OVERFLOW_ERROR, STRINGPREP_PROHIBITED_ERROR, UNASSIGNED_CODE_POINT_FOUND, IDNA_STD3_ASCII_RULES_ERROR; [CCode (cname = "u_errorName")] public unowned string errorName(); [CCode (cname = "U_SUCCESS")] public bool is_success(); [CCode (cname = "U_FAILURE")] public bool is_failure(); } [CCode (cname = "uloc_getDisplayLanguage")] public int c_get_display_language ( string locale, string display_locale, [CCode (array_length = false)] Char[] dest, int dest_capacity, ref ErrorCode error ); public string get_display_language (string locale, string display_locale) { ICU.ErrorCode status = ICU.ErrorCode.ZERO_ERROR; ICU.Char[] tmp = new ICU.Char[256]; int len = ICU.c_get_display_language ( locale, display_locale, tmp, tmp.length, ref status ); if (status.is_failure () || len <= 0) { return "Unknown"; } try { return GLib.convert ((string)((uint8[]) tmp), len * 2, "UTF-8", "UTF-16"); } catch (GLib.ConvertError e) { return "Unknown"; } } }